components/gnump/Makefile
changeset 5682 94c0ca64c022
parent 5455 7d4ee55b5053
child 7294 61f1f259467a
equal deleted inserted replaced
5681:b8fe51f35344 5682:94c0ca64c022
    19 #
    19 #
    20 
    20 
    21 #
    21 #
    22 # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
    22 # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
    23 #
    23 #
    24 
    24 BUILD_BITS= 64_and_32
    25 include ../../make-rules/shared-macros.mk
    25 include ../../make-rules/shared-macros.mk
    26 
    26 
    27 PATH=$(dir $(CC)):/usr/bin:/usr/gnu/bin
    27 PATH=$(dir $(CC)):$(USRBINDIR):$(GNUBIN)
    28 
    28 
    29 COMPONENT_NAME=		gnump
    29 COMPONENT_NAME=		gnump
    30 COMPONENT_VERSION=      4.3.2
    30 COMPONENT_VERSION=      4.3.2
    31 COMPONENT_PROJECT_URL=	http://gmplib.org/
    31 COMPONENT_PROJECT_URL=	http://gmplib.org/
    32 COMPONENT_SRC_NAME=	gmp
    32 COMPONENT_SRC_NAME=	gmp
    33 COMPONENT_SRC=          $(COMPONENT_SRC_NAME)-$(COMPONENT_VERSION)
       
    34 COMPONENT_ARCHIVE=      $(COMPONENT_SRC).tar.gz
       
    35 COMPONENT_ARCHIVE_HASH= \
    33 COMPONENT_ARCHIVE_HASH= \
    36     sha256:7be3ad1641b99b17f6a8be6a976f1f954e997c41e919ad7e0c418fe848c13c97
    34     sha256:7be3ad1641b99b17f6a8be6a976f1f954e997c41e919ad7e0c418fe848c13c97
    37 COMPONENT_ARCHIVE_URL=  http://ftp.gnu.org/gnu/gmp/$(COMPONENT_ARCHIVE)
    35 COMPONENT_ARCHIVE_URL=  http://ftp.gnu.org/gnu/gmp/$(COMPONENT_ARCHIVE)
    38 COMPONENT_BUGDB=	library/gnump
    36 COMPONENT_BUGDB=	library/gnump
    39 
    37 
    40 TPNO=			16955
    38 TPNO=			16955
    41 
    39 
    42 include $(WS_MAKE_RULES)/prep.mk
       
    43 include $(WS_MAKE_RULES)/configure.mk
       
    44 include $(WS_MAKE_RULES)/ips.mk
       
    45 include $(WS_MAKE_RULES)/lint-libraries.mk
       
    46 
       
    47 MCS = mcs
       
    48 STRIP = strip
       
    49 
       
    50 # We need to build an extra static version of this library for
    40 # We need to build an extra static version of this library for
    51 # GRUB/Wanboot support.
    41 # GRUB/Wanboot support.
    52 
    42 
    53 ifeq ($(MACH),i386)
    43 ifeq ($(MACH),i386)
    54 
    44 
    59 CONFIGURE_32_and_64 += $(WANBOOT_CONFIGURE)
    49 CONFIGURE_32_and_64 += $(WANBOOT_CONFIGURE)
    60 BUILD_32_and_64 += $(WANBOOT_BUILD)
    50 BUILD_32_and_64 += $(WANBOOT_BUILD)
    61 INSTALL_32_and_64 += $(WANBOOT_INSTALL)
    51 INSTALL_32_and_64 += $(WANBOOT_INSTALL)
    62 
    52 
    63 endif
    53 endif
       
    54 
       
    55 CONFIGURE_TARGET=
       
    56 BUILD_TARGET=
       
    57 INSTALL_TARGET=
       
    58 include $(WS_MAKE_RULES)/gnu-component.mk
       
    59 
       
    60 MCS = mcs
       
    61 STRIP = strip
    64 
    62 
    65 PATCH_LEVEL = 0
    63 PATCH_LEVEL = 0
    66 
    64 
    67 CLEAN_PATHS += libgmp.pc libgmpxx.pc
    65 CLEAN_PATHS += libgmp.pc libgmpxx.pc
    68 
    66 
   119 MPN32_sparc = sparc32/v9 sparc32 generic
   117 MPN32_sparc = sparc32/v9 sparc32 generic
   120 MPN64_sparc = sparc64 generic
   118 MPN64_sparc = sparc64 generic
   121 MPN_32 = $(MPN32_$(MACH))
   119 MPN_32 = $(MPN32_$(MACH))
   122 MPN_64 = $(MPN64_$(MACH))
   120 MPN_64 = $(MPN64_$(MACH))
   123 GM4 = /usr/bin/gm4
   121 GM4 = /usr/bin/gm4
   124 GSED = /usr/bin/gsed
   122 
   125 # libgmpxx.so.4 always gets built with unnecessary paths in RUNPATH/RPATH
       
   126 ELFEDIT = /usr/bin/elfedit
       
   127 
       
   128 CONFIGURE_ENV += CFLAGS="$(CFLAGS)"
       
   129 CONFIGURE_ENV += CPPFLAGS="$(CPPFLAGS)"
       
   130 CONFIGURE_ENV += CXXFLAGS="$(CC_BITS) $(CXXFLAGS)"
       
   131 CONFIGURE_ENV += LD="$(CC) $(CFLAGS) $(LDFLAGS)"
   123 CONFIGURE_ENV += LD="$(CC) $(CFLAGS) $(LDFLAGS)"
   132 CONFIGURE_ENV += LDFLAGS="$(LDFLAGS)"
       
   133 CONFIGURE_ENV += CXXLD="$(CXX) $(CC_BITS) $(CXXFLAGS) $(LDFLAGS)"
   124 CONFIGURE_ENV += CXXLD="$(CXX) $(CC_BITS) $(CXXFLAGS) $(LDFLAGS)"
   134 CONFIGURE_ENV += CPP="$(CC) $(CPPFLAGS) $(CFLAGS) -E"
   125 CONFIGURE_ENV += CPP="$(CC) $(CPPFLAGS) $(CFLAGS) -E"
   135 CONFIGURE_ENV += CPP_FOR_BUILD="$(CC) $(CPPFLAGS) $(CFLAGS) -E"
   126 CONFIGURE_ENV += CPP_FOR_BUILD="$(CC) $(CPPFLAGS) $(CFLAGS) -E"
   136 CONFIGURE_ENV += CXXCPP="$(CXX) $(CC_BITS) $(CPPFLAGS) $(CXXFLAGS) -E"
   127 CONFIGURE_ENV += CXXCPP="$(CXX) $(CC_BITS) $(CPPFLAGS) $(CXXFLAGS) -E"
   137 CONFIGURE_ENV += INSTALL="$(INSTALL)"
   128 CONFIGURE_ENV += INSTALL="$(INSTALL)"
   139 CONFIGURE_ENV += M4="$(GM4)"
   130 CONFIGURE_ENV += M4="$(GM4)"
   140 CONFIGURE_ENV += SED="$(GSED)"
   131 CONFIGURE_ENV += SED="$(GSED)"
   141 CONFIGURE_ENV += ABI="$(BITS)"
   132 CONFIGURE_ENV += ABI="$(BITS)"
   142 CONFIGURE_ENV += "MPN_PATH=$(MPN_$(BITS))"
   133 CONFIGURE_ENV += "MPN_PATH=$(MPN_$(BITS))"
   143 
   134 
   144 CONFIGURE_OPTIONS += --includedir=/usr/include/gmp
   135 CONFIGURE_OPTIONS += --includedir=$(USRINCDIR)/gmp
   145 CONFIGURE_OPTIONS += --localstatedir=/var
   136 CONFIGURE_OPTIONS += --localstatedir=$(VARDIR)
   146 CONFIGURE_OPTIONS.shared += --enable-shared
   137 CONFIGURE_OPTIONS.shared += --enable-shared
   147 CONFIGURE_OPTIONS.shared += --disable-static
   138 CONFIGURE_OPTIONS.shared += --disable-static
   148 CONFIGURE_OPTIONS += --disable-libtool-lock
   139 CONFIGURE_OPTIONS += --disable-libtool-lock
   149 CONFIGURE_OPTIONS += --disable-alloca
   140 CONFIGURE_OPTIONS += --disable-alloca
   150 CONFIGURE_OPTIONS.shared += --enable-cxx
   141 CONFIGURE_OPTIONS.shared += --enable-cxx
   164 CONFIGURE_OPTIONS.wanboot += --enable-static
   155 CONFIGURE_OPTIONS.wanboot += --enable-static
   165 CONFIGURE_OPTIONS.wanboot += --disable-libtool-lock
   156 CONFIGURE_OPTIONS.wanboot += --disable-libtool-lock
   166 CONFIGURE_OPTIONS.wanboot += --without-readline
   157 CONFIGURE_OPTIONS.wanboot += --without-readline
   167 CONFIGURE_OPTIONS.wanboot += --without-pic
   158 CONFIGURE_OPTIONS.wanboot += --without-pic
   168 
   159 
   169 PROTOUSRSHAREINFODIR = $(PROTOUSRSHAREDIR)/info
       
   170 PROTOUSRSHAREHTMLDIR = $(PROTOUSRSHAREDIR)/doc/gmp/html
   160 PROTOUSRSHAREHTMLDIR = $(PROTOUSRSHAREDIR)/doc/gmp/html
   171 PROTOUSRSHAREMAN3DIR = $(PROTOUSRSHAREDIR)/man/man3
   161 
   172 PROTOUSRINCLUDEDIR = $(PROTOUSRDIR)/include
   162 # libgmpxx.so.4 always gets built with unnecessary paths in RUNPATH/RPATH
   173 PROTOPKGCONFIGDIR = $(PROTOUSRLIBDIR)/pkgconfig
       
   174 PROTOPKGCONFIGDIR64 = $(PROTOUSRLIBDIR64)/pkgconfig
       
   175 
       
   176 COMPONENT_POST_INSTALL_ACTION.shared = \
   163 COMPONENT_POST_INSTALL_ACTION.shared = \
   177     ( $(MKDIR) $(PROTOUSRSHAREHTMLDIR) ; \
   164     ( $(MKDIR) $(PROTOUSRSHAREHTMLDIR) ; \
   178       $(MKDIR) $(PROTOUSRSHAREMAN3DIR) ; \
   165       $(MKDIR) $(PROTOUSRSHAREMAN3DIR) ; \
   179       $(MKDIR) $(PROTOPKGCONFIGDIR) ; \
   166       $(MKDIR) $(PROTOPKGCONFIGDIR) ; \
   180       $(MKDIR) $(PROTOPKGCONFIGDIR64) ; \
   167       $(MKDIR) $(PROTOPKGCONFIGDIR64) ; \
   189       $(GSED) -e "s/MACH64/$(MACH64)/g" \
   176       $(GSED) -e "s/MACH64/$(MACH64)/g" \
   190 	$(COMPONENT_DIR)/Solaris/libgmp-64.pc > $(COMPONENT_DIR)/libgmp.pc ; \
   177 	$(COMPONENT_DIR)/Solaris/libgmp-64.pc > $(COMPONENT_DIR)/libgmp.pc ; \
   191       $(GSED) -e "s/MACH64/$(MACH64)/g" \
   178       $(GSED) -e "s/MACH64/$(MACH64)/g" \
   192 	$(COMPONENT_DIR)/Solaris/libgmpxx-64.pc > \
   179 	$(COMPONENT_DIR)/Solaris/libgmpxx-64.pc > \
   193 	    $(COMPONENT_DIR)/libgmpxx.pc ; \
   180 	    $(COMPONENT_DIR)/libgmpxx.pc ; \
   194       $(MV) $(PROTOUSRINCLUDEDIR)/gmp.h $(PROTOUSRINCLUDEDIR)/gmp/ ; \
   181       $(MV) $(PROTOUSRINCDIR)/gmp.h $(PROTOUSRINCDIR)/gmp/ ; \
   195       $(MV) $(PROTOUSRINCLUDEDIR)/mp.h $(PROTOUSRINCLUDEDIR)/gmp/ ; \
   182       $(MV) $(PROTOUSRINCDIR)/mp.h $(PROTOUSRINCDIR)/gmp/ ; \
   196       $(INSTALL) -m 0644 $(COMPONENT_DIR)/Solaris/index.html \
   183       $(INSTALL) -m 0644 $(COMPONENT_DIR)/Solaris/index.html \
   197 	$(PROTOUSRSHAREHTMLDIR)/ ; \
   184 	$(PROTOUSRSHAREHTMLDIR)/ ; \
   198       $(INSTALL) -m 0644 $(COMPONENT_DIR)/Solaris/libgmp.pc \
   185       $(INSTALL) -m 0644 $(COMPONENT_DIR)/Solaris/libgmp.pc \
   199 	$(PROTOPKGCONFIGDIR) ; \
   186 	$(PROTOPKGCONFIGDIR) ; \
   200       $(INSTALL) -m 0644 $(COMPONENT_DIR)/Solaris/libgmpxx.pc \
   187       $(INSTALL) -m 0644 $(COMPONENT_DIR)/Solaris/libgmpxx.pc \
   205 	$(PROTOPKGCONFIGDIR64) ; \
   192 	$(PROTOPKGCONFIGDIR64) ; \
   206       $(INSTALL) -m 0644 $(COMPONENT_DIR)/Solaris/libgmp.3 \
   193       $(INSTALL) -m 0644 $(COMPONENT_DIR)/Solaris/libgmp.3 \
   207 	$(PROTOUSRSHAREMAN3DIR)/ )
   194 	$(PROTOUSRSHAREMAN3DIR)/ )
   208 
   195 
   209 COMPONENT_POST_INSTALL_ACTION.wanboot = \
   196 COMPONENT_POST_INSTALL_ACTION.wanboot = \
   210       ( $(MKDIR) $(PROTO_DIR)/usr/lib/grub/wanboot; \
   197       ( $(MKDIR) $(PROTOUSRLIBDIR)/grub/wanboot; \
   211 	$(MV) $(PROTO_DIR)/usr/lib/amd64/libgmp.a $(PROTO_DIR)/usr/lib/grub/wanboot/libgmp.a; \
   198 	$(MV) $(PROTOUSRLIBDIR64)/libgmp.a $(PROTO_DIR)/usr/lib/grub/wanboot/libgmp.a; \
   212 	$(STRIP) -x $(PROTO_DIR)/usr/lib/grub/wanboot/libgmp.a; \
   199 	$(STRIP) -x $(PROTOUSRLIBDIR)/grub/wanboot/libgmp.a; \
   213 	$(MCS) -d $(PROTO_DIR)/usr/lib/grub/wanboot/libgmp.a; \
   200 	$(MCS) -d $(PROTOUSRLIBDIR)/grub/wanboot/libgmp.a; \
   214 	$(AR) ts $(PROTO_DIR)/usr/lib/grub/wanboot/libgmp.a )
   201 	$(AR) ts $(PROTOUSRLIBDIR)/grub/wanboot/libgmp.a )
   215 
   202 
   216 ASLR_MODE = $(ASLR_NOT_APPLICABLE)
   203 # Skipping this during automated tests since it hangs sometimes
   217 
       
   218 #Skipping this during automated tests since it hangs sometimes
       
   219 $(SKIP_TEST_AT_TOP_LEVEL)
   204 $(SKIP_TEST_AT_TOP_LEVEL)
   220 
   205 
   221 # common targets
   206 # common targets
   222 configure:	$(CONFIGURE_32_and_64)
   207 configure:	$(CONFIGURE_32_and_64)
   223 
   208 
   242 
   227 
   243 $(BUILD_DIR)/$(MACH32)/.installed: COMPONENT_POST_INSTALL_ACTION = $(COMPONENT_POST_INSTALL_ACTION.shared)
   228 $(BUILD_DIR)/$(MACH32)/.installed: COMPONENT_POST_INSTALL_ACTION = $(COMPONENT_POST_INSTALL_ACTION.shared)
   244 $(BUILD_DIR)/$(MACH64)/.installed: COMPONENT_POST_INSTALL_ACTION = $(COMPONENT_POST_INSTALL_ACTION.shared)
   229 $(BUILD_DIR)/$(MACH64)/.installed: COMPONENT_POST_INSTALL_ACTION = $(COMPONENT_POST_INSTALL_ACTION.shared)
   245 $(BUILD_DIR)/wanboot-amd64/.installed: COMPONENT_POST_INSTALL_ACTION = $(COMPONENT_POST_INSTALL_ACTION.wanboot)
   230 $(BUILD_DIR)/wanboot-amd64/.installed: COMPONENT_POST_INSTALL_ACTION = $(COMPONENT_POST_INSTALL_ACTION.wanboot)
   246 
   231 
   247 test: $(TEST_32_and_64)
       
   248 
       
   249 system-test:    $(SYSTEM_TESTS_NOT_IMPLEMENTED)
       
   250 
       
   251 REQUIRED_PACKAGES += system/library
       
   252 REQUIRED_PACKAGES += system/library/c++-runtime
   232 REQUIRED_PACKAGES += system/library/c++-runtime