18 # |
18 # |
19 # CDDL HEADER END |
19 # CDDL HEADER END |
20 # |
20 # |
21 |
21 |
22 # |
22 # |
23 # Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. |
23 # Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. |
24 # |
24 # |
25 |
25 |
26 include ../../make-rules/shared-macros.mk |
26 include ../../make-rules/shared-macros.mk |
27 |
27 |
28 # The archive untars to directory without the '-2' suffix, so |
|
29 # COMPONENT_SUBVERSION had to be introduced |
|
30 # |
|
31 COMPONENT_NAME= ImageMagick |
28 COMPONENT_NAME= ImageMagick |
32 COMPONENT_VERSION= 6.3.4 |
29 COMPONENT_VERSION= 6.8.3 |
33 COMPONENT_SUBVERSION= 2 |
30 COMPONENT_SUBVERSION= 5 |
34 HUMAN_VERSION= $(COMPONENT_VERSION)-$(COMPONENT_SUBVERSION) |
31 HUMAN_VERSION= $(COMPONENT_VERSION)-$(COMPONENT_SUBVERSION) |
35 COMPONENT_PROJECT_URL= http://www.imagemagick.org/ |
32 COMPONENT_PROJECT_URL= http://www.imagemagick.org/ |
36 COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION) |
33 COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION) |
37 COMPONENT_ARCHIVE= $(COMPONENT_SRC)-$(COMPONENT_SUBVERSION).tar.gz |
34 COMPONENT_ARCHIVE= $(COMPONENT_SRC)-$(COMPONENT_SUBVERSION).tar.gz |
38 COMPONENT_ARCHIVE_HASH= \ |
35 COMPONENT_ARCHIVE_HASH= \ |
39 sha256:25fb373ac3889e81555e5b48c8a22a3deabeac8b6129387cec9dc7e13804914e |
36 sha256:daead80170bc6d44cf6a54b4817446cbb7211b8ee445532b64033af190265fe3 |
40 COMPONENT_ARCHIVE_URL= http://image_magick.veidrodis.com/image_magick/$(COMPONENT_ARCHIVE) |
37 COMPONENT_ARCHIVE_URL= http://image_magick.veidrodis.com/image_magick/$(COMPONENT_ARCHIVE) |
41 |
38 |
42 include ../../make-rules/prep.mk |
39 include ../../make-rules/prep.mk |
43 include ../../make-rules/configure.mk |
40 include ../../make-rules/configure.mk |
44 include ../../make-rules/ips.mk |
41 include ../../make-rules/ips.mk |
48 # IPS_COMPONENT_VERSION is by default set to $(COMPONENT_VERSION) but in |
45 # IPS_COMPONENT_VERSION is by default set to $(COMPONENT_VERSION) but in |
49 # this case we need to replace the '-' by '.'. |
46 # this case we need to replace the '-' by '.'. |
50 # |
47 # |
51 IPS_COMPONENT_VERSION= $(COMPONENT_VERSION).$(COMPONENT_SUBVERSION) |
48 IPS_COMPONENT_VERSION= $(COMPONENT_VERSION).$(COMPONENT_SUBVERSION) |
52 |
49 |
53 # The archive contains pre-generated magick-config.h header, which is later on |
50 COMPONENT_POST_UNPACK_ACTION= ( $(MV) $(COMPONENT_SRC)-$(COMPONENT_SUBVERSION) \ |
54 # being used and the build fails. However, we want to use the header generated |
51 $(COMPONENT_SRC)) |
55 # by configure from BUILD_DIR_32 / BUILD_DIR_64 directory, so the pre-generated |
|
56 # header file needs to be deleted. |
|
57 # |
|
58 COMPONENT_PREP_ACTION= (cd $(@D) ; $(RM) magick/magick-config.h) |
|
59 |
52 |
60 # To get the Perl modules built it is necessary to copy the PerlMagick directory |
53 # To get the Perl modules built it is necessary to copy the PerlMagick directory |
61 # to the build directory |
54 # to the build directory |
62 # |
55 # |
63 COMPONENT_PRE_CONFIGURE_ACTION= ($(CP) -R $(SOURCE_DIR)/PerlMagick $(@D); cd $(SOURCE_DIR); $(AUTORECONF) -f) |
56 COMPONENT_PRE_CONFIGURE_ACTION= ($(CP) -R $(SOURCE_DIR)/PerlMagick $(@D)) |
|
57 |
|
58 LIBS += -lsocket -lnsl |
|
59 CONFIGURE_ENV += LIBS="$(LIBS)" |
64 |
60 |
65 # Show name of "error tag" as part of the warning |
61 # Show name of "error tag" as part of the warning |
66 # |
62 # |
67 CFLAGS+= -errtags |
63 CFLAGS += -errtags=yes |
|
64 # To remove the complier complaints about __restrict keyword, |
|
65 # -D_magickcore_restrict should be used. |
|
66 CFLAGS += -xc99=%all -D_magickcore_restrict= |
68 |
67 |
69 # Needed to generate a decent RUNPATH for Magick.so |
68 # Needed to generate a decent RUNPATH for Magick.so |
70 # |
69 # |
71 COMPONENT_BUILD_ARGS += LD="$(CC)" |
70 COMPONENT_BUILD_ARGS += LD="$(CC)" |
72 COMPONENT_BUILD_ARGS += LD_RUN_PATH="$(CONFIGURE_LIBDIR.$(BITS))" |
71 COMPONENT_BUILD_ARGS += LD_RUN_PATH="$(CONFIGURE_LIBDIR.$(BITS))" |
75 CONFIGURE_OPTIONS+= CXXFLAGS="$(CXXFLAGS)" |
74 CONFIGURE_OPTIONS+= CXXFLAGS="$(CXXFLAGS)" |
76 CONFIGURE_OPTIONS+= --with-modules |
75 CONFIGURE_OPTIONS+= --with-modules |
77 CONFIGURE_OPTIONS+= --enable-shared=yes |
76 CONFIGURE_OPTIONS+= --enable-shared=yes |
78 CONFIGURE_OPTIONS+= --enable-static=no |
77 CONFIGURE_OPTIONS+= --enable-static=no |
79 CONFIGURE_OPTIONS+= --without-gvc |
78 CONFIGURE_OPTIONS+= --without-gvc |
|
79 CONFIGURE_OPTIONS+= --disable-openmp |
|
80 # Using option 'with-fontconfig=no' so that the fonts/fonts path specified in |
|
81 # configuration file 'type-ghostscript.xml' is being used. |
|
82 CONFIGURE_OPTIONS+= --with-fontconfig=no |
|
83 # Configure option 'with-gs-font-dir' is required because some build systems might |
|
84 # not have ghostscript fonts installed. |
|
85 CONFIGURE_OPTIONS+= --with-gs-font-dir="/usr/share/ghostscript/fonts" |
80 CONFIGURE_OPTIONS+= --x-libraries=$(CONFIGURE_LIBDIR.$(BITS)) |
86 CONFIGURE_OPTIONS+= --x-libraries=$(CONFIGURE_LIBDIR.$(BITS)) |
81 CONFIGURE_OPTIONS.32+= --with-perl=$(PERL) |
87 CONFIGURE_OPTIONS.32+= --with-perl=$(PERL) |
82 CONFIGURE_OPTIONS.32+= --with-perl-options="INSTALLDIRS=vendor" |
88 CONFIGURE_OPTIONS.32+= --with-perl-options="INSTALLDIRS=vendor" |
83 CONFIGURE_OPTIONS.64+= --without-perl |
89 CONFIGURE_OPTIONS.64+= --without-perl |
84 |
90 |
85 # common targets |
91 # common targets |
86 # |
92 # |
87 build: $(BUILD_32_and_64) |
93 build: $(BUILD_32_and_64) |
88 |
94 |
|
95 # Remove build machine runpath from libMagick++-6.Q16.so.1.0.0 and |
|
96 # libMagickCore-6.Q16.so.1.0.0 |
89 install: $(INSTALL_32_and_64) |
97 install: $(INSTALL_32_and_64) |
|
98 /usr/bin/elfedit -e 'dyn:delete RUNPATH' \ |
|
99 $(PROTO_DIR)/usr/lib/libMagick++-6.Q16.so.1.0.0; \ |
|
100 /usr/bin/elfedit -e 'dyn:delete RUNPATH' \ |
|
101 $(PROTO_DIR)/usr/lib/$(MACH64)/libMagick++-6.Q16.so.1.0.0; \ |
|
102 /usr/bin/elfedit -e 'dyn:delete RPATH' \ |
|
103 $(PROTO_DIR)/usr/lib/libMagick++-6.Q16.so.1.0.0; \ |
|
104 /usr/bin/elfedit -e 'dyn:delete RPATH' \ |
|
105 $(PROTO_DIR)/usr/lib/$(MACH64)/libMagick++-6.Q16.so.1.0.0 |
|
106 /usr/bin/elfedit -e 'dyn:delete RUNPATH' \ |
|
107 $(PROTO_DIR)/usr/lib/libMagickCore-6.Q16.so.1.0.0; \ |
|
108 /usr/bin/elfedit -e 'dyn:delete RUNPATH' \ |
|
109 $(PROTO_DIR)/usr/lib/$(MACH64)/libMagickCore-6.Q16.so.1.0.0; \ |
|
110 /usr/bin/elfedit -e 'dyn:delete RPATH' \ |
|
111 $(PROTO_DIR)/usr/lib/libMagickCore-6.Q16.so.1.0.0; \ |
|
112 /usr/bin/elfedit -e 'dyn:delete RPATH' \ |
|
113 $(PROTO_DIR)/usr/lib/$(MACH64)/libMagickCore-6.Q16.so.1.0.0 |
90 |
114 |
91 # ImageMagick tests have hard-coded absolute paths inside, so essentially they |
115 # ImageMagick tests have hard-coded absolute paths inside, so essentially they |
92 # can be run only after ImageMagick is actually installed and this is not |
116 # can be run only after ImageMagick is actually installed and this is not |
93 # possible, so the tests are not invoked. |
117 # possible, so the tests are not invoked. |
94 # |
118 # |