mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 12:41:49 +01:00
Update the auto* tools: autoconf 2.60, libtool 1.5.22, automake 1.9.6.
Update ltld.[ch] to version 1.5.22. Correct the notes about updating these tools (autoconf/README.TXT) Add configure options for getting the correct option for including a whole archive when linking. llvm-svn: 29529
This commit is contained in:
parent
ca845c5d7d
commit
982a99456c
@ -233,3 +233,10 @@ EXEEXT = @EXEEXT@
|
||||
|
||||
# Things we just assume are "there"
|
||||
ECHO := echo
|
||||
|
||||
# Get the options for causing archives to link all their content instead of
|
||||
# just missing symbols, and the inverse of that. This is used for certain LLVM
|
||||
# tools that permit loadable modules. It ensures that the LLVM symbols will be
|
||||
# available to those loadable modules.
|
||||
LINKALL := @LINKALL@
|
||||
NOLINKALL := @NOLINKALL@
|
||||
|
@ -7,14 +7,14 @@ outfile=configure
|
||||
configfile=configure.ac
|
||||
test -d autoconf && test -f autoconf/$configfile && cd autoconf
|
||||
test -f $configfile || die "Can't find 'autoconf' dir; please cd into it first"
|
||||
autoconf --version | grep '2\.59' > /dev/null
|
||||
test $? -eq 0 || die "Your autoconf was not detected as being 2.59"
|
||||
aclocal --version | grep '^aclocal.*1\.9\.2' > /dev/null
|
||||
test $? -eq 0 || die "Your aclocal was not detected as being 1.9.2"
|
||||
autoheader --version | grep '^autoheader.*2\.59' > /dev/null
|
||||
test $? -eq 0 || die "Your autoheader was not detected as being 2.59"
|
||||
libtool --version | grep '1\.5\.10' > /dev/null
|
||||
test $? -eq 0 || die "Your libtool was not detected as being 1.5.10"
|
||||
autoconf --version | grep '2\.60' > /dev/null
|
||||
test $? -eq 0 || die "Your autoconf was not detected as being 2.60"
|
||||
aclocal --version | grep '^aclocal.*1\.9\.6' > /dev/null
|
||||
test $? -eq 0 || die "Your aclocal was not detected as being 1.9.6"
|
||||
autoheader --version | grep '^autoheader.*2\.60' > /dev/null
|
||||
test $? -eq 0 || die "Your autoheader was not detected as being 2.60"
|
||||
libtool --version | grep '1\.5\.22' > /dev/null
|
||||
test $? -eq 0 || die "Your libtool was not detected as being 1.5.22"
|
||||
echo ""
|
||||
echo "### NOTE: ############################################################"
|
||||
echo "### If you get *any* warnings from autoconf below you MUST fix the"
|
||||
@ -24,12 +24,12 @@ echo "### commit any configure script that was generated with warnings"
|
||||
echo "### present. You should get just three 'Regenerating..' lines."
|
||||
echo "######################################################################"
|
||||
echo ""
|
||||
echo "Regenerating aclocal.m4 with aclocal 1.9.2"
|
||||
echo "Regenerating aclocal.m4 with aclocal 1.9.6"
|
||||
cwd=`pwd`
|
||||
aclocal --force -I $cwd/m4 || die "aclocal failed"
|
||||
echo "Regenerating configure with autoconf 2.59"
|
||||
echo "Regenerating configure with autoconf 2.60"
|
||||
autoconf --force --warnings=all -o ../$outfile $configfile || die "autoconf failed"
|
||||
cd ..
|
||||
echo "Regenerating config.h.in with autoheader 2.59"
|
||||
echo "Regenerating config.h.in with autoheader 2.60"
|
||||
autoheader --warnings=all -I autoconf -I autoconf/m4 autoconf/$configfile || die "autoheader failed"
|
||||
exit 0
|
||||
|
@ -8,19 +8,28 @@ If you are in the mood to upgrade libtool, you must do the following:
|
||||
3. Copy <SRC>/ltdl.m4 to llvm/autoconf/m4
|
||||
4. Copy <PFX>/share/aclocal/libtool.m4 to llvm/autoconf/m4/libtool.m4
|
||||
5. Copy <PFX>/share/libtool/ltmain.sh to llvm/autoconf/ltmain.sh
|
||||
6. Run sed -e 's/output.exp/outputname.exp/g' on ltmain.sh
|
||||
7. Copy <PFX>/share/libtool/libltdl/ltdl.c to llvm/lib/System
|
||||
8. Copy <PFX>/share/libtool/libltdl/ltdl.h to llvm/lib/System
|
||||
9. Adjust the llvm/autoconf/m4/libtool.m4 file to ensure that the variable
|
||||
default_ofile is set to "mklib" instead of "libtool"
|
||||
6. Copy <PFX>/share/libtool/libltdl/ltdl.c to llvm/lib/System
|
||||
7. Copy <PFX>/share/libtool/libltdl/ltdl.h to llvm/lib/System
|
||||
8. Edit the ltdl.h file to #include "llvm/Config/config.h" at the very top. You
|
||||
might also need to resolve some compiler warnings (typically about
|
||||
comparison of signed vs. unsigned values). But, you won't find out about
|
||||
those until you build LLVM (step 13).
|
||||
9. Edit the llvm/autoconf/m4/libtool.m4 file so that:
|
||||
a) in AC_PROB_LIBTOOL macro, the value of LIBTOOL is set to
|
||||
$(top_builddir)/mklib, not $(top_builddir)/libtool
|
||||
b) in AC_LIBTOOL_SETUP macro, the variable default_ofile is set to
|
||||
"mklib" instead of "libtool"
|
||||
c) s/AC_ENABLE_SHARED_DEFAULT/enable_shared_default/g
|
||||
d) s/AC_ENABLE_STATIC_DEFAULT/enable_static_default/g
|
||||
e) s/AC_ENABLE_FAST_INSTALL_DEFAULT/enable_fast_install_default/g
|
||||
10. Run "autoupdate libtool.m4 ltdl.m4" in the llvm/autoconf/m4 directory.
|
||||
This should correctly update the macro definitions in the libtool m4
|
||||
files to match the version of autoconf that LLVM uses. This converts
|
||||
AC_HELP_STRING to AS_HELP_STRING and AC_TRY_LINK to AC_LINK_IFELSE, amongst
|
||||
other things. You may need to manually adjust the files.
|
||||
11. Run AutoRegen.sh to get the new macros into configure script
|
||||
12. If there are any warnings from configure, go to step 9.
|
||||
13. Rebuild LLVM, making sure it reconfigured
|
||||
12. If there are any warnings from AutoRegen.sh, go to step 9.
|
||||
13. Rebuild LLVM, making sure it reconfigures
|
||||
14. Test the JIT which uses libltdl
|
||||
15. If it all works, only THEN commit the changes.
|
||||
|
||||
@ -36,5 +45,5 @@ If you are in the mood to upgrade autoconf, you should:
|
||||
5. Run autoupdate on all the m4 macros in llvm/autoconf/m4
|
||||
6. Run autoupdate on llvm/autoconf/configure.ac
|
||||
7. Regenerate configure script with AutoRegen.sh
|
||||
8. If there are any warnings from autoconf, fix them and go to step 7.
|
||||
8. If there are any warnings from AutoRegen.sh, fix them and go to step 7.
|
||||
9. Test, test, test.
|
||||
|
@ -102,39 +102,63 @@ AC_CACHE_CHECK([type of operating system we're going to host on],
|
||||
[llvm_cv_os_type],
|
||||
[case $host in
|
||||
*-*-aix*)
|
||||
llvm_cv_link_all_option="-Wl,--whole-archive"
|
||||
llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
|
||||
llvm_cv_os_type="AIX"
|
||||
llvm_cv_platform_type="Unix" ;;
|
||||
*-*-cygwin*)
|
||||
llvm_cv_link_all_option="-Wl,--whole-archive"
|
||||
llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
|
||||
llvm_cv_os_type="Cygwin"
|
||||
llvm_cv_platform_type="Unix" ;;
|
||||
*-*-darwin*)
|
||||
llvm_cv_link_all_option="-Wl,-all_load"
|
||||
llvm_cv_link_all_option="-Wl,-noall_load"
|
||||
llvm_cv_os_type="Darwin"
|
||||
llvm_cv_platform_type="Unix" ;;
|
||||
*-*-freebsd*)
|
||||
llvm_cv_link_all_option="-Wl,--whole-archive"
|
||||
llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
|
||||
llvm_cv_os_type="FreeBSD"
|
||||
llvm_cv_platform_type="Unix" ;;
|
||||
*-*-openbsd*)
|
||||
llvm_cv_link_all_option="-Wl,--whole-archive"
|
||||
llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
|
||||
llvm_cv_os_type="OpenBSD"
|
||||
llvm_cv_platform_type="Unix" ;;
|
||||
*-*-hpux*)
|
||||
llvm_cv_link_all_option="-Wl,--whole-archive"
|
||||
llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
|
||||
llvm_cv_os_type="HP-UX"
|
||||
llvm_cv_platform_type="Unix" ;;
|
||||
*-*-interix*)
|
||||
llvm_cv_link_all_option="-Wl,--whole-archive"
|
||||
llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
|
||||
llvm_cv_os_type="Interix"
|
||||
llvm_cv_platform_type="Unix" ;;
|
||||
*-*-linux*)
|
||||
llvm_cv_link_all_option="-Wl,--whole-archive"
|
||||
llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
|
||||
llvm_cv_os_type="Linux"
|
||||
llvm_cv_platform_type="Unix" ;;
|
||||
*-*-solaris*)
|
||||
llvm_cv_link_all_option="-Wl,-z,allextract"
|
||||
llvm_cv_no_link_all_option="-Wl,-z,defaultextract"
|
||||
llvm_cv_os_type="SunOS"
|
||||
llvm_cv_platform_type="Unix" ;;
|
||||
*-*-win32*)
|
||||
llvm_cv_link_all_option="-Wl,--whole-archive"
|
||||
llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
|
||||
llvm_cv_os_type="Win32"
|
||||
llvm_cv_platform_type="Win32" ;;
|
||||
*-*-mingw*)
|
||||
llvm_cv_link_all_option="-Wl,--whole-archive"
|
||||
llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
|
||||
llvm_cv_os_type="MingW"
|
||||
llvm_cv_platform_type="Win32" ;;
|
||||
*)
|
||||
llvm_cv_link_all_option=""
|
||||
llvm_cv_no_link_all_option=""
|
||||
llvm_cv_os_type="Unknown"
|
||||
llvm_cv_platform_type="Unknown" ;;
|
||||
esac])
|
||||
@ -148,6 +172,10 @@ dnl Set the "OS" Makefile variable based on the platform type so the
|
||||
dnl makefile can configure itself to specific build hosts
|
||||
AC_SUBST(OS,$llvm_cv_os_type)
|
||||
|
||||
dnl Set the LINKALL and NOLINKALL Makefile variables based on the platform
|
||||
AC_SUBST(LINKALL,$llvm_cv_link_all_option)
|
||||
AC_SUBST(NOLINKALL,$llvm_cv_no_link_all_option)
|
||||
|
||||
dnl Set the "LLVM_ON_*" variables based on llvm_cvs_platform_type
|
||||
dnl This is used by lib/System to determine the basic kind of implementation
|
||||
dnl to use.
|
||||
|
File diff suppressed because it is too large
Load Diff
1288
autoconf/m4/libtool.m4
vendored
1288
autoconf/m4/libtool.m4
vendored
File diff suppressed because it is too large
Load Diff
@ -1,26 +1,11 @@
|
||||
## ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*-
|
||||
## Copyright (C) 1999-2000 Free Software Foundation, Inc.
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or modify
|
||||
## it under the terms of the GNU General Public License as published by
|
||||
## the Free Software Foundation; either version 2 of the License, or
|
||||
## (at your option) any later version.
|
||||
##
|
||||
## This program is distributed in the hope that it will be useful, but
|
||||
## WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
## General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU General Public License
|
||||
## along with this program; if not, write to the Free Software
|
||||
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
##
|
||||
## As a special exception to the GNU General Public License, if you
|
||||
## distribute this file as part of a program that contains a
|
||||
## configuration script generated by Autoconf, you may include it under
|
||||
## the same distribution terms that you use for the rest of that program.
|
||||
## This file is free software; the Free Software Foundation gives
|
||||
## unlimited permission to copy and/or distribute it, with or without
|
||||
## modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 6 AC_LIB_LTDL
|
||||
# serial 7 AC_LIB_LTDL
|
||||
|
||||
# AC_WITH_LTDL
|
||||
# ------------
|
||||
@ -57,7 +42,7 @@ fi
|
||||
if test "x$with_included_ltdl" = xno; then
|
||||
# If the included ltdl is not to be used. then Use the
|
||||
# preinstalled libltdl we found.
|
||||
AC_DEFINE([HAVE_LTDL], 1,
|
||||
AC_DEFINE([HAVE_LTDL], [1],
|
||||
[Define this if a modern libltdl is already installed])
|
||||
LIBLTDL=-lltdl
|
||||
fi
|
||||
@ -75,7 +60,7 @@ AC_CONFIG_SUBDIRS([libltdl])
|
||||
# Perform all the checks necessary for compilation of the ltdl objects
|
||||
# -- including compiler checks and header checks.
|
||||
AC_DEFUN([AC_LIB_LTDL],
|
||||
[AC_PREREQ(2.59)
|
||||
[AC_PREREQ(2.60)
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
AC_REQUIRE([AC_C_CONST])
|
||||
AC_REQUIRE([AC_HEADER_STDC])
|
||||
@ -110,11 +95,11 @@ AC_CHECK_FUNCS([closedir opendir readdir])
|
||||
# ----------------------
|
||||
AC_DEFUN([AC_LTDL_ENABLE_INSTALL],
|
||||
[AC_ARG_ENABLE([ltdl-install],
|
||||
[AS_HELP_STRING([--enable-ltdl-install], [install libltdl])])
|
||||
[AS_HELP_STRING([--enable-ltdl-install],[install libltdl])])
|
||||
|
||||
AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno)
|
||||
AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno)
|
||||
])])# AC_LTDL_ENABLE_INSTALL
|
||||
])# AC_LTDL_ENABLE_INSTALL
|
||||
|
||||
|
||||
# AC_LTDL_SYS_DLOPEN_DEPLIBS
|
||||
@ -149,6 +134,9 @@ AC_CACHE_CHECK([whether deplibs are loaded by dlopen],
|
||||
hpux10*|hpux11*)
|
||||
libltdl_cv_sys_dlopen_deplibs=yes
|
||||
;;
|
||||
interix*)
|
||||
libltdl_cv_sys_dlopen_deplibs=yes
|
||||
;;
|
||||
irix[[12345]]*|irix6.[[01]]*)
|
||||
# Catch all versions of IRIX before 6.2, and indicate that we don't
|
||||
# know how it worked for any of those versions.
|
||||
@ -190,6 +178,9 @@ AC_CACHE_CHECK([whether deplibs are loaded by dlopen],
|
||||
solaris*)
|
||||
libltdl_cv_sys_dlopen_deplibs=yes
|
||||
;;
|
||||
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
|
||||
libltdl_cv_sys_dlopen_deplibs=yes
|
||||
;;
|
||||
esac
|
||||
])
|
||||
if test "$libltdl_cv_sys_dlopen_deplibs" != yes; then
|
||||
@ -210,7 +201,7 @@ module=yes
|
||||
eval libltdl_cv_shlibext=$shrext_cmds
|
||||
])
|
||||
if test -n "$libltdl_cv_shlibext"; then
|
||||
AC_DEFINE_UNQUOTED(LTDL_SHLIB_EXT, "$libltdl_cv_shlibext",
|
||||
AC_DEFINE_UNQUOTED([LTDL_SHLIB_EXT], ["$libltdl_cv_shlibext"],
|
||||
[Define to the extension used for shared libraries, say, ".so".])
|
||||
fi
|
||||
])# AC_LTDL_SHLIBEXT
|
||||
@ -223,7 +214,7 @@ AC_DEFUN([AC_LTDL_SHLIBPATH],
|
||||
AC_CACHE_CHECK([which variable specifies run-time library path],
|
||||
[libltdl_cv_shlibpath_var], [libltdl_cv_shlibpath_var="$shlibpath_var"])
|
||||
if test -n "$libltdl_cv_shlibpath_var"; then
|
||||
AC_DEFINE_UNQUOTED(LTDL_SHLIBPATH_VAR, "$libltdl_cv_shlibpath_var",
|
||||
AC_DEFINE_UNQUOTED([LTDL_SHLIBPATH_VAR], ["$libltdl_cv_shlibpath_var"],
|
||||
[Define to the name of the environment variable that determines the dynamic library search path.])
|
||||
fi
|
||||
])# AC_LTDL_SHLIBPATH
|
||||
@ -245,7 +236,7 @@ if test -n "$libltdl_cv_sys_search_path"; then
|
||||
sys_search_path="$sys_search_path$PATH_SEPARATOR$dir"
|
||||
fi
|
||||
done
|
||||
AC_DEFINE_UNQUOTED(LTDL_SYSSEARCHPATH, "$sys_search_path",
|
||||
AC_DEFINE_UNQUOTED([LTDL_SYSSEARCHPATH], ["$sys_search_path"],
|
||||
[Define to the system default library search path.])
|
||||
fi
|
||||
])# AC_LTDL_SYSSEARCHPATH
|
||||
@ -271,7 +262,7 @@ AC_DEFUN([AC_LTDL_OBJDIR],
|
||||
rmdir .libs 2>/dev/null
|
||||
fi
|
||||
])
|
||||
AC_DEFINE_UNQUOTED(LTDL_OBJDIR, "$libltdl_cv_objdir/",
|
||||
AC_DEFINE_UNQUOTED([LTDL_OBJDIR], ["$libltdl_cv_objdir/"],
|
||||
[Define to the sub-directory in which libtool stores uninstalled libraries.])
|
||||
])# AC_LTDL_OBJDIR
|
||||
|
||||
@ -289,7 +280,7 @@ AC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen],
|
||||
fi
|
||||
])
|
||||
if test x"$libltdl_cv_preloaded_symbols" = xyes; then
|
||||
AC_DEFINE(HAVE_PRELOADED_SYMBOLS, 1,
|
||||
AC_DEFINE([HAVE_PRELOADED_SYMBOLS], [1],
|
||||
[Define if libtool can extract symbol lists from object files.])
|
||||
fi
|
||||
])# AC_LTDL_DLPREOPEN
|
||||
@ -369,15 +360,15 @@ EOF
|
||||
if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
|
||||
:
|
||||
else
|
||||
echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD()
|
||||
echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD()
|
||||
echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
|
||||
fi
|
||||
else
|
||||
echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD()
|
||||
cat conftest.c >&AS_MESSAGE_LOG_FD()
|
||||
echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
|
||||
cat conftest.c >&AS_MESSAGE_LOG_FD
|
||||
fi
|
||||
rm -rf conftest*
|
||||
])
|
||||
@ -405,7 +396,7 @@ if test x"$ac_cv_sys_symbol_underscore" = xyes; then
|
||||
fi
|
||||
|
||||
if test x"$libltdl_cv_need_uscore" = xyes; then
|
||||
AC_DEFINE(NEED_USCORE, 1,
|
||||
AC_DEFINE([NEED_USCORE], [1],
|
||||
[Define if dlsym() requires a leading underscore in symbol names.])
|
||||
fi
|
||||
])# AC_LTDL_DLSYM_USCORE
|
||||
|
@ -508,7 +508,7 @@
|
||||
|
||||
/* If using the C implementation of alloca, define if you know the
|
||||
direction of stack growth for your system; otherwise it will be
|
||||
automatically deduced at run-time.
|
||||
automatically deduced at runtime.
|
||||
STACK_DIRECTION > 0 => grows toward higher addresses
|
||||
STACK_DIRECTION < 0 => grows toward lower addresses
|
||||
STACK_DIRECTION = 0 => direction of growth unknown */
|
||||
@ -539,5 +539,5 @@
|
||||
/* Define to `int' if <sys/types.h> does not define. */
|
||||
#undef pid_t
|
||||
|
||||
/* Define to `unsigned' if <sys/types.h> does not define. */
|
||||
/* Define to `unsigned int' if <sys/types.h> does not define. */
|
||||
#undef size_t
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* ltdl.c -- system independent dlopen wrapper
|
||||
Copyright (C) 1998, 1999, 2000, 2004 Free Software Foundation, Inc.
|
||||
Copyright (C) 1998, 1999, 2000, 2004, 2005 Free Software Foundation, Inc.
|
||||
Originally by Thomas Tanner <tanner@ffii.org>
|
||||
This file is part of GNU Libtool.
|
||||
|
||||
@ -20,17 +20,16 @@ Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
02110-1301 USA
|
||||
|
||||
*/
|
||||
|
||||
#include "llvm/Config/config.h"
|
||||
/*
|
||||
#if HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
*/
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
@ -460,7 +459,9 @@ opendir (path)
|
||||
DIR *entry;
|
||||
|
||||
assert(path != (char *) NULL);
|
||||
(void) strncpy(file_specification,path,LT_FILENAME_MAX-1);
|
||||
/* allow space for: path + '\\' '\\' '*' '.' '*' + '\0' */
|
||||
(void) strncpy (file_specification, path, LT_FILENAME_MAX-6);
|
||||
file_specification[LT_FILENAME_MAX-6] = LT_EOS_CHAR;
|
||||
(void) strcat(file_specification,"\\");
|
||||
entry = LT_DLMALLOC (DIR,sizeof(DIR));
|
||||
if (entry != (DIR *) 0)
|
||||
@ -501,6 +502,7 @@ static struct dirent *readdir(entry)
|
||||
entry->firsttime = FALSE;
|
||||
(void) strncpy(entry->file_info.d_name,entry->Win32FindData.cFileName,
|
||||
LT_FILENAME_MAX-1);
|
||||
entry->file_info.d_name[LT_FILENAME_MAX - 1] = LT_EOS_CHAR;
|
||||
entry->file_info.d_namlen = strlen(entry->file_info.d_name);
|
||||
return(&entry->file_info);
|
||||
}
|
||||
@ -625,7 +627,7 @@ argz_create_sep (str, delim, pargz, pargz_len)
|
||||
assert (pargz);
|
||||
assert (pargz_len);
|
||||
|
||||
/* Make a copy of STR, but replacing each occurence of
|
||||
/* Make a copy of STR, but replacing each occurrence of
|
||||
DELIM with '\0'. */
|
||||
argz_len = 1+ LT_STRLEN (str);
|
||||
if (argz_len)
|
||||
@ -1165,7 +1167,7 @@ static struct lt_user_dlloader sys_dl =
|
||||
|
||||
/* --- SHL_LOAD() INTERFACE LOADER --- */
|
||||
|
||||
#if HAVE_SHL_LOAD && !defined(__llvm__)
|
||||
#if HAVE_SHL_LOAD
|
||||
|
||||
/* dynamic linking with shl_load (HP-UX) (comments from gmodule) */
|
||||
|
||||
@ -1348,15 +1350,27 @@ sys_wll_open (loader_data, filename)
|
||||
if (!searchname)
|
||||
return 0;
|
||||
|
||||
#if __CYGWIN__
|
||||
{
|
||||
/* Silence dialog from LoadLibrary on some failures.
|
||||
No way to get the error mode, but to set it,
|
||||
so set it twice to preserve any previous flags. */
|
||||
UINT errormode = SetErrorMode(SEM_FAILCRITICALERRORS);
|
||||
SetErrorMode(errormode | SEM_FAILCRITICALERRORS);
|
||||
|
||||
#if defined(__CYGWIN__)
|
||||
{
|
||||
char wpath[MAX_PATH];
|
||||
cygwin_conv_to_full_win32_path(searchname, wpath);
|
||||
module = LoadLibrary(wpath);
|
||||
cygwin_conv_to_full_win32_path (searchname, wpath);
|
||||
module = LoadLibrary (wpath);
|
||||
}
|
||||
#else
|
||||
module = LoadLibrary (searchname);
|
||||
#endif
|
||||
|
||||
/* Restore the error mode. */
|
||||
SetErrorMode(errormode);
|
||||
}
|
||||
|
||||
LT_DLFREE (searchname);
|
||||
|
||||
/* libltdl expects this function to fail if it is unable
|
||||
@ -2214,7 +2228,7 @@ lt_dlinit ()
|
||||
#if HAVE_LIBDL
|
||||
errors += lt_dlloader_add (lt_dlloader_next (0), &sys_dl, "dlopen");
|
||||
#endif
|
||||
#if HAVE_SHL_LOAD && !defined(__llvm__)
|
||||
#if HAVE_SHL_LOAD
|
||||
errors += lt_dlloader_add (lt_dlloader_next (0), &sys_shl, "dlopen");
|
||||
#endif
|
||||
#ifdef __WINDOWS__
|
||||
@ -2541,8 +2555,8 @@ find_module (handle, dir, libdir, dlname, old_name, installed)
|
||||
|
||||
/* maybe it was moved to another directory */
|
||||
{
|
||||
if (tryall_dlopen_module (handle,
|
||||
(const char *) 0, dir, dlname) == 0)
|
||||
if (dir && (tryall_dlopen_module (handle,
|
||||
(const char *) 0, dir, dlname) == 0))
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@ -2869,12 +2883,6 @@ load_deplibs (handle, deplibs)
|
||||
}
|
||||
}
|
||||
|
||||
/* restore the old search path */
|
||||
LT_DLFREE (user_search_path);
|
||||
user_search_path = save_search_path;
|
||||
|
||||
LT_DLMUTEX_UNLOCK ();
|
||||
|
||||
if (!depcount)
|
||||
{
|
||||
errors = 0;
|
||||
@ -2961,6 +2969,13 @@ load_deplibs (handle, deplibs)
|
||||
|
||||
cleanup:
|
||||
LT_DLFREE (names);
|
||||
/* restore the old search path */
|
||||
if (user_search_path) {
|
||||
LT_DLFREE (user_search_path);
|
||||
user_search_path = save_search_path;
|
||||
}
|
||||
LT_DLMUTEX_UNLOCK ();
|
||||
|
||||
#endif
|
||||
|
||||
return errors;
|
||||
@ -3000,6 +3015,9 @@ trim (dest, str)
|
||||
|
||||
LT_DLFREE (*dest);
|
||||
|
||||
if (!end)
|
||||
return 1;
|
||||
|
||||
if (len > 3 && str[0] == '\'')
|
||||
{
|
||||
tmp = LT_EMALLOC (char, end - str);
|
||||
@ -3104,7 +3122,7 @@ try_dlopen (phandle, filename)
|
||||
++base_name;
|
||||
}
|
||||
else
|
||||
LT_DLMEM_REASSIGN (base_name, canonical);
|
||||
base_name = canonical;
|
||||
|
||||
assert (base_name && *base_name);
|
||||
|
||||
@ -3537,7 +3555,14 @@ lt_argz_insert (pargz, pargz_len, before, entry)
|
||||
{
|
||||
error_t error;
|
||||
|
||||
if ((error = argz_insert (pargz, pargz_len, before, entry)))
|
||||
/* Prior to Sep 8, 2005, newlib had a bug where argz_insert(pargz,
|
||||
pargz_len, NULL, entry) failed with EINVAL. */
|
||||
if (before)
|
||||
error = argz_insert (pargz, pargz_len, before, entry);
|
||||
else
|
||||
error = argz_append (pargz, pargz_len, entry, 1 + LT_STRLEN (entry));
|
||||
|
||||
if (error)
|
||||
{
|
||||
switch (error)
|
||||
{
|
||||
@ -3989,7 +4014,7 @@ lt_dlpath_insertdir (ppath, before, dir)
|
||||
if (before)
|
||||
{
|
||||
assert (*ppath <= before);
|
||||
assert (before - *ppath <= (int)strlen (*ppath));
|
||||
assert ((size_t)(before - *ppath) <= strlen (*ppath));
|
||||
|
||||
before = before - *ppath + argz;
|
||||
}
|
||||
|
@ -20,8 +20,8 @@ Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA
|
||||
Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
02110-1301 USA
|
||||
*/
|
||||
|
||||
/* Only include this header file once. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user