1999-03-23 Roland McGrath <roland@baalperazim.frob.com>
authorRoland McGrath <roland@gnu.org>
Tue, 23 Mar 1999 18:05:48 +0000 (18:05 +0000)
committerRoland McGrath <roland@gnu.org>
Tue, 23 Mar 1999 18:05:48 +0000 (18:05 +0000)
* sysdeps/mach/hurd/Makefile: Undo last change.
[$(subdir) = mach] (lib-noranlib): Depend on libmachuser-link.so.
[$(subdir) = hurd] (lib-noranlib): Depend on libhurduser-link.so.

* mach/Machrules (+preinit, +postinit, +interp,
LDFLAGS-$(interface.so)): Variables removed.  Interface libraries get
linked just like other shared libraries.
(interface.so): Fix typo in defn, so it works.
($(objpfx)$(interface.so)): Make it depend on libc.so.

ChangeLog
mach/Machrules
sysdeps/mach/hurd/Makefile

index fc5577d..659bcad 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+1999-03-23  Roland McGrath  <roland@baalperazim.frob.com>
+
+       * sysdeps/mach/hurd/Makefile: Undo last change.
+       [$(subdir) = mach] (lib-noranlib): Depend on libmachuser-link.so.
+       [$(subdir) = hurd] (lib-noranlib): Depend on libhurduser-link.so.
+
+       * mach/Machrules (+preinit, +postinit, +interp,
+       LDFLAGS-$(interface.so)): Variables removed.  Interface libraries get
+       linked just like other shared libraries.
+       (interface.so): Fix typo in defn, so it works.
+       ($(objpfx)$(interface.so)): Make it depend on libc.so.
+
 1999-03-21  Roland McGrath  <roland@baalperazim.frob.com>
 
        * sysdeps/mach/hurd/Makefile (subdir_lib): Depend on
index b5a6998..adf5394 100644 (file)
@@ -221,13 +221,11 @@ $(interface-library)-routines = $(interface-routines)
 extra-libs += $(interface-library)
 extra-libs-others += $(interface-library)
 
-# Avoid -lmachuser requiring -lc, which may not be built yet.  If the
-# shared object is absent, ld may choose a static library someplace and
-# produce a bogus libmachuser.so.
-+preinit =
-+postinit =
-+interp =
-interface.so = $(interface-library:lib%=%.so)
-LDFLAGS-$(interface.so) = -nostdlib -nostartfiles
+ifeq (yes,$(build-shared))
+interface.so = $(interface-library:=.so)
+
+# Depend on libc.so so a DT_NEEDED is generated in the shared objects.
+$(objpfx)$(interface.so): $(common-objpfx)libc.so
+endif
 
 endif
index fbc1ad3..ec466e3 100644 (file)
@@ -133,9 +133,18 @@ endif
 rpcuserlibs := $(common-objpfx)mach/libmachuser.so \
               $(common-objpfx)hurd/libhurduser.so
 link-rpcuserlibs := $(rpcuserlibs:%user.so=%user-link.so)
-$(common-objpfx)libc.so subdir_lib: $(link-rpcuserlibs)
+$(common-objpfx)libc.so: $(link-rpcuserlibs)
 rpath-dirs += mach hurd
 
+# Make sure the `lib' pass builds the dummy shared objects so
+# we can link libc against them.
+ifeq (mach,$(subdir))
+lib-noranlib: $(common-objpfx)mach/libmachuser-link.so
+endif
+ifeq (hurd,$(subdir))
+lib-noranlib: $(common-objpfx)hurd/libhurduser-link.so
+endif
+
 $(link-rpcuserlibs): %-link.so: %_pic.a
        $(build-module) -nostdlib -Wl,-soname=$(*F).so$($(*F).so-version)