author | Matt Keenan <matt.keenan@oracle.com> |
Wed, 12 Jun 2013 11:26:22 +0100 | |
branch | s11-update |
changeset 2647 | c72026b4ef46 |
parent 2434 | 6c9bb5cf5610 |
child 3661 | 47545fb8aed4 |
permissions | -rw-r--r-- |
246
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1 |
# |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
2 |
# CDDL HEADER START |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
3 |
# |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
4 |
# The contents of this file are subject to the terms of the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
5 |
# Common Development and Distribution License (the "License"). |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
6 |
# You may not use this file except in compliance with the License. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
7 |
# |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
8 |
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
9 |
# or http://www.opensolaris.org/os/licensing. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
10 |
# See the License for the specific language governing permissions |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
11 |
# and limitations under the License. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
12 |
# |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
13 |
# When distributing Covered Code, include this CDDL HEADER in each |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
14 |
# file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
15 |
# If applicable, add the following below this CDDL HEADER, with the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
16 |
# fields enclosed by brackets "[]" replaced with your own identifying |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
17 |
# information: Portions Copyright [yyyy] [name of copyright owner] |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
18 |
# |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
19 |
# CDDL HEADER END |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
20 |
# |
704
c4fe7d6370ec
7128466 gcc should support FMA4 and XOP instruction sets
George Vasick <george.vasick@oracle.com>
parents:
609
diff
changeset
|
21 |
# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. |
246
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
22 |
# |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
23 |
include ../../make-rules/shared-macros.mk |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
24 |
|
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
25 |
COMPONENT_NAME= gcc |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
26 |
COMPONENT_VERSION= 3.4.3 |
609
775168282b2f
7037821 Userland migration of data from Makefile to manifest may have been a little overzealous
Rich Burridge <rich.burridge@oracle.com>
parents:
392
diff
changeset
|
27 |
COMPONENT_PROJECT_URL= http://gcc.gnu.org/ |
246
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
28 |
COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
29 |
COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
30 |
# unfortunately we have our own "special" tarball and not the community version, so use that. |
800
2ad056ed89ec
7163771 sha1 should not be used in userland-fetch and userland component/*/Makefile
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
704
diff
changeset
|
31 |
COMPONENT_ARCHIVE_HASH= \ |
2ad056ed89ec
7163771 sha1 should not be used in userland-fetch and userland component/*/Makefile
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
704
diff
changeset
|
32 |
sha256:3ab488fe2df01bf54a57acd70e745266e19232edacf77512f77655296748e7a0 |
313
e30cc0dc4e8b
7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
249
diff
changeset
|
33 |
COMPONENT_ARCHIVE_URL= $(EXTERNAL_ARCHIVE_MIRROR)/$(SOURCE_ARCHIVE) |
2434
6c9bb5cf5610
15930486 - Auto-generation of Userland gate list for the Solaris 11 Update Release
Rich Burridge <rich.burridge@oracle.com>
parents:
800
diff
changeset
|
34 |
COMPONENT_BUGDB= utility/gnu-compiler |
246
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
35 |
|
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
36 |
include ../../make-rules/prep.mk |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
37 |
include ../../make-rules/configure.mk |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
38 |
include ../../make-rules/ips.mk |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
39 |
|
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
40 |
PARCH = $(MACH:i386=i386-pc) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
41 |
GNU_ARCH = $(PARCH:sparc=sparc-sun)-solaris$(SOLARIS_VERSION) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
42 |
|
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
43 |
PKG_MACROS += GNU_ARCH="$(GNU_ARCH)" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
44 |
|
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
45 |
# we build gcc with gcc |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
46 |
COMPILER = gcc |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
47 |
|
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
48 |
# CC_BITS may get in the way |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
49 |
CC_BITS= |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
50 |
|
392
59cfe0ca65fb
7064504 exception handling -compat=g on Solaris 11 snv_167 or higher
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
378
diff
changeset
|
51 |
# enabling this causes libstdc++ to break |
59cfe0ca65fb
7064504 exception handling -compat=g on Solaris 11 snv_167 or higher
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
378
diff
changeset
|
52 |
LD_B_DIRECT= |
59cfe0ca65fb
7064504 exception handling -compat=g on Solaris 11 snv_167 or higher
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
378
diff
changeset
|
53 |
|
246
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
54 |
CONFIGURE_PREFIX = /usr/sfw |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
55 |
|
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
56 |
# we need to override CONFIGURE_OPTIONS because GCC uses a configure that |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
57 |
# can't deal with CC as an argument |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
58 |
CONFIGURE_OPTIONS = --prefix=$(CONFIGURE_PREFIX) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
59 |
CONFIGURE_OPTIONS += --mandir=$(CONFIGURE_MANDIR) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
60 |
CONFIGURE_OPTIONS += --infodir=$(CONFIGURE_PREFIX)/share/info |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
61 |
CONFIGURE_OPTIONS += --without-gnu-ld --with-ld=/usr/bin/ld |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
62 |
CONFIGURE_OPTIONS += --enable-languages='c,c++,f77,objc' |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
63 |
CONFIGURE_OPTIONS += --enable-shared |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
64 |
# sparc and x86 use different assemblers |
704
c4fe7d6370ec
7128466 gcc should support FMA4 and XOP instruction sets
George Vasick <george.vasick@oracle.com>
parents:
609
diff
changeset
|
65 |
CONFIGURE_OPTIONS.sparc += --without-gnu-as --with-as=/usr/bin/as |
246
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
66 |
CONFIGURE_OPTIONS.i386 += --with-gnu-as --with-as=/usr/gnu/bin/as |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
67 |
CONFIGURE_OPTIONS += $(CONFIGURE_OPTIONS.$(MACH)) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
68 |
|
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
69 |
CONFIGURE_ENV += CC="$(CC)" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
70 |
CONFIGURE_ENV += CFLAGS="$(CFLAGS)" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
71 |
|
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
72 |
COMPONENT_BUILD_ENV += STAGE1_CFLAGS="$(CFLAGS)" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
73 |
COMPONENT_BUILD_ENV += CFLAGS_FOR_TARGET="$(CFLAGS)" |
249
a26c7270b713
7045683 gcc-3, flex, and binutils should move to userland (fix shell confusion)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
246
diff
changeset
|
74 |
COMPONENT_BUILD_ENV += SHELL=$(CONFIG_SHELL) |
246
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
75 |
COMPONENT_BUILD_TARGETS = bootstrap |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
76 |
|
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
77 |
# common targets |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
78 |
build: $(BUILD_32) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
79 |
|
378
f0b61ed1d10d
7064052 gcc3 delivers incorrect .la files in build 166
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
313
diff
changeset
|
80 |
$(PROTO_DIR)/.sedded: $(INSTALL_32) |
f0b61ed1d10d
7064052 gcc3 delivers incorrect .la files in build 166
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
313
diff
changeset
|
81 |
(cd $(@D) ; for file in libstdc++.la libsupc++.la ; do \ |
f0b61ed1d10d
7064052 gcc3 delivers incorrect .la files in build 166
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
313
diff
changeset
|
82 |
$(MV) usr/sfw/lib/$$file usr/sfw/lib/$$file.orig ; \ |
f0b61ed1d10d
7064052 gcc3 delivers incorrect .la files in build 166
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
313
diff
changeset
|
83 |
sed -e "s;\\(dependency_libs=\\).*;\\1' -L/usr/sfw/lib -lgcc_s -lm';" usr/sfw/lib/$$file.orig >usr/sfw/lib/$$file ; \ |
f0b61ed1d10d
7064052 gcc3 delivers incorrect .la files in build 166
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
313
diff
changeset
|
84 |
$(MV) usr/sfw/lib/$(MACH64)/$$file usr/sfw/lib/$(MACH64)/$$file.orig ; \ |
f0b61ed1d10d
7064052 gcc3 delivers incorrect .la files in build 166
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
313
diff
changeset
|
85 |
sed -e "s;\\(dependency_libs=\\).*;\\1' -L/usr/sfw/lib/$(MACH64) -lgcc_s -lm';" usr/sfw/lib/$(MACH64)/$$file.orig >usr/sfw/lib/$(MACH64)/$$file ; \ |
f0b61ed1d10d
7064052 gcc3 delivers incorrect .la files in build 166
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
313
diff
changeset
|
86 |
done) |
f0b61ed1d10d
7064052 gcc3 delivers incorrect .la files in build 166
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
313
diff
changeset
|
87 |
$(TOUCH) $@ |
f0b61ed1d10d
7064052 gcc3 delivers incorrect .la files in build 166
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
313
diff
changeset
|
88 |
|
f0b61ed1d10d
7064052 gcc3 delivers incorrect .la files in build 166
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
313
diff
changeset
|
89 |
install: $(PROTO_DIR)/.sedded |
246
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
90 |
|
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
91 |
BUILD_PKG_DEPENDENCIES = $(BUILD_TOOLS) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
92 |
|
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
93 |
test: $(TEST_32) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
94 |
|
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
95 |
include ../../make-rules/depend.mk |