+1998-12-24 Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
+
+ * libltdl/configure.in: fixup spacing in --enable-ltdl-install
+ help string so that it lines up nicely for configure --help.
+
+ * ltmain.in (dllsearchpath): keep track of what the dll search path
+ will need to be in the wrapper scripts as deplibs are calculated.
+ Make sure the wrapper script doesn't end in `.exr', which makes
+ win32 try to execute it as a binary!
+ Add the contents of dllsearchpath to $PATH in the wrapper script.
+ Use the relative path to the wrapped program so that the dll
+ search path is calculated properly by win32 OSes.
+ * TODO: removed the item for making wrapper scripts work on win32.
+
+ * TODO: removed the reference to making libltdl and demo work on
+ win32. They *do* work now that wrapper scripts are functioning.
+
1998-12-23 Alexandre Oliva <oliva@dcc.unicamp.br>
* ltmain.in (SP2NL, NL2SP): use `tr' magic to avoid passing very
In the future:
**************
-* Fix libltdl, demo, mdemo and depdemo (in that order) on win32.
+* Fix mdemo and depdemo on win32.
This may require resolving some of the items below.
-* Make the executable wrapper scripts work on win32.
-They will need to make sure all of the dll (particularly deplibs) paths are in
-$PATH, and probably cd into the .libs subdirectory.
-
* Figure out how to use data items in dlls with win32.
The difficult part is compiling each object which will be linked with an
import lib differently than if it will be linked with a static lib. This will
AM_INIT_AUTOMAKE(libltdl,1.0)
AC_ARG_ENABLE(ltdl-install,
- [--enable-ltdl-install install libltdl (breaks check before install)])
+ [ --enable-ltdl-install install libltdl (breaks check before install)])
AM_CONDITIONAL(INSTALL_LTDL, test x$enable_ltdl_install = xyes)
if test x$enable_ltdl_install = xyes; then
LIBLIBS=libltdl.la
case "$host" in
*-*-cygwin32* | *-*-mingw32* | *-*-os2*)
compile_dependencylibs="$compile_dependencylibs -L$dir -l$name"
+ if test -n "$dllsearchpath"; then
+ dllsearchpath="$dllsearchpath:$dir"
+ else
+ dllsearchpath="$dir"
+ fi
;;
esac
elif test "$hardcode_minus_L" = no; then
# Only actually do things if our run command is non-null.
if test -z "$run"; then
+ # win32 will think the script is a binary if it has
+ # a .exe suffix, so we strip it off here.
+ case $output in
+ *.exe) output=`echo $output|sed 's,.exe$,,'` ;;
+ esac
$rm $output
trap "$rm $output; exit 1" 1 2 15
"
fi
+ # fixup the dll searchpath if we need to.
+ if test -n "$dllsearchpath"; then
+ $echo >> $output "\
+ # Add the dll search path components to the executable PATH
+ PATH=$dllsearchpath:\$PATH
+"
+ fi
+
$echo >> $output "\
if test \"\$libtool_execute_magic\" != \"$magic\"; then
# Run the actual program with our arguments.
-
+"
+ case $host in
+ *-*-cygwin32* | *-*-mingw32 | *-*-os2*)
+ # win32 systems need to use the prog path for dll
+ # lookup to work
+ $echo >> $output "\
+ exec \$progdir\\\\\$program \${1+\"\$@\"}
+"
+ ;;
+ *)
+ $echo >> $output "\
# Export the path to the program.
PATH=\"\$progdir:\$PATH\"
export PATH
exec \$program \${1+\"\$@\"}
-
+"
+ ;;
+ esac
+ $echo >> $output "\
\$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
exit 1
fi