Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F174607101
D5953.id.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
D5953.id.diff
View Options
Index: gnu/lib/libgcc/Makefile
===================================================================
--- gnu/lib/libgcc/Makefile
+++ gnu/lib/libgcc/Makefile
@@ -15,6 +15,8 @@
# from earlier libraries. Disable stack protection for this library.
#
MK_SSP= no
+# Cannot build anything without libgcc.a.
+MK_STATIC_LIBS= yes
.include "${.CURDIR}/../../usr.bin/cc/Makefile.tgt"
Index: share/mk/bsd.lib.mk
===================================================================
--- share/mk/bsd.lib.mk
+++ share/mk/bsd.lib.mk
@@ -19,6 +19,8 @@
.if defined(NO_PIC)
.undef SHLIB_NAME
.undef INSTALL_PIC_ARCHIVE
+# There will be no shared library so the static must be built/installed.
+MK_STATIC_LIBS= yes
.else
.if !defined(SHLIB) && defined(LIB)
SHLIB= ${LIB}
@@ -31,6 +33,12 @@
.endif
SONAME?= ${SHLIB_NAME}
.endif
+.if ${MK_STATIC_LIBS} == "no"
+# Need to build static archive for internal libraries still.
+.if defined(INTERNALLIB)
+MK_STATIC_LIBS= yes
+.endif
+.endif # ${MK_STATIC_LIBS} == "no"
.if defined(CRUNCH_CFLAGS)
CFLAGS+= ${CRUNCH_CFLAGS}
@@ -159,12 +167,13 @@
LDFLAGS+= -Wl,--version-script=${VERSION_MAP}
.endif
-.if defined(LIB) && !empty(LIB) || defined(SHLIB_NAME)
+.if (${MK_STATIC_LIBS} == "yes" && defined(LIB) && !empty(LIB)) || \
+ defined(SHLIB_NAME)
OBJS+= ${SRCS:N*.h:R:S/$/.o/}
CLEANFILES+= ${OBJS} ${STATICOBJS}
.endif
-.if defined(LIB) && !empty(LIB)
+.if ${MK_STATIC_LIBS} == "yes" && defined(LIB) && !empty(LIB)
_LIBS= lib${LIB_PRIVATE}${LIB}.a
lib${LIB_PRIVATE}${LIB}.a: ${OBJS} ${STATICOBJS}
@@ -317,7 +326,8 @@
realinstall: _libinstall
.ORDER: beforeinstall _libinstall
_libinstall:
-.if defined(LIB) && !empty(LIB) && ${MK_INSTALLLIB} != "no"
+.if ${MK_STATIC_LIBS} == "yes" && defined(LIB) && !empty(LIB) && \
+ ${MK_INSTALLLIB} != "no"
${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
${_INSTALLFLAGS} lib${LIB_PRIVATE}${LIB}.a ${DESTDIR}${_LIBDIR}/
.endif
Index: share/mk/bsd.opts.mk
===================================================================
--- share/mk/bsd.opts.mk
+++ share/mk/bsd.opts.mk
@@ -62,6 +62,7 @@
OPENSSH \
PROFILE \
SSP \
+ STATIC_LIBS \
SYMVER \
TOOLCHAIN \
WARNS
@@ -103,6 +104,10 @@
MK_STALE_STAGED= no
.endif
+.if ${MK_STATIC_LIBS} == "no"
+MK_PROFILE= no
+.endif
+
.include <bsd.cpu.mk>
.endif # !_WITHOUT_SRCCONF
Index: share/mk/src.libnames.mk
===================================================================
--- share/mk/src.libnames.mk
+++ share/mk/src.libnames.mk
@@ -380,7 +380,9 @@
.endif
.for _l in ${LIBADD}
+.if ${_INTERNALLIBS:M${_l}} || ${MK_STATIC_LIBS} == "yes"
DPADD+= ${DPADD_${_l}}
+.endif
LDADD+= ${LDADD_${_l}}
.endfor
Index: tools/build/options/WITHOUT_INSTALLLIB
===================================================================
--- tools/build/options/WITHOUT_INSTALLLIB
+++ tools/build/options/WITHOUT_INSTALLLIB
@@ -1,8 +1,13 @@
.\" $FreeBSD$
-Set this if you do not want to install optional libraries.
-For example when creating a
+Set this if you do not want to install any static libraries.
+This will create an installation that cannot compile since
+critical system libraries will be missing.
+For example, this can be useful when creating a
.Xr nanobsd 8
image.
.Bf -symbolic
The option does not work for build targets.
.Ef
+.Sy WITHOUT_STATIC_LIBS
+can be used to avoid compiling static libraries and also still install
+critical libraries.
Index: tools/build/options/WITHOUT_STATIC_LIBS
===================================================================
--- /dev/null
+++ tools/build/options/WITHOUT_STATIC_LIBS
@@ -0,0 +1,6 @@
+.\" $FreeBSD$
+Set to avoid compiling or installing optional static libraries for libraries
+that build a shared library.
+This will still install some critical static libraries required for compiling.
+To avoid installing any static libraries see
+.Sy WITHOUT_INSTALLLIB .
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Oct 5, 3:27 PM (8 h, 50 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
40244567
Default Alt Text
D5953.id.diff (3 KB)
Attached To
Mode
D5953: Add STATIC_LIBS option to allow disabling build/install of optional static archives.
Attached
Detach File
Event Timeline
Log In to Comment