20 # |
20 # |
21 |
21 |
22 # |
22 # |
23 # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved. |
23 # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved. |
24 # |
24 # |
25 # At the moment, we build both 32-bit and 64-bit versions of binutils, but only |
25 BUILD_BITS= 64 |
26 # deliver the 32-bit binaries and libraries. |
|
27 BUILD_BITS= 32_and_64 |
|
28 COMPILER= gcc |
26 COMPILER= gcc |
29 include ../../make-rules/shared-macros.mk |
27 include ../../make-rules/shared-macros.mk |
30 |
28 |
31 COMPONENT_NAME= binutils |
29 COMPONENT_NAME= binutils |
32 COMPONENT_VERSION= 2.25.1 |
30 COMPONENT_VERSION= 2.27 |
33 COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.bz2 |
31 COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.bz2 |
34 COMPONENT_ARCHIVE_HASH= \ |
32 COMPONENT_ARCHIVE_HASH= \ |
35 sha256:b5b14added7d78a8d1ca70b5cb75fef57ce2197264f4f5835326b0df22ac9f22 |
33 sha256:369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88 |
36 COMPONENT_BUGDB= utility/gnu-binutils |
34 COMPONENT_BUGDB= utility/gnu-binutils |
37 |
35 |
38 TPNO= 23923 |
36 TPNO= 32076 |
39 |
37 |
40 TEST_TARGET= $(TEST_32) |
38 TEST_TARGET= $(TEST_64) |
41 include $(WS_MAKE_RULES)/gnu-component.mk |
39 include $(WS_MAKE_RULES)/gnu-component.mk |
42 |
40 |
43 PATCH_LEVEL := 0 |
41 export PATH=$(dirname $(CC)):$(GNUBIN):/usr/bin |
|
42 COMPONENT_TEST_ARGS += -k |
|
43 COMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-$(MACH).master |
44 |
44 |
45 PARCH = $(MACH:i386=i386-pc) |
45 COMPONENT_TEST_TRANSFORMS += '-e "/bin\/gcc/d" ' |
46 GNU_ARCH = $(PARCH:sparc=sparc-sun)-solaris$(SOLARIS_VERSION) |
46 COMPONENT_TEST_TRANSFORMS += '-e "/bin\/g++/d" ' |
|
47 COMPONENT_TEST_TRANSFORMS += '-e "/^Test Run By /d" ' |
|
48 |
|
49 PARCH = $(MACH:i386=x86_64-pc) |
|
50 GNU_ARCH = $(PARCH:sparc=sparcv9-sun)-solaris$(SOLARIS_VERSION) |
47 |
51 |
48 PKG_MACROS += GNU_ARCH="$(GNU_ARCH)" |
52 PKG_MACROS += GNU_ARCH="$(GNU_ARCH)" |
49 |
53 |
50 CFLAGS.i386 = -mtune=opteron -march=opteron |
|
51 CFLAGS.sparc = -mtune=ultrasparc3 -mcpu=ultrasparc3 -mvis2 \ |
|
52 -mno-unaligned-doubles -mhard-float -mimpure-text |
|
53 |
|
54 CFLAGS = $(CC_BITS) -g -O2 -std=c99 |
|
55 CFLAGS += $(CFLAGS.$(MACH)) |
|
56 CFLAGS += -D_REENTRANT $(CPP_LARGEFILES) $(CPP_POSIX) |
|
57 CXXFLAGS = $(CC_BITS) -g -O2 -std=c++03 |
|
58 CXXFLAGS += $(CFLAGS.$(MACH)) |
|
59 CXXFLAGS += -D_REENTRANT $(CPP_LARGEFILES) $(CPP_POSIX) |
|
60 CPPFLAGS += -D_REENTRANT $(CPP_LARGEFILES) $(CPP_POSIX) |
|
61 |
|
62 CONFIGURE_PREFIX = $(USRDIR)/gnu |
54 CONFIGURE_PREFIX = $(USRDIR)/gnu |
63 |
|
64 CONFIGURE_ENV += LD_OPTIONS="$(LD_OPTIONS)" |
|
65 CONFIGURE_ENV += CCLD="$(CC) $(CFLAGS) $(LDFLAGS)" |
|
66 CONFIGURE_ENV += LIBS="$(LIBS)" |
|
67 CONFIGURE_ENV += PATH="$(PATH)" |
|
68 |
55 |
69 CONFIGURE_OPTIONS += --mandir=$(CONFIGURE_MANDIR) |
56 CONFIGURE_OPTIONS += --mandir=$(CONFIGURE_MANDIR) |
70 CONFIGURE_OPTIONS += --infodir=$(CONFIGURE_INFODIR) |
57 CONFIGURE_OPTIONS += --infodir=$(CONFIGURE_INFODIR) |
71 CONFIGURE_OPTIONS += --disable-gold |
58 CONFIGURE_OPTIONS += --disable-gold |
72 CONFIGURE_OPTIONS += --disable-libtool-lock |
59 CONFIGURE_OPTIONS += --disable-libtool-lock |
74 CONFIGURE_OPTIONS += --enable-deterministic-archives |
61 CONFIGURE_OPTIONS += --enable-deterministic-archives |
75 CONFIGURE_OPTIONS += --enable-host-shared |
62 CONFIGURE_OPTIONS += --enable-host-shared |
76 CONFIGURE_OPTIONS += --enable-largefile |
63 CONFIGURE_OPTIONS += --enable-largefile |
77 CONFIGURE_OPTIONS += --enable-nls |
64 CONFIGURE_OPTIONS += --enable-nls |
78 CONFIGURE_OPTIONS += --enable-plugins |
65 CONFIGURE_OPTIONS += --enable-plugins |
|
66 CONFIGURE_OPTIONS += --with-system-zlib |
|
67 CONFIGURE_OPTIONS += --build=$(GNU_ARCH) |
79 |
68 |
80 REQUIRED_PACKAGES += library/zlib |
69 REQUIRED_PACKAGES += library/zlib |
81 REQUIRED_PACKAGES += system/library/math |
70 REQUIRED_PACKAGES += system/library/math |
82 REQUIRED_PACKAGES += system/library/flex-runtime |
71 REQUIRED_PACKAGES += system/library/flex-runtime |