]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - extra-lib.mk
Fix crash in _IO_wfile_sync (bug 20568)
[thirdparty/glibc.git] / extra-lib.mk
index f2a19b0423b0d77da7047e24adbc4c83ce5a03c3..72f8d2e1dfa364bd7d0ebc9ac62083c9d802fef1 100644 (file)
@@ -5,6 +5,9 @@
 # The variable $($(lib)-routines) defines the list of modules
 # to be included in that library.  A sysdep Makefile can add to
 # $(lib)-sysdep_routines to include additional modules.
+#
+# Libraries listed in $(extra-libs-noinstall) are built, but not
+# installed.
 
 lib := $(firstword $(extra-libs-left))
 extra-libs-left := $(filter-out $(lib),$(extra-libs-left))
@@ -28,13 +31,20 @@ extra-objs := $(extra-objs)
 all-$(lib)-routines := $($(lib)-routines) $($(lib)-sysdep_routines)
 
 # Add each flavor of library to the lists of things to build and install.
+ifeq (,$(filter $(lib), $(extra-libs-noinstall)))
 install-lib += $(foreach o,$(object-suffixes-$(lib)),$(lib:lib%=$(libtype$o)))
+endif
 extra-objs += $(foreach o,$(filter-out .os .oS,$(object-suffixes-$(lib))),\
                        $(patsubst %,%$o,$(filter-out \
                                           $($(lib)-shared-only-routines),\
                                           $(all-$(lib)-routines))))
 ifneq (,$(filter .os,$(object-suffixes-$(lib))))
-extra-objs += $(all-$(lib)-routines:%=%.os)
+extra-objs += $(patsubst %,%.os,$(filter-out $($(lib)-static-only-routines),\
+                                            $(all-$(lib)-routines)))
+endif
+ifneq (,$(filter .oS,$(object-suffixes-$(lib))))
+extra-objs += $(patsubst %,%.oS,$(filter $($(lib)-static-only-routines),\
+                                        $(all-$(lib)-routines)))
 endif
 alltypes-$(lib) := $(foreach o,$(object-suffixes-$(lib)),\
                             $(objpfx)$(patsubst %,$(libtype$o),\
@@ -85,7 +95,7 @@ $(objpfx)$(patsubst %,$(libtype.oS),$(lib:lib%=%)): \
        $(build-extra-lib)
 endif
 
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 # Add the version script to the dependencies of the shared library.
 $(objpfx)$(lib).so: $(firstword $($(lib)-map) \
                                $(addprefix $(common-objpfx), \
@@ -98,7 +108,5 @@ endif
 # This will define `libof-ROUTINE := LIB' for each of the routines.
 cpp-srcs-left := $($(lib)-routines) $($(lib)-sysdep_routines)
 ifneq (,$(cpp-srcs-left))
-include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
+include $(patsubst %,$(..)libof-iterator.mk,$(cpp-srcs-left))
 endif
-
-CPPFLAGS-$(lib) := -DNOT_IN_libc=1 -DIS_IN_$(lib)=1