From a74e71b72016d6f2d829125921c4989d14cf9e6e Mon Sep 17 00:00:00 2001 From: Dean Roehrich Date: Tue, 31 Jul 2001 21:29:24 +0000 Subject: I noticed that my programs were not linking with the shared libs. Apparently if you say something like (from the dmapi tests stuff): gcc -g -O2 -o dm_handle dm_handle.o libdmtest.a -ldm -lhandle it will link with whatever it finds in /usr/lib. If there are no shared libs there then it'll link with the static libs. When I add a symlink to make libdm.so and libhandle.so appear in /usr/lib then I am able to link to the shared libs. No Message Supplied --- include/builddefs.in | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/include/builddefs.in b/include/builddefs.in index 14f465b..c8c4f11 100644 --- a/include/builddefs.in +++ b/include/builddefs.in @@ -136,6 +136,9 @@ endif # Libtool thinks the static and shared libs should be in the same dir, so # make the static lib appear in the place we chose as rpath (using the two # symlinks below). +# Other things want the shared libs to appear in /usr/lib, else they'll +# link with the static libs there. So, another symlink to get the .so into +# /usr/lib. ifeq ($(ENABLE_SHARED),yes) INSTALL_LTLIB_DEV = \ cd $(TOPDIR)/$(LIBNAME)/.libs; \ @@ -145,7 +148,8 @@ INSTALL_LTLIB_DEV = \ ../$(INSTALL) -m 755 -d $(PKG_SLIB_DIR); \ ../$(INSTALL) -T so_base $(LIBNAME).lai $(PKG_SLIB_DIR); \ ../$(INSTALL) -S $(PKG_LIB_DIR)/$(LIBNAME).a $(PKG_SLIB_DIR)/$(LIBNAME).a; \ - ../$(INSTALL) -S $(PKG_LIB_DIR)/$(LIBNAME).la $(PKG_SLIB_DIR)/$(LIBNAME).la + ../$(INSTALL) -S $(PKG_LIB_DIR)/$(LIBNAME).la $(PKG_SLIB_DIR)/$(LIBNAME).la; \ + ../$(INSTALL) -S $(PKG_SLIB_DIR)/$(LIBNAME).so $(PKG_LIB_DIR)/$(LIBNAME).so else INSTALL_LTLIB_DEV = $(INSTALL_LTLIB_STATIC) endif -- cgit v1.2.3