Salome HOME
Hack libtool (!) to workaround problem with wrong linkage of native libraries
authorvsr <vsr@opencascade.com>
Wed, 22 Sep 2010 13:26:00 +0000 (13:26 +0000)
committervsr <vsr@opencascade.com>
Wed, 22 Sep 2010 13:26:00 +0000 (13:26 +0000)
configure.ac
salome_adm/unix/config_files/Makefile.am
salome_adm/unix/config_files/hack_libtool.m4 [new file with mode: 0644]

index 1439a7db46812d4d854a248c4a363e5b187ccc67..f188485b3d6785887b126187d1bfe3213ef50b86 100644 (file)
@@ -583,3 +583,4 @@ AC_OUTPUT([ \
   src/Utils/Test/Makefile \
 ])
 
+AC_HACK_LIBTOOL
index 6cffbfca482dbe5c1eaff90cb73283ed131a82e4..0e52b15211301e53e2c1534e03208c4cfeaeea24 100644 (file)
@@ -80,7 +80,8 @@ pyembed.m4 \
 python.m4 \
 check_libxml.m4 \
 check_paco++.m4 \
-local_install.m4
+local_install.m4 \
+hack_libtool.m4
 
 dist_salome4depr_DATA=\
 $(DEPRECATED_FILES)
diff --git a/salome_adm/unix/config_files/hack_libtool.m4 b/salome_adm/unix/config_files/hack_libtool.m4
new file mode 100644 (file)
index 0000000..4ad515a
--- /dev/null
@@ -0,0 +1,41 @@
+dnl  Copyright (C) 2010  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl
+dnl  This library is free software; you can redistribute it and/or
+dnl  modify it under the terms of the GNU Lesser General Public
+dnl  License as published by the Free Software Foundation; either
+dnl  version 2.1 of the License.
+dnl
+dnl  This library is distributed in the hope that it will be useful,
+dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+dnl  Lesser General Public License for more details.
+dnl
+dnl  You should have received a copy of the GNU Lesser General Public
+dnl  License along with this library; if not, write to the Free Software
+dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+dnl
+dnl  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+dnl
+
+dnl ---
+dnl File   : hack_libtool.m4
+dnl Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com)
+dnl ---
+dnl
+dnl The purpose of below autoconf macro is to workaround very annoying problem
+dnl of the GNU libtool program. The problem leads to the incorrect linking
+dnl to the native libraries (installed in /usr/lib[64]) instead of those supplied 
+dnl with specific -Ldir options.
+
+AC_DEFUN([AC_HACK_LIBTOOL],[
+sed -i "s%^CC=\"\(.*\)\"%function hack_libtool { \n\
+  if test \"\$(echo \$[@] | grep -E '\\\-L/usr/lib(/../lib)?(64)? ')\" == \"\" \n\
+  then\n\
+    cmd=\"\1 \$[@]\"\n\
+  else\n\
+    cmd=\"\1 \"\`echo \$[@] | sed -r -e 's|(.*)-L/usr/lib(/../lib)?(64)? (.*)|\\\1\\\4 -L/usr/lib\\\3|g'\`\n\
+  fi\n\
+  \$cmd\n\
+}\n\
+CC=\"hack_libtool\"%g" libtool
+])