summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDean Roehrich <roehrich@sgi.com>2001-07-31 21:29:24 +0000
committerDean Roehrich <roehrich@sgi.com>2001-07-31 21:29:24 +0000
commita74e71b72016d6f2d829125921c4989d14cf9e6e (patch)
treeb50064c6c5cb161607dac98152ab510c4048abb3
parentcf38bdf35fa19f4c485b43d2337147425ab2d696 (diff)
downloadattr-a74e71b72016d6f2d829125921c4989d14cf9e6e.tar.gz
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
-rw-r--r--include/builddefs.in6
1 files changed, 5 insertions, 1 deletions
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