components/gcc3/Makefile
author Shawn Walker-Salas <shawn.walker@oracle.com>
Wed, 30 Mar 2016 13:33:31 -0700
changeset 5682 94c0ca64c022
parent 5348 623c86e1e386
child 5782 9d1e3af515de
permissions -rw-r--r--
15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh 22228656 remove redundant declarations and additions from makefiles 22252545 simplify build rules for components from common upstream 22378457 tclConfig.sh compiler settings are too specific 22727315 httping curses gui missing 22750630 procmail ignores userland cflags and may use private strstr function 22758725 wdiff uses diff from PATH instead of /usr/gnu/bin/diff 22926847 cloog Makefile typo when setting ASLR_MODE 22935090 tk config script has wrong linker flags
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
#
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5348
diff changeset
    21
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5348
diff changeset
    22
#
5348
623c86e1e386 22599369 gcc3, gcc48, and gcc49 should specify bits
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5125
diff changeset
    23
# Copyright (c) 2011, 2016, 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
    24
#
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5348
diff changeset
    25
BUILD_BITS= 32
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5348
diff changeset
    26
# Build gcc with gcc
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5348
diff changeset
    27
COMPILER= gcc
246
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    28
include ../../make-rules/shared-macros.mk
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    29
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    30
COMPONENT_NAME=		gcc
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    31
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
    32
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
    33
# 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
    34
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
    35
    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
    36
COMPONENT_ARCHIVE_URL=	$(EXTERNAL_ARCHIVE_MIRROR)/$(SOURCE_ARCHIVE)
1058
34d7aaa03423 15886624 Auto-generation of Userland gate list - Phase 3
Rich Burridge <rich.burridge@oracle.com>
parents: 991
diff changeset
    37
COMPONENT_BUGDB=	utility/gnu-compiler
246
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    38
1948
2d1537e7942d 18978320 Userland components should specify TPNOs in Makefiles instead of pkg manifests
John Beck <John.Beck@Oracle.COM>
parents: 1496
diff changeset
    39
TPNO=			17028
2d1537e7942d 18978320 Userland components should specify TPNOs in Makefiles instead of pkg manifests
John Beck <John.Beck@Oracle.COM>
parents: 1496
diff changeset
    40
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5348
diff changeset
    41
INSTALL_TARGET=
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5348
diff changeset
    42
include $(WS_MAKE_RULES)/gnu-component.mk
246
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    43
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    44
PARCH =		$(MACH:i386=i386-pc)
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    45
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
    46
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    47
PKG_MACROS +=	GNU_ARCH="$(GNU_ARCH)"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    48
5348
623c86e1e386 22599369 gcc3, gcc48, and gcc49 should specify bits
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5125
diff changeset
    49
# Make sure to pass -m32/64 any time the installed GCC is used 
623c86e1e386 22599369 gcc3, gcc48, and gcc49 should specify bits
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5125
diff changeset
    50
CC += -m$(BITS)
623c86e1e386 22599369 gcc3, gcc48, and gcc49 should specify bits
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5125
diff changeset
    51
CXX += -m$(BITS)
623c86e1e386 22599369 gcc3, gcc48, and gcc49 should specify bits
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5125
diff changeset
    52
246
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    53
# 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
    54
CC_BITS=
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    55
392
59cfe0ca65fb 7064504 exception handling -compat=g on Solaris 11 snv_167 or higher
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 378
diff changeset
    56
# 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
    57
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
    58
991
ed62e375e805 PSARC 2012/255 Move GNU gcc 3 from /usr/sfw to /usr/gcc
Rich Burridge <rich.burridge@oracle.com>
parents: 800
diff changeset
    59
CONFIGURE_PREFIX =	/usr/gcc/3.4
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5348
diff changeset
    60
CONFIGURE_INFODIR =	$(CONFIGURE_PREFIX)/share/info
246
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    61
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5348
diff changeset
    62
CONFIGURE_OPTIONS +=	--infodir=$(CONFIGURE_INFODIR)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5348
diff changeset
    63
CONFIGURE_OPTIONS +=	--without-gnu-ld --with-ld=$(LD)
246
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    64
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
    65
CONFIGURE_OPTIONS +=	--enable-shared
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    66
# sparc and x86 use different assemblers
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5348
diff changeset
    67
CONFIGURE_OPTIONS.sparc +=	--without-gnu-as --with-as=$(USRBINDIR)/as
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5348
diff changeset
    68
CONFIGURE_OPTIONS.i386 +=	--with-gnu-as --with-as=$(GNUBIN)/as
246
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    69
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    70
COMPONENT_BUILD_ENV += STAGE1_CFLAGS="$(CFLAGS)"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    71
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
    72
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
    73
COMPONENT_BUILD_TARGETS = bootstrap
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    74
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    75
# common targets
378
f0b61ed1d10d 7064052 gcc3 delivers incorrect .la files in build 166
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 313
diff changeset
    76
$(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
    77
	(cd $(@D) ; for file in libstdc++.la libsupc++.la ; do \
991
ed62e375e805 PSARC 2012/255 Move GNU gcc 3 from /usr/sfw to /usr/gcc
Rich Burridge <rich.burridge@oracle.com>
parents: 800
diff changeset
    78
		$(MV) usr/gcc/3.4/lib/$$file usr/gcc/3.4/lib/$$file.orig ; \
ed62e375e805 PSARC 2012/255 Move GNU gcc 3 from /usr/sfw to /usr/gcc
Rich Burridge <rich.burridge@oracle.com>
parents: 800
diff changeset
    79
		sed -e "s;\\(dependency_libs=\\).*;\\1' -L/usr/gcc/3.4/lib -lgcc_s -lm';" usr/gcc/3.4/lib/$$file.orig >usr/gcc/3.4/lib/$$file ; \
ed62e375e805 PSARC 2012/255 Move GNU gcc 3 from /usr/sfw to /usr/gcc
Rich Burridge <rich.burridge@oracle.com>
parents: 800
diff changeset
    80
		$(MV) usr/gcc/3.4/lib/$(MACH64)/$$file usr/gcc/3.4/lib/$(MACH64)/$$file.orig ; \
ed62e375e805 PSARC 2012/255 Move GNU gcc 3 from /usr/sfw to /usr/gcc
Rich Burridge <rich.burridge@oracle.com>
parents: 800
diff changeset
    81
		sed -e "s;\\(dependency_libs=\\).*;\\1' -L/usr/gcc/3.4/lib/$(MACH64) -lgcc_s -lm';" usr/gcc/3.4/lib/$(MACH64)/$$file.orig >usr/gcc/3.4/lib/$(MACH64)/$$file ; \
378
f0b61ed1d10d 7064052 gcc3 delivers incorrect .la files in build 166
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 313
diff changeset
    82
	 done)
f0b61ed1d10d 7064052 gcc3 delivers incorrect .la files in build 166
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 313
diff changeset
    83
	$(TOUCH) $@
f0b61ed1d10d 7064052 gcc3 delivers incorrect .la files in build 166
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 313
diff changeset
    84
f0b61ed1d10d 7064052 gcc3 delivers incorrect .la files in build 166
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 313
diff changeset
    85
install:	$(PROTO_DIR)/.sedded
246
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    86
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2225
diff changeset
    87
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2225
diff changeset
    88
REQUIRED_PACKAGES += developer/assembler
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2225
diff changeset
    89
REQUIRED_PACKAGES += developer/gnu-binutils
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2225
diff changeset
    90
REQUIRED_PACKAGES += developer/lexer/flex
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2225
diff changeset
    91
REQUIRED_PACKAGES += developer/parser/bison
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2225
diff changeset
    92
REQUIRED_PACKAGES += shell/ksh93
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2225
diff changeset
    93
REQUIRED_PACKAGES += system/library/gcc-3-runtime
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2225
diff changeset
    94
REQUIRED_PACKAGES += system/library/math