components/imagemagick/Makefile
branchs11u1-sru
changeset 2735 38548c092c06
parent 800 2ad056ed89ec
equal deleted inserted replaced
2734:d23b6301c400 2735:38548c092c06
    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 #