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 |
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 |