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 COMPONENT_BUGDB= utility/imagemagick |
38 COMPONENT_BUGDB= utility/imagemagick |
42 |
39 |
43 include ../../make-rules/prep.mk |
40 include ../../make-rules/prep.mk |
44 include ../../make-rules/configure.mk |
41 include ../../make-rules/configure.mk |
49 # IPS_COMPONENT_VERSION is by default set to $(COMPONENT_VERSION) but in |
46 # IPS_COMPONENT_VERSION is by default set to $(COMPONENT_VERSION) but in |
50 # this case we need to replace the '-' by '.'. |
47 # this case we need to replace the '-' by '.'. |
51 # |
48 # |
52 IPS_COMPONENT_VERSION= $(COMPONENT_VERSION).$(COMPONENT_SUBVERSION) |
49 IPS_COMPONENT_VERSION= $(COMPONENT_VERSION).$(COMPONENT_SUBVERSION) |
53 |
50 |
54 # The archive contains pre-generated magick-config.h header, which is later on |
51 COMPONENT_POST_UNPACK_ACTION= ( $(MV) $(COMPONENT_SRC)-$(COMPONENT_SUBVERSION) \ |
55 # being used and the build fails. However, we want to use the header generated |
52 $(COMPONENT_SRC)) |
56 # by configure from BUILD_DIR_32 / BUILD_DIR_64 directory, so the pre-generated |
|
57 # header file needs to be deleted. |
|
58 # |
|
59 COMPONENT_PREP_ACTION= (cd $(@D) ; $(RM) magick/magick-config.h) |
|
60 |
53 |
61 # To get the Perl modules built it is necessary to copy the PerlMagick directory |
54 # To get the Perl modules built it is necessary to copy the PerlMagick directory |
62 # to the build directory |
55 # to the build directory |
63 # |
56 # |
64 COMPONENT_PRE_CONFIGURE_ACTION= ($(CP) -R $(SOURCE_DIR)/PerlMagick $(@D); cd $(SOURCE_DIR); $(AUTORECONF) -f) |
57 COMPONENT_PRE_CONFIGURE_ACTION= ($(CP) -R $(SOURCE_DIR)/PerlMagick $(@D)) |
|
58 |
|
59 LIBS += -lsocket -lnsl |
|
60 CONFIGURE_ENV += LIBS="$(LIBS)" |
65 |
61 |
66 # Show name of "error tag" as part of the warning |
62 # Show name of "error tag" as part of the warning |
67 # |
63 # |
68 CFLAGS+= -errtags |
64 CFLAGS += -errtags=yes |
|
65 # To remove the complier complaints about __restrict keyword, |
|
66 # -D_magickcore_restrict should be used. |
|
67 CFLAGS += -xc99=%all -D_magickcore_restrict= |
69 |
68 |
70 # Needed to generate a decent RUNPATH for Magick.so |
69 # Needed to generate a decent RUNPATH for Magick.so |
71 # |
70 # |
72 COMPONENT_BUILD_ARGS += LD="$(CC)" |
71 COMPONENT_BUILD_ARGS += LD="$(CC)" |
73 COMPONENT_BUILD_ARGS += LD_RUN_PATH="$(CONFIGURE_LIBDIR.$(BITS))" |
72 COMPONENT_BUILD_ARGS += LD_RUN_PATH="$(CONFIGURE_LIBDIR.$(BITS))" |
76 CONFIGURE_OPTIONS+= CXXFLAGS="$(CXXFLAGS)" |
75 CONFIGURE_OPTIONS+= CXXFLAGS="$(CXXFLAGS)" |
77 CONFIGURE_OPTIONS+= --with-modules |
76 CONFIGURE_OPTIONS+= --with-modules |
78 CONFIGURE_OPTIONS+= --enable-shared=yes |
77 CONFIGURE_OPTIONS+= --enable-shared=yes |
79 CONFIGURE_OPTIONS+= --enable-static=no |
78 CONFIGURE_OPTIONS+= --enable-static=no |
80 CONFIGURE_OPTIONS+= --without-gvc |
79 CONFIGURE_OPTIONS+= --without-gvc |
|
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" |
81 CONFIGURE_OPTIONS+= --x-libraries=$(CONFIGURE_LIBDIR.$(BITS)) |
86 CONFIGURE_OPTIONS+= --x-libraries=$(CONFIGURE_LIBDIR.$(BITS)) |
82 CONFIGURE_OPTIONS.32+= --with-perl=$(PERL) |
87 CONFIGURE_OPTIONS.32+= --with-perl=$(PERL) |
83 CONFIGURE_OPTIONS.32+= --with-perl-options="INSTALLDIRS=vendor" |
88 CONFIGURE_OPTIONS.32+= --with-perl-options="INSTALLDIRS=vendor" |
84 CONFIGURE_OPTIONS.64+= --without-perl |
89 CONFIGURE_OPTIONS.64+= --without-perl |
85 |
90 |
86 # common targets |
91 # common targets |
87 # |
92 # |
88 build: $(BUILD_32_and_64) |
93 build: $(BUILD_32_and_64) |
89 |
94 |
|
95 # Remove build machine runpath from libMagick++-6.Q16.so.1.0.0 |
90 install: $(INSTALL_32_and_64) |
96 install: $(INSTALL_32_and_64) |
|
97 /usr/bin/elfedit -e 'dyn:delete RUNPATH' \ |
|
98 $(PROTO_DIR)/usr/lib/libMagick++-6.Q16.so.1.0.0; \ |
|
99 /usr/bin/elfedit -e 'dyn:delete RUNPATH' \ |
|
100 $(PROTO_DIR)/usr/lib/$(MACH64)/libMagick++-6.Q16.so.1.0.0; \ |
|
101 /usr/bin/elfedit -e 'dyn:delete RPATH' \ |
|
102 $(PROTO_DIR)/usr/lib/libMagick++-6.Q16.so.1.0.0; \ |
|
103 /usr/bin/elfedit -e 'dyn:delete RPATH' \ |
|
104 $(PROTO_DIR)/usr/lib/$(MACH64)/libMagick++-6.Q16.so.1.0.0 |
91 |
105 |
92 # ImageMagick tests have hard-coded absolute paths inside, so essentially they |
106 # ImageMagick tests have hard-coded absolute paths inside, so essentially they |
93 # can be run only after ImageMagick is actually installed and this is not |
107 # can be run only after ImageMagick is actually installed and this is not |
94 # possible, so the tests are not invoked. |
108 # possible, so the tests are not invoked. |
95 # |
109 # |