Merged from silc_1_0_branch.
[silc.git] / libtoolfix
diff --git a/libtoolfix b/libtoolfix
new file mode 100755 (executable)
index 0000000..45d582f
--- /dev/null
@@ -0,0 +1,63 @@
+#!/bin/sh
+#
+# No Copyright 2002 Pekka Riikonen <priikone@silcnet.org>
+#
+# This script fixes the fundamental problem of libtool: it is not 
+# configurable in run-time.  This changes the libtool so that it becomes
+# more generic and configurable in run-time.
+#
+# New command line options to libtool:
+#
+# --libtool-enable-shared      Enable shared library compilation
+# --libtool-enable-static      Enable static library compilation
+# --libtool-disable-shared     Disable shared library compilation
+# --libtool-disable-static     Disable static library compilation
+#
+# If options are omitted the default libtool configuration will apply.
+#
+
+# Sanity checks
+if test '!' -f ./libtool; then
+  echo "./libtool does not exist"
+  exit 0
+fi
+
+# Take configuration from the ./libtool
+sed '/^# ltmain\.sh/q' ./libtool >./libtool.tmp
+
+# Put our wrapper to the new libtool.  This allows the run-time
+# configuration of the libtool.
+ltmain=`pwd`/ltmain.sh
+cat << EOF >> ./libtool.tmp
+args=\`echo \$*\`
+cargs=\`echo \$* | sed -e '/--libtool-enable-shared/s///' -e '/--libtool-enable-static/s///' -e '/--libtool-disable-shared/s///' -e '/--libtool-disable-static/s///'\`
+for i in \$args
+do
+  if test "\$i" = "--libtool-enable-shared"; then
+    build_libtool_libs=yes
+    fast_install=yes
+    continue
+  fi
+  if test "\$i" = "--libtool-disable-shared"; then
+    build_libtool_libs=no
+    continue
+  fi
+  if test "\$i" = "--libtool-enable-static"; then
+    build_old_libs=yes
+    continue
+  fi
+  if test "\$i" = "--libtool-disable-static"; then
+    build_old_libs=no
+    continue
+  fi
+done
+if test "\$cargs" = ""; then
+  cargs="--silent"
+fi
+. $ltmain \$cargs
+EOF
+
+mv -f ./libtool.tmp ./libtool
+chmod +x ./libtool
+
+exit 1