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
This commit is contained in:
Konstantin Belousov 2012-04-29 09:32:44 +00:00
parent 3c2ded8bbc
commit 4f20e4f263
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=234782
11 changed files with 38 additions and 3 deletions

View File

@ -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

View File

@ -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

View File

@ -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}

View File

@ -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

View File

@ -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"

View File

@ -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}

View File

@ -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.

View File

@ -425,7 +425,8 @@ __DEFAULT_NO_OPTIONS = \
ICONV \
IDEA \
LIBCPLUSPLUS \
OFED
OFED \
SHARED_TOOLCHAIN
#
# Default behaviour of some options depends on the architecture. Unfortunately

View File

@ -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.

View File

@ -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

View File

@ -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\"