author | Misaki Miyashita <Misaki.Miyashita@Oracle.COM> |
Mon, 14 Nov 2011 08:53:40 -0800 | |
branch | s11-sru |
changeset 2230 | f34d51fb8646 |
parent 392 | 59cfe0ca65fb |
child 609 | 775168282b2f |
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 |
# |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
21 |
# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. |
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 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
27 |
COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
28 |
COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
29 |
# unfortunately we have our own "special" tarball and not the community version, so use that. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
30 |
COMPONENT_ARCHIVE_HASH= sha1:f7a27d5aeb07748eb6e924abfcfcf469c378b13e |
313
e30cc0dc4e8b
7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
249
diff
changeset
|
31 |
COMPONENT_ARCHIVE_URL= $(EXTERNAL_ARCHIVE_MIRROR)/$(SOURCE_ARCHIVE) |
246
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
32 |
|
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
33 |
include ../../make-rules/prep.mk |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
34 |
include ../../make-rules/configure.mk |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
35 |
include ../../make-rules/ips.mk |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
36 |
|
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
37 |
PARCH = $(MACH:i386=i386-pc) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
38 |
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
|
39 |
|
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
40 |
PKG_MACROS += GNU_ARCH="$(GNU_ARCH)" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
41 |
|
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
42 |
# we build gcc with gcc |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
43 |
COMPILER = gcc |
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 |
# 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
|
46 |
CC_BITS= |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
47 |
|
392
59cfe0ca65fb
7064504 exception handling -compat=g on Solaris 11 snv_167 or higher
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
378
diff
changeset
|
48 |
# 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
|
49 |
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
|
50 |
|
246
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
51 |
CONFIGURE_PREFIX = /usr/sfw |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
52 |
|
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
53 |
# 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
|
54 |
# 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
|
55 |
CONFIGURE_OPTIONS = --prefix=$(CONFIGURE_PREFIX) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
56 |
CONFIGURE_OPTIONS += --mandir=$(CONFIGURE_MANDIR) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
57 |
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
|
58 |
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
|
59 |
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
|
60 |
CONFIGURE_OPTIONS += --enable-shared |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
61 |
# sparc and x86 use different assemblers |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
62 |
CONFIGURE_OPTIONS.sparc += --without-gnu-as --with-as=/usr/ccs/bin/as |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
63 |
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
|
64 |
CONFIGURE_OPTIONS += $(CONFIGURE_OPTIONS.$(MACH)) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
65 |
|
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
66 |
CONFIGURE_ENV += CC="$(CC)" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
67 |
CONFIGURE_ENV += CFLAGS="$(CFLAGS)" |
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 |
COMPONENT_BUILD_ENV += STAGE1_CFLAGS="$(CFLAGS)" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
70 |
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
|
71 |
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
|
72 |
COMPONENT_BUILD_TARGETS = bootstrap |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
73 |
|
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
74 |
# common targets |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
75 |
build: $(BUILD_32) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
76 |
|
378
f0b61ed1d10d
7064052 gcc3 delivers incorrect .la files in build 166
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
313
diff
changeset
|
77 |
$(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
|
78 |
(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
|
79 |
$(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
|
80 |
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
|
81 |
$(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
|
82 |
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
|
83 |
done) |
f0b61ed1d10d
7064052 gcc3 delivers incorrect .la files in build 166
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
313
diff
changeset
|
84 |
$(TOUCH) $@ |
f0b61ed1d10d
7064052 gcc3 delivers incorrect .la files in build 166
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
313
diff
changeset
|
85 |
|
f0b61ed1d10d
7064052 gcc3 delivers incorrect .la files in build 166
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
313
diff
changeset
|
86 |
install: $(PROTO_DIR)/.sedded |
246
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
87 |
|
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
88 |
BUILD_PKG_DEPENDENCIES = $(BUILD_TOOLS) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
89 |
|
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
90 |
test: $(TEST_32) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
91 |
|
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
92 |
include ../../make-rules/depend.mk |