summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2012-04-29 09:32:44 +0000
committerkib <kib@FreeBSD.org>2012-04-29 09:32:44 +0000
commitddc91163077d5a13dee524efab9ab60f26f59f72 (patch)
tree61e9ad3e4db471d181914e2e1ed149f7f3a67676
parentcf28d816e5c390aab9ee55d8d92f45bbc6551307 (diff)
downloadFreeBSD-src-ddc91163077d5a13dee524efab9ab60f26f59f72.zip
FreeBSD-src-ddc91163077d5a13dee524efab9ab60f26f59f72.tar.gz
Add src.conf option WITH_SHARED_TOOLCHAIN to enable building the
toolchain binaries as dynamically linked. Option is disabled by default. Reviewed by: ru (previous version) MFC after: 2 weeks
-rw-r--r--gnu/usr.bin/binutils/ar/Makefile3
-rw-r--r--gnu/usr.bin/binutils/as/Makefile3
-rw-r--r--gnu/usr.bin/binutils/ld/Makefile3
-rw-r--r--gnu/usr.bin/binutils/ranlib/Makefile3
-rw-r--r--gnu/usr.bin/cc/cc/Makefile2
-rw-r--r--gnu/usr.bin/cc/cc1/Makefile5
-rw-r--r--gnu/usr.bin/cc/cc1plus/Makefile5
-rw-r--r--share/mk/bsd.own.mk3
-rw-r--r--tools/build/options/WITH_SHARED_TOOLCHAIN6
-rw-r--r--usr.bin/ar/Makefile4
-rw-r--r--usr.bin/make/Makefile4
11 files changed, 38 insertions, 3 deletions
diff --git a/gnu/usr.bin/binutils/ar/Makefile b/gnu/usr.bin/binutils/ar/Makefile
index 464445e..6fe22c8 100644
--- a/gnu/usr.bin/binutils/ar/Makefile
+++ b/gnu/usr.bin/binutils/ar/Makefile
@@ -1,6 +1,7 @@
# $FreeBSD$
.include "../Makefile.inc0"
+.include <bsd.own.mk>
.PATH: ${SRCDIR}/binutils ${SRCDIR}/binutils/doc
@@ -16,7 +17,9 @@ CFLAGS+= -D_GNU_SOURCE
CFLAGS+= -I${.CURDIR}/${RELTOP}/libbinutils
CFLAGS+= -I${SRCDIR}/binutils
CFLAGS+= -I${SRCDIR}/bfd
+.if ${MK_SHARED_TOOLCHAIN} == "no"
NO_SHARED?= yes
+.endif
DPADD= ${RELTOP}/libbinutils/libbinutils.a
DPADD+= ${RELTOP}/libbfd/libbfd.a
DPADD+= ${RELTOP}/libiberty/libiberty.a
diff --git a/gnu/usr.bin/binutils/as/Makefile b/gnu/usr.bin/binutils/as/Makefile
index bf8df81..5fef1f3 100644
--- a/gnu/usr.bin/binutils/as/Makefile
+++ b/gnu/usr.bin/binutils/as/Makefile
@@ -4,6 +4,7 @@
# BINDIR
.include "${.CURDIR}/../../Makefile.inc"
.include "${.CURDIR}/../Makefile.inc0"
+.include <bsd.own.mk>
.PATH: ${SRCDIR}/gas ${SRCDIR}/gas/config
@@ -79,7 +80,9 @@ CFLAGS+= -D_GNU_SOURCE
CFLAGS+= -I${SRCDIR}/gas -I${SRCDIR}/bfd -I${SRCDIR}/gas/config -I${SRCDIR}
CFLAGS+= -I${.CURDIR} -I${.CURDIR}/${TARGET_CPUARCH}-freebsd
+.if ${MK_SHARED_TOOLCHAIN} == "no"
NO_SHARED?= yes
+.endif
DPADD= ${RELTOP}/libbfd/libbfd.a
DPADD+= ${RELTOP}/libiberty/libiberty.a
diff --git a/gnu/usr.bin/binutils/ld/Makefile b/gnu/usr.bin/binutils/ld/Makefile
index d4420ed..ef19afa 100644
--- a/gnu/usr.bin/binutils/ld/Makefile
+++ b/gnu/usr.bin/binutils/ld/Makefile
@@ -1,6 +1,7 @@
# $FreeBSD$
.include "../Makefile.inc0"
+.include <bsd.own.mk>
.PATH: ${SRCDIR}/ld
@@ -34,7 +35,9 @@ CFLAGS+= -DBINDIR=\"${BINDIR}\" -DTARGET_SYSTEM_ROOT=\"${TOOLS_PREFIX}\"
CFLAGS+= -DTOOLBINDIR=\"${TOOLS_PREFIX}/${BINDIR}/libexec\"
CFLAGS+= -D_GNU_SOURCE
CFLAGS+= -I${SRCDIR}/ld -I${SRCDIR}/bfd
+.if ${MK_SHARED_TOOLCHAIN} == "no"
NO_SHARED?= yes
+.endif
DPADD= ${RELTOP}/libbfd/libbfd.a
DPADD+= ${RELTOP}/libiberty/libiberty.a
LDADD= ${DPADD}
diff --git a/gnu/usr.bin/binutils/ranlib/Makefile b/gnu/usr.bin/binutils/ranlib/Makefile
index 8679375..052f9fe7 100644
--- a/gnu/usr.bin/binutils/ranlib/Makefile
+++ b/gnu/usr.bin/binutils/ranlib/Makefile
@@ -1,6 +1,7 @@
# $FreeBSD$
.include "../Makefile.inc0"
+.include <bsd.own.mk>
.PATH: ${SRCDIR}/binutils ${SRCDIR}/binutils/doc
@@ -16,7 +17,9 @@ CFLAGS+= -D_GNU_SOURCE
CFLAGS+= -I${.CURDIR}/${RELTOP}/libbinutils
CFLAGS+= -I${SRCDIR}/binutils
CFLAGS+= -I${SRCDIR}/bfd
+.if ${MK_SHARED_TOOLCHAIN} == "no"
NO_SHARED?= yes
+.endif
DPADD= ${RELTOP}/libbinutils/libbinutils.a
DPADD+= ${RELTOP}/libbfd/libbfd.a
DPADD+= ${RELTOP}/libiberty/libiberty.a
diff --git a/gnu/usr.bin/cc/cc/Makefile b/gnu/usr.bin/cc/cc/Makefile
index 78c83a5..ba53565 100644
--- a/gnu/usr.bin/cc/cc/Makefile
+++ b/gnu/usr.bin/cc/cc/Makefile
@@ -9,7 +9,9 @@ PROG= gcc
MAN= gcc.1
SRCS+= gccspec.c
+.if ${MK_SHARED_TOOLCHAIN} == "no"
NO_SHARED?=yes
+.endif
MLINKS= gcc.1 g++.1
.if ${MK_CLANG_IS_CC} == "no"
diff --git a/gnu/usr.bin/cc/cc1/Makefile b/gnu/usr.bin/cc/cc1/Makefile
index c65acd2..7b1e343 100644
--- a/gnu/usr.bin/cc/cc1/Makefile
+++ b/gnu/usr.bin/cc/cc1/Makefile
@@ -1,14 +1,17 @@
# $FreeBSD$
.include "../Makefile.inc"
+NO_MAN=
+.include <bsd.own.mk>
.PATH: ${GCCDIR}
PROG= cc1
SRCS= main.c c-parser.c c-lang.c
BINDIR= /usr/libexec
-NO_MAN=
+.if ${MK_SHARED_TOOLCHAIN} == "no"
NO_SHARED?=yes
+.endif
OBJS+= ${PROG}-checksum.o
DPADD= ${LIBBACKEND} ${LIBCPP} ${LIBDECNUMBER} ${LIBIBERTY}
diff --git a/gnu/usr.bin/cc/cc1plus/Makefile b/gnu/usr.bin/cc/cc1plus/Makefile
index 964d20f..dd3d524 100644
--- a/gnu/usr.bin/cc/cc1plus/Makefile
+++ b/gnu/usr.bin/cc/cc1plus/Makefile
@@ -1,6 +1,8 @@
# $FreeBSD$
.include "../Makefile.inc"
+NO_MAN=
+.include <bsd.own.mk>
.PATH: ${GCCDIR}/cp ${GCCDIR}
@@ -13,8 +15,9 @@ SRCS+= main.c cp-lang.c c-opts.c call.c class.c cvt.c cxx-pretty-print.c \
cp-objcp-common.c cp-gimplify.c tree-mudflap.c
BINDIR= /usr/libexec
-NO_MAN=
+.if ${MK_SHARED_TOOLCHAIN} == "no"
NO_SHARED?=yes
+.endif
CFLAGS+= -I${GCCDIR}/cp -I.
diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk
index 55d6ba2..b0acbfd 100644
--- a/share/mk/bsd.own.mk
+++ b/share/mk/bsd.own.mk
@@ -425,7 +425,8 @@ __DEFAULT_NO_OPTIONS = \
ICONV \
IDEA \
LIBCPLUSPLUS \
- OFED
+ OFED \
+ SHARED_TOOLCHAIN
#
# Default behaviour of some options depends on the architecture. Unfortunately
diff --git a/tools/build/options/WITH_SHARED_TOOLCHAIN b/tools/build/options/WITH_SHARED_TOOLCHAIN
new file mode 100644
index 0000000..48eea6d
--- /dev/null
+++ b/tools/build/options/WITH_SHARED_TOOLCHAIN
@@ -0,0 +1,6 @@
+.\" $FreeBSD$
+Set to build the toolchain binaries shared.
+The set includes
+.Xr cc 1 ,
+.Xr make 1
+and neccessary utilites like assembler, linker and library archive manager.
diff --git a/usr.bin/ar/Makefile b/usr.bin/ar/Makefile
index e373120..e9bb893 100644
--- a/usr.bin/ar/Makefile
+++ b/usr.bin/ar/Makefile
@@ -1,5 +1,7 @@
# $FreeBSD$
+.include <bsd.own.mk>
+
PROG= ar
SRCS= ar.c acplex.l acpyacc.y read.c util.c write.c y.tab.h
@@ -8,7 +10,9 @@ LDADD= -larchive -lelf
CFLAGS+=-I. -I${.CURDIR}
+.if ${MK_SHARED_TOOLCHAIN} == "no"
NO_SHARED?= yes
+.endif
LINKS= ${BINDIR}/ar ${BINDIR}/ranlib
MLINKS= ar.1 ranlib.1
diff --git a/usr.bin/make/Makefile b/usr.bin/make/Makefile
index 2dc7e583..f67cf50 100644
--- a/usr.bin/make/Makefile
+++ b/usr.bin/make/Makefile
@@ -2,13 +2,17 @@
# $Id: Makefile,v 1.6 1994/06/30 05:33:39 cgd Exp $
# $FreeBSD$
+.include <bsd.own.mk>
+
PROG= make
CFLAGS+=-I${.CURDIR}
SRCS= arch.c buf.c cond.c dir.c for.c hash.c hash_tables.c job.c \
lst.c main.c make.c parse.c proc.c shell.c str.c suff.c targ.c \
util.c var.c
+.if ${MK_SHARED_TOOLCHAIN} == "no"
NO_SHARED?= YES
+.endif
# Version has the RYYYYMMDDX format, where R is from RELENG_<R>
CFLAGS+=-DMAKE_VERSION=\"5201111300\"
OpenPOWER on IntegriCloud