about summary refs log tree commit diff
path: root/sysdeps/mach/hurd/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/mach/hurd/Makefile')
-rw-r--r--sysdeps/mach/hurd/Makefile16
1 files changed, 16 insertions, 0 deletions
diff --git a/sysdeps/mach/hurd/Makefile b/sysdeps/mach/hurd/Makefile
index c4282d1754..afd8473540 100644
--- a/sysdeps/mach/hurd/Makefile
+++ b/sysdeps/mach/hurd/Makefile
@@ -125,6 +125,22 @@ $(inst_libdir)/libc.so: $(rpcuserlibs)
 ifeq (elf,$(subdir))
 $(objpfx)librtld.os: $(rpcuserlibs:.so=_pic.a)
 endif
+
+# We need these libs to link static programs in the libc source tree, too.
+ifeq (yes,$(build-static))
+link-libc-static := -Wl,-\( \
+		    $(patsubst %,$(common-objpfx)%.a,\
+			       libc mach/libmachuser hurd/libhurduser) \
+		    $(gnulib) -Wl,-\)
+else
+ifeq (yes,$(build-shared))
+# We can try to link the programs with lib*_pic.a...
+link-libc-static := $(link-libc) -Wl,-\( \
+		    $(patsubst %,$(common-objpfx)%_pic.a,\
+			       libc mach/libmachuser hurd/libhurduser) \
+		    $(gnulib) -Wl,-\)
+endif
+endif
 
 ifeq (hurd, $(subdir))
 sysdep_routines += cthreads