]> mj.ucw.cz Git - libucw.git/commitdiff
Build: Added link path to libraries installed to non-standard path.
authorPavel Charvat <pchar@ucw.cz>
Thu, 22 May 2014 07:18:45 +0000 (09:18 +0200)
committerPavel Charvat <pchar@ucw.cz>
Thu, 22 May 2014 07:18:45 +0000 (09:18 +0200)
charset/libucw-charset.pc
images/libucw-images.pc
ucw/libucw.pc
ucw/perl/UCW/Configure/C.pm
xml/libucw-xml.pc

index 1795258e46ee0f675340d4e28446ac9bb9d2e836..211959b042b46eb59cd6f0f0cb3ae60d21812211 100644 (file)
@@ -10,5 +10,5 @@ Name: libucw-charset
 Description: Character set conversion library
 Version: @UCW_VERSION@
 Cflags: -I${incdir}
-Libs: -L${libdir} -lucw-charset@UCW_ABI_SUFFIX@${picsuffix}
+Libs: -L${libdir} @SO_LINK_PATH@ -lucw-charset@UCW_ABI_SUFFIX@${picsuffix}
 Requires.private: @DEPS@
index 7f24b3c0921d899feda0719e36951e93c1a04715..6496ac8fa300357cd6134fca94dbf2dc8759ee3b 100644 (file)
@@ -10,6 +10,6 @@ Name: libucw-images
 Description: UCW image library
 Version: @UCW_VERSION@
 Cflags: -I${incdir}
-Libs: -L${libdir} -lucw-images@UCW_ABI_SUFFIX@${picsuffix}
+Libs: -L${libdir} @SO_LINK_PATH@ -lucw-images@UCW_ABI_SUFFIX@${picsuffix}
 Libs.private: @LIBIMAGES_LIBS@
 Requires.private: @DEPS@
index 546dcb0da8b46e0cbbe507bf1bef489eae806c63..283c89ccea6f0afaaa4fbf3e75cc0ff558cd3765 100644 (file)
@@ -14,5 +14,5 @@ Name: libucw
 Description: A library of utility functions and data structures
 Version: @UCW_VERSION@
 Cflags: -I${incdir}
-Libs: -L${libdir} -lucw@UCW_ABI_SUFFIX@${picsuffix}
+Libs: -L${libdir} @SO_LINK_PATH@ -lucw@UCW_ABI_SUFFIX@${picsuffix}
 Libs.private: @LIBUCW_LIBS@
index 88a8570bd60ea8ace9e2456d20fbb5ceed834d23..8af97830b4209b2095880b7aec93d0b6521d7693 100644 (file)
@@ -119,12 +119,23 @@ Set("LIBS" => "");
 
 # Extra flags for compiling and linking shared libraries
 Set("CSHARED" => '-fPIC');
+Set("SO_LINK_PATH" => '');
 if (IsSet("CONFIG_LOCAL")) {
        Set("SONAME_PREFIX" => "lib/");
        Append("LOPT" => "-Wl,--rpath-link -Wl,run");
 } else {
        Set("SONAME_PREFIX" => "");
        Append("LOPT" => "-Wl,--rpath-link -Wl,run/lib");
+       if (IsSet("CONFIG_SHARED") && !(Get("INSTALL_LIB_DIR") eq "/usr/lib")) {
+               Set("SO_LINK_PATH" => "-Wl,--rpath " . Get("INSTALL_LIB_DIR"));
+               AtWrite {
+                       # FIXME: This is a hack. GCC would otherwise fail to link binaries.
+                       my $libdir = Get("INSTALL_LIB_DIR");
+                       if (!(-d $libdir)) {
+                               `install -d -m 755 $libdir`; Fail("Cannot create $libdir") if $?;
+                       }
+               };
+       }
 }
 if (IsSet("CONFIG_DARWIN")) {
        Set("LSHARED" => '-dynamiclib -install_name $(SONAME_PREFIX)$(@F)$(SONAME_SUFFIX) -undefined dynamic_lookup');
index 908328de215aaab04fa14c7ef455d262d049d932..c127311d3f7c5e39c2091398b2b86c5232d01dc4 100644 (file)
@@ -10,5 +10,5 @@ Name: libucw-xml
 Description: XML parser for LibUCW project
 Version: @UCW_VERSION@
 Cflags: -I${incdir}
-Libs: -L${libdir} -lucw-xml@UCW_ABI_SUFFIX@${picsuffix}
+Libs: -L${libdir} @SO_LINK_PATH@ -lucw-xml@UCW_ABI_SUFFIX@${picsuffix}
 Requires.private: @DEPS@