Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Oct 2017 00:03:36 +0000 (UTC)
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r325181 - in head: lib/libgcc_eh lib/libgcc_s share/mk targets/pseudo/userland/gnu targets/pseudo/userland/lib
Message-ID:  <201710310003.v9V03afF046876@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bdrewery
Date: Tue Oct 31 00:03:36 2017
New Revision: 325181
URL: https://svnweb.freebsd.org/changeset/base/325181

Log:
  DIRDEPS_BUILD: libgcc now depends on MK_LLVM_LIBUNWIND
  
  The dependency on gnu/lib/libgcc or lib/libgcc* is determined
  at 'make dirdeps' time.
  
  Sponsored by:	Dell EMC Isilon

Added:
  head/lib/libgcc_eh/Makefile.depend   (contents, props changed)
  head/lib/libgcc_s/Makefile.depend   (contents, props changed)
Modified:
  head/lib/libgcc_eh/Makefile.inc
  head/share/mk/local.dirdeps.mk
  head/share/mk/local.gendirdeps.mk
  head/targets/pseudo/userland/gnu/Makefile.depend
  head/targets/pseudo/userland/lib/Makefile.depend

Added: head/lib/libgcc_eh/Makefile.depend
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lib/libgcc_eh/Makefile.depend	Tue Oct 31 00:03:36 2017	(r325181)
@@ -0,0 +1,13 @@
+# $FreeBSD$
+# Autogenerated - do NOT edit!
+
+DIRDEPS = \
+	include \
+	include/xlocale \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif

Modified: head/lib/libgcc_eh/Makefile.inc
==============================================================================
--- head/lib/libgcc_eh/Makefile.inc	Tue Oct 31 00:03:32 2017	(r325180)
+++ head/lib/libgcc_eh/Makefile.inc	Tue Oct 31 00:03:36 2017	(r325181)
@@ -29,7 +29,8 @@ CXXFLAGS+=	-std=c++11
 .endif
 CXXFLAGS+=	-fno-rtti
 STATIC_CXXFLAGS+= -fvisibility=hidden -fPIC
+# Probably need to just move this earlier or use CXXFLAGS
 .if ${MK_DIRDEPS_BUILD} == "yes"
 # Avoid dependency on lib/libc++
-CFLAGS+=	-I${SRCTOP}/contrib/libc++/include
+CFLAGS+=	-isystem ${SRCTOP}/contrib/libc++/include -nostdinc++
 .endif

Added: head/lib/libgcc_s/Makefile.depend
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lib/libgcc_s/Makefile.depend	Tue Oct 31 00:03:36 2017	(r325181)
@@ -0,0 +1,16 @@
+# $FreeBSD$
+# Autogenerated - do NOT edit!
+
+DIRDEPS = \
+	gnu/lib/csu \
+	include \
+	include/xlocale \
+	lib/${CSU_DIR} \
+	lib/libc \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif

Modified: head/share/mk/local.dirdeps.mk
==============================================================================
--- head/share/mk/local.dirdeps.mk	Tue Oct 31 00:03:32 2017	(r325180)
+++ head/share/mk/local.dirdeps.mk	Tue Oct 31 00:03:36 2017	(r325181)
@@ -76,6 +76,19 @@ DIRDEPS += \
 	cddl/usr.bin/ctfmerge.host
 .endif
 
+# Add in proper libgcc (gnu or LLVM) if not building libcc and libc is needed.
+# Add both gcc_s and gcc_eh as dependencies as the decision to build
+# -static or not is not known here.
+.if ${DEP_RELDIR:M*libgcc*} == "" && ${DIRDEPS:Mlib/libc}
+.if ${MK_LLVM_LIBUNWIND} == "yes"
+DIRDEPS+= \
+	lib/libgcc_eh \
+	lib/libgcc_s
+.else
+DIRDEPS+= gnu/lib/libgcc
+.endif
+.endif
+
 # Bootstrap support.  Give hints to DIRDEPS if there is no Makefile.depend*
 # generated yet.  This can be based on things such as SRC files and LIBADD.
 # These hints will not factor into the final Makefile.depend as only what is
@@ -124,7 +137,6 @@ _SRCS= ${SRCS} ${_PROGS_SRCS}
 # Has C files. The C_DIRDEPS are shared with C++ files as well.
 C_DIRDEPS= \
 	gnu/lib/csu \
-	gnu/lib/libgcc \
 	include \
 	include/arpa \
 	include/protocols \
@@ -135,6 +147,7 @@ C_DIRDEPS= \
 	lib/libc \
 	lib/libcompiler_rt \
 
+# libgcc is needed as well but is added later.
 
 .if ${MK_GSSAPI} != "no"
 C_DIRDEPS+=  include/gssapi

Modified: head/share/mk/local.gendirdeps.mk
==============================================================================
--- head/share/mk/local.gendirdeps.mk	Tue Oct 31 00:03:32 2017	(r325180)
+++ head/share/mk/local.gendirdeps.mk	Tue Oct 31 00:03:36 2017	(r325181)
@@ -10,6 +10,9 @@ GENDIRDEPS_FILTER+= \
 	Ngnu/lib/libssp/libssp_nonshared \
 	Ncddl/usr.bin/ctf* \
 	Nlib/libc_nonshared \
+	Ngnu/lib/libgcc \
+	Nlib/libgcc_eh \
+	Nlib/libgcc_s \
 	Ntargets/pseudo/stage* \
 	Ntools/*
 

Modified: head/targets/pseudo/userland/gnu/Makefile.depend
==============================================================================
--- head/targets/pseudo/userland/gnu/Makefile.depend	Tue Oct 31 00:03:32 2017	(r325180)
+++ head/targets/pseudo/userland/gnu/Makefile.depend	Tue Oct 31 00:03:36 2017	(r325181)
@@ -9,7 +9,6 @@
 DIRDEPS = \
 	gnu/lib/csu \
 	gnu/lib/libdialog \
-	gnu/lib/libgcc \
 	gnu/lib/libgcov \
 	gnu/lib/libgomp \
 	gnu/lib/libreadline/history/doc \
@@ -43,6 +42,10 @@ DIRDEPS = \
 
 .if ${MK_GPL_DTC} != "no"
 DIRDEPS+= gnu/usr.bin/dtc
+.endif
+
+.if ${MK_LLVM_LIBUNWIND} == "no"
+DIRDEPS+= gnu/lib/libgcc
 .endif
 
 .include <dirdeps.mk>

Modified: head/targets/pseudo/userland/lib/Makefile.depend
==============================================================================
--- head/targets/pseudo/userland/lib/Makefile.depend	Tue Oct 31 00:03:32 2017	(r325180)
+++ head/targets/pseudo/userland/lib/Makefile.depend	Tue Oct 31 00:03:36 2017	(r325181)
@@ -224,6 +224,12 @@ DIRDEPS+= lib/libgpio
 DIRDEPS+= lib/libefivar
 .endif
 
+.if ${MK_LLVM_LIBUNWIND} != "no"
+DIRDEPS+= \
+	lib/libgcc_eh \
+	lib/libgcc_s
+.endif
+
 .if ${MK_OFED} != "no"
 DIRDEPS+= \
 	contrib/ofed/usr.lib/libcxgb4 \



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201710310003.v9V03afF046876>