2 # This file and its contents are supplied under the terms of the
3 # Common Development and Distribution License ("CDDL"). You may
4 # only use this file in accordance with the terms of the CDDL.
6 # A full copy of the text of the CDDL should have accompanied this
7 # source. A copy of the CDDL is also available via the Internet at
8 # http://www.illumos.org/license/CDDL.
12 # Copyright 2012, Jon Tibble
16 USE_PARALLEL_BUILD
= yes
18 include ..
/..
/..
/make-rules
/shared-macros.mk
20 COMPONENT_NAME
= illumos-gcc
21 COMPONENT_VERSION
= 4.4.4
23 COMPONENT_SUMMARY
= GCC
- 4.4.4 compilers patched for illumos
24 COMPONENT_SRC
= illumos-gcc-0f5ed4c
25 COMPONENT_ARCHIVE
= $(COMPONENT_SRC
).
tar.gz
26 COMPONENT_ARCHIVE_HASH
= sha256
:e87531b5f9c15c3a3d07f8e50acfb787a807174cafd38590e6f9a3da646b7ac6
27 ILLUMOS_VERSION
= gcc-4.4
.4-il-4
28 COMPONENT_ARCHIVE_URL
= https
://github.com
/illumos
/gcc
/tarball
/$(ILLUMOS_VERSION
)
29 COMPONENT_PROJECT_URL
= https
://github.com
/illumos
/gcc
30 COMPONENT_FMRI
= developer
/illumos-gcc
31 COMPONENT_CLASSIFICATION
= Development
/C
32 COMPONENT_LICENSE
= GPLv3 with Runtime Exception
, FDLv1.2
33 COMPONENT_LICENSE_FILE
= gcc.license
38 COMPONENT_SRC_1
= $(MPFR_NAME
)-$(MPFR_VERSION
)
39 COMPONENT_ARCHIVE_1
= $(COMPONENT_SRC_1
).
tar.bz2
40 COMPONENT_ARCHIVE_URL_1
= http
://www.mpfr.org
/$(COMPONENT_SRC_1
)/$(COMPONENT_ARCHIVE_1
)
41 COMPONENT_SIG_URL_1
= $(COMPONENT_ARCHIVE_URL_1
).asc
42 COMPONENT_ARCHIVE_HASH_1
= \
43 sha256
:79c73f60af010a30a5c27a955a1d2d01ba095b72537dab0ecaad57f5a7bb1b6b
44 CLEAN_PATHS
+= $(COMPONENT_SRC_1
)
45 COMPONENT_POST_UNPACK_ACTION_1
+= ( $(RM
) -r
$(COMPONENT_SRC
)/$(MPFR_NAME
) && $(CP
) -rpP
$(COMPONENT_SRC_1
) $(COMPONENT_SRC
)/$(MPFR_NAME
) )
49 COMPONENT_SRC_2
= $(MPC_NAME
)-$(MPC_VERSION
)
50 COMPONENT_ARCHIVE_2
= $(COMPONENT_SRC_2
).
tar.gz
51 COMPONENT_ARCHIVE_URL_2
= https
://ftp.gnu.org
/gnu
/mpc
/$(COMPONENT_ARCHIVE_2
)
52 COMPONENT_SIG_URL_2
= $(COMPONENT_ARCHIVE_URL_2
).sig
53 COMPONENT_ARCHIVE_HASH_2
= \
54 sha256
:ed5a815cfea525dc778df0cb37468b9c1b554aaf30d9328b1431ca705b7400ff
55 CLEAN_PATHS
+= $(COMPONENT_SRC_2
)
56 COMPONENT_POST_UNPACK_ACTION_2
+= ( $(RM
) -r
$(COMPONENT_SRC
)/$(MPC_NAME
) && $(CP
) -rpP
$(COMPONENT_SRC_2
) $(COMPONENT_SRC
)/$(MPC_NAME
) )
60 COMPONENT_SRC_3
= $(GMP_NAME
)-$(GMP_VERSION
)
61 COMPONENT_ARCHIVE_3
= $(COMPONENT_SRC_3
).
tar.bz2
62 COMPONENT_ARCHIVE_URL_3
= http
://ftp.gnu.org
/gnu
/gmp
/$(COMPONENT_ARCHIVE_3
)
63 COMPONENT_SIG_URL_3
= $(COMPONENT_ARCHIVE_URL_3
).sig
64 COMPONENT_ARCHIVE_HASH_3
= \
65 sha256
:1f588aaccc41bb9aed946f9fe38521c26d8b290d003c5df807f65690f2aadec9
66 CLEAN_PATHS
+= $(COMPONENT_SRC_3
)
67 COMPONENT_POST_UNPACK_ACTION_3
+= ( $(RM
) -r
$(COMPONENT_SRC
)/$(GMP_NAME
) && $(CP
) -rpP
$(COMPONENT_SRC_3
) $(COMPONENT_SRC
)/$(GMP_NAME
) )
69 include $(WS_MAKE_RULES
)/common.mk
71 # We use illumos-gcc to build illumos-gcc
72 GCC_ROOT
=/opt
/gcc
/4.4.4
78 CONFIGURE_PREFIX
= /opt
/gcc
/$(COMPONENT_VERSION
)
80 # sparc and x86 use different assemblers
81 CONFIGURE_OPTIONS.sparc
+= --without-gnu-as
--with-as
=/usr
/bin
/as
82 CONFIGURE_OPTIONS.i386
+= --with-gnu-as
--with-as
=/usr
/sfw
/bin
/gas
84 CONFIGURE_OPTIONS
= --prefix=$(CONFIGURE_PREFIX
)
85 CONFIGURE_OPTIONS
+= $(CONFIGURE_OPTIONS.
$(MACH
))
86 CONFIGURE_OPTIONS
+= --with-ld
=/usr
/bin
/ld
87 CONFIGURE_OPTIONS
+= --without-gnu-ld
88 CONFIGURE_OPTIONS
+= --enable-languages
="c,c++,objc"
89 CONFIGURE_OPTIONS
+= --enable-shared
90 CONFIGURE_OPTIONS
+= --with-pkgversion
="Illumos $(ILLUMOS_VERSION)"
91 CONFIGURE_OPTIONS
+= --with-bugurl
="http://github.com/illumos/gcc/issues"
93 COMPONENT_BUILD_ENV
= SHELL
=$(CONFIG_SHELL
) CFLAGS
="$(CFLAGS)" STAGE1_CFLAGS
="$(CFLAGS)" CFLAGS_FOR_TARGET
="$(CFLAGS)"
94 COMPONENT_BUILD_ENV
+= PATH
="$(PATH)"
95 COMPONENT_BUILD_TARGETS
= bootstrap
97 COMPONENT_POST_INSTALL_ACTION
+= \
98 /usr
/bin
/elfedit
-e
'dyn:rpath /opt/gcc/4.4.4/lib' $(PROTO_DIR
)/opt
/gcc
/4.4.4/lib
/libgomp.so
.1 ; \
99 /usr
/bin
/elfedit
-e
"dyn:rpath /opt/gcc/4.4.4/lib/$(MACH64)" $(PROTO_DIR
)/opt
/gcc
/4.4.4/lib
/$(MACH64
)/libgomp.so
.1 ; \
100 /usr
/bin
/elfedit
-e
'dyn:rpath /opt/gcc/4.4.4/lib' $(PROTO_DIR
)/opt
/gcc
/4.4.4/lib
/libssp.so
.0 ; \
101 /usr
/bin
/elfedit
-e
"dyn:rpath /opt/gcc/4.4.4/lib/$(MACH64)" $(PROTO_DIR
)/opt
/gcc
/4.4.4/lib
/$(MACH64
)/libssp.so
.0 ; \
102 /usr
/bin
/elfedit
-e
'dyn:rpath /opt/gcc/4.4.4/lib' $(PROTO_DIR
)/opt
/gcc
/4.4.4/lib
/libstdc
++.so
.6 ; \
103 /usr
/bin
/elfedit
-e
"dyn:rpath /opt/gcc/4.4.4/lib/$(MACH64)" $(PROTO_DIR
)/opt
/gcc
/4.4.4/lib
/$(MACH64
)/libstdc
++.so
.6 ;
105 COMPONENT_POST_INSTALL_ACTION
+= \
106 $(RM
) -r
$(PROTO_DIR
)$(CONFIGURE_PREFIX
)/lib
/gcc
/$(GNU_TRIPLET
)/$(COMPONENT_VERSION
)/include-fixed
;
108 PKG_HARDLINKS
+= opt
/gcc
/4.4.4/bin
/gcc
109 PKG_HARDLINKS
+= opt
/gcc
/4.4.4/bin
/g
++
112 REQUIRED_PACKAGES
+= developer
/illumos-gcc
114 # Auto-generated dependencies
115 REQUIRED_PACKAGES
+= shell/ksh93
116 REQUIRED_PACKAGES
+= system
/library
117 REQUIRED_PACKAGES
+= system
/library
/math