Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
205f5ac6
Commit
205f5ac6
authored
Sep 10, 2000
by
Alexandre Oliva
Committed by
Alexandre Oliva
Sep 10, 2000
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* Updated from libtool multi-language branch.
From-SVN: r36295
parent
8a24138d
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
4350 additions
and
1591 deletions
+4350
-1591
libjava/libltdl/ChangeLog
+4
-0
libjava/libltdl/Makefile.am
+1
-1
libjava/libltdl/Makefile.in
+25
-15
libjava/libltdl/acinclude.m4
+903
-44
libjava/libltdl/aclocal.m4
+893
-55
libjava/libltdl/config.h.in
+24
-9
libjava/libltdl/configure
+1665
-662
libjava/libltdl/configure.in
+11
-340
libjava/libltdl/ltdl.c
+824
-465
No files found.
libjava/libltdl/ChangeLog
View file @
205f5ac6
2000-09-10 Alexandre Oliva <aoliva@redhat.com>
* Updated from libtool multi-language branch.
2000-02-14 Tom Tromey <tromey@cygnus.com>
2000-02-14 Tom Tromey <tromey@cygnus.com>
* ltdl.c: If HAVE_BOEHM_GC defined, includ gc.h.
* ltdl.c: If HAVE_BOEHM_GC defined, includ gc.h.
...
...
libjava/libltdl/Makefile.am
View file @
205f5ac6
...
@@ -16,7 +16,7 @@ noinst_LTLIBRARIES = libltdlc.la
...
@@ -16,7 +16,7 @@ noinst_LTLIBRARIES = libltdlc.la
endif
endif
libltdl_la_SOURCES
=
ltdl.c
libltdl_la_SOURCES
=
ltdl.c
libltdl_la_LDFLAGS
=
-
version-info
1:2:1
libltdl_la_LDFLAGS
=
-
no-undefined
-version-info
2:0:2
libltdl_la_LIBADD
=
$(LIBADD_DL)
libltdl_la_LIBADD
=
$(LIBADD_DL)
libltdlc_la_SOURCES
=
ltdl.c
libltdlc_la_SOURCES
=
ltdl.c
...
...
libjava/libltdl/Makefile.in
View file @
205f5ac6
...
@@ -61,8 +61,13 @@ host_alias = @host_alias@
...
@@ -61,8 +61,13 @@ host_alias = @host_alias@
host_triplet
=
@host@
host_triplet
=
@host@
AS
=
@AS@
AS
=
@AS@
CC
=
@CC@
CC
=
@CC@
CXX
=
@CXX@
CXXCPP
=
@CXXCPP@
DLLTOOL
=
@DLLTOOL@
DLLTOOL
=
@DLLTOOL@
EXEEXT
=
@EXEEXT@
GCINCS
=
@GCINCS@
GCINCS
=
@GCINCS@
GCJ
=
@GCJ@
GCJFLAGS
=
@GCJFLAGS@
LIBADD_DL
=
@LIBADD_DL@
LIBADD_DL
=
@LIBADD_DL@
LIBTOOL
=
@LIBTOOL@
LIBTOOL
=
@LIBTOOL@
LIBTOOL_DEPS
=
@LIBTOOL_DEPS@
LIBTOOL_DEPS
=
@LIBTOOL_DEPS@
...
@@ -70,22 +75,24 @@ LN_S = @LN_S@
...
@@ -70,22 +75,24 @@ LN_S = @LN_S@
MAINT
=
@MAINT@
MAINT
=
@MAINT@
MAKEINFO
=
@MAKEINFO@
MAKEINFO
=
@MAKEINFO@
OBJDUMP
=
@OBJDUMP@
OBJDUMP
=
@OBJDUMP@
OBJEXT
=
@OBJEXT@
PACKAGE
=
@PACKAGE@
PACKAGE
=
@PACKAGE@
RANLIB
=
@RANLIB@
RANLIB
=
@RANLIB@
STRIP
=
@STRIP@
VERSION
=
@VERSION@
VERSION
=
@VERSION@
AUTOMAKE_OPTIONS
=
no-dependencies foreign
no-installinfo
AUTOMAKE_OPTIONS
=
no-dependencies foreign
INCLUDES
=
$(GCINCS)
INCLUDES
=
$(GCINCS)
@INSTALL_LTDL_TRUE@
include_HEADERS
=
@INSTALL_LTDL_TRUE@
ltdl.h
@INSTALL_LTDL_TRUE@
include_HEADERS
=
ltdl.h
@INSTALL_LTDL_TRUE@
lib_LTLIBRARIES
=
@INSTALL_LTDL_TRUE@
libltdl.la
@INSTALL_LTDL_TRUE@
lib_LTLIBRARIES
=
libltdl.la
@INSTALL_LTDL_FALSE@
noinst_HEADERS
=
@INSTALL_LTDL_FALSE@
ltdl.h
@INSTALL_LTDL_FALSE@
noinst_HEADERS
=
ltdl.h
@CONVENIENCE_LTDL_TRUE@
noinst_LTLIBRARIES
=
@CONVENIENCE_LTDL_TRUE@
libltdlc.la
@CONVENIENCE_LTDL_TRUE@
noinst_LTLIBRARIES
=
libltdlc.la
libltdl_la_SOURCES
=
ltdl.c
libltdl_la_SOURCES
=
ltdl.c
libltdl_la_LDFLAGS
=
-
version-info
1:2:1
libltdl_la_LDFLAGS
=
-
no-undefined
-version-info
2:0:2
libltdl_la_LIBADD
=
$(LIBADD_DL)
libltdl_la_LIBADD
=
$(LIBADD_DL)
libltdlc_la_SOURCES
=
ltdl.c
libltdlc_la_SOURCES
=
ltdl.c
...
@@ -127,7 +134,7 @@ OBJECTS = $(libltdl_la_OBJECTS) $(libltdlc_la_OBJECTS)
...
@@ -127,7 +134,7 @@ OBJECTS = $(libltdl_la_OBJECTS) $(libltdlc_la_OBJECTS)
all
:
all-redirect
all
:
all-redirect
.SUFFIXES
:
.SUFFIXES
:
.SUFFIXES
:
.S .c .lo .o .s
.SUFFIXES
:
.S .c .lo .o .
obj .
s
$(srcdir)/Makefile.in
:
@MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
$(srcdir)/Makefile.in
:
@MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd
$(top_srcdir)
&&
$(AUTOMAKE)
--foreign
Makefile
cd
$(top_srcdir)
&&
$(AUTOMAKE)
--foreign
Makefile
...
@@ -208,6 +215,11 @@ maintainer-clean-noinstLTLIBRARIES:
...
@@ -208,6 +215,11 @@ maintainer-clean-noinstLTLIBRARIES:
.c.o
:
.c.o
:
$(COMPILE)
-c
$<
$(COMPILE)
-c
$<
# FIXME: We should only use cygpath when building on Windows,
# and only if it is available.
.c.obj
:
$(COMPILE)
-c
`
cygpath
-w
$<
`
.s.o
:
.s.o
:
$(COMPILE)
-c
$<
$(COMPILE)
-c
$<
...
@@ -216,6 +228,7 @@ maintainer-clean-noinstLTLIBRARIES:
...
@@ -216,6 +228,7 @@ maintainer-clean-noinstLTLIBRARIES:
mostlyclean-compile
:
mostlyclean-compile
:
-
rm
-f
*
.o core
*
.core
-
rm
-f
*
.o core
*
.core
-
rm
-f
*
.
$(OBJEXT)
clean-compile
:
clean-compile
:
...
@@ -349,8 +362,6 @@ check-am: all-am
...
@@ -349,8 +362,6 @@ check-am: all-am
check
:
check-am
check
:
check-am
installcheck-am
:
installcheck-am
:
installcheck
:
installcheck-am
installcheck
:
installcheck-am
install-info-am
:
install-info
:
install-info-am
all-recursive-am
:
config.h
all-recursive-am
:
config.h
$(MAKE)
$(AM_MAKEFLAGS)
all-recursive
$(MAKE)
$(AM_MAKEFLAGS)
all-recursive
...
@@ -427,12 +438,11 @@ maintainer-clean-compile mostlyclean-libtool distclean-libtool \
...
@@ -427,12 +438,11 @@ maintainer-clean-compile mostlyclean-libtool distclean-libtool \
clean-libtool maintainer-clean-libtool uninstall-includeHEADERS
\
clean-libtool maintainer-clean-libtool uninstall-includeHEADERS
\
install-includeHEADERS tags mostlyclean-tags distclean-tags clean-tags
\
install-includeHEADERS tags mostlyclean-tags distclean-tags clean-tags
\
maintainer-clean-tags distdir info-am info dvi-am dvi check check-am
\
maintainer-clean-tags distdir info-am info dvi-am dvi check check-am
\
installcheck-am installcheck install-info-am install-info
\
installcheck-am installcheck all-recursive-am install-exec-am
\
all-recursive-am install-exec-am install-exec install-data-am
\
install-exec install-data-am install-data install-am install
\
install-data install-am install uninstall-am uninstall all-redirect
\
uninstall-am uninstall all-redirect all-am all installdirs
\
all-am all installdirs mostlyclean-generic distclean-generic
\
mostlyclean-generic distclean-generic clean-generic
\
clean-generic maintainer-clean-generic clean mostlyclean distclean
\
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
maintainer-clean
ltdl.lo
:
ltdl.h config.h
ltdl.lo
:
ltdl.h config.h
...
...
libjava/libltdl/acinclude.m4
View file @
205f5ac6
## libtool.m4 - Configure libtool for the
targe
t system. -*-Shell-script-*-
## libtool.m4 - Configure libtool for the
hos
t system. -*-Shell-script-*-
## Copyright (C) 1996-1999 Free Software Foundation, Inc.
## Copyright (C) 1996-1999
,2000
Free Software Foundation, Inc.
## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
##
##
## This program is free software; you can redistribute it and/or modify
## This program is free software; you can redistribute it and/or modify
...
@@ -21,27 +21,53 @@
...
@@ -21,27 +21,53 @@
## configuration script generated by Autoconf, you may include it under
## configuration script generated by Autoconf, you may include it under
## the same distribution terms that you use for the rest of that program.
## the same distribution terms that you use for the rest of that program.
# serial 40 AC_PROG_LIBTOOL
# serial 45 AC_PROG_LIBTOOL
AC_DEFUN(AC_PROG_LIBTOOL,
AC_DEFUN(AC_PROG_LIBTOOL,[AC_REQUIRE([_AC_PROG_LIBTOOL])
dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
AC_PROVIDE_IFELSE([AC_PROG_CXX],
[AC_LIBTOOL_CXX],
[define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
])])
dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
AC_PROVIDE_IFELSE([AC_PROG_GCJ],
[AC_LIBTOOL_GCJ],
[AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
[AC_LIBTOOL_GCJ],
[ifdef([AC_PROG_GCJ],
[define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ
])])
ifdef([A][M_PROG_GCJ],
[define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ
])])])])])
AC_DEFUN(_AC_PROG_LIBTOOL,
[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
# Save cache, so that ltconfig can load it
# Save cache, so that ltconfig can load it
AC_CACHE_SAVE
AC_CACHE_SAVE
# Actually configure libtool. ac_aux_dir is where install-sh is found.
# Actually configure libtool. ac_aux_dir is where install-sh is found.
CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
AR="$AR" LTCC="$CC" CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
MAGIC="$MAGIC" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
deplibs_check_method="$deplibs_check_method" file_magic_cmd="$file_magic_cmd" \
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
$libtool_flags --no-verify
$ac_aux_dir/ltmain.sh $lt_targe
t \
$libtool_flags --no-verify
--build="$build" $ac_aux_dir/ltmain.sh $hos
t \
|| AC_MSG_ERROR([libtool configure failed])
|| AC_MSG_ERROR([libtool configure failed])
# Reload cache, that may have been modified by ltconfig
# Reload cache, that may have been modified by ltconfig
AC_CACHE_LOAD
AC_CACHE_LOAD
# This can be used to rebuild libtool when needed
# This can be used to rebuild libtool when needed
LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh
$ac_aux_dir/ltcf-c.sh
"
# Always use our own libtool.
# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
...
@@ -59,18 +85,29 @@ AC_REQUIRE([AC_ENABLE_STATIC])dnl
...
@@ -59,18 +85,29 @@ AC_REQUIRE([AC_ENABLE_STATIC])dnl
AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
AC_REQUIRE([AC_PROG_RANLIB])dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_PROG_LD])dnl
AC_REQUIRE([AC_PROG_LD])dnl
AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
AC_REQUIRE([AC_PROG_NM])dnl
AC_REQUIRE([AC_PROG_NM])dnl
AC_REQUIRE([AC_PROG_LN_S])dnl
AC_REQUIRE([AC_PROG_LN_S])dnl
AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
AC_REQUIRE([AC_OBJEXT])dnl
AC_REQUIRE([AC_EXEEXT])dnl
dnl
dnl
case "$target" in
# Only perform the check for file, if the check method requires it
NONE) lt_target="$host" ;;
case "$deplibs_check_method" in
*) lt_target="$target" ;;
file_magic*)
if test "$file_magic_cmd" = '${MAGIC}'; then
AC_PATH_MAGIC
fi
;;
esac
esac
AC_CHECK_TOOL(RANLIB, ranlib, :)
AC_CHECK_TOOL(STRIP, strip, :)
# Check for any special flags to pass to ltconfig.
# Check for any special flags to pass to ltconfig.
libtool_flags="--cache-file=$cache_file"
libtool_flags="--cache-file=$cache_file"
test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
...
@@ -87,9 +124,15 @@ AC_ARG_ENABLE(libtool-lock,
...
@@ -87,9 +124,15 @@ AC_ARG_ENABLE(libtool-lock,
test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
AC_ARG_WITH(pic,
[ --with-pic try to use only PIC/non-PIC objects [default=use both]],
pic_mode="$withval", pic_mode=default)
test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic"
test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
# Some flags need to be propagated to the compiler or linker for good
# Some flags need to be propagated to the compiler or linker for good
# libtool support.
# libtool support.
case "$
lt_targe
t" in
case "$
hos
t" in
*-*-irix6*)
*-*-irix6*)
# Find out which ABI we are using.
# Find out which ABI we are using.
echo '[#]line __oline__ "configure"' > conftest.$ac_ext
echo '[#]line __oline__ "configure"' > conftest.$ac_ext
...
@@ -114,7 +157,10 @@ case "$lt_target" in
...
@@ -114,7 +157,10 @@ case "$lt_target" in
SAVE_CFLAGS="$CFLAGS"
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
CFLAGS="$CFLAGS -belf"
AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
[AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])])
[AC_LANG_SAVE
AC_LANG_C
AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
AC_LANG_RESTORE])
if test x"$lt_cv_cc_needs_belf" != x"yes"; then
if test x"$lt_cv_cc_needs_belf" != x"yes"; then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
CFLAGS="$SAVE_CFLAGS"
CFLAGS="$SAVE_CFLAGS"
...
@@ -126,8 +172,31 @@ ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
...
@@ -126,8 +172,31 @@ ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
AC_CHECK_TOOL(AS, as, false)
AC_CHECK_TOOL(AS, as, false)
AC_CHECK_TOOL(OBJDUMP, objdump, false)
AC_CHECK_TOOL(OBJDUMP, objdump, false)
# recent cygwin and mingw systems supply a stub DllMain which the user
# can override, but on older systems we have to supply one
AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain,
[AC_TRY_LINK([],
[extern int __attribute__((__stdcall__)) DllMain(void*, int, void*);
DllMain (0, 0, 0);],
[lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])])
case "$host/$CC" in
*-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*)
# old mingw systems require "-dll" to link a DLL, while more recent ones
# require "-mdll"
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -mdll"
AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch,
[AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])])
CFLAGS="$SAVE_CFLAGS" ;;
*-*-cygwin*)
# cygwin systems need to pass --dll to the linker, and not link
# crt.o which will require a WinMain@16 definition.
lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;;
esac
;;
;;
])
])
esac
esac
])
])
...
@@ -233,10 +302,94 @@ esac],
...
@@ -233,10 +302,94 @@ esac],
enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
])
])
# AC_
EN
ABLE_FAST_INSTALL - set the default to --disable-fast-install
# AC_
DIS
ABLE_FAST_INSTALL - set the default to --disable-fast-install
AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
AC_ENABLE_FAST_INSTALL(no)])
AC_ENABLE_FAST_INSTALL(no)])
# AC_LIBTOOL_PICMODE - implement the --with-pic flag
# Usage: AC_LIBTOOL_PICMODE[(MODE)]
# Where MODE is either `yes' or `no'. If omitted, it defaults to
# `both'.
AC_DEFUN(AC_LIBTOOL_PICMODE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
pic_mode=ifelse($#,1,$1,default)])
# AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library
AC_DEFUN(AC_PATH_TOOL_PREFIX,
[AC_MSG_CHECKING([for $1])
AC_CACHE_VAL(lt_cv_path_MAGIC,
[case "$MAGIC" in
/*)
lt_cv_path_MAGIC="$MAGIC" # Let the user override the test with a path.
;;
?:/*)
ac_cv_path_MAGIC="$MAGIC" # Let the user override the test with a dos path.
;;
*)
ac_save_MAGIC="$MAGIC"
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
dnl $ac_dummy forces splitting on constant user-supplied paths.
dnl POSIX.2 word splitting is done only on the output of word expansions,
dnl not every word. This closes a longstanding sh security hole.
ac_dummy="ifelse([$2], , $PATH, [$2])"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$1; then
lt_cv_path_MAGIC="$ac_dir/$1"
if test -n "$file_magic_test_file"; then
case "$deplibs_check_method" in
"file_magic "*)
file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
MAGIC="$lt_cv_path_MAGIC"
if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
egrep "$file_magic_regex" > /dev/null; then
:
else
cat <<EOF 1>&2
*** Warning: the command libtool uses to detect shared libraries,
*** $file_magic_cmd, produces output that libtool cannot recognize.
*** The result is that libtool may fail to recognize shared libraries
*** as such. This will affect the creation of libtool libraries that
*** depend on shared libraries, but programs linked with such libtool
*** libraries will work regardless of this problem. Nevertheless, you
*** may want to report the problem to your system manager and/or to
*** bug-libtool@gnu.org
EOF
fi ;;
esac
fi
break
fi
done
IFS="$ac_save_ifs"
MAGIC="$ac_save_MAGIC"
;;
esac])
MAGIC="$lt_cv_path_MAGIC"
if test -n "$MAGIC"; then
AC_MSG_RESULT($MAGIC)
else
AC_MSG_RESULT(no)
fi
])
# AC_PATH_MAGIC - find a file program which can recognise a shared library
AC_DEFUN(AC_PATH_MAGIC,
[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl
AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH)
if test -z "$lt_cv_path_MAGIC"; then
if test -n "$ac_tool_prefix"; then
AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH)
else
MAGIC=:
fi
fi
])
# AC_PROG_LD - find the path to the GNU or non-GNU linker
# AC_PROG_LD - find the path to the GNU or non-GNU linker
AC_DEFUN(AC_PROG_LD,
AC_DEFUN(AC_PROG_LD,
[AC_ARG_WITH(gnu-ld,
[AC_ARG_WITH(gnu-ld,
...
@@ -249,7 +402,13 @@ ac_prog=ld
...
@@ -249,7 +402,13 @@ ac_prog=ld
if test "$ac_cv_prog_gcc" = yes; then
if test "$ac_cv_prog_gcc" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
# Check if gcc -print-prog-name=ld gives a path.
AC_MSG_CHECKING([for ld used by GCC])
AC_MSG_CHECKING([for ld used by GCC])
ac_prog=`($CC -print-prog-name=ld) 2>&5`
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
*)
ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
esac
case "$ac_prog" in
case "$ac_prog" in
# Accept absolute paths.
# Accept absolute paths.
changequote(,)dnl
changequote(,)dnl
...
@@ -316,8 +475,172 @@ if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
...
@@ -316,8 +475,172 @@ if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
else
else
ac_cv_prog_gnu_ld=no
ac_cv_prog_gnu_ld=no
fi])
fi])
with_gnu_ld=$ac_cv_prog_gnu_ld
])
# AC_PROG_LD_RELOAD_FLAG - find reload flag for linker
# -- PORTME Some linkers may need a different reload flag.
AC_DEFUN(AC_PROG_LD_RELOAD_FLAG,
[AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag,
[lt_cv_ld_reload_flag='-r'])
reload_flag=$lt_cv_ld_reload_flag
test -n "$reload_flag" && reload_flag=" $reload_flag"
])
# AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies
# -- PORTME fill in with the dynamic library characteristics
AC_DEFUN(AC_DEPLIBS_CHECK_METHOD,
[AC_CACHE_CHECK([how to recognise dependant libraries],
lt_cv_deplibs_check_method,
[lt_cv_file_magic_cmd='${MAGIC}'
lt_cv_file_magic_test_file=
lt_cv_deplibs_check_method='unknown'
# Need to set the preceding variable on all platforms that support
# interlibrary dependencies.
# 'none' -- dependencies not supported.
# `unknown' -- same as none, but documents that we really don't know.
# 'pass_all' -- all dependencies passed with no checks.
# 'test_compile' -- check by making test program.
# 'file_magic [regex]' -- check by looking for files in library path
# which responds to the $file_magic_cmd with a given egrep regex.
# If you have `file' or equivalent on your system and you're not sure
# whether `pass_all' will *always* work, you probably want this one.
case "$host_os" in
aix4*)
lt_cv_deplibs_check_method=pass_all
;;
beos*)
lt_cv_deplibs_check_method=pass_all
;;
bsdi4*)
changequote(,)dnl
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
changequote([, ])dnl
lt_cv_file_magic_cmd='/usr/bin/file -L'
lt_cv_file_magic_test_file=/shlib/libc.so
;;
cygwin* | mingw*)
lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
lt_cv_file_magic_cmd='${OBJDUMP} -f'
;;
freebsd* )
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
case "$host_cpu" in
i*86 )
# Not sure whether the presence of OpenBSD here was a mistake.
# Let's accept both of them until this is cleared up.
changequote(,)dnl
lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library'
changequote([, ])dnl
lt_cv_file_magic_cmd=/usr/bin/file
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
;;
esac
else
lt_cv_deplibs_check_method=pass_all
fi
;;
gnu*)
lt_cv_deplibs_check_method=pass_all
;;
hpux10.20*)
# TODO: Does this work for hpux-11 too?
lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
lt_cv_file_magic_cmd=/usr/bin/file
lt_cv_file_magic_test_file=/usr/lib/libc.sl
;;
irix5* | irix6*)
case "$host_os" in
irix5*)
# this will be overridden with pass_all, but let us keep it just in case
lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
;;
*)
case "$LD" in
*-32|*"-32 ") libmagic=32-bit;;
*-n32|*"-n32 ") libmagic=N32;;
*-64|*"-64 ") libmagic=64-bit;;
*) libmagic=never-match;;
esac
# this will be overridden with pass_all, but let us keep it just in case
changequote(,)dnl
lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"
changequote([, ])dnl
;;
esac
lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
lt_cv_deplibs_check_method=pass_all
;;
# This must be Linux ELF.
linux-gnu*)
case "$host_cpu" in
alpha* | i*86 | powerpc* | sparc* | ia64* )
lt_cv_deplibs_check_method=pass_all ;;
*)
# glibc up to 2.1.1 does not perform some relocations on ARM
changequote(,)dnl
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;
changequote([, ])dnl
esac
lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
;;
netbsd*)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then :
else
changequote(,)dnl
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object'
changequote([, ])dnl
lt_cv_file_magic_cmd='/usr/bin/file -L'
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
fi
;;
osf3* | osf4* | osf5*)
# this will be overridden with pass_all, but let us keep it just in case
lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
lt_cv_file_magic_test_file=/shlib/libc.so
lt_cv_deplibs_check_method=pass_all
;;
sco3.2v5*)
lt_cv_deplibs_check_method=pass_all
;;
solaris*)
lt_cv_deplibs_check_method=pass_all
lt_cv_file_magic_test_file=/lib/libc.so
;;
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
case "$host_vendor" in
ncr)
lt_cv_deplibs_check_method=pass_all
;;
motorola)
changequote(,)dnl
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
changequote([, ])dnl
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
;;
esac
;;
esac
])
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
])
])
# AC_PROG_NM - find the path to a BSD-compatible name lister
# AC_PROG_NM - find the path to a BSD-compatible name lister
AC_DEFUN(AC_PROG_NM,
AC_DEFUN(AC_PROG_NM,
[AC_MSG_CHECKING([for BSD-compatible nm])
[AC_MSG_CHECKING([for BSD-compatible nm])
...
@@ -329,18 +652,20 @@ else
...
@@ -329,18 +652,20 @@ else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
test -z "$ac_dir" && ac_dir=.
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then
tmp_nm=$ac_dir/${ac_tool_prefix}nm
if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then
# Check to see if the nm accepts a BSD-compat flag.
# Check to see if the nm accepts a BSD-compat flag.
# Adding the `sed 1q' prevents false positives on HP-UX, which says:
# Adding the `sed 1q' prevents false positives on HP-UX, which says:
# nm: unknown option "B" ignored
# nm: unknown option "B" ignored
if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
# Tru64's nm complains that /dev/null is an invalid object file
ac_cv_path_NM="$ac_dir/nm -B"
if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then
ac_cv_path_NM="$tmp_nm -B"
break
break
elif ($
ac_dir/
nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
elif ($
tmp_
nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
ac_cv_path_NM="$
ac_dir/
nm -p"
ac_cv_path_NM="$
tmp_
nm -p"
break
break
else
else
ac_cv_path_NM=${ac_cv_path_NM="$
ac_dir/
nm"} # keep the first match, but
ac_cv_path_NM=${ac_cv_path_NM="$
tmp_
nm"} # keep the first match, but
continue # so that we can try to find one that supports BSD flags
continue # so that we can try to find one that supports BSD flags
fi
fi
fi
fi
...
@@ -356,7 +681,7 @@ AC_MSG_RESULT([$NM])
...
@@ -356,7 +681,7 @@ AC_MSG_RESULT([$NM])
AC_DEFUN(AC_CHECK_LIBM,
AC_DEFUN(AC_CHECK_LIBM,
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
LIBM=
LIBM=
case "$
lt_targe
t" in
case "$
hos
t" in
*-*-beos* | *-*-cygwin*)
*-*-beos* | *-*-cygwin*)
# These system don't have libm
# These system don't have libm
;;
;;
...
@@ -371,31 +696,35 @@ esac
...
@@ -371,31 +696,35 @@ esac
])
])
# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
# the libltdl convenience library, adds --enable-ltdl-convenience to
# the libltdl convenience library and INCLTDL to the include flags for
# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
# the libltdl header and adds --enable-ltdl-convenience to the
# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
# configure arguments. Note that LIBLTDL and INCLTDL are not
# to be `${top_builddir}/libltdl'. Make sure you start DIR with
# AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If DIR is not
# '${top_builddir}/' (note the single quotes!) if your package is not
# provided, it is assumed to be `libltdl'. LIBLTDL will be prefixed
# flat, and, if you're not using automake, define top_builddir as
# with '${top_builddir}/' and INCLTDL will be prefixed with
# appropriate in the Makefiles.
# '${top_srcdir}/' (note the single quotes!). If your package is not
# flat and you're not using automake, define top_builddir and
# top_srcdir appropriately in the Makefiles.
AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
case "$enable_ltdl_convenience" in
case "$enable_ltdl_convenience" in
no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
"") enable_ltdl_convenience=yes
"") enable_ltdl_convenience=yes
ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
esac
esac
LIBLTDL=
ifelse($#,1,$1,['${top_builddir}/
libltdl'])/libltdlc.la
LIBLTDL=
'${top_builddir}/'ifelse($#,1,[$1],['
libltdl'])/libltdlc.la
INCLTDL=
ifelse($#,1,-I$1,['-I${top_builddir}/
libltdl'])
INCLTDL=
'-I${top_srcdir}/'ifelse($#,1,[$1],['
libltdl'])
])
])
# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
# the libltdl installable library, and adds --enable-ltdl-install to
# the libltdl installable library and INCLTDL to the include flags for
# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
# the libltdl header and adds --enable-ltdl-install to the configure
# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
# arguments. Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is
# to be `${top_builddir}/libltdl'. Make sure you start DIR with
# AC_CONFIG_SUBDIRS called. If DIR is not provided and an installed
# '${top_builddir}/' (note the single quotes!) if your package is not
# libltdl is not found, it is assumed to be `libltdl'. LIBLTDL will
# flat, and, if you're not using automake, define top_builddir as
# be prefixed with '${top_builddir}/' and INCLTDL will be prefixed
# appropriate in the Makefiles.
# with '${top_srcdir}/' (note the single quotes!). If your package is
# not flat and you're not using automake, define top_builddir and
# top_srcdir appropriately in the Makefiles.
# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
AC_CHECK_LIB(ltdl, main,
AC_CHECK_LIB(ltdl, main,
...
@@ -408,8 +737,8 @@ AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
...
@@ -408,8 +737,8 @@ AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
])
])
if test x"$enable_ltdl_install" = x"yes"; then
if test x"$enable_ltdl_install" = x"yes"; then
ac_configure_args="$ac_configure_args --enable-ltdl-install"
ac_configure_args="$ac_configure_args --enable-ltdl-install"
LIBLTDL=
ifelse($#,1,$1,['${top_builddir}/
libltdl'])/libltdl.la
LIBLTDL=
'${top_builddir}/'ifelse($#,1,[$1],['
libltdl'])/libltdl.la
INCLTDL=
ifelse($#,1,-I$1,['-I${top_builddir}/
libltdl'])
INCLTDL=
'-I${top_srcdir}/'ifelse($#,1,[$1],['
libltdl'])
else
else
ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
LIBLTDL="-lltdl"
LIBLTDL="-lltdl"
...
@@ -417,6 +746,74 @@ AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
...
@@ -417,6 +746,74 @@ AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
fi
fi
])
])
# If this macro is not defined by Autoconf, define it here.
ifdef([AC_PROVIDE_IFELSE],
[],
[define([AC_PROVIDE_IFELSE],
[ifdef([AC_PROVIDE_$1],
[$2], [$3])])])
# AC_LIBTOOL_CXX - enable support for C++ libraries
AC_DEFUN(AC_LIBTOOL_CXX,[AC_REQUIRE([_AC_LIBTOOL_CXX])])
AC_DEFUN(_AC_LIBTOOL_CXX,
[AC_REQUIRE([AC_PROG_LIBTOOL])
AC_REQUIRE([AC_PROG_CXX])
AC_REQUIRE([AC_PROG_CXXCPP])
LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-cxx.sh"
lt_save_CC="$CC"
lt_save_CFLAGS="$CFLAGS"
dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC
dnl is set to the C++ compiler.
AR="$AR" LTCC="$CC" CC="$CXX" CXX="$CXX" CFLAGS="$CXXFLAGS" CPPFLAGS="$CPPFLAGS" \
MAGIC="$MAGIC" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
deplibs_check_method="$deplibs_check_method" \
file_magic_cmd="$file_magic_cmd" \
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \
--build="$build" --add-tag=CXX $ac_aux_dir/ltcf-cxx.sh $host \
|| AC_MSG_ERROR([libtool tag configuration failed])
CC="$lt_save_CC"
CFLAGS="$lt_save_CFLAGS"
# Redirect the config.log output again, so that the ltconfig log is not
# clobbered by the next message.
exec 5>>./config.log
])
# AC_LIBTOOL_GCJ - enable support for GCJ libraries
AC_DEFUN(AC_LIBTOOL_GCJ,[AC_REQUIRE([_AC_LIBTOOL_GCJ])])
AC_DEFUN(_AC_LIBTOOL_GCJ,
[AC_REQUIRE([AC_PROG_LIBTOOL])
AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
[AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
[ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
[ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
[AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])
LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-gcj.sh"
lt_save_CC="$CC"
lt_save_CFLAGS="$CFLAGS"
dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC
dnl is set to the C++ compiler.
AR="$AR" LTCC="$CC" CC="$GCJ" CFLAGS="$GCJFLAGS" CPPFLAGS="" \
MAGIC="$MAGIC" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
deplibs_check_method="$deplibs_check_method" \
file_magic_cmd="$file_magic_cmd" \
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \
--build="$build" --add-tag=GCJ $ac_aux_dir/ltcf-gcj.sh $host \
|| AC_MSG_ERROR([libtool tag configuration failed])
CC="$lt_save_CC"
CFLAGS="$lt_save_CFLAGS"
# Redirect the config.log output again, so that the ltconfig log is not
# clobbered by the next message.
exec 5>>./config.log
])
dnl old names
dnl old names
AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl
AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl
AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl
AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl
...
@@ -428,3 +825,465 @@ AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
...
@@ -428,3 +825,465 @@ AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
dnl This is just to silence aclocal about the macro not being used
dnl This is just to silence aclocal about the macro not being used
ifelse([AC_DISABLE_FAST_INSTALL])dnl
ifelse([AC_DISABLE_FAST_INSTALL])dnl
AC_DEFUN([LT_AC_PROG_GCJ],[
AC_CHECK_TOOL(GCJ, gcj, no)
test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
AC_SUBST(GCJFLAGS)
])
## ltdl.m4 - Configure ltdl for the target system. -*-Shell-script-*-
## 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.
# serial 1 AC_LIB_LTDL
AC_DEFUN(AC_LIB_LTDL,
[AC_PREREQ(2.13)dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_C_CONST])dnl
AC_REQUIRE([AC_C_INLINE])dnl
dnl AC_LIB_LTDL must perform all the checks necessary for compilation
dnl of the ltdl objects -- including compiler checks (above) and header
dnl checks (below).
AC_REQUIRE([AC_HEADER_STDC])dnl
AC_CHECK_HEADERS(malloc.h memory.h stdlib.h stdio.h ctype.h dlfcn.h dl.h dld.h)
AC_CHECK_HEADERS(string.h strings.h, break)
AC_CHECK_FUNCS(strchr index, break)
AC_CHECK_FUNCS(strrchr rindex, break)
AC_CHECK_FUNCS(strcmp)
AC_REQUIRE([AC_LTDL_ENABLE_INSTALL])dnl
AC_REQUIRE([AC_LTDL_SHLIBEXT])dnl
AC_REQUIRE([AC_LTDL_SHLIBPATH])dnl
AC_REQUIRE([AC_LTDL_SYSSEARCHPATH])dnl
AC_REQUIRE([AC_LTDL_OBJDIR])dnl
AC_REQUIRE([AC_LTDL_DLPREOPEN])dnl
AC_REQUIRE([AC_LTDL_DLLIB])dnl
AC_REQUIRE([AC_LTDL_SYMBOL_USCORE])dnl
])
AC_DEFUN(AC_LTDL_ENABLE_INSTALL,
[AC_ARG_ENABLE(ltdl-install,
[ --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_DEFUN(AC_LTDL_SNARF_CONFIG,
[# Read the libtool configuration
rm -f conftest
./libtool --config > conftest
. ./conftest
rm -f conftest
])
AC_DEFUN(AC_LTDL_SHLIBEXT,
[AC_REQUIRE([AC_LTDL_SNARF_CONFIG])dnl
AC_CACHE_CHECK([which extension is used for shared libraries],
libltdl_cv_shlibext, [dnl
(
last=
for spec in $library_names_spec; do
last="$spec"
done
changequote(, )
echo "$last" | sed 's/\[.*\]//;s/^[^.]*//;s/\$.*$//;s/\.$//' > conftest
changequote([, ])
)
libltdl_cv_shlibext=`cat conftest`
rm -f conftest
])
if test -n "$libltdl_cv_shlibext"; then
AC_DEFINE_UNQUOTED(LTDL_SHLIB_EXT, "$libltdl_cv_shlibext",
[Define to the extension used for shared libraries, say, ".so". ])
fi
])
AC_DEFUN(AC_LTDL_SHLIBPATH,
[AC_REQUIRE([AC_LTDL_SNARF_CONFIG])dnl
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",
[Define to the name of the environment variable that determines the dynamic library search path. ])
fi
])
AC_DEFUN(AC_LTDL_SYSSEARCHPATH,
[AC_REQUIRE([AC_LTDL_SNARF_CONFIG])dnl
AC_CACHE_CHECK([for the default library search path],
libltdl_cv_sys_search_path, [libltdl_cv_sys_search_path="$sys_lib_dlsearch_path_spec"])
if test -n "$libltdl_cv_sys_search_path"; then
case "$host" in
*-*-mingw*) pathsep=";" ;;
*) pathsep=":" ;;
esac
sys_search_path=
for dir in $libltdl_cv_sys_search_path; do
if test -z "$sys_search_path"; then
sys_search_path="$dir"
else
sys_search_path="$sys_search_path$pathsep$dir"
fi
done
AC_DEFINE_UNQUOTED(LTDL_SYSSEARCHPATH, "$sys_search_path",
[Define to the system default library search path. ])
fi
])
AC_DEFUN(AC_LTDL_OBJDIR,
[AC_CACHE_CHECK([for objdir],
libltdl_cv_objdir, [libltdl_cv_objdir="$objdir"
if test -n "$objdir"; then
:
else
rm -f .libs 2>/dev/null
mkdir .libs 2>/dev/null
if test -d .libs; then
libltdl_cv_objdir=.libs
else
# MS-DOS does not allow filenames that begin with a dot.
libltdl_cv_objdir=_libs
fi
rmdir .libs 2>/dev/null
fi])
AC_DEFINE_UNQUOTED(LTDL_OBJDIR, "$libltdl_cv_objdir/",
[Define to the sub-directory in which libtool stores uninstalled libraries. ])
])
AC_DEFUN(AC_LTDL_DLPREOPEN,
[AC_REQUIRE([AC_LTDL_GLOBAL_SYMBOL_PIPE])dnl
AC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen],
libltdl_cv_preloaded_symbols, [dnl
if test -n "$global_symbol_pipe"; then
libltdl_cv_preloaded_symbols=yes
else
libltdl_cv_preloaded_symbols=no
fi
])
if test x"$libltdl_cv_preloaded_symbols" = x"yes"; then
AC_DEFINE(HAVE_PRELOADED_SYMBOLS, 1,
[Define if libtool can extract symbol lists from object files. ])
fi
])
AC_DEFUN(AC_LTDL_DLLIB,
[LIBADD_DL=
AC_CHECK_LIB(dl, dlopen, [AC_DEFINE(HAVE_LIBDL, 1,
[Define if you have the libdl library or equivalent. ]) LIBADD_DL="-ldl"],
[AC_CHECK_FUNC(dlopen, [AC_DEFINE(HAVE_LIBDL, 1,
[Define if you have the libdl library or equivalent.])],
[AC_CHECK_LIB(svld, dlopen, [AC_DEFINE(HAVE_LIBDL, 1,
[Define if you have the libdl library or equivalent.]) LIBADD_DL="-lsvld"]
)])])
AC_CHECK_FUNC(shl_load, [AC_DEFINE(HAVE_SHL_LOAD, 1,
[Define if you have the shl_load function.])],
[AC_CHECK_LIB(dld, shl_load,
[AC_DEFINE(HAVE_SHL_LOAD, 1,
[Define if you have the shl_load function.])
LIBADD_DL="$LIBADD_DL -ldld"])
])
AC_CHECK_LIB(dld, dld_link, [AC_DEFINE(HAVE_DLD, 1,
[Define if you have the GNU dld library.])dnl
test "x$ac_cv_lib_dld_shl_load" = yes || LIBADD_DL="$LIBADD_DL -ldld"])
AC_SUBST(LIBADD_DL)
if test "x$ac_cv_func_dlopen" = xyes || test "x$ac_cv_lib_dl_dlopen" = xyes; then
LIBS_SAVE="$LIBS"
LIBS="$LIBS $LIBADD_DL"
AC_CHECK_FUNCS(dlerror)
LIBS="$LIBS_SAVE"
fi
])
AC_DEFUN(AC_LTDL_GLOBAL_SYMBOL_PIPE,
[dnl Check for command to grab the raw symbol name followed
dnl by C symbol name from nm.
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_PROG_NM])dnl
# Check for command to grab the raw symbol name followed by C symbol from nm.
AC_MSG_CHECKING([command to parse $NM output])
AC_CACHE_VAL(ac_cv_sys_global_symbol_pipe,
[# These are sane defaults that work on at least a few old systems.
# {They come from Ultrix. What could be older than Ultrix?!! ;)}
changequote(,)dnl
# Character class describing NM global symbol codes.
ac_symcode='[BCDEGRST]'
# Regexp to match symbols that can be accessed directly from C.
ac_sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
# Transform the above into a raw symbol and a C symbol.
ac_symxfrm='\1 \2\3 \3'
# Transform an extracted symbol line into a proper C declaration
ac_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
# Define system-specific variables.
case "$host_os" in
aix*)
ac_symcode='[BCDT]'
;;
cygwin* | mingw*)
ac_symcode='[ABCDGISTW]'
;;
hpux*)
ac_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^. .* \(.*\)$/extern char \1;/p'"
;;
irix*)
ac_symcode='[BCDEGRST]'
;;
solaris*)
ac_symcode='[BDT]'
;;
esac
# If we're using GNU nm, then use its standard symbol codes.
if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
ac_symcode='[ABCDGISTW]'
fi
changequote([,])dnl
# Try without a prefix undercore, then with it.
for ac_symprfx in "" "_"; do
ac_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($ac_symcode\)[ ][ ]*\($ac_symprfx\)$ac_sympat$/$ac_symxfrm/p'"
# Check to see that the pipe works correctly.
ac_pipe_works=no
rm -f conftest.$ac_ext
cat > conftest.$ac_ext <<EOF
#ifdef __cplusplus
extern "C" {
#endif
char nm_test_var;
void nm_test_func(){}
#ifdef __cplusplus
}
#endif
int main(){nm_test_var='a';nm_test_func;return 0;}
EOF
if AC_TRY_EVAL(ac_compile); then
# Now try to grab the symbols.
ac_nlist=conftest.nm
if AC_TRY_EVAL(NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then
# Try sorting and uniquifying the output.
if sort "$ac_nlist" | uniq > "$ac_nlist"T; then
mv -f "$ac_nlist"T "$ac_nlist"
else
rm -f "$ac_nlist"T
fi
# Make sure that we snagged all the symbols we need.
if egrep ' nm_test_var$' "$ac_nlist" >/dev/null; then
if egrep ' nm_test_func$' "$ac_nlist" >/dev/null; then
cat <<EOF > conftest.c
#ifdef __cplusplus
extern "C" {
#endif
EOF
# Now generate the symbol file.
eval "$ac_global_symbol_to_cdecl"' < "$ac_nlist" >> conftest.c'
cat <<EOF >> conftest.c
#if defined (__STDC__) && __STDC__
# define lt_ptr_t void *
#else
# define lt_ptr_t char *
# define const
#endif
/* The mapping between symbol names and symbols. */
const struct {
const char *name;
lt_ptr_t address;
}
changequote(,)dnl
lt_preloaded_symbols[] =
changequote([,])dnl
{
EOF
sed 's/^. \(.*\) \(.*\)$/ {"\2", (lt_ptr_t) \&\2},/' < "$ac_nlist" >> conftest.c
cat <<\EOF >> conftest.c
{0, (lt_ptr_t) 0}
};
#ifdef __cplusplus
}
#endif
EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
ac_save_LIBS="$LIBS"
ac_save_CFLAGS="$CFLAGS"
LIBS="conftstm.$ac_objext"
CFLAGS="$CFLAGS$no_builtin_flag"
if AC_TRY_EVAL(ac_link) && test -s conftest; then
ac_pipe_works=yes
else
echo "configure: failed program was:" >&AC_FD_CC
cat conftest.c >&AC_FD_CC
fi
LIBS="$ac_save_LIBS"
CFLAGS="$ac_save_CFLAGS"
else
echo "cannot find nm_test_func in $ac_nlist" >&AC_FD_CC
fi
else
echo "cannot find nm_test_var in $ac_nlist" >&AC_FD_CC
fi
else
echo "cannot run $ac_cv_sys_global_symbol_pipe" >&AC_FD_CC
fi
else
echo "$progname: failed program was:" >&AC_FD_CC
cat conftest.c >&AC_FD_CC
fi
rm -rf conftest* conftst*
# Do not use the global_symbol_pipe unless it works.
if test "$ac_pipe_works" = yes; then
if test x"$ac_symprfx" = x"_"; then
ac_cv_sys_symbol_underscore=yes
else
ac_cv_sys_symbol_underscore=no
fi
break
else
ac_cv_sys_global_symbol_pipe=
fi
done
])
ac_result=yes
if test -z "$ac_cv_sys_global_symbol_pipe"; then
ac_result=no
fi
AC_MSG_RESULT($ac_result)
])
AC_DEFUN(AC_LTDL_SYMBOL_USCORE,
[dnl does the compiler prefix global symbols with an underscore?
AC_REQUIRE([AC_LTDL_GLOBAL_SYMBOL_PIPE])dnl
AC_MSG_CHECKING([for _ prefix in compiled symbols])
AC_CACHE_VAL(ac_cv_sys_symbol_underscore,
[ac_cv_sys_symbol_underscore=no
cat > conftest.$ac_ext <<EOF
void nm_test_func(){}
int main(){nm_test_func;return 0;}
EOF
if AC_TRY_EVAL(ac_compile); then
# Now try to grab the symbols.
ac_nlist=conftest.nm
if AC_TRY_EVAL(NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then
# See whether the symbols have a leading underscore.
if egrep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
ac_cv_sys_symbol_underscore=yes
else
if egrep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
:
else
echo "configure: cannot find nm_test_func in $ac_nlist" >&AC_FD_CC
fi
fi
else
echo "configure: cannot run $ac_cv_sys_global_symbol_pipe" >&AC_FD_CC
fi
else
echo "configure: failed program was:" >&AC_FD_CC
cat conftest.c >&AC_FD_CC
fi
rm -rf conftest*
])
AC_MSG_RESULT($ac_cv_sys_symbol_underscore)
AC_LTDL_DLSYM_USCORE
])
AC_DEFUN(AC_LTDL_DLSYM_USCORE,
[AC_REQUIRE([AC_LTDL_SYMBOL_USCORE])dnl
if test x"$ac_cv_sys_symbol_underscore" = xyes; then
if test x"$ac_cv_func_dlopen" = xyes ||
test x"$ac_cv_lib_dl_dlopen" = xyes ; then
AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
libltdl_cv_need_uscore, [dnl
AC_TRY_RUN([
#if HAVE_DLFCN_H
#include <dlfcn.h>
#endif
#include <stdio.h>
#ifdef RTLD_GLOBAL
# define LTDL_GLOBAL RTLD_GLOBAL
#else
# ifdef DL_GLOBAL
# define LTDL_GLOBAL DL_GLOBAL
# else
# define LTDL_GLOBAL 0
# endif
#endif
/* We may have to define LTDL_LAZY_OR_NOW in the command line if we
find out it does not work in some platform. */
#ifndef LTDL_LAZY_OR_NOW
# ifdef RTLD_LAZY
# define LTDL_LAZY_OR_NOW RTLD_LAZY
# else
# ifdef DL_LAZY
# define LTDL_LAZY_OR_NOW DL_LAZY
# else
# ifdef RTLD_NOW
# define LTDL_LAZY_OR_NOW RTLD_NOW
# else
# ifdef DL_NOW
# define LTDL_LAZY_OR_NOW DL_NOW
# else
# define LTDL_LAZY_OR_NOW 0
# endif
# endif
# endif
# endif
#endif
fnord() { int i=42;}
main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
if(ptr1 && !ptr2) { dlclose(self); exit(0); } } exit(1); }
], libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes,
libltdl_cv_need_uscore=cross
)])
fi
fi
if test x"$libltdl_cv_need_uscore" = xyes; then
AC_DEFINE(NEED_USCORE, 1,
[Define if dlsym() requires a leading underscode in symbol names. ])
fi
])
libjava/libltdl/aclocal.m4
View file @
205f5ac6
...
@@ -11,27 +11,53 @@ dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
...
@@ -11,27 +11,53 @@ dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
dnl PARTICULAR PURPOSE.
dnl PARTICULAR PURPOSE.
# serial 40 AC_PROG_LIBTOOL
# serial 45 AC_PROG_LIBTOOL
AC_DEFUN(AC_PROG_LIBTOOL,
AC_DEFUN(AC_PROG_LIBTOOL,[AC_REQUIRE([_AC_PROG_LIBTOOL])
dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
AC_PROVIDE_IFELSE([AC_PROG_CXX],
[AC_LIBTOOL_CXX],
[define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
])])
dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
AC_PROVIDE_IFELSE([AC_PROG_GCJ],
[AC_LIBTOOL_GCJ],
[AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
[AC_LIBTOOL_GCJ],
[ifdef([AC_PROG_GCJ],
[define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ
])])
ifdef([A][M_PROG_GCJ],
[define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ
])])])])])
AC_DEFUN(_AC_PROG_LIBTOOL,
[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
# Save cache, so that ltconfig can load it
# Save cache, so that ltconfig can load it
AC_CACHE_SAVE
AC_CACHE_SAVE
# Actually configure libtool. ac_aux_dir is where install-sh is found.
# Actually configure libtool. ac_aux_dir is where install-sh is found.
CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
AR="$AR" LTCC="$CC" CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
MAGIC="$MAGIC" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
deplibs_check_method="$deplibs_check_method" file_magic_cmd="$file_magic_cmd" \
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
$libtool_flags --no-verify
$ac_aux_dir/ltmain.sh $lt_targe
t \
$libtool_flags --no-verify
--build="$build" $ac_aux_dir/ltmain.sh $hos
t \
|| AC_MSG_ERROR([libtool configure failed])
|| AC_MSG_ERROR([libtool configure failed])
# Reload cache, that may have been modified by ltconfig
# Reload cache, that may have been modified by ltconfig
AC_CACHE_LOAD
AC_CACHE_LOAD
# This can be used to rebuild libtool when needed
# This can be used to rebuild libtool when needed
LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh
$ac_aux_dir/ltcf-c.sh
"
# Always use our own libtool.
# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
...
@@ -49,18 +75,29 @@ AC_REQUIRE([AC_ENABLE_STATIC])dnl
...
@@ -49,18 +75,29 @@ AC_REQUIRE([AC_ENABLE_STATIC])dnl
AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
AC_REQUIRE([AC_PROG_RANLIB])dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_PROG_LD])dnl
AC_REQUIRE([AC_PROG_LD])dnl
AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
AC_REQUIRE([AC_PROG_NM])dnl
AC_REQUIRE([AC_PROG_NM])dnl
AC_REQUIRE([AC_PROG_LN_S])dnl
AC_REQUIRE([AC_PROG_LN_S])dnl
AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
AC_REQUIRE([AC_OBJEXT])dnl
AC_REQUIRE([AC_EXEEXT])dnl
dnl
dnl
case "$target" in
# Only perform the check for file, if the check method requires it
NONE) lt_target="$host" ;;
case "$deplibs_check_method" in
*) lt_target="$target" ;;
file_magic*)
if test "$file_magic_cmd" = '${MAGIC}'; then
AC_PATH_MAGIC
fi
;;
esac
esac
AC_CHECK_TOOL(RANLIB, ranlib, :)
AC_CHECK_TOOL(STRIP, strip, :)
# Check for any special flags to pass to ltconfig.
# Check for any special flags to pass to ltconfig.
libtool_flags="--cache-file=$cache_file"
libtool_flags="--cache-file=$cache_file"
test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
...
@@ -77,9 +114,15 @@ AC_ARG_ENABLE(libtool-lock,
...
@@ -77,9 +114,15 @@ AC_ARG_ENABLE(libtool-lock,
test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
AC_ARG_WITH(pic,
[ --with-pic try to use only PIC/non-PIC objects [default=use both]],
pic_mode="$withval", pic_mode=default)
test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic"
test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
# Some flags need to be propagated to the compiler or linker for good
# Some flags need to be propagated to the compiler or linker for good
# libtool support.
# libtool support.
case "$
lt_targe
t" in
case "$
hos
t" in
*-*-irix6*)
*-*-irix6*)
# Find out which ABI we are using.
# Find out which ABI we are using.
echo '[#]line __oline__ "configure"' > conftest.$ac_ext
echo '[#]line __oline__ "configure"' > conftest.$ac_ext
...
@@ -104,7 +147,10 @@ case "$lt_target" in
...
@@ -104,7 +147,10 @@ case "$lt_target" in
SAVE_CFLAGS="$CFLAGS"
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
CFLAGS="$CFLAGS -belf"
AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
[AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])])
[AC_LANG_SAVE
AC_LANG_C
AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
AC_LANG_RESTORE])
if test x"$lt_cv_cc_needs_belf" != x"yes"; then
if test x"$lt_cv_cc_needs_belf" != x"yes"; then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
CFLAGS="$SAVE_CFLAGS"
CFLAGS="$SAVE_CFLAGS"
...
@@ -116,8 +162,31 @@ ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
...
@@ -116,8 +162,31 @@ ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
AC_CHECK_TOOL(AS, as, false)
AC_CHECK_TOOL(AS, as, false)
AC_CHECK_TOOL(OBJDUMP, objdump, false)
AC_CHECK_TOOL(OBJDUMP, objdump, false)
# recent cygwin and mingw systems supply a stub DllMain which the user
# can override, but on older systems we have to supply one
AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain,
[AC_TRY_LINK([],
[extern int __attribute__((__stdcall__)) DllMain(void*, int, void*);
DllMain (0, 0, 0);],
[lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])])
case "$host/$CC" in
*-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*)
# old mingw systems require "-dll" to link a DLL, while more recent ones
# require "-mdll"
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -mdll"
AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch,
[AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])])
CFLAGS="$SAVE_CFLAGS" ;;
*-*-cygwin*)
# cygwin systems need to pass --dll to the linker, and not link
# crt.o which will require a WinMain@16 definition.
lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;;
esac
;;
;;
])
])
esac
esac
])
])
...
@@ -223,10 +292,94 @@ esac],
...
@@ -223,10 +292,94 @@ esac],
enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
])
])
# AC_
EN
ABLE_FAST_INSTALL - set the default to --disable-fast-install
# AC_
DIS
ABLE_FAST_INSTALL - set the default to --disable-fast-install
AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
AC_ENABLE_FAST_INSTALL(no)])
AC_ENABLE_FAST_INSTALL(no)])
# AC_LIBTOOL_PICMODE - implement the --with-pic flag
# Usage: AC_LIBTOOL_PICMODE[(MODE)]
# Where MODE is either `yes' or `no'. If omitted, it defaults to
# `both'.
AC_DEFUN(AC_LIBTOOL_PICMODE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
pic_mode=ifelse($#,1,$1,default)])
# AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library
AC_DEFUN(AC_PATH_TOOL_PREFIX,
[AC_MSG_CHECKING([for $1])
AC_CACHE_VAL(lt_cv_path_MAGIC,
[case "$MAGIC" in
/*)
lt_cv_path_MAGIC="$MAGIC" # Let the user override the test with a path.
;;
?:/*)
ac_cv_path_MAGIC="$MAGIC" # Let the user override the test with a dos path.
;;
*)
ac_save_MAGIC="$MAGIC"
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
dnl $ac_dummy forces splitting on constant user-supplied paths.
dnl POSIX.2 word splitting is done only on the output of word expansions,
dnl not every word. This closes a longstanding sh security hole.
ac_dummy="ifelse([$2], , $PATH, [$2])"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$1; then
lt_cv_path_MAGIC="$ac_dir/$1"
if test -n "$file_magic_test_file"; then
case "$deplibs_check_method" in
"file_magic "*)
file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
MAGIC="$lt_cv_path_MAGIC"
if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
egrep "$file_magic_regex" > /dev/null; then
:
else
cat <<EOF 1>&2
*** Warning: the command libtool uses to detect shared libraries,
*** $file_magic_cmd, produces output that libtool cannot recognize.
*** The result is that libtool may fail to recognize shared libraries
*** as such. This will affect the creation of libtool libraries that
*** depend on shared libraries, but programs linked with such libtool
*** libraries will work regardless of this problem. Nevertheless, you
*** may want to report the problem to your system manager and/or to
*** bug-libtool@gnu.org
EOF
fi ;;
esac
fi
break
fi
done
IFS="$ac_save_ifs"
MAGIC="$ac_save_MAGIC"
;;
esac])
MAGIC="$lt_cv_path_MAGIC"
if test -n "$MAGIC"; then
AC_MSG_RESULT($MAGIC)
else
AC_MSG_RESULT(no)
fi
])
# AC_PATH_MAGIC - find a file program which can recognise a shared library
AC_DEFUN(AC_PATH_MAGIC,
[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl
AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH)
if test -z "$lt_cv_path_MAGIC"; then
if test -n "$ac_tool_prefix"; then
AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH)
else
MAGIC=:
fi
fi
])
# AC_PROG_LD - find the path to the GNU or non-GNU linker
# AC_PROG_LD - find the path to the GNU or non-GNU linker
AC_DEFUN(AC_PROG_LD,
AC_DEFUN(AC_PROG_LD,
[AC_ARG_WITH(gnu-ld,
[AC_ARG_WITH(gnu-ld,
...
@@ -239,7 +392,13 @@ ac_prog=ld
...
@@ -239,7 +392,13 @@ ac_prog=ld
if test "$ac_cv_prog_gcc" = yes; then
if test "$ac_cv_prog_gcc" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
# Check if gcc -print-prog-name=ld gives a path.
AC_MSG_CHECKING([for ld used by GCC])
AC_MSG_CHECKING([for ld used by GCC])
ac_prog=`($CC -print-prog-name=ld) 2>&5`
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
*)
ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
esac
case "$ac_prog" in
case "$ac_prog" in
# Accept absolute paths.
# Accept absolute paths.
changequote(,)dnl
changequote(,)dnl
...
@@ -306,8 +465,172 @@ if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
...
@@ -306,8 +465,172 @@ if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
else
else
ac_cv_prog_gnu_ld=no
ac_cv_prog_gnu_ld=no
fi])
fi])
with_gnu_ld=$ac_cv_prog_gnu_ld
])
# AC_PROG_LD_RELOAD_FLAG - find reload flag for linker
# -- PORTME Some linkers may need a different reload flag.
AC_DEFUN(AC_PROG_LD_RELOAD_FLAG,
[AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag,
[lt_cv_ld_reload_flag='-r'])
reload_flag=$lt_cv_ld_reload_flag
test -n "$reload_flag" && reload_flag=" $reload_flag"
])
])
# AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies
# -- PORTME fill in with the dynamic library characteristics
AC_DEFUN(AC_DEPLIBS_CHECK_METHOD,
[AC_CACHE_CHECK([how to recognise dependant libraries],
lt_cv_deplibs_check_method,
[lt_cv_file_magic_cmd='${MAGIC}'
lt_cv_file_magic_test_file=
lt_cv_deplibs_check_method='unknown'
# Need to set the preceding variable on all platforms that support
# interlibrary dependencies.
# 'none' -- dependencies not supported.
# `unknown' -- same as none, but documents that we really don't know.
# 'pass_all' -- all dependencies passed with no checks.
# 'test_compile' -- check by making test program.
# 'file_magic [regex]' -- check by looking for files in library path
# which responds to the $file_magic_cmd with a given egrep regex.
# If you have `file' or equivalent on your system and you're not sure
# whether `pass_all' will *always* work, you probably want this one.
case "$host_os" in
aix4*)
lt_cv_deplibs_check_method=pass_all
;;
beos*)
lt_cv_deplibs_check_method=pass_all
;;
bsdi4*)
changequote(,)dnl
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
changequote([, ])dnl
lt_cv_file_magic_cmd='/usr/bin/file -L'
lt_cv_file_magic_test_file=/shlib/libc.so
;;
cygwin* | mingw*)
lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
lt_cv_file_magic_cmd='${OBJDUMP} -f'
;;
freebsd* )
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
case "$host_cpu" in
i*86 )
# Not sure whether the presence of OpenBSD here was a mistake.
# Let's accept both of them until this is cleared up.
changequote(,)dnl
lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library'
changequote([, ])dnl
lt_cv_file_magic_cmd=/usr/bin/file
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
;;
esac
else
lt_cv_deplibs_check_method=pass_all
fi
;;
gnu*)
lt_cv_deplibs_check_method=pass_all
;;
hpux10.20*)
# TODO: Does this work for hpux-11 too?
lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
lt_cv_file_magic_cmd=/usr/bin/file
lt_cv_file_magic_test_file=/usr/lib/libc.sl
;;
irix5* | irix6*)
case "$host_os" in
irix5*)
# this will be overridden with pass_all, but let us keep it just in case
lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
;;
*)
case "$LD" in
*-32|*"-32 ") libmagic=32-bit;;
*-n32|*"-n32 ") libmagic=N32;;
*-64|*"-64 ") libmagic=64-bit;;
*) libmagic=never-match;;
esac
# this will be overridden with pass_all, but let us keep it just in case
changequote(,)dnl
lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"
changequote([, ])dnl
;;
esac
lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
lt_cv_deplibs_check_method=pass_all
;;
# This must be Linux ELF.
linux-gnu*)
case "$host_cpu" in
alpha* | i*86 | powerpc* | sparc* | ia64* )
lt_cv_deplibs_check_method=pass_all ;;
*)
# glibc up to 2.1.1 does not perform some relocations on ARM
changequote(,)dnl
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;
changequote([, ])dnl
esac
lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
;;
netbsd*)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then :
else
changequote(,)dnl
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object'
changequote([, ])dnl
lt_cv_file_magic_cmd='/usr/bin/file -L'
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
fi
;;
osf3* | osf4* | osf5*)
# this will be overridden with pass_all, but let us keep it just in case
lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
lt_cv_file_magic_test_file=/shlib/libc.so
lt_cv_deplibs_check_method=pass_all
;;
sco3.2v5*)
lt_cv_deplibs_check_method=pass_all
;;
solaris*)
lt_cv_deplibs_check_method=pass_all
lt_cv_file_magic_test_file=/lib/libc.so
;;
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
case "$host_vendor" in
ncr)
lt_cv_deplibs_check_method=pass_all
;;
motorola)
changequote(,)dnl
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
changequote([, ])dnl
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
;;
esac
;;
esac
])
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
])
# AC_PROG_NM - find the path to a BSD-compatible name lister
# AC_PROG_NM - find the path to a BSD-compatible name lister
AC_DEFUN(AC_PROG_NM,
AC_DEFUN(AC_PROG_NM,
[AC_MSG_CHECKING([for BSD-compatible nm])
[AC_MSG_CHECKING([for BSD-compatible nm])
...
@@ -319,18 +642,20 @@ else
...
@@ -319,18 +642,20 @@ else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
test -z "$ac_dir" && ac_dir=.
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then
tmp_nm=$ac_dir/${ac_tool_prefix}nm
if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then
# Check to see if the nm accepts a BSD-compat flag.
# Check to see if the nm accepts a BSD-compat flag.
# Adding the `sed 1q' prevents false positives on HP-UX, which says:
# Adding the `sed 1q' prevents false positives on HP-UX, which says:
# nm: unknown option "B" ignored
# nm: unknown option "B" ignored
if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
# Tru64's nm complains that /dev/null is an invalid object file
ac_cv_path_NM="$ac_dir/nm -B"
if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then
ac_cv_path_NM="$tmp_nm -B"
break
break
elif ($
ac_dir/
nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
elif ($
tmp_
nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
ac_cv_path_NM="$
ac_dir/
nm -p"
ac_cv_path_NM="$
tmp_
nm -p"
break
break
else
else
ac_cv_path_NM=${ac_cv_path_NM="$
ac_dir/
nm"} # keep the first match, but
ac_cv_path_NM=${ac_cv_path_NM="$
tmp_
nm"} # keep the first match, but
continue # so that we can try to find one that supports BSD flags
continue # so that we can try to find one that supports BSD flags
fi
fi
fi
fi
...
@@ -346,7 +671,7 @@ AC_MSG_RESULT([$NM])
...
@@ -346,7 +671,7 @@ AC_MSG_RESULT([$NM])
AC_DEFUN(AC_CHECK_LIBM,
AC_DEFUN(AC_CHECK_LIBM,
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
LIBM=
LIBM=
case "$
lt_targe
t" in
case "$
hos
t" in
*-*-beos* | *-*-cygwin*)
*-*-beos* | *-*-cygwin*)
# These system don't have libm
# These system don't have libm
;;
;;
...
@@ -361,31 +686,35 @@ esac
...
@@ -361,31 +686,35 @@ esac
])
])
# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
# the libltdl convenience library, adds --enable-ltdl-convenience to
# the libltdl convenience library and INCLTDL to the include flags for
# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
# the libltdl header and adds --enable-ltdl-convenience to the
# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
# configure arguments. Note that LIBLTDL and INCLTDL are not
# to be `${top_builddir}/libltdl'. Make sure you start DIR with
# AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If DIR is not
# '${top_builddir}/' (note the single quotes!) if your package is not
# provided, it is assumed to be `libltdl'. LIBLTDL will be prefixed
# flat, and, if you're not using automake, define top_builddir as
# with '${top_builddir}/' and INCLTDL will be prefixed with
# appropriate in the Makefiles.
# '${top_srcdir}/' (note the single quotes!). If your package is not
# flat and you're not using automake, define top_builddir and
# top_srcdir appropriately in the Makefiles.
AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
case "$enable_ltdl_convenience" in
case "$enable_ltdl_convenience" in
no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
"") enable_ltdl_convenience=yes
"") enable_ltdl_convenience=yes
ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
esac
esac
LIBLTDL=
ifelse($#,1,$1,['${top_builddir}/
libltdl'])/libltdlc.la
LIBLTDL=
'${top_builddir}/'ifelse($#,1,[$1],['
libltdl'])/libltdlc.la
INCLTDL=
ifelse($#,1,-I$1,['-I${top_builddir}/
libltdl'])
INCLTDL=
'-I${top_srcdir}/'ifelse($#,1,[$1],['
libltdl'])
])
])
# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
# the libltdl installable library, and adds --enable-ltdl-install to
# the libltdl installable library and INCLTDL to the include flags for
# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
# the libltdl header and adds --enable-ltdl-install to the configure
# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
# arguments. Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is
# to be `${top_builddir}/libltdl'. Make sure you start DIR with
# AC_CONFIG_SUBDIRS called. If DIR is not provided and an installed
# '${top_builddir}/' (note the single quotes!) if your package is not
# libltdl is not found, it is assumed to be `libltdl'. LIBLTDL will
# flat, and, if you're not using automake, define top_builddir as
# be prefixed with '${top_builddir}/' and INCLTDL will be prefixed
# appropriate in the Makefiles.
# with '${top_srcdir}/' (note the single quotes!). If your package is
# not flat and you're not using automake, define top_builddir and
# top_srcdir appropriately in the Makefiles.
# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
AC_CHECK_LIB(ltdl, main,
AC_CHECK_LIB(ltdl, main,
...
@@ -398,8 +727,8 @@ AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
...
@@ -398,8 +727,8 @@ AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
])
])
if test x"$enable_ltdl_install" = x"yes"; then
if test x"$enable_ltdl_install" = x"yes"; then
ac_configure_args="$ac_configure_args --enable-ltdl-install"
ac_configure_args="$ac_configure_args --enable-ltdl-install"
LIBLTDL=
ifelse($#,1,$1,['${top_builddir}/
libltdl'])/libltdl.la
LIBLTDL=
'${top_builddir}/'ifelse($#,1,[$1],['
libltdl'])/libltdl.la
INCLTDL=
ifelse($#,1,-I$1,['-I${top_builddir}/
libltdl'])
INCLTDL=
'-I${top_srcdir}/'ifelse($#,1,[$1],['
libltdl'])
else
else
ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
LIBLTDL="-lltdl"
LIBLTDL="-lltdl"
...
@@ -407,6 +736,74 @@ AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
...
@@ -407,6 +736,74 @@ AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
fi
fi
])
])
# If this macro is not defined by Autoconf, define it here.
ifdef([AC_PROVIDE_IFELSE],
[],
[define([AC_PROVIDE_IFELSE],
[ifdef([AC_PROVIDE_$1],
[$2], [$3])])])
# AC_LIBTOOL_CXX - enable support for C++ libraries
AC_DEFUN(AC_LIBTOOL_CXX,[AC_REQUIRE([_AC_LIBTOOL_CXX])])
AC_DEFUN(_AC_LIBTOOL_CXX,
[AC_REQUIRE([AC_PROG_LIBTOOL])
AC_REQUIRE([AC_PROG_CXX])
AC_REQUIRE([AC_PROG_CXXCPP])
LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-cxx.sh"
lt_save_CC="$CC"
lt_save_CFLAGS="$CFLAGS"
dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC
dnl is set to the C++ compiler.
AR="$AR" LTCC="$CC" CC="$CXX" CXX="$CXX" CFLAGS="$CXXFLAGS" CPPFLAGS="$CPPFLAGS" \
MAGIC="$MAGIC" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
deplibs_check_method="$deplibs_check_method" \
file_magic_cmd="$file_magic_cmd" \
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \
--build="$build" --add-tag=CXX $ac_aux_dir/ltcf-cxx.sh $host \
|| AC_MSG_ERROR([libtool tag configuration failed])
CC="$lt_save_CC"
CFLAGS="$lt_save_CFLAGS"
# Redirect the config.log output again, so that the ltconfig log is not
# clobbered by the next message.
exec 5>>./config.log
])
# AC_LIBTOOL_GCJ - enable support for GCJ libraries
AC_DEFUN(AC_LIBTOOL_GCJ,[AC_REQUIRE([_AC_LIBTOOL_GCJ])])
AC_DEFUN(_AC_LIBTOOL_GCJ,
[AC_REQUIRE([AC_PROG_LIBTOOL])
AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
[AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
[ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
[ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
[AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])
LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-gcj.sh"
lt_save_CC="$CC"
lt_save_CFLAGS="$CFLAGS"
dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC
dnl is set to the C++ compiler.
AR="$AR" LTCC="$CC" CC="$GCJ" CFLAGS="$GCJFLAGS" CPPFLAGS="" \
MAGIC="$MAGIC" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
deplibs_check_method="$deplibs_check_method" \
file_magic_cmd="$file_magic_cmd" \
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \
--build="$build" --add-tag=GCJ $ac_aux_dir/ltcf-gcj.sh $host \
|| AC_MSG_ERROR([libtool tag configuration failed])
CC="$lt_save_CC"
CFLAGS="$lt_save_CFLAGS"
# Redirect the config.log output again, so that the ltconfig log is not
# clobbered by the next message.
exec 5>>./config.log
])
dnl old names
dnl old names
AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl
AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl
AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl
AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl
...
@@ -419,6 +816,460 @@ AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
...
@@ -419,6 +816,460 @@ AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
dnl This is just to silence aclocal about the macro not being used
dnl This is just to silence aclocal about the macro not being used
ifelse([AC_DISABLE_FAST_INSTALL])dnl
ifelse([AC_DISABLE_FAST_INSTALL])dnl
AC_DEFUN([LT_AC_PROG_GCJ],[
AC_CHECK_TOOL(GCJ, gcj, no)
test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
AC_SUBST(GCJFLAGS)
])
# serial 1 AC_LIB_LTDL
AC_DEFUN(AC_LIB_LTDL,
[AC_PREREQ(2.13)dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_C_CONST])dnl
AC_REQUIRE([AC_C_INLINE])dnl
dnl AC_LIB_LTDL must perform all the checks necessary for compilation
dnl of the ltdl objects -- including compiler checks (above) and header
dnl checks (below).
AC_REQUIRE([AC_HEADER_STDC])dnl
AC_CHECK_HEADERS(malloc.h memory.h stdlib.h stdio.h ctype.h dlfcn.h dl.h dld.h)
AC_CHECK_HEADERS(string.h strings.h, break)
AC_CHECK_FUNCS(strchr index, break)
AC_CHECK_FUNCS(strrchr rindex, break)
AC_CHECK_FUNCS(strcmp)
AC_REQUIRE([AC_LTDL_ENABLE_INSTALL])dnl
AC_REQUIRE([AC_LTDL_SHLIBEXT])dnl
AC_REQUIRE([AC_LTDL_SHLIBPATH])dnl
AC_REQUIRE([AC_LTDL_SYSSEARCHPATH])dnl
AC_REQUIRE([AC_LTDL_OBJDIR])dnl
AC_REQUIRE([AC_LTDL_DLPREOPEN])dnl
AC_REQUIRE([AC_LTDL_DLLIB])dnl
AC_REQUIRE([AC_LTDL_SYMBOL_USCORE])dnl
])
AC_DEFUN(AC_LTDL_ENABLE_INSTALL,
[AC_ARG_ENABLE(ltdl-install,
[ --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_DEFUN(AC_LTDL_SNARF_CONFIG,
[# Read the libtool configuration
rm -f conftest
./libtool --config > conftest
. ./conftest
rm -f conftest
])
AC_DEFUN(AC_LTDL_SHLIBEXT,
[AC_REQUIRE([AC_LTDL_SNARF_CONFIG])dnl
AC_CACHE_CHECK([which extension is used for shared libraries],
libltdl_cv_shlibext, [dnl
(
last=
for spec in $library_names_spec; do
last="$spec"
done
changequote(, )
echo "$last" | sed 's/\[.*\]//;s/^[^.]*//;s/\$.*$//;s/\.$//' > conftest
changequote([, ])
)
libltdl_cv_shlibext=`cat conftest`
rm -f conftest
])
if test -n "$libltdl_cv_shlibext"; then
AC_DEFINE_UNQUOTED(LTDL_SHLIB_EXT, "$libltdl_cv_shlibext",
[Define to the extension used for shared libraries, say, ".so". ])
fi
])
AC_DEFUN(AC_LTDL_SHLIBPATH,
[AC_REQUIRE([AC_LTDL_SNARF_CONFIG])dnl
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",
[Define to the name of the environment variable that determines the dynamic library search path. ])
fi
])
AC_DEFUN(AC_LTDL_SYSSEARCHPATH,
[AC_REQUIRE([AC_LTDL_SNARF_CONFIG])dnl
AC_CACHE_CHECK([for the default library search path],
libltdl_cv_sys_search_path, [libltdl_cv_sys_search_path="$sys_lib_dlsearch_path_spec"])
if test -n "$libltdl_cv_sys_search_path"; then
case "$host" in
*-*-mingw*) pathsep=";" ;;
*) pathsep=":" ;;
esac
sys_search_path=
for dir in $libltdl_cv_sys_search_path; do
if test -z "$sys_search_path"; then
sys_search_path="$dir"
else
sys_search_path="$sys_search_path$pathsep$dir"
fi
done
AC_DEFINE_UNQUOTED(LTDL_SYSSEARCHPATH, "$sys_search_path",
[Define to the system default library search path. ])
fi
])
AC_DEFUN(AC_LTDL_OBJDIR,
[AC_CACHE_CHECK([for objdir],
libltdl_cv_objdir, [libltdl_cv_objdir="$objdir"
if test -n "$objdir"; then
:
else
rm -f .libs 2>/dev/null
mkdir .libs 2>/dev/null
if test -d .libs; then
libltdl_cv_objdir=.libs
else
# MS-DOS does not allow filenames that begin with a dot.
libltdl_cv_objdir=_libs
fi
rmdir .libs 2>/dev/null
fi])
AC_DEFINE_UNQUOTED(LTDL_OBJDIR, "$libltdl_cv_objdir/",
[Define to the sub-directory in which libtool stores uninstalled libraries. ])
])
AC_DEFUN(AC_LTDL_DLPREOPEN,
[AC_REQUIRE([AC_LTDL_GLOBAL_SYMBOL_PIPE])dnl
AC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen],
libltdl_cv_preloaded_symbols, [dnl
if test -n "$global_symbol_pipe"; then
libltdl_cv_preloaded_symbols=yes
else
libltdl_cv_preloaded_symbols=no
fi
])
if test x"$libltdl_cv_preloaded_symbols" = x"yes"; then
AC_DEFINE(HAVE_PRELOADED_SYMBOLS, 1,
[Define if libtool can extract symbol lists from object files. ])
fi
])
AC_DEFUN(AC_LTDL_DLLIB,
[LIBADD_DL=
AC_CHECK_LIB(dl, dlopen, [AC_DEFINE(HAVE_LIBDL, 1,
[Define if you have the libdl library or equivalent. ]) LIBADD_DL="-ldl"],
[AC_CHECK_FUNC(dlopen, [AC_DEFINE(HAVE_LIBDL, 1,
[Define if you have the libdl library or equivalent.])],
[AC_CHECK_LIB(svld, dlopen, [AC_DEFINE(HAVE_LIBDL, 1,
[Define if you have the libdl library or equivalent.]) LIBADD_DL="-lsvld"]
)])])
AC_CHECK_FUNC(shl_load, [AC_DEFINE(HAVE_SHL_LOAD, 1,
[Define if you have the shl_load function.])],
[AC_CHECK_LIB(dld, shl_load,
[AC_DEFINE(HAVE_SHL_LOAD, 1,
[Define if you have the shl_load function.])
LIBADD_DL="$LIBADD_DL -ldld"])
])
AC_CHECK_LIB(dld, dld_link, [AC_DEFINE(HAVE_DLD, 1,
[Define if you have the GNU dld library.])dnl
test "x$ac_cv_lib_dld_shl_load" = yes || LIBADD_DL="$LIBADD_DL -ldld"])
AC_SUBST(LIBADD_DL)
if test "x$ac_cv_func_dlopen" = xyes || test "x$ac_cv_lib_dl_dlopen" = xyes; then
LIBS_SAVE="$LIBS"
LIBS="$LIBS $LIBADD_DL"
AC_CHECK_FUNCS(dlerror)
LIBS="$LIBS_SAVE"
fi
])
AC_DEFUN(AC_LTDL_GLOBAL_SYMBOL_PIPE,
[dnl Check for command to grab the raw symbol name followed
dnl by C symbol name from nm.
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_PROG_NM])dnl
# Check for command to grab the raw symbol name followed by C symbol from nm.
AC_MSG_CHECKING([command to parse $NM output])
AC_CACHE_VAL(ac_cv_sys_global_symbol_pipe,
[# These are sane defaults that work on at least a few old systems.
# {They come from Ultrix. What could be older than Ultrix?!! ;)}
changequote(,)dnl
# Character class describing NM global symbol codes.
ac_symcode='[BCDEGRST]'
# Regexp to match symbols that can be accessed directly from C.
ac_sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
# Transform the above into a raw symbol and a C symbol.
ac_symxfrm='\1 \2\3 \3'
# Transform an extracted symbol line into a proper C declaration
ac_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
# Define system-specific variables.
case "$host_os" in
aix*)
ac_symcode='[BCDT]'
;;
cygwin* | mingw*)
ac_symcode='[ABCDGISTW]'
;;
hpux*)
ac_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^. .* \(.*\)$/extern char \1;/p'"
;;
irix*)
ac_symcode='[BCDEGRST]'
;;
solaris*)
ac_symcode='[BDT]'
;;
esac
# If we're using GNU nm, then use its standard symbol codes.
if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
ac_symcode='[ABCDGISTW]'
fi
changequote([,])dnl
# Try without a prefix undercore, then with it.
for ac_symprfx in "" "_"; do
ac_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($ac_symcode\)[ ][ ]*\($ac_symprfx\)$ac_sympat$/$ac_symxfrm/p'"
# Check to see that the pipe works correctly.
ac_pipe_works=no
rm -f conftest.$ac_ext
cat > conftest.$ac_ext <<EOF
#ifdef __cplusplus
extern "C" {
#endif
char nm_test_var;
void nm_test_func(){}
#ifdef __cplusplus
}
#endif
int main(){nm_test_var='a';nm_test_func;return 0;}
EOF
if AC_TRY_EVAL(ac_compile); then
# Now try to grab the symbols.
ac_nlist=conftest.nm
if AC_TRY_EVAL(NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then
# Try sorting and uniquifying the output.
if sort "$ac_nlist" | uniq > "$ac_nlist"T; then
mv -f "$ac_nlist"T "$ac_nlist"
else
rm -f "$ac_nlist"T
fi
# Make sure that we snagged all the symbols we need.
if egrep ' nm_test_var$' "$ac_nlist" >/dev/null; then
if egrep ' nm_test_func$' "$ac_nlist" >/dev/null; then
cat <<EOF > conftest.c
#ifdef __cplusplus
extern "C" {
#endif
EOF
# Now generate the symbol file.
eval "$ac_global_symbol_to_cdecl"' < "$ac_nlist" >> conftest.c'
cat <<EOF >> conftest.c
#if defined (__STDC__) && __STDC__
# define lt_ptr_t void *
#else
# define lt_ptr_t char *
# define const
#endif
/* The mapping between symbol names and symbols. */
const struct {
const char *name;
lt_ptr_t address;
}
changequote(,)dnl
lt_preloaded_symbols[] =
changequote([,])dnl
{
EOF
sed 's/^. \(.*\) \(.*\)$/ {"\2", (lt_ptr_t) \&\2},/' < "$ac_nlist" >> conftest.c
cat <<\EOF >> conftest.c
{0, (lt_ptr_t) 0}
};
#ifdef __cplusplus
}
#endif
EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
ac_save_LIBS="$LIBS"
ac_save_CFLAGS="$CFLAGS"
LIBS="conftstm.$ac_objext"
CFLAGS="$CFLAGS$no_builtin_flag"
if AC_TRY_EVAL(ac_link) && test -s conftest; then
ac_pipe_works=yes
else
echo "configure: failed program was:" >&AC_FD_CC
cat conftest.c >&AC_FD_CC
fi
LIBS="$ac_save_LIBS"
CFLAGS="$ac_save_CFLAGS"
else
echo "cannot find nm_test_func in $ac_nlist" >&AC_FD_CC
fi
else
echo "cannot find nm_test_var in $ac_nlist" >&AC_FD_CC
fi
else
echo "cannot run $ac_cv_sys_global_symbol_pipe" >&AC_FD_CC
fi
else
echo "$progname: failed program was:" >&AC_FD_CC
cat conftest.c >&AC_FD_CC
fi
rm -rf conftest* conftst*
# Do not use the global_symbol_pipe unless it works.
if test "$ac_pipe_works" = yes; then
if test x"$ac_symprfx" = x"_"; then
ac_cv_sys_symbol_underscore=yes
else
ac_cv_sys_symbol_underscore=no
fi
break
else
ac_cv_sys_global_symbol_pipe=
fi
done
])
ac_result=yes
if test -z "$ac_cv_sys_global_symbol_pipe"; then
ac_result=no
fi
AC_MSG_RESULT($ac_result)
])
AC_DEFUN(AC_LTDL_SYMBOL_USCORE,
[dnl does the compiler prefix global symbols with an underscore?
AC_REQUIRE([AC_LTDL_GLOBAL_SYMBOL_PIPE])dnl
AC_MSG_CHECKING([for _ prefix in compiled symbols])
AC_CACHE_VAL(ac_cv_sys_symbol_underscore,
[ac_cv_sys_symbol_underscore=no
cat > conftest.$ac_ext <<EOF
void nm_test_func(){}
int main(){nm_test_func;return 0;}
EOF
if AC_TRY_EVAL(ac_compile); then
# Now try to grab the symbols.
ac_nlist=conftest.nm
if AC_TRY_EVAL(NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then
# See whether the symbols have a leading underscore.
if egrep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
ac_cv_sys_symbol_underscore=yes
else
if egrep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
:
else
echo "configure: cannot find nm_test_func in $ac_nlist" >&AC_FD_CC
fi
fi
else
echo "configure: cannot run $ac_cv_sys_global_symbol_pipe" >&AC_FD_CC
fi
else
echo "configure: failed program was:" >&AC_FD_CC
cat conftest.c >&AC_FD_CC
fi
rm -rf conftest*
])
AC_MSG_RESULT($ac_cv_sys_symbol_underscore)
AC_LTDL_DLSYM_USCORE
])
AC_DEFUN(AC_LTDL_DLSYM_USCORE,
[AC_REQUIRE([AC_LTDL_SYMBOL_USCORE])dnl
if test x"$ac_cv_sys_symbol_underscore" = xyes; then
if test x"$ac_cv_func_dlopen" = xyes ||
test x"$ac_cv_lib_dl_dlopen" = xyes ; then
AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
libltdl_cv_need_uscore, [dnl
AC_TRY_RUN([
#if HAVE_DLFCN_H
#include <dlfcn.h>
#endif
#include <stdio.h>
#ifdef RTLD_GLOBAL
# define LTDL_GLOBAL RTLD_GLOBAL
#else
# ifdef DL_GLOBAL
# define LTDL_GLOBAL DL_GLOBAL
# else
# define LTDL_GLOBAL 0
# endif
#endif
/* We may have to define LTDL_LAZY_OR_NOW in the command line if we
find out it does not work in some platform. */
#ifndef LTDL_LAZY_OR_NOW
# ifdef RTLD_LAZY
# define LTDL_LAZY_OR_NOW RTLD_LAZY
# else
# ifdef DL_LAZY
# define LTDL_LAZY_OR_NOW DL_LAZY
# else
# ifdef RTLD_NOW
# define LTDL_LAZY_OR_NOW RTLD_NOW
# else
# ifdef DL_NOW
# define LTDL_LAZY_OR_NOW DL_NOW
# else
# define LTDL_LAZY_OR_NOW 0
# endif
# endif
# endif
# endif
#endif
fnord() { int i=42;}
main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
if(ptr1 && !ptr2) { dlclose(self); exit(0); } } exit(1); }
], libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes,
libltdl_cv_need_uscore=cross
)])
fi
fi
if test x"$libltdl_cv_need_uscore" = xyes; then
AC_DEFINE(NEED_USCORE, 1,
[Define if dlsym() requires a leading underscode in symbol names. ])
fi
])
# Define a conditional.
AC_DEFUN(AM_CONDITIONAL,
[AC_SUBST($1_TRUE)
AC_SUBST($1_FALSE)
if $2; then
$1_TRUE=
$1_FALSE='#'
else
$1_TRUE='#'
$1_FALSE=
fi])
# Do all the work for Automake. This macro actually does too much --
# Do all the work for Automake. This macro actually does too much --
# some checks are only needed if your package does certain things.
# some checks are only needed if your package does certain things.
# But this isn't really a big deal.
# But this isn't really a big deal.
...
@@ -554,16 +1405,3 @@ AC_DEFUN(AM_MAINTAINER_MODE,
...
@@ -554,16 +1405,3 @@ AC_DEFUN(AM_MAINTAINER_MODE,
]
]
)
)
# Define a conditional.
AC_DEFUN(AM_CONDITIONAL,
[AC_SUBST($1_TRUE)
AC_SUBST($1_FALSE)
if $2; then
$1_TRUE=
$1_FALSE='#'
else
$1_TRUE='#'
$1_FALSE=
fi])
libjava/libltdl/config.h.in
View file @
205f5ac6
...
@@ -9,15 +9,6 @@
...
@@ -9,15 +9,6 @@
/* Define if you have the ANSI C header files. */
/* Define if you have the ANSI C header files. */
#undef STDC_HEADERS
#undef STDC_HEADERS
/* Define if you have the libdl library or equivalent. */
#undef HAVE_LIBDL
/* Define if you have the GNU dld library. */
#undef HAVE_DLD
/* Define if you have the shl_load function. */
#undef HAVE_SHL_LOAD
/* Define if you are using the Boehm GC. */
/* Define if you are using the Boehm GC. */
#undef HAVE_BOEHM_GC
#undef HAVE_BOEHM_GC
...
@@ -33,6 +24,9 @@
...
@@ -33,6 +24,9 @@
/* Define if you have the strchr function. */
/* Define if you have the strchr function. */
#undef HAVE_STRCHR
#undef HAVE_STRCHR
/* Define if you have the strcmp function. */
#undef HAVE_STRCMP
/* Define if you have the strrchr function. */
/* Define if you have the strrchr function. */
#undef HAVE_STRRCHR
#undef HAVE_STRRCHR
...
@@ -72,12 +66,33 @@
...
@@ -72,12 +66,33 @@
/* Define to the name of the environment variable that determines the dynamic library search path. */
/* Define to the name of the environment variable that determines the dynamic library search path. */
#undef LTDL_SHLIBPATH_VAR
#undef LTDL_SHLIBPATH_VAR
/* Define to the system default library search path. */
#undef LTDL_SYSSEARCHPATH
/* Define to the sub-directory in which libtool stores uninstalled libraries. */
/* Define to the sub-directory in which libtool stores uninstalled libraries. */
#undef LTDL_OBJDIR
#undef LTDL_OBJDIR
/* Define if libtool can extract symbol lists from object files. */
/* Define if libtool can extract symbol lists from object files. */
#undef HAVE_PRELOADED_SYMBOLS
#undef HAVE_PRELOADED_SYMBOLS
/* Define if you have the libdl library or equivalent. */
#undef HAVE_LIBDL
/* Define if you have the libdl library or equivalent. */
#undef HAVE_LIBDL
/* Define if you have the libdl library or equivalent. */
#undef HAVE_LIBDL
/* Define if you have the shl_load function. */
#undef HAVE_SHL_LOAD
/* Define if you have the shl_load function. */
#undef HAVE_SHL_LOAD
/* Define if you have the GNU dld library. */
#undef HAVE_DLD
/* Define if dlsym() requires a leading underscode in symbol names. */
/* Define if dlsym() requires a leading underscode in symbol names. */
#undef NEED_USCORE
#undef NEED_USCORE
libjava/libltdl/configure
View file @
205f5ac6
...
@@ -12,6 +12,8 @@ ac_help=
...
@@ -12,6 +12,8 @@ ac_help=
ac_default_prefix
=
/usr/local
ac_default_prefix
=
/usr/local
# Any additions from configure.in:
# Any additions from configure.in:
ac_help
=
"
$ac_help
ac_help
=
"
$ac_help
--with-auxdir=DIR path to autoconf auxiliary files"
ac_help
=
"
$ac_help
--enable-maintainer-mode enable make rules and dependencies not useful
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer"
(and sometimes confusing) to the casual installer"
ac_help
=
"
$ac_help
ac_help
=
"
$ac_help
...
@@ -25,9 +27,11 @@ ac_help="$ac_help
...
@@ -25,9 +27,11 @@ ac_help="$ac_help
ac_help
=
"
$ac_help
ac_help
=
"
$ac_help
--disable-libtool-lock avoid locking (might break parallel builds)"
--disable-libtool-lock avoid locking (might break parallel builds)"
ac_help
=
"
$ac_help
ac_help
=
"
$ac_help
--
enable-ltdl-install install libltdl
"
--
with-pic try to use only PIC/non-PIC objects [default=use both]
"
ac_help
=
"
$ac_help
ac_help
=
"
$ac_help
--enable-java-gc=TYPE choose garbage collector [boehm]"
--enable-java-gc=TYPE choose garbage collector [boehm]"
ac_help
=
"
$ac_help
--enable-ltdl-install install libltdl"
# Initialize some variables set by options.
# Initialize some variables set by options.
# The variables have the same names as the options, with
# The variables have the same names as the options, with
...
@@ -45,7 +49,6 @@ program_suffix=NONE
...
@@ -45,7 +49,6 @@ program_suffix=NONE
program_transform_name
=
s,x,x,
program_transform_name
=
s,x,x,
silent
=
silent
=
site
=
site
=
sitefile
=
srcdir
=
srcdir
=
target
=
NONE
target
=
NONE
verbose
=
verbose
=
...
@@ -160,7 +163,6 @@ Configuration:
...
@@ -160,7 +163,6 @@ Configuration:
--help print this message
--help print this message
--no-create do not create output files
--no-create do not create output files
--quiet, --silent do not print \`checking...' messages
--quiet, --silent do not print \`checking...' messages
--site-file=FILE use FILE as the site file
--version print the version of autoconf that created configure
--version print the version of autoconf that created configure
Directory and file names:
Directory and file names:
--prefix=PREFIX install architecture-independent files in PREFIX
--prefix=PREFIX install architecture-independent files in PREFIX
...
@@ -331,11 +333,6 @@ EOF
...
@@ -331,11 +333,6 @@ EOF
-site
=
*
|
--site
=
*
|
--sit
=
*
)
-site
=
*
|
--site
=
*
|
--sit
=
*
)
site
=
"
$ac_optarg
"
;;
site
=
"
$ac_optarg
"
;;
-site-file
|
--site-file
|
--site-fil
|
--site-fi
|
--site-f
)
ac_prev
=
sitefile
;;
-site-file
=
*
|
--site-file
=
*
|
--site-fil
=
*
|
--site-fi
=
*
|
--site-f
=
*
)
sitefile
=
"
$ac_optarg
"
;;
-srcdir
|
--srcdir
|
--srcdi
|
--srcd
|
--src
|
--sr
)
-srcdir
|
--srcdir
|
--srcdi
|
--srcd
|
--src
|
--sr
)
ac_prev
=
srcdir
;;
ac_prev
=
srcdir
;;
-srcdir
=
*
|
--srcdir
=
*
|
--srcdi
=
*
|
--srcd
=
*
|
--src
=
*
|
--sr
=
*
)
-srcdir
=
*
|
--srcdir
=
*
|
--srcdi
=
*
|
--srcd
=
*
|
--src
=
*
|
--sr
=
*
)
...
@@ -501,16 +498,12 @@ fi
...
@@ -501,16 +498,12 @@ fi
srcdir
=
`
echo
"
${
srcdir
}
"
| sed
's%\([^/]\)/*$%\1%'
`
srcdir
=
`
echo
"
${
srcdir
}
"
| sed
's%\([^/]\)/*$%\1%'
`
# Prefer explicitly selected file to automatically selected ones.
# Prefer explicitly selected file to automatically selected ones.
if
test
-z
"
$sitefile
"
;
then
if
test
-z
"
$CONFIG_SITE
"
;
then
if
test
-z
"
$CONFIG_SITE
"
;
then
if
test
"x
$prefix
"
!=
xNONE
;
then
if
test
"x
$prefix
"
!=
xNONE
;
then
CONFIG_SITE
=
"
$prefix
/share/config.site
$prefix
/etc/config.site"
CONFIG_SITE
=
"
$prefix
/share/config.site
$prefix
/etc/config.site"
else
else
CONFIG_SITE
=
"
$ac_default_prefix
/share/config.site
$ac_default_prefix
/etc/config.site"
CONFIG_SITE
=
"
$ac_default_prefix
/share/config.site
$ac_default_prefix
/etc/config.site"
fi
fi
fi
else
CONFIG_SITE
=
"
$sitefile
"
fi
fi
for
ac_site_file
in
$CONFIG_SITE
;
do
for
ac_site_file
in
$CONFIG_SITE
;
do
if
test
-r
"
$ac_site_file
"
;
then
if
test
-r
"
$ac_site_file
"
;
then
...
@@ -548,21 +541,94 @@ else
...
@@ -548,21 +541,94 @@ else
ac_n
=
ac_c
=
'\c'
ac_t
=
ac_n
=
ac_c
=
'\c'
ac_t
=
fi
fi
echo
$ac_n
"checking for Cygwin environment""...
$ac_c
"
1>&6
echo
"configure:546: checking for Cygwin environment"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_cygwin
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
cat
>
conftest.
$ac_ext
<<
EOF
#line 551 "configure"
#include "confdefs.h"
int main() {
if
test
-z
"
$enable_ltdl_install$enable_ltdl_convenience
"
;
then
#ifndef __CYGWIN__
if
test
-f
${
srcdir
}
/ltconfig
&&
test
-f
${
srcdir
}
/ltmain.sh
;
then
#define __CYGWIN__ __CYGWIN32__
# if libltdl is libtoolized, it is assumed to be stand-alone and
#endif
# installed unless the command line overrides it (tested above)
return __CYGWIN__;
enable_ltdl_install
=
yes
; return 0; }
else
EOF
echo
"configure: warning: *** The top-level configure must select either"
1>&2
if
{
(
eval echo
configure:562:
\"
$ac_compile
\"
)
1>&5
;
(
eval
$ac_compile
)
2>&5
;
}
;
then
echo
"configure: warning: *** A""C_LIBLTDL_INSTALLABLE or A""C_LIBLTDL_CONVENIENCE."
1>&2
rm
-rf
conftest
*
{
echo
"configure: error: *** Maybe you want to --enable-ltdl-install?"
1>&2
;
exit
1
;
}
ac_cv_cygwin
=
yes
else
echo
"configure: failed program was:"
>
&5
cat
conftest.
$ac_ext
>
&5
rm
-rf
conftest
*
ac_cv_cygwin
=
no
fi
rm
-f
conftest
*
rm
-f
conftest
*
fi
echo
"
$ac_t
""
$ac_cv_cygwin
"
1>&6
CYGWIN
=
test
"
$ac_cv_cygwin
"
=
yes
&&
CYGWIN
=
yes
echo
$ac_n
"checking for mingw32 environment""...
$ac_c
"
1>&6
echo
"configure:579: checking for mingw32 environment"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_mingw32
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
cat
>
conftest.
$ac_ext
<<
EOF
#line 584 "configure"
#include "confdefs.h"
int main() {
return __MINGW32__;
; return 0; }
EOF
if
{
(
eval echo
configure:591:
\"
$ac_compile
\"
)
1>&5
;
(
eval
$ac_compile
)
2>&5
;
}
;
then
rm
-rf
conftest
*
ac_cv_mingw32
=
yes
else
echo
"configure: failed program was:"
>
&5
cat
conftest.
$ac_ext
>
&5
rm
-rf
conftest
*
ac_cv_mingw32
=
no
fi
rm
-f
conftest
*
rm
-f
conftest
*
fi
echo
"
$ac_t
""
$ac_cv_mingw32
"
1>&6
MINGW32
=
test
"
$ac_cv_mingw32
"
=
yes
&&
MINGW32
=
yes
# Check whether --with-auxdir or --without-auxdir was given.
if
test
"
${
with_auxdir
+set
}
"
=
set
;
then
withval
=
"
$with_auxdir
"
ac_aux_dir
=
for
ac_dir
in
$with_auxdir
;
do
if
test
-f
$ac_dir
/install-sh
;
then
ac_aux_dir
=
$ac_dir
ac_install_sh
=
"
$ac_aux_dir
/install-sh -c"
break
elif
test
-f
$ac_dir
/install.sh
;
then
ac_aux_dir
=
$ac_dir
ac_install_sh
=
"
$ac_aux_dir
/install.sh -c"
break
fi
fi
done
if
test
-z
"
$ac_aux_dir
"
;
then
{
echo
"configure: error: can not find install-sh or install.sh in
$with_auxdir
"
1>&2
;
exit
1
;
}
fi
fi
ac_config_guess
=
$ac_aux_dir
/config.guess
ac_config_sub
=
$ac_aux_dir
/config.sub
ac_configure
=
$ac_aux_dir
/configure
# This should be Cygnus configure.
ac_aux_dir
=
else
ac_aux_dir
=
for
ac_dir
in
$srcdir
$srcdir
/..
$srcdir
/../..
;
do
for
ac_dir
in
$srcdir
$srcdir
/..
$srcdir
/../..
;
do
if
test
-f
$ac_dir
/install-sh
;
then
if
test
-f
$ac_dir
/install-sh
;
then
ac_aux_dir
=
$ac_dir
ac_aux_dir
=
$ac_dir
...
@@ -581,6 +647,21 @@ ac_config_guess=$ac_aux_dir/config.guess
...
@@ -581,6 +647,21 @@ ac_config_guess=$ac_aux_dir/config.guess
ac_config_sub
=
$ac_aux_dir
/config.sub
ac_config_sub
=
$ac_aux_dir
/config.sub
ac_configure
=
$ac_aux_dir
/configure
# This should be Cygnus configure.
ac_configure
=
$ac_aux_dir
/configure
# This should be Cygnus configure.
fi
if
test
-z
"
$enable_ltdl_install$enable_ltdl_convenience
"
;
then
if
test
-f
${
srcdir
}
/ltconfig
&&
test
-f
${
srcdir
}
/ltmain.sh
;
then
# if libltdl is libtoolized, it is assumed to be stand-alone and
# installed unless the command line overrides it (tested above)
enable_ltdl_install
=
yes
else
echo
"configure: warning: *** The top-level configure must select either"
1>&2
echo
"configure: warning: *** A""C_LIBLTDL_INSTALLABLE or A""C_LIBLTDL_CONVENIENCE."
1>&2
{
echo
"configure: error: *** Maybe you want to --enable-ltdl-install?"
1>&2
;
exit
1
;
}
fi
fi
# Find a good install program. We prefer a C program (faster),
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
# so one script is as good as another. But avoid the broken or
# incompatible versions:
# incompatible versions:
...
@@ -593,7 +674,7 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
...
@@ -593,7 +674,7 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
# ./install, which can be erroneously created by make from ./install.sh.
echo
$ac_n
"checking for a BSD compatible install""...
$ac_c
"
1>&6
echo
$ac_n
"checking for a BSD compatible install""...
$ac_c
"
1>&6
echo
"configure:
597
: checking for a BSD compatible install"
>
&5
echo
"configure:
678
: checking for a BSD compatible install"
>
&5
if
test
-z
"
$INSTALL
"
;
then
if
test
-z
"
$INSTALL
"
;
then
if
eval
"test
\"
`
echo
'$''{'
ac_cv_path_install
'+set}'
`
\"
= set"
;
then
if
eval
"test
\"
`
echo
'$''{'
ac_cv_path_install
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
...
@@ -646,7 +727,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
...
@@ -646,7 +727,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
test
-z
"
$INSTALL_DATA
"
&&
INSTALL_DATA
=
'${INSTALL} -m 644'
test
-z
"
$INSTALL_DATA
"
&&
INSTALL_DATA
=
'${INSTALL} -m 644'
echo
$ac_n
"checking whether build environment is sane""...
$ac_c
"
1>&6
echo
$ac_n
"checking whether build environment is sane""...
$ac_c
"
1>&6
echo
"configure:
650
: checking whether build environment is sane"
>
&5
echo
"configure:
731
: checking whether build environment is sane"
>
&5
# Just in case
# Just in case
sleep 1
sleep 1
echo
timestamp
>
conftestfile
echo
timestamp
>
conftestfile
...
@@ -703,7 +784,7 @@ test "$program_suffix" != NONE &&
...
@@ -703,7 +784,7 @@ test "$program_suffix" != NONE &&
test
"
$program_transform_name
"
=
""
&&
program_transform_name
=
"s,x,x,"
test
"
$program_transform_name
"
=
""
&&
program_transform_name
=
"s,x,x,"
echo
$ac_n
"checking whether
${
MAKE
-make
}
sets
\$
{MAKE}""...
$ac_c
"
1>&6
echo
$ac_n
"checking whether
${
MAKE
-make
}
sets
\$
{MAKE}""...
$ac_c
"
1>&6
echo
"configure:7
07
: checking whether
${
MAKE
-make
}
sets
\$
{MAKE}"
>
&5
echo
"configure:7
88
: checking whether
${
MAKE
-make
}
sets
\$
{MAKE}"
>
&5
set
dummy
${
MAKE
-make
}
;
ac_make
=
`
echo
"
$2
"
| sed
'y%./+-%__p_%'
`
set
dummy
${
MAKE
-make
}
;
ac_make
=
`
echo
"
$2
"
| sed
'y%./+-%__p_%'
`
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_make_
${
ac_make
}
_set
'+set}'
`
\"
= set"
;
then
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_make_
${
ac_make
}
_set
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
...
@@ -732,7 +813,7 @@ fi
...
@@ -732,7 +813,7 @@ fi
PACKAGE
=
libltdl
PACKAGE
=
libltdl
VERSION
=
1.
0
VERSION
=
1.
1
if
test
"
`
cd
$srcdir
&&
pwd
`
"
!=
"
`
pwd
`
"
&&
test
-f
$srcdir
/config.status
;
then
if
test
"
`
cd
$srcdir
&&
pwd
`
"
!=
"
`
pwd
`
"
&&
test
-f
$srcdir
/config.status
;
then
{
echo
"configure: error: source directory already configured; run "
make distclean
" there first"
1>&2
;
exit
1
;
}
{
echo
"configure: error: source directory already configured; run "
make distclean
" there first"
1>&2
;
exit
1
;
}
...
@@ -742,7 +823,7 @@ fi
...
@@ -742,7 +823,7 @@ fi
missing_dir
=
`
cd
$ac_aux_dir
&&
pwd
`
missing_dir
=
`
cd
$ac_aux_dir
&&
pwd
`
echo
$ac_n
"checking for working aclocal""...
$ac_c
"
1>&6
echo
$ac_n
"checking for working aclocal""...
$ac_c
"
1>&6
echo
"configure:
746
: checking for working aclocal"
>
&5
echo
"configure:
827
: checking for working aclocal"
>
&5
# Run test in a subshell; some versions of sh will print an error if
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
# Redirect stdin to placate older versions of autoconf. Sigh.
...
@@ -755,7 +836,7 @@ else
...
@@ -755,7 +836,7 @@ else
fi
fi
echo
$ac_n
"checking for working autoconf""...
$ac_c
"
1>&6
echo
$ac_n
"checking for working autoconf""...
$ac_c
"
1>&6
echo
"configure:
759
: checking for working autoconf"
>
&5
echo
"configure:
840
: checking for working autoconf"
>
&5
# Run test in a subshell; some versions of sh will print an error if
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
# Redirect stdin to placate older versions of autoconf. Sigh.
...
@@ -768,7 +849,7 @@ else
...
@@ -768,7 +849,7 @@ else
fi
fi
echo
$ac_n
"checking for working automake""...
$ac_c
"
1>&6
echo
$ac_n
"checking for working automake""...
$ac_c
"
1>&6
echo
"configure:
772
: checking for working automake"
>
&5
echo
"configure:
853
: checking for working automake"
>
&5
# Run test in a subshell; some versions of sh will print an error if
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
# Redirect stdin to placate older versions of autoconf. Sigh.
...
@@ -781,7 +862,7 @@ else
...
@@ -781,7 +862,7 @@ else
fi
fi
echo
$ac_n
"checking for working autoheader""...
$ac_c
"
1>&6
echo
$ac_n
"checking for working autoheader""...
$ac_c
"
1>&6
echo
"configure:
785
: checking for working autoheader"
>
&5
echo
"configure:
866
: checking for working autoheader"
>
&5
# Run test in a subshell; some versions of sh will print an error if
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
# Redirect stdin to placate older versions of autoconf. Sigh.
...
@@ -794,7 +875,7 @@ else
...
@@ -794,7 +875,7 @@ else
fi
fi
echo
$ac_n
"checking for working makeinfo""...
$ac_c
"
1>&6
echo
$ac_n
"checking for working makeinfo""...
$ac_c
"
1>&6
echo
"configure:
798
: checking for working makeinfo"
>
&5
echo
"configure:
879
: checking for working makeinfo"
>
&5
# Run test in a subshell; some versions of sh will print an error if
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
# Redirect stdin to placate older versions of autoconf. Sigh.
...
@@ -811,7 +892,7 @@ fi
...
@@ -811,7 +892,7 @@ fi
echo
$ac_n
"checking whether to enable maintainer-specific portions of Makefiles""...
$ac_c
"
1>&6
echo
$ac_n
"checking whether to enable maintainer-specific portions of Makefiles""...
$ac_c
"
1>&6
echo
"configure:8
15
: checking whether to enable maintainer-specific portions of Makefiles"
>
&5
echo
"configure:8
96
: checking whether to enable maintainer-specific portions of Makefiles"
>
&5
# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
if
test
"
${
enable_maintainer_mode
+set
}
"
=
set
;
then
if
test
"
${
enable_maintainer_mode
+set
}
"
=
set
;
then
enableval
=
"
$enable_maintainer_mode
"
enableval
=
"
$enable_maintainer_mode
"
...
@@ -837,7 +918,7 @@ fi
...
@@ -837,7 +918,7 @@ fi
# Extract the first word of "gcc", so it can be a program name with args.
# Extract the first word of "gcc", so it can be a program name with args.
set
dummy gcc
;
ac_word
=
$2
set
dummy gcc
;
ac_word
=
$2
echo
$ac_n
"checking for
$ac_word
""...
$ac_c
"
1>&6
echo
$ac_n
"checking for
$ac_word
""...
$ac_c
"
1>&6
echo
"configure:
841
: checking for
$ac_word
"
>
&5
echo
"configure:
922
: checking for
$ac_word
"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_CC
'+set}'
`
\"
= set"
;
then
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_CC
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
else
...
@@ -867,7 +948,7 @@ if test -z "$CC"; then
...
@@ -867,7 +948,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
# Extract the first word of "cc", so it can be a program name with args.
set
dummy cc
;
ac_word
=
$2
set
dummy cc
;
ac_word
=
$2
echo
$ac_n
"checking for
$ac_word
""...
$ac_c
"
1>&6
echo
$ac_n
"checking for
$ac_word
""...
$ac_c
"
1>&6
echo
"configure:
871
: checking for
$ac_word
"
>
&5
echo
"configure:
952
: checking for
$ac_word
"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_CC
'+set}'
`
\"
= set"
;
then
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_CC
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
else
...
@@ -918,7 +999,7 @@ fi
...
@@ -918,7 +999,7 @@ fi
# Extract the first word of "cl", so it can be a program name with args.
# Extract the first word of "cl", so it can be a program name with args.
set
dummy cl
;
ac_word
=
$2
set
dummy cl
;
ac_word
=
$2
echo
$ac_n
"checking for
$ac_word
""...
$ac_c
"
1>&6
echo
$ac_n
"checking for
$ac_word
""...
$ac_c
"
1>&6
echo
"configure:
922
: checking for
$ac_word
"
>
&5
echo
"configure:
1003
: checking for
$ac_word
"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_CC
'+set}'
`
\"
= set"
;
then
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_CC
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
else
...
@@ -950,7 +1031,7 @@ fi
...
@@ -950,7 +1031,7 @@ fi
fi
fi
echo
$ac_n
"checking whether the C compiler (
$CC
$CFLAGS
$LDFLAGS
) works""...
$ac_c
"
1>&6
echo
$ac_n
"checking whether the C compiler (
$CC
$CFLAGS
$LDFLAGS
) works""...
$ac_c
"
1>&6
echo
"configure:
954
: checking whether the C compiler (
$CC
$CFLAGS
$LDFLAGS
) works"
>
&5
echo
"configure:
1035
: checking whether the C compiler (
$CC
$CFLAGS
$LDFLAGS
) works"
>
&5
ac_ext
=
c
ac_ext
=
c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
...
@@ -961,12 +1042,12 @@ cross_compiling=$ac_cv_prog_cc_cross
...
@@ -961,12 +1042,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat
>
conftest.
$ac_ext
<<
EOF
cat
>
conftest.
$ac_ext
<<
EOF
#line
965
"configure"
#line
1046
"configure"
#include "confdefs.h"
#include "confdefs.h"
main(){return(0);}
main(){return(0);}
EOF
EOF
if
{
(
eval echo
configure:
970
:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
;
then
if
{
(
eval echo
configure:
1051
:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
;
then
ac_cv_prog_cc_works
=
yes
ac_cv_prog_cc_works
=
yes
# If we can't run a trivial program, we are probably using a cross compiler.
# If we can't run a trivial program, we are probably using a cross compiler.
if
(
./conftest
;
exit
)
2>/dev/null
;
then
if
(
./conftest
;
exit
)
2>/dev/null
;
then
...
@@ -992,12 +1073,12 @@ if test $ac_cv_prog_cc_works = no; then
...
@@ -992,12 +1073,12 @@ if test $ac_cv_prog_cc_works = no; then
{
echo
"configure: error: installation or configuration problem: C compiler cannot create executables."
1>&2
;
exit
1
;
}
{
echo
"configure: error: installation or configuration problem: C compiler cannot create executables."
1>&2
;
exit
1
;
}
fi
fi
echo
$ac_n
"checking whether the C compiler (
$CC
$CFLAGS
$LDFLAGS
) is a cross-compiler""...
$ac_c
"
1>&6
echo
$ac_n
"checking whether the C compiler (
$CC
$CFLAGS
$LDFLAGS
) is a cross-compiler""...
$ac_c
"
1>&6
echo
"configure:
996
: checking whether the C compiler (
$CC
$CFLAGS
$LDFLAGS
) is a cross-compiler"
>
&5
echo
"configure:
1077
: checking whether the C compiler (
$CC
$CFLAGS
$LDFLAGS
) is a cross-compiler"
>
&5
echo
"
$ac_t
""
$ac_cv_prog_cc_cross
"
1>&6
echo
"
$ac_t
""
$ac_cv_prog_cc_cross
"
1>&6
cross_compiling
=
$ac_cv_prog_cc_cross
cross_compiling
=
$ac_cv_prog_cc_cross
echo
$ac_n
"checking whether we are using GNU C""...
$ac_c
"
1>&6
echo
$ac_n
"checking whether we are using GNU C""...
$ac_c
"
1>&6
echo
"configure:10
01
: checking whether we are using GNU C"
>
&5
echo
"configure:10
82
: checking whether we are using GNU C"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_gcc
'+set}'
`
\"
= set"
;
then
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_gcc
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
else
...
@@ -1006,7 +1087,7 @@ else
...
@@ -1006,7 +1087,7 @@ else
yes;
yes;
#endif
#endif
EOF
EOF
if
{
ac_try
=
'${CC-cc} -E conftest.c'
;
{
(
eval echo
configure:10
10
:
\"
$ac_try
\"
)
1>&5
;
(
eval
$ac_try
)
2>&5
;
}
;
}
| egrep yes
>
/dev/null 2>&1
;
then
if
{
ac_try
=
'${CC-cc} -E conftest.c'
;
{
(
eval echo
configure:10
91
:
\"
$ac_try
\"
)
1>&5
;
(
eval
$ac_try
)
2>&5
;
}
;
}
| egrep yes
>
/dev/null 2>&1
;
then
ac_cv_prog_gcc
=
yes
ac_cv_prog_gcc
=
yes
else
else
ac_cv_prog_gcc
=
no
ac_cv_prog_gcc
=
no
...
@@ -1025,7 +1106,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
...
@@ -1025,7 +1106,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS
=
"
$CFLAGS
"
ac_save_CFLAGS
=
"
$CFLAGS
"
CFLAGS
=
CFLAGS
=
echo
$ac_n
"checking whether
${
CC
-cc
}
accepts -g""...
$ac_c
"
1>&6
echo
$ac_n
"checking whether
${
CC
-cc
}
accepts -g""...
$ac_c
"
1>&6
echo
"configure:1
029
: checking whether
${
CC
-cc
}
accepts -g"
>
&5
echo
"configure:1
110
: checking whether
${
CC
-cc
}
accepts -g"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_cc_g
'+set}'
`
\"
= set"
;
then
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_cc_g
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
else
...
@@ -1057,12 +1138,12 @@ else
...
@@ -1057,12 +1138,12 @@ else
fi
fi
echo
$ac_n
"checking for working const""...
$ac_c
"
1>&6
echo
$ac_n
"checking for working const""...
$ac_c
"
1>&6
echo
"configure:1
061
: checking for working const"
>
&5
echo
"configure:1
142
: checking for working const"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_c_const
'+set}'
`
\"
= set"
;
then
if
eval
"test
\"
`
echo
'$''{'
ac_cv_c_const
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
else
cat
>
conftest.
$ac_ext
<<
EOF
cat
>
conftest.
$ac_ext
<<
EOF
#line 1
066
"configure"
#line 1
147
"configure"
#include "confdefs.h"
#include "confdefs.h"
int main() {
int main() {
...
@@ -1111,7 +1192,7 @@ ccp = (char const *const *) p;
...
@@ -1111,7 +1192,7 @@ ccp = (char const *const *) p;
; return 0; }
; return 0; }
EOF
EOF
if
{
(
eval echo
configure:11
15
:
\"
$ac_compile
\"
)
1>&5
;
(
eval
$ac_compile
)
2>&5
;
}
;
then
if
{
(
eval echo
configure:11
96
:
\"
$ac_compile
\"
)
1>&5
;
(
eval
$ac_compile
)
2>&5
;
}
;
then
rm
-rf
conftest
*
rm
-rf
conftest
*
ac_cv_c_const
=
yes
ac_cv_c_const
=
yes
else
else
...
@@ -1132,21 +1213,21 @@ EOF
...
@@ -1132,21 +1213,21 @@ EOF
fi
fi
echo
$ac_n
"checking for inline""...
$ac_c
"
1>&6
echo
$ac_n
"checking for inline""...
$ac_c
"
1>&6
echo
"configure:1
136
: checking for inline"
>
&5
echo
"configure:1
217
: checking for inline"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_c_inline
'+set}'
`
\"
= set"
;
then
if
eval
"test
\"
`
echo
'$''{'
ac_cv_c_inline
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
else
ac_cv_c_inline
=
no
ac_cv_c_inline
=
no
for
ac_kw
in
inline __inline__ __inline
;
do
for
ac_kw
in
inline __inline__ __inline
;
do
cat
>
conftest.
$ac_ext
<<
EOF
cat
>
conftest.
$ac_ext
<<
EOF
#line 1
143
"configure"
#line 1
224
"configure"
#include "confdefs.h"
#include "confdefs.h"
int main() {
int main() {
}
$ac_kw
foo() {
}
$ac_kw
foo() {
; return 0; }
; return 0; }
EOF
EOF
if
{
(
eval echo
configure:1
150
:
\"
$ac_compile
\"
)
1>&5
;
(
eval
$ac_compile
)
2>&5
;
}
;
then
if
{
(
eval echo
configure:1
231
:
\"
$ac_compile
\"
)
1>&5
;
(
eval
$ac_compile
)
2>&5
;
}
;
then
rm
-rf
conftest
*
rm
-rf
conftest
*
ac_cv_c_inline
=
$ac_kw
;
break
ac_cv_c_inline
=
$ac_kw
;
break
else
else
...
@@ -1171,6 +1252,8 @@ EOF
...
@@ -1171,6 +1252,8 @@ EOF
;;
;;
esac
esac
# Check whether --enable-shared or --disable-shared was given.
# Check whether --enable-shared or --disable-shared was given.
if
test
"
${
enable_shared
+set
}
"
=
set
;
then
if
test
"
${
enable_shared
+set
}
"
=
set
;
then
enableval
=
"
$enable_shared
"
enableval
=
"
$enable_shared
"
...
@@ -1247,7 +1330,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
...
@@ -1247,7 +1330,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi
fi
echo
$ac_n
"checking host system type""...
$ac_c
"
1>&6
echo
$ac_n
"checking host system type""...
$ac_c
"
1>&6
echo
"configure:1
251
: checking host system type"
>
&5
echo
"configure:1
334
: checking host system type"
>
&5
host_alias
=
$host
host_alias
=
$host
case
"
$host_alias
"
in
case
"
$host_alias
"
in
...
@@ -1268,7 +1351,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
...
@@ -1268,7 +1351,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo
"
$ac_t
""
$host
"
1>&6
echo
"
$ac_t
""
$host
"
1>&6
echo
$ac_n
"checking build system type""...
$ac_c
"
1>&6
echo
$ac_n
"checking build system type""...
$ac_c
"
1>&6
echo
"configure:1
272
: checking build system type"
>
&5
echo
"configure:1
355
: checking build system type"
>
&5
build_alias
=
$build
build_alias
=
$build
case
"
$build_alias
"
in
case
"
$build_alias
"
in
...
@@ -1285,36 +1368,6 @@ build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
...
@@ -1285,36 +1368,6 @@ build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
build_os
=
`
echo
$build
| sed
's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'
`
build_os
=
`
echo
$build
| sed
's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'
`
echo
"
$ac_t
""
$build
"
1>&6
echo
"
$ac_t
""
$build
"
1>&6
# Extract the first word of "ranlib", so it can be a program name with args.
set
dummy ranlib
;
ac_word
=
$2
echo
$ac_n
"checking for
$ac_word
""...
$ac_c
"
1>&6
echo
"configure:1292: checking for
$ac_word
"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_RANLIB
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
if
test
-n
"
$RANLIB
"
;
then
ac_cv_prog_RANLIB
=
"
$RANLIB
"
# Let the user override the test.
else
IFS
=
"
${
IFS
=
}
"
;
ac_save_ifs
=
"
$IFS
"
;
IFS
=
":"
ac_dummy
=
"
$PATH
"
for
ac_dir
in
$ac_dummy
;
do
test
-z
"
$ac_dir
"
&&
ac_dir
=
.
if
test
-f
$ac_dir
/
$ac_word
;
then
ac_cv_prog_RANLIB
=
"ranlib"
break
fi
done
IFS
=
"
$ac_save_ifs
"
test
-z
"
$ac_cv_prog_RANLIB
"
&&
ac_cv_prog_RANLIB
=
":"
fi
fi
RANLIB
=
"
$ac_cv_prog_RANLIB
"
if
test
-n
"
$RANLIB
"
;
then
echo
"
$ac_t
""
$RANLIB
"
1>&6
else
echo
"
$ac_t
""no"
1>&6
fi
# Check whether --with-gnu-ld or --without-gnu-ld was given.
# Check whether --with-gnu-ld or --without-gnu-ld was given.
if
test
"
${
with_gnu_ld
+set
}
"
=
set
;
then
if
test
"
${
with_gnu_ld
+set
}
"
=
set
;
then
withval
=
"
$with_gnu_ld
"
withval
=
"
$with_gnu_ld
"
...
@@ -1327,8 +1380,14 @@ ac_prog=ld
...
@@ -1327,8 +1380,14 @@ ac_prog=ld
if
test
"
$ac_cv_prog_gcc
"
=
yes
;
then
if
test
"
$ac_cv_prog_gcc
"
=
yes
;
then
# Check if gcc -print-prog-name=ld gives a path.
# Check if gcc -print-prog-name=ld gives a path.
echo
$ac_n
"checking for ld used by GCC""...
$ac_c
"
1>&6
echo
$ac_n
"checking for ld used by GCC""...
$ac_c
"
1>&6
echo
"configure:1331: checking for ld used by GCC"
>
&5
echo
"configure:1384: checking for ld used by GCC"
>
&5
ac_prog
=
`
(
$CC
-print-prog-name
=
ld
)
2>&5
`
case
$host
in
*
-
*
-mingw
*
)
# gcc leaves a trailing carriage return which upsets mingw
ac_prog
=
`
(
$CC
-print-prog-name
=
ld
)
2>&5 | tr
-d
'\015'
`
;;
*
)
ac_prog
=
`
(
$CC
-print-prog-name
=
ld
)
2>&5
`
;;
esac
case
"
$ac_prog
"
in
case
"
$ac_prog
"
in
# Accept absolute paths.
# Accept absolute paths.
[
\\
/]
*
|
[
A-Za-z]:[
\\
/]
*
)
[
\\
/]
*
|
[
A-Za-z]:[
\\
/]
*
)
...
@@ -1351,10 +1410,10 @@ echo "configure:1331: checking for ld used by GCC" >&5
...
@@ -1351,10 +1410,10 @@ echo "configure:1331: checking for ld used by GCC" >&5
esac
esac
elif
test
"
$with_gnu_ld
"
=
yes
;
then
elif
test
"
$with_gnu_ld
"
=
yes
;
then
echo
$ac_n
"checking for GNU ld""...
$ac_c
"
1>&6
echo
$ac_n
"checking for GNU ld""...
$ac_c
"
1>&6
echo
"configure:1
355
: checking for GNU ld"
>
&5
echo
"configure:1
414
: checking for GNU ld"
>
&5
else
else
echo
$ac_n
"checking for non-GNU ld""...
$ac_c
"
1>&6
echo
$ac_n
"checking for non-GNU ld""...
$ac_c
"
1>&6
echo
"configure:1
358
: checking for non-GNU ld"
>
&5
echo
"configure:1
417
: checking for non-GNU ld"
>
&5
fi
fi
if
eval
"test
\"
`
echo
'$''{'
ac_cv_path_LD
'+set}'
`
\"
= set"
;
then
if
eval
"test
\"
`
echo
'$''{'
ac_cv_path_LD
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
...
@@ -1389,7 +1448,7 @@ else
...
@@ -1389,7 +1448,7 @@ else
fi
fi
test
-z
"
$LD
"
&&
{
echo
"configure: error: no acceptable ld found in
\$
PATH"
1>&2
;
exit
1
;
}
test
-z
"
$LD
"
&&
{
echo
"configure: error: no acceptable ld found in
\$
PATH"
1>&2
;
exit
1
;
}
echo
$ac_n
"checking if the linker (
$LD
) is GNU ld""...
$ac_c
"
1>&6
echo
$ac_n
"checking if the linker (
$LD
) is GNU ld""...
$ac_c
"
1>&6
echo
"configure:1
393
: checking if the linker (
$LD
) is GNU ld"
>
&5
echo
"configure:1
452
: checking if the linker (
$LD
) is GNU ld"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_gnu_ld
'+set}'
`
\"
= set"
;
then
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_gnu_ld
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
else
...
@@ -1402,10 +1461,23 @@ fi
...
@@ -1402,10 +1461,23 @@ fi
fi
fi
echo
"
$ac_t
""
$ac_cv_prog_gnu_ld
"
1>&6
echo
"
$ac_t
""
$ac_cv_prog_gnu_ld
"
1>&6
with_gnu_ld
=
$ac_cv_prog_gnu_ld
echo
$ac_n
"checking for
$LD
option to reload object files""...
$ac_c
"
1>&6
echo
"configure:1469: checking for
$LD
option to reload object files"
>
&5
if
eval
"test
\"
`
echo
'$''{'
lt_cv_ld_reload_flag
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
lt_cv_ld_reload_flag
=
'-r'
fi
echo
"
$ac_t
""
$lt_cv_ld_reload_flag
"
1>&6
reload_flag
=
$lt_cv_ld_reload_flag
test
-n
"
$reload_flag
"
&&
reload_flag
=
"
$reload_flag
"
echo
$ac_n
"checking for BSD-compatible nm""...
$ac_c
"
1>&6
echo
$ac_n
"checking for BSD-compatible nm""...
$ac_c
"
1>&6
echo
"configure:14
09
: checking for BSD-compatible nm"
>
&5
echo
"configure:14
81
: checking for BSD-compatible nm"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_path_NM
'+set}'
`
\"
= set"
;
then
if
eval
"test
\"
`
echo
'$''{'
ac_cv_path_NM
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
else
...
@@ -1416,18 +1488,20 @@ else
...
@@ -1416,18 +1488,20 @@ else
IFS
=
"
${
IFS
=
}
"
;
ac_save_ifs
=
"
$IFS
"
;
IFS
=
"
${
IFS
}${
PATH_SEPARATOR
-
:
}
"
IFS
=
"
${
IFS
=
}
"
;
ac_save_ifs
=
"
$IFS
"
;
IFS
=
"
${
IFS
}${
PATH_SEPARATOR
-
:
}
"
for
ac_dir
in
$PATH
/usr/ccs/bin /usr/ucb /bin
;
do
for
ac_dir
in
$PATH
/usr/ccs/bin /usr/ucb /bin
;
do
test
-z
"
$ac_dir
"
&&
ac_dir
=
.
test
-z
"
$ac_dir
"
&&
ac_dir
=
.
if
test
-f
$ac_dir
/nm
||
test
-f
$ac_dir
/nm
$ac_exeext
;
then
tmp_nm
=
$ac_dir
/
${
ac_tool_prefix
}
nm
if
test
-f
$tmp_nm
||
test
-f
$tmp_nm$ac_exeext
;
then
# Check to see if the nm accepts a BSD-compat flag.
# Check to see if the nm accepts a BSD-compat flag.
# Adding the `sed 1q' prevents false positives on HP-UX, which says:
# Adding the `sed 1q' prevents false positives on HP-UX, which says:
# nm: unknown option "B" ignored
# nm: unknown option "B" ignored
if
(
$ac_dir
/nm
-B
/dev/null 2>&1 | sed
'1q'
;
exit
0
)
| egrep /dev/null
>
/dev/null
;
then
# Tru64's nm complains that /dev/null is an invalid object file
ac_cv_path_NM
=
"
$ac_dir
/nm -B"
if
(
$tmp_nm
-B
/dev/null 2>&1 | sed
'1q'
;
exit
0
)
| egrep
'(/dev/null|Invalid file or object type)'
>
/dev/null
;
then
ac_cv_path_NM
=
"
$tmp_nm
-B"
break
break
elif
(
$
ac_dir
/
nm
-p
/dev/null 2>&1 | sed
'1q'
;
exit
0
)
| egrep /dev/null
>
/dev/null
;
then
elif
(
$
tmp_
nm
-p
/dev/null 2>&1 | sed
'1q'
;
exit
0
)
| egrep /dev/null
>
/dev/null
;
then
ac_cv_path_NM
=
"
$
ac_dir
/
nm -p"
ac_cv_path_NM
=
"
$
tmp_
nm
-p"
break
break
else
else
ac_cv_path_NM
=
${
ac_cv_path_NM
=
"
$
ac_dir
/
nm"
}
# keep the first match, but
ac_cv_path_NM
=
${
ac_cv_path_NM
=
"
$
tmp_
nm
"
}
# keep the first match, but
continue
# so that we can try to find one that supports BSD flags
continue
# so that we can try to find one that supports BSD flags
fi
fi
fi
fi
...
@@ -1441,7 +1515,7 @@ NM="$ac_cv_path_NM"
...
@@ -1441,7 +1515,7 @@ NM="$ac_cv_path_NM"
echo
"
$ac_t
""
$NM
"
1>&6
echo
"
$ac_t
""
$NM
"
1>&6
echo
$ac_n
"checking whether ln -s works""...
$ac_c
"
1>&6
echo
$ac_n
"checking whether ln -s works""...
$ac_c
"
1>&6
echo
"configure:1
445
: checking whether ln -s works"
>
&5
echo
"configure:1
519
: checking whether ln -s works"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_LN_S
'+set}'
`
\"
= set"
;
then
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_LN_S
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
else
...
@@ -1461,94 +1535,864 @@ else
...
@@ -1461,94 +1535,864 @@ else
echo
"
$ac_t
""no"
1>&6
echo
"
$ac_t
""no"
1>&6
fi
fi
echo
$ac_n
"checking how to recognise dependant libraries""...
$ac_c
"
1>&6
echo
"configure:1540: checking how to recognise dependant libraries"
>
&5
if
eval
"test
\"
`
echo
'$''{'
lt_cv_deplibs_check_method
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
lt_cv_file_magic_cmd
=
'${MAGIC}'
lt_cv_file_magic_test_file
=
lt_cv_deplibs_check_method
=
'unknown'
# Need to set the preceding variable on all platforms that support
# interlibrary dependencies.
# 'none' -- dependencies not supported.
# `unknown' -- same as none, but documents that we really don't know.
# 'pass_all' -- all dependencies passed with no checks.
# 'test_compile' -- check by making test program.
# 'file_magic [regex]' -- check by looking for files in library path
# which responds to the $file_magic_cmd with a given egrep regex.
# If you have `file' or equivalent on your system and you're not sure
# whether `pass_all' will *always* work, you probably want this one.
case
"
$
target
"
in
case
"
$
host_os
"
in
NONE
)
lt_target
=
"
$host
"
;;
aix4
*
)
*
)
lt_target
=
"
$target
"
;;
lt_cv_deplibs_check_method
=
pass_all
esac
;;
# Check for any special flags to pass to ltconfig.
beos
*
)
libtool_flags
=
"--cache-file=
$cache_file
"
lt_cv_deplibs_check_method
=
pass_all
test
"
$enable_shared
"
=
no
&&
libtool_flags
=
"
$libtool_flags
--disable-shared"
;;
test
"
$enable_static
"
=
no
&&
libtool_flags
=
"
$libtool_flags
--disable-static"
test
"
$enable_fast_install
"
=
no
&&
libtool_flags
=
"
$libtool_flags
--disable-fast-install"
test
"
$ac_cv_prog_gcc
"
=
yes
&&
libtool_flags
=
"
$libtool_flags
--with-gcc"
test
"
$ac_cv_prog_gnu_ld
"
=
yes
&&
libtool_flags
=
"
$libtool_flags
--with-gnu-ld"
bsdi4
*
)
lt_cv_deplibs_check_method
=
'file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
lt_cv_file_magic_cmd
=
'/usr/bin/file -L'
lt_cv_file_magic_test_file
=
/shlib/libc.so
;;
# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
cygwin
*
|
mingw
*
)
if
test
"
${
enable_libtool_lock
+set
}
"
=
set
;
then
lt_cv_deplibs_check_method
=
'file_magic file format pei*-i386(.*architecture: i386)?'
enableval
=
"
$enable_libtool_lock
"
lt_cv_file_magic_cmd
=
'${OBJDUMP} -f'
:
;;
fi
test
"x
$enable_libtool_lock
"
=
xno
&&
libtool_flags
=
"
$libtool_flags
--disable-lock"
freebsd
*
)
test
x
"
$silent
"
=
xyes
&&
libtool_flags
=
"
$libtool_flags
--silent"
if
echo
__ELF__ |
$CC
-E
- |
grep
__ELF__
>
/dev/null
;
then
case
"
$host_cpu
"
in
i
*
86
)
# Not sure whether the presence of OpenBSD here was a mistake.
# Let's accept both of them until this is cleared up.
lt_cv_deplibs_check_method
=
'file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library'
lt_cv_file_magic_cmd
=
/usr/bin/file
lt_cv_file_magic_test_file
=
`
echo
/usr/lib/libc.so.
*
`
;;
esac
else
lt_cv_deplibs_check_method
=
pass_all
fi
;;
# Some flags need to be propagated to the compiler or linker for good
gnu
*
)
# libtool support.
lt_cv_deplibs_check_method
=
pass_all
case
"
$lt_target
"
in
*
-
*
-irix6
*
)
# Find out which ABI we are using.
echo
'#line 1494 "configure"'
>
conftest.
$ac_ext
if
{
(
eval echo
configure:1495:
\"
$ac_compile
\"
)
1>&5
;
(
eval
$ac_compile
)
2>&5
;
}
;
then
case
"
`
/usr/bin/file conftest.o
`
"
in
*
32-bit
*
)
LD
=
"
${
LD
-ld
}
-32"
;;
;;
*
N32
*
)
LD
=
"
${
LD
-ld
}
-n32"
hpux10.20
*
)
# TODO: Does this work for hpux-11 too?
lt_cv_deplibs_check_method
=
'file_magic (s0-90-90-9|PA-RISC0-9.0-9) shared library'
lt_cv_file_magic_cmd
=
/usr/bin/file
lt_cv_file_magic_test_file
=
/usr/lib/libc.sl
;;
;;
*
64-bit
*
)
LD
=
"
${
LD
-ld
}
-64"
irix5
*
|
irix6
*
)
case
"
$host_os
"
in
irix5
*
)
# this will be overridden with pass_all, but let us keep it just in case
lt_cv_deplibs_check_method
=
"file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
;;
*
)
case
"
$LD
"
in
*
-32
|
*
"-32 "
)
libmagic
=
32-bit
;;
*
-n32
|
*
"-n32 "
)
libmagic
=
N32
;;
*
-64
|
*
"-64 "
)
libmagic
=
64-bit
;;
*
)
libmagic
=
never-match
;;
esac
# this will be overridden with pass_all, but let us keep it just in case
lt_cv_deplibs_check_method
=
"file_magic ELF
${
libmagic
}
MSB mips-[1234] dynamic lib MIPS - version 1"
;;
esac
lt_cv_file_magic_test_file
=
`
echo
/lib
${
libsuff
}
/libc.so
*
`
lt_cv_deplibs_check_method
=
pass_all
;;
;;
# This must be Linux ELF.
linux-gnu
*
)
case
"
$host_cpu
"
in
alpha
*
|
i
*
86
|
powerpc
*
|
sparc
*
|
ia64
*
)
lt_cv_deplibs_check_method
=
pass_all
;;
*
)
# glibc up to 2.1.1 does not perform some relocations on ARM
lt_cv_deplibs_check_method
=
'file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
;;
esac
esac
lt_cv_file_magic_test_file
=
`
echo
/lib/libc.so
*
/lib/libc-
*
.so
`
;;
netbsd
*
)
if
echo
__ELF__ |
$CC
-E
- |
grep
__ELF__
>
/dev/null
;
then
:
else
lt_cv_deplibs_check_method
=
'file_magic ELF [0-9][0-9]*-bit [LM]SB shared object'
lt_cv_file_magic_cmd
=
'/usr/bin/file -L'
lt_cv_file_magic_test_file
=
`
echo
/usr/lib/libc.so
*
`
fi
fi
rm
-rf
conftest
*
;;
;;
*
-
*
-sco3
.2v5
*
)
osf3
*
|
osf4
*
|
osf5
*
)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
# this will be overridden with pass_all, but let us keep it just in case
SAVE_CFLAGS
=
"
$CFLAGS
"
lt_cv_deplibs_check_method
=
'file_magic COFF format alpha shared library'
CFLAGS
=
"
$CFLAGS
-belf"
lt_cv_file_magic_test_file
=
/shlib/libc.so
echo
$ac_n
"checking whether the C compiler needs -belf""...
$ac_c
"
1>&6
lt_cv_deplibs_check_method
=
pass_all
echo
"configure:1516: checking whether the C compiler needs -belf"
>
&5
;;
if
eval
"test
\"
`
echo
'$''{'
lt_cv_cc_needs_belf
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
cat
>
conftest.
$ac_ext
<<
EOF
#line 1521 "configure"
#include "confdefs.h"
int main() {
sco3.2v5
*
)
lt_cv_deplibs_check_method
=
pass_all
;;
; return 0; }
solaris
*
)
EOF
lt_cv_deplibs_check_method
=
pass_all
if
{
(
eval echo
configure:1528:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
;
then
lt_cv_file_magic_test_file
=
/lib/libc.so
rm
-rf
conftest
*
;;
lt_cv_cc_needs_belf
=
yes
sysv4
|
sysv4.2uw2
*
|
sysv4.3
*
|
sysv5
*
)
case
"
$host_vendor
"
in
ncr
)
lt_cv_deplibs_check_method
=
pass_all
;;
motorola
)
lt_cv_deplibs_check_method
=
'file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
lt_cv_file_magic_test_file
=
`
echo
/usr/lib/libc.so
*
`
;;
esac
;;
esac
fi
echo
"
$ac_t
""
$lt_cv_deplibs_check_method
"
1>&6
file_magic_cmd
=
$lt_cv_file_magic_cmd
deplibs_check_method
=
$lt_cv_deplibs_check_method
echo
$ac_n
"checking for object suffix""...
$ac_c
"
1>&6
echo
"configure:1683: checking for object suffix"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_objext
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
else
echo
"configure: failed program was:"
>
&5
rm
-f
conftest
*
cat
conftest.
$ac_ext
>
&5
echo
'int i = 1;'
>
conftest.
$ac_ext
rm
-rf
conftest
*
if
{
(
eval echo
configure:1689:
\"
$ac_compile
\"
)
1>&5
;
(
eval
$ac_compile
)
2>&5
;
}
;
then
lt_cv_cc_needs_belf
=
no
for
ac_file
in
conftest.
*
;
do
case
$ac_file
in
*
.c
)
;;
*
)
ac_cv_objext
=
`
echo
$ac_file
| sed
-e
s/conftest.//
`
;;
esac
done
else
{
echo
"configure: error: installation or configuration problem; compiler does not work"
1>&2
;
exit
1
;
}
fi
fi
rm
-f
conftest
*
rm
-f
conftest
*
fi
fi
echo
"
$ac_t
""
$lt_cv_cc_needs_belf
"
1>&6
echo
"
$ac_t
""
$ac_cv_objext
"
1>&6
if
test
x
"
$lt_cv_cc_needs_belf
"
!=
x
"yes"
;
then
OBJEXT
=
$ac_cv_objext
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
ac_objext
=
$ac_cv_objext
CFLAGS
=
"
$SAVE_CFLAGS
"
echo
$ac_n
"checking for executable suffix""...
$ac_c
"
1>&6
echo
"configure:1709: checking for executable suffix"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_exeext
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
if
test
"
$CYGWIN
"
=
yes
||
test
"
$MINGW32
"
=
yes
;
then
ac_cv_exeext
=
.exe
else
rm
-f
conftest
*
echo
'int main () { return 0; }'
>
conftest.
$ac_ext
ac_cv_exeext
=
if
{
(
eval echo
configure:1719:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
;
then
for
file
in
conftest.
*
;
do
case
$file
in
*
.c
|
*
.o
|
*
.obj
)
;;
*
)
ac_cv_exeext
=
`
echo
$file
| sed
-e
s/conftest//
`
;;
esac
done
else
{
echo
"configure: error: installation or configuration problem: compiler cannot create executables."
1>&2
;
exit
1
;
}
fi
fi
rm
-f
conftest
*
test
x
"
${
ac_cv_exeext
}
"
=
x
&&
ac_cv_exeext
=
no
fi
fi
EXEEXT
=
""
test
x
"
${
ac_cv_exeext
}
"
!=
xno
&&
EXEEXT
=
${
ac_cv_exeext
}
echo
"
$ac_t
""
${
ac_cv_exeext
}
"
1>&6
ac_exeext
=
$EXEEXT
if
test
$host
!=
$build
;
then
ac_tool_prefix
=
${
host_alias
}
-
else
ac_tool_prefix
=
fi
# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
# Only perform the check for file, if the check method requires it
case
"
$deplibs_check_method
"
in
file_magic
*
)
if
test
"
$file_magic_cmd
"
=
'${MAGIC}'
;
then
echo
$ac_n
"checking for
${
ac_tool_prefix
}
file""...
$ac_c
"
1>&6
echo
"configure:1752: checking for
${
ac_tool_prefix
}
file"
>
&5
if
eval
"test
\"
`
echo
'$''{'
lt_cv_path_MAGIC
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
case
"
$MAGIC
"
in
/
*
)
lt_cv_path_MAGIC
=
"
$MAGIC
"
# Let the user override the test with a path.
;;
;;
?:/
*
)
ac_cv_path_MAGIC
=
"
$MAGIC
"
# Let the user override the test with a dos path.
;;
*
)
ac_save_MAGIC
=
"
$MAGIC
"
IFS
=
"
${
IFS
=
}
"
;
ac_save_ifs
=
"
$IFS
"
;
IFS
=
":"
ac_dummy
=
"/usr/bin:
$PATH
"
for
ac_dir
in
$ac_dummy
;
do
test
-z
"
$ac_dir
"
&&
ac_dir
=
.
if
test
-f
$ac_dir
/
${
ac_tool_prefix
}
file
;
then
lt_cv_path_MAGIC
=
"
$ac_dir
/
${
ac_tool_prefix
}
file"
if
test
-n
"
$file_magic_test_file
"
;
then
case
"
$deplibs_check_method
"
in
"file_magic "
*
)
file_magic_regex
=
"
`
expr
\"
$deplibs_check_method
\"
:
\"
file_magic
\(
.
*
\)\"
`
"
MAGIC
=
"
$lt_cv_path_MAGIC
"
if
eval
$file_magic_cmd
\$
file_magic_test_file 2> /dev/null |
egrep
"
$file_magic_regex
"
>
/dev/null
;
then
:
else
cat
<<
EOF
1>&2
*** Warning: the command libtool uses to detect shared libraries,
***
$file_magic_cmd
, produces output that libtool cannot recognize.
*** The result is that libtool may fail to recognize shared libraries
*** as such. This will affect the creation of libtool libraries that
*** depend on shared libraries, but programs linked with such libtool
*** libraries will work regardless of this problem. Nevertheless, you
*** may want to report the problem to your system manager and/or to
*** bug-libtool@gnu.org
EOF
fi
;;
esac
fi
break
fi
done
IFS
=
"
$ac_save_ifs
"
MAGIC
=
"
$ac_save_MAGIC
"
;;
esac
esac
fi
MAGIC
=
"
$lt_cv_path_MAGIC
"
if
test
-n
"
$MAGIC
"
;
then
echo
"
$ac_t
""
$MAGIC
"
1>&6
else
echo
"
$ac_t
""no"
1>&6
fi
# Save cache, so that ltconfig can load it
if
test
-z
"
$lt_cv_path_MAGIC
"
;
then
cat
>
confcache
<<
\
EOF
if
test
-n
"
$ac_tool_prefix
"
;
then
echo
$ac_n
"checking for file""...
$ac_c
"
1>&6
echo
"configure:1814: checking for file"
>
&5
if
eval
"test
\"
`
echo
'$''{'
lt_cv_path_MAGIC
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
case
"
$MAGIC
"
in
/
*
)
lt_cv_path_MAGIC
=
"
$MAGIC
"
# Let the user override the test with a path.
;;
?:/
*
)
ac_cv_path_MAGIC
=
"
$MAGIC
"
# Let the user override the test with a dos path.
;;
*
)
ac_save_MAGIC
=
"
$MAGIC
"
IFS
=
"
${
IFS
=
}
"
;
ac_save_ifs
=
"
$IFS
"
;
IFS
=
":"
ac_dummy
=
"/usr/bin:
$PATH
"
for
ac_dir
in
$ac_dummy
;
do
test
-z
"
$ac_dir
"
&&
ac_dir
=
.
if
test
-f
$ac_dir
/file
;
then
lt_cv_path_MAGIC
=
"
$ac_dir
/file"
if
test
-n
"
$file_magic_test_file
"
;
then
case
"
$deplibs_check_method
"
in
"file_magic "
*
)
file_magic_regex
=
"
`
expr
\"
$deplibs_check_method
\"
:
\"
file_magic
\(
.
*
\)\"
`
"
MAGIC
=
"
$lt_cv_path_MAGIC
"
if
eval
$file_magic_cmd
\$
file_magic_test_file 2> /dev/null |
egrep
"
$file_magic_regex
"
>
/dev/null
;
then
:
else
cat
<<
EOF
1>&2
*** Warning: the command libtool uses to detect shared libraries,
***
$file_magic_cmd
, produces output that libtool cannot recognize.
*** The result is that libtool may fail to recognize shared libraries
*** as such. This will affect the creation of libtool libraries that
*** depend on shared libraries, but programs linked with such libtool
*** libraries will work regardless of this problem. Nevertheless, you
*** may want to report the problem to your system manager and/or to
*** bug-libtool@gnu.org
EOF
fi
;;
esac
fi
break
fi
done
IFS
=
"
$ac_save_ifs
"
MAGIC
=
"
$ac_save_MAGIC
"
;;
esac
fi
MAGIC
=
"
$lt_cv_path_MAGIC
"
if
test
-n
"
$MAGIC
"
;
then
echo
"
$ac_t
""
$MAGIC
"
1>&6
else
echo
"
$ac_t
""no"
1>&6
fi
else
MAGIC
=
:
fi
fi
fi
;;
esac
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set
dummy
${
ac_tool_prefix
}
ranlib
;
ac_word
=
$2
echo
$ac_n
"checking for
$ac_word
""...
$ac_c
"
1>&6
echo
"configure:1885: checking for
$ac_word
"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_RANLIB
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
if
test
-n
"
$RANLIB
"
;
then
ac_cv_prog_RANLIB
=
"
$RANLIB
"
# Let the user override the test.
else
IFS
=
"
${
IFS
=
}
"
;
ac_save_ifs
=
"
$IFS
"
;
IFS
=
":"
ac_dummy
=
"
$PATH
"
for
ac_dir
in
$ac_dummy
;
do
test
-z
"
$ac_dir
"
&&
ac_dir
=
.
if
test
-f
$ac_dir
/
$ac_word
;
then
ac_cv_prog_RANLIB
=
"
${
ac_tool_prefix
}
ranlib"
break
fi
done
IFS
=
"
$ac_save_ifs
"
fi
fi
RANLIB
=
"
$ac_cv_prog_RANLIB
"
if
test
-n
"
$RANLIB
"
;
then
echo
"
$ac_t
""
$RANLIB
"
1>&6
else
echo
"
$ac_t
""no"
1>&6
fi
if
test
-z
"
$ac_cv_prog_RANLIB
"
;
then
if
test
-n
"
$ac_tool_prefix
"
;
then
# Extract the first word of "ranlib", so it can be a program name with args.
set
dummy ranlib
;
ac_word
=
$2
echo
$ac_n
"checking for
$ac_word
""...
$ac_c
"
1>&6
echo
"configure:1917: checking for
$ac_word
"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_RANLIB
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
if
test
-n
"
$RANLIB
"
;
then
ac_cv_prog_RANLIB
=
"
$RANLIB
"
# Let the user override the test.
else
IFS
=
"
${
IFS
=
}
"
;
ac_save_ifs
=
"
$IFS
"
;
IFS
=
":"
ac_dummy
=
"
$PATH
"
for
ac_dir
in
$ac_dummy
;
do
test
-z
"
$ac_dir
"
&&
ac_dir
=
.
if
test
-f
$ac_dir
/
$ac_word
;
then
ac_cv_prog_RANLIB
=
"ranlib"
break
fi
done
IFS
=
"
$ac_save_ifs
"
test
-z
"
$ac_cv_prog_RANLIB
"
&&
ac_cv_prog_RANLIB
=
":"
fi
fi
RANLIB
=
"
$ac_cv_prog_RANLIB
"
if
test
-n
"
$RANLIB
"
;
then
echo
"
$ac_t
""
$RANLIB
"
1>&6
else
echo
"
$ac_t
""no"
1>&6
fi
else
RANLIB
=
":"
fi
fi
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set
dummy
${
ac_tool_prefix
}
strip
;
ac_word
=
$2
echo
$ac_n
"checking for
$ac_word
""...
$ac_c
"
1>&6
echo
"configure:1952: checking for
$ac_word
"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_STRIP
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
if
test
-n
"
$STRIP
"
;
then
ac_cv_prog_STRIP
=
"
$STRIP
"
# Let the user override the test.
else
IFS
=
"
${
IFS
=
}
"
;
ac_save_ifs
=
"
$IFS
"
;
IFS
=
":"
ac_dummy
=
"
$PATH
"
for
ac_dir
in
$ac_dummy
;
do
test
-z
"
$ac_dir
"
&&
ac_dir
=
.
if
test
-f
$ac_dir
/
$ac_word
;
then
ac_cv_prog_STRIP
=
"
${
ac_tool_prefix
}
strip"
break
fi
done
IFS
=
"
$ac_save_ifs
"
fi
fi
STRIP
=
"
$ac_cv_prog_STRIP
"
if
test
-n
"
$STRIP
"
;
then
echo
"
$ac_t
""
$STRIP
"
1>&6
else
echo
"
$ac_t
""no"
1>&6
fi
if
test
-z
"
$ac_cv_prog_STRIP
"
;
then
if
test
-n
"
$ac_tool_prefix
"
;
then
# Extract the first word of "strip", so it can be a program name with args.
set
dummy strip
;
ac_word
=
$2
echo
$ac_n
"checking for
$ac_word
""...
$ac_c
"
1>&6
echo
"configure:1984: checking for
$ac_word
"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_STRIP
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
if
test
-n
"
$STRIP
"
;
then
ac_cv_prog_STRIP
=
"
$STRIP
"
# Let the user override the test.
else
IFS
=
"
${
IFS
=
}
"
;
ac_save_ifs
=
"
$IFS
"
;
IFS
=
":"
ac_dummy
=
"
$PATH
"
for
ac_dir
in
$ac_dummy
;
do
test
-z
"
$ac_dir
"
&&
ac_dir
=
.
if
test
-f
$ac_dir
/
$ac_word
;
then
ac_cv_prog_STRIP
=
"strip"
break
fi
done
IFS
=
"
$ac_save_ifs
"
test
-z
"
$ac_cv_prog_STRIP
"
&&
ac_cv_prog_STRIP
=
":"
fi
fi
STRIP
=
"
$ac_cv_prog_STRIP
"
if
test
-n
"
$STRIP
"
;
then
echo
"
$ac_t
""
$STRIP
"
1>&6
else
echo
"
$ac_t
""no"
1>&6
fi
else
STRIP
=
":"
fi
fi
# Check for any special flags to pass to ltconfig.
libtool_flags
=
"--cache-file=
$cache_file
"
test
"
$enable_shared
"
=
no
&&
libtool_flags
=
"
$libtool_flags
--disable-shared"
test
"
$enable_static
"
=
no
&&
libtool_flags
=
"
$libtool_flags
--disable-static"
test
"
$enable_fast_install
"
=
no
&&
libtool_flags
=
"
$libtool_flags
--disable-fast-install"
test
"
$ac_cv_prog_gcc
"
=
yes
&&
libtool_flags
=
"
$libtool_flags
--with-gcc"
test
"
$ac_cv_prog_gnu_ld
"
=
yes
&&
libtool_flags
=
"
$libtool_flags
--with-gnu-ld"
libtool_flags
=
"
$libtool_flags
--enable-win32-dll"
# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
if
test
"
${
enable_libtool_lock
+set
}
"
=
set
;
then
enableval
=
"
$enable_libtool_lock
"
:
fi
test
"x
$enable_libtool_lock
"
=
xno
&&
libtool_flags
=
"
$libtool_flags
--disable-lock"
test
x
"
$silent
"
=
xyes
&&
libtool_flags
=
"
$libtool_flags
--silent"
# Check whether --with-pic or --without-pic was given.
if
test
"
${
with_pic
+set
}
"
=
set
;
then
withval
=
"
$with_pic
"
pic_mode
=
"
$withval
"
else
pic_mode
=
default
fi
test
x
"
$pic_mode
"
=
xyes
&&
libtool_flags
=
"
$libtool_flags
--prefer-pic"
test
x
"
$pic_mode
"
=
xno
&&
libtool_flags
=
"
$libtool_flags
--prefer-non-pic"
# Some flags need to be propagated to the compiler or linker for good
# libtool support.
case
"
$host
"
in
*
-
*
-irix6
*
)
# Find out which ABI we are using.
echo
'#line 2051 "configure"'
>
conftest.
$ac_ext
if
{
(
eval echo
configure:2052:
\"
$ac_compile
\"
)
1>&5
;
(
eval
$ac_compile
)
2>&5
;
}
;
then
case
"
`
/usr/bin/file conftest.o
`
"
in
*
32-bit
*
)
LD
=
"
${
LD
-ld
}
-32"
;;
*
N32
*
)
LD
=
"
${
LD
-ld
}
-n32"
;;
*
64-bit
*
)
LD
=
"
${
LD
-ld
}
-64"
;;
esac
fi
rm
-rf
conftest
*
;;
*
-
*
-sco3
.2v5
*
)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
SAVE_CFLAGS
=
"
$CFLAGS
"
CFLAGS
=
"
$CFLAGS
-belf"
echo
$ac_n
"checking whether the C compiler needs -belf""...
$ac_c
"
1>&6
echo
"configure:2073: checking whether the C compiler needs -belf"
>
&5
if
eval
"test
\"
`
echo
'$''{'
lt_cv_cc_needs_belf
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
ac_ext
=
c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp
=
'$CPP $CPPFLAGS'
ac_compile
=
'${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
ac_link
=
'${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
cross_compiling
=
$ac_cv_prog_cc_cross
cat
>
conftest.
$ac_ext
<<
EOF
#line 2086 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
if
{
(
eval echo
configure:2093:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
;
then
rm
-rf
conftest
*
lt_cv_cc_needs_belf
=
yes
else
echo
"configure: failed program was:"
>
&5
cat
conftest.
$ac_ext
>
&5
rm
-rf
conftest
*
lt_cv_cc_needs_belf
=
no
fi
rm
-f
conftest
*
ac_ext
=
c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp
=
'$CPP $CPPFLAGS'
ac_compile
=
'${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
ac_link
=
'${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
cross_compiling
=
$ac_cv_prog_cc_cross
fi
echo
"
$ac_t
""
$lt_cv_cc_needs_belf
"
1>&6
if
test
x
"
$lt_cv_cc_needs_belf
"
!=
x
"yes"
;
then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
CFLAGS
=
"
$SAVE_CFLAGS
"
fi
;;
*
-
*
-cygwin
*
|
*
-
*
-mingw
*
)
# Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
set
dummy
${
ac_tool_prefix
}
dlltool
;
ac_word
=
$2
echo
$ac_n
"checking for
$ac_word
""...
$ac_c
"
1>&6
echo
"configure:2123: checking for
$ac_word
"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_DLLTOOL
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
if
test
-n
"
$DLLTOOL
"
;
then
ac_cv_prog_DLLTOOL
=
"
$DLLTOOL
"
# Let the user override the test.
else
IFS
=
"
${
IFS
=
}
"
;
ac_save_ifs
=
"
$IFS
"
;
IFS
=
":"
ac_dummy
=
"
$PATH
"
for
ac_dir
in
$ac_dummy
;
do
test
-z
"
$ac_dir
"
&&
ac_dir
=
.
if
test
-f
$ac_dir
/
$ac_word
;
then
ac_cv_prog_DLLTOOL
=
"
${
ac_tool_prefix
}
dlltool"
break
fi
done
IFS
=
"
$ac_save_ifs
"
fi
fi
DLLTOOL
=
"
$ac_cv_prog_DLLTOOL
"
if
test
-n
"
$DLLTOOL
"
;
then
echo
"
$ac_t
""
$DLLTOOL
"
1>&6
else
echo
"
$ac_t
""no"
1>&6
fi
if
test
-z
"
$ac_cv_prog_DLLTOOL
"
;
then
if
test
-n
"
$ac_tool_prefix
"
;
then
# Extract the first word of "dlltool", so it can be a program name with args.
set
dummy dlltool
;
ac_word
=
$2
echo
$ac_n
"checking for
$ac_word
""...
$ac_c
"
1>&6
echo
"configure:2155: checking for
$ac_word
"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_DLLTOOL
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
if
test
-n
"
$DLLTOOL
"
;
then
ac_cv_prog_DLLTOOL
=
"
$DLLTOOL
"
# Let the user override the test.
else
IFS
=
"
${
IFS
=
}
"
;
ac_save_ifs
=
"
$IFS
"
;
IFS
=
":"
ac_dummy
=
"
$PATH
"
for
ac_dir
in
$ac_dummy
;
do
test
-z
"
$ac_dir
"
&&
ac_dir
=
.
if
test
-f
$ac_dir
/
$ac_word
;
then
ac_cv_prog_DLLTOOL
=
"dlltool"
break
fi
done
IFS
=
"
$ac_save_ifs
"
test
-z
"
$ac_cv_prog_DLLTOOL
"
&&
ac_cv_prog_DLLTOOL
=
"false"
fi
fi
DLLTOOL
=
"
$ac_cv_prog_DLLTOOL
"
if
test
-n
"
$DLLTOOL
"
;
then
echo
"
$ac_t
""
$DLLTOOL
"
1>&6
else
echo
"
$ac_t
""no"
1>&6
fi
else
DLLTOOL
=
"false"
fi
fi
# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
set
dummy
${
ac_tool_prefix
}
as
;
ac_word
=
$2
echo
$ac_n
"checking for
$ac_word
""...
$ac_c
"
1>&6
echo
"configure:2190: checking for
$ac_word
"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_AS
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
if
test
-n
"
$AS
"
;
then
ac_cv_prog_AS
=
"
$AS
"
# Let the user override the test.
else
IFS
=
"
${
IFS
=
}
"
;
ac_save_ifs
=
"
$IFS
"
;
IFS
=
":"
ac_dummy
=
"
$PATH
"
for
ac_dir
in
$ac_dummy
;
do
test
-z
"
$ac_dir
"
&&
ac_dir
=
.
if
test
-f
$ac_dir
/
$ac_word
;
then
ac_cv_prog_AS
=
"
${
ac_tool_prefix
}
as"
break
fi
done
IFS
=
"
$ac_save_ifs
"
fi
fi
AS
=
"
$ac_cv_prog_AS
"
if
test
-n
"
$AS
"
;
then
echo
"
$ac_t
""
$AS
"
1>&6
else
echo
"
$ac_t
""no"
1>&6
fi
if
test
-z
"
$ac_cv_prog_AS
"
;
then
if
test
-n
"
$ac_tool_prefix
"
;
then
# Extract the first word of "as", so it can be a program name with args.
set
dummy as
;
ac_word
=
$2
echo
$ac_n
"checking for
$ac_word
""...
$ac_c
"
1>&6
echo
"configure:2222: checking for
$ac_word
"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_AS
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
if
test
-n
"
$AS
"
;
then
ac_cv_prog_AS
=
"
$AS
"
# Let the user override the test.
else
IFS
=
"
${
IFS
=
}
"
;
ac_save_ifs
=
"
$IFS
"
;
IFS
=
":"
ac_dummy
=
"
$PATH
"
for
ac_dir
in
$ac_dummy
;
do
test
-z
"
$ac_dir
"
&&
ac_dir
=
.
if
test
-f
$ac_dir
/
$ac_word
;
then
ac_cv_prog_AS
=
"as"
break
fi
done
IFS
=
"
$ac_save_ifs
"
test
-z
"
$ac_cv_prog_AS
"
&&
ac_cv_prog_AS
=
"false"
fi
fi
AS
=
"
$ac_cv_prog_AS
"
if
test
-n
"
$AS
"
;
then
echo
"
$ac_t
""
$AS
"
1>&6
else
echo
"
$ac_t
""no"
1>&6
fi
else
AS
=
"false"
fi
fi
# Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
set
dummy
${
ac_tool_prefix
}
objdump
;
ac_word
=
$2
echo
$ac_n
"checking for
$ac_word
""...
$ac_c
"
1>&6
echo
"configure:2257: checking for
$ac_word
"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_OBJDUMP
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
if
test
-n
"
$OBJDUMP
"
;
then
ac_cv_prog_OBJDUMP
=
"
$OBJDUMP
"
# Let the user override the test.
else
IFS
=
"
${
IFS
=
}
"
;
ac_save_ifs
=
"
$IFS
"
;
IFS
=
":"
ac_dummy
=
"
$PATH
"
for
ac_dir
in
$ac_dummy
;
do
test
-z
"
$ac_dir
"
&&
ac_dir
=
.
if
test
-f
$ac_dir
/
$ac_word
;
then
ac_cv_prog_OBJDUMP
=
"
${
ac_tool_prefix
}
objdump"
break
fi
done
IFS
=
"
$ac_save_ifs
"
fi
fi
OBJDUMP
=
"
$ac_cv_prog_OBJDUMP
"
if
test
-n
"
$OBJDUMP
"
;
then
echo
"
$ac_t
""
$OBJDUMP
"
1>&6
else
echo
"
$ac_t
""no"
1>&6
fi
if
test
-z
"
$ac_cv_prog_OBJDUMP
"
;
then
if
test
-n
"
$ac_tool_prefix
"
;
then
# Extract the first word of "objdump", so it can be a program name with args.
set
dummy objdump
;
ac_word
=
$2
echo
$ac_n
"checking for
$ac_word
""...
$ac_c
"
1>&6
echo
"configure:2289: checking for
$ac_word
"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_prog_OBJDUMP
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
if
test
-n
"
$OBJDUMP
"
;
then
ac_cv_prog_OBJDUMP
=
"
$OBJDUMP
"
# Let the user override the test.
else
IFS
=
"
${
IFS
=
}
"
;
ac_save_ifs
=
"
$IFS
"
;
IFS
=
":"
ac_dummy
=
"
$PATH
"
for
ac_dir
in
$ac_dummy
;
do
test
-z
"
$ac_dir
"
&&
ac_dir
=
.
if
test
-f
$ac_dir
/
$ac_word
;
then
ac_cv_prog_OBJDUMP
=
"objdump"
break
fi
done
IFS
=
"
$ac_save_ifs
"
test
-z
"
$ac_cv_prog_OBJDUMP
"
&&
ac_cv_prog_OBJDUMP
=
"false"
fi
fi
OBJDUMP
=
"
$ac_cv_prog_OBJDUMP
"
if
test
-n
"
$OBJDUMP
"
;
then
echo
"
$ac_t
""
$OBJDUMP
"
1>&6
else
echo
"
$ac_t
""no"
1>&6
fi
else
OBJDUMP
=
"false"
fi
fi
# recent cygwin and mingw systems supply a stub DllMain which the user
# can override, but on older systems we have to supply one
echo
$ac_n
"checking if libtool should supply DllMain function""...
$ac_c
"
1>&6
echo
"configure:2325: checking if libtool should supply DllMain function"
>
&5
if
eval
"test
\"
`
echo
'$''{'
lt_cv_need_dllmain
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
cat
>
conftest.
$ac_ext
<<
EOF
#line 2330 "configure"
#include "confdefs.h"
int main() {
extern int __attribute__((__stdcall__)) DllMain(void*, int, void*);
DllMain (0, 0, 0);
; return 0; }
EOF
if
{
(
eval echo
configure:2338:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
;
then
rm
-rf
conftest
*
lt_cv_need_dllmain
=
no
else
echo
"configure: failed program was:"
>
&5
cat
conftest.
$ac_ext
>
&5
rm
-rf
conftest
*
lt_cv_need_dllmain
=
yes
fi
rm
-f
conftest
*
fi
echo
"
$ac_t
""
$lt_cv_need_dllmain
"
1>&6
case
"
$host
/
$CC
"
in
*
-
*
-cygwin
*
/gcc
*
-mno-cygwin
*
|
*
-
*
-mingw
*
)
# old mingw systems require "-dll" to link a DLL, while more recent ones
# require "-mdll"
SAVE_CFLAGS
=
"
$CFLAGS
"
CFLAGS
=
"
$CFLAGS
-mdll"
echo
$ac_n
"checking how to link DLLs""...
$ac_c
"
1>&6
echo
"configure:2359: checking how to link DLLs"
>
&5
if
eval
"test
\"
`
echo
'$''{'
lt_cv_cc_dll_switch
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
cat
>
conftest.
$ac_ext
<<
EOF
#line 2364 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
if
{
(
eval echo
configure:2371:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
;
then
rm
-rf
conftest
*
lt_cv_cc_dll_switch
=
-mdll
else
echo
"configure: failed program was:"
>
&5
cat
conftest.
$ac_ext
>
&5
rm
-rf
conftest
*
lt_cv_cc_dll_switch
=
-dll
fi
rm
-f
conftest
*
fi
echo
"
$ac_t
""
$lt_cv_cc_dll_switch
"
1>&6
CFLAGS
=
"
$SAVE_CFLAGS
"
;;
*
-
*
-cygwin
*
)
# cygwin systems need to pass --dll to the linker, and not link
# crt.o which will require a WinMain@16 definition.
lt_cv_cc_dll_switch
=
"-Wl,--dll -nostartfiles"
;;
esac
;;
esac
# Save cache, so that ltconfig can load it
cat
>
confcache
<<
\
EOF
# This file is a shell script that caches the results of configure
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
# tests run on this system so they can be shared between configure
# scripts and configure runs. It is not useful on other systems.
# scripts and configure runs. It is not useful on other systems.
...
@@ -1597,12 +2441,14 @@ rm -f confcache
...
@@ -1597,12 +2441,14 @@ rm -f confcache
# Actually configure libtool. ac_aux_dir is where install-sh is found.
# Actually configure libtool. ac_aux_dir is where install-sh is found.
CC
=
"
$CC
"
CFLAGS
=
"
$CFLAGS
"
CPPFLAGS
=
"
$CPPFLAGS
"
\
AR
=
"
$AR
"
LTCC
=
"
$CC
"
CC
=
"
$CC
"
CFLAGS
=
"
$CFLAGS
"
CPPFLAGS
=
"
$CPPFLAGS
"
\
LD
=
"
$LD
"
LDFLAGS
=
"
$LDFLAGS
"
LIBS
=
"
$LIBS
"
\
MAGIC
=
"
$MAGIC
"
LD
=
"
$LD
"
LDFLAGS
=
"
$LDFLAGS
"
LIBS
=
"
$LIBS
"
\
LN_S
=
"
$LN_S
"
NM
=
"
$NM
"
RANLIB
=
"
$RANLIB
"
\
LN_S
=
"
$LN_S
"
NM
=
"
$NM
"
RANLIB
=
"
$RANLIB
"
STRIP
=
"
$STRIP
"
\
DLLTOOL
=
"
$DLLTOOL
"
AS
=
"
$AS
"
OBJDUMP
=
"
$OBJDUMP
"
\
AS
=
"
$AS
"
DLLTOOL
=
"
$DLLTOOL
"
OBJDUMP
=
"
$OBJDUMP
"
\
objext
=
"
$OBJEXT
"
exeext
=
"
$EXEEXT
"
reload_flag
=
"
$reload_flag
"
\
deplibs_check_method
=
"
$deplibs_check_method
"
file_magic_cmd
=
"
$file_magic_cmd
"
\
${
CONFIG_SHELL
-/bin/sh
}
$ac_aux_dir
/ltconfig
--no-reexec
\
${
CONFIG_SHELL
-/bin/sh
}
$ac_aux_dir
/ltconfig
--no-reexec
\
$libtool_flags
--no-verify
$ac_aux_dir
/ltmain.sh
$lt_targe
t
\
$libtool_flags
--no-verify
--build
=
"
$build
"
$ac_aux_dir
/ltmain.sh
$hos
t
\
||
{
echo
"configure: error: libtool configure failed"
1>&2
;
exit
1
;
}
||
{
echo
"configure: error: libtool configure failed"
1>&2
;
exit
1
;
}
# Reload cache, that may have been modified by ltconfig
# Reload cache, that may have been modified by ltconfig
...
@@ -1616,7 +2462,7 @@ fi
...
@@ -1616,7 +2462,7 @@ fi
# This can be used to rebuild libtool when needed
# This can be used to rebuild libtool when needed
LIBTOOL_DEPS
=
"
$ac_aux_dir
/ltconfig
$ac_aux_dir
/ltmain.sh"
LIBTOOL_DEPS
=
"
$ac_aux_dir
/ltconfig
$ac_aux_dir
/ltmain.sh
$ac_aux_dir
/ltcf-c.sh
"
# Always use our own libtool.
# Always use our own libtool.
LIBTOOL
=
'$(SHELL) $(top_builddir)/libtool'
LIBTOOL
=
'$(SHELL) $(top_builddir)/libtool'
...
@@ -1627,15 +2473,13 @@ exec 5>>./config.log
...
@@ -1627,15 +2473,13 @@ exec 5>>./config.log
# Check whether --enable-ltdl-install or --disable-ltdl-install was given.
if
test
"
${
enable_ltdl_install
+set
}
"
=
set
;
then
enableval
=
"
$enable_ltdl_install
"
:
fi
echo
$ac_n
"checking for garbage collector to use""...
$ac_c
"
1>&6
echo
$ac_n
"checking for garbage collector to use""...
$ac_c
"
1>&6
echo
"configure:
1639
: checking for garbage collector to use"
>
&5
echo
"configure:
2483
: checking for garbage collector to use"
>
&5
# Check whether --enable-java-gc or --disable-java-gc was given.
# Check whether --enable-java-gc or --disable-java-gc was given.
if
test
"
${
enable_java_gc
+set
}
"
=
set
;
then
if
test
"
${
enable_java_gc
+set
}
"
=
set
;
then
enableval
=
"
$enable_java_gc
"
enableval
=
"
$enable_java_gc
"
...
@@ -1657,90 +2501,8 @@ EOF
...
@@ -1657,90 +2501,8 @@ EOF
fi
fi
if
test
x
"
${
enable_ltdl_install
-no
}
"
!=
xno
;
then
INSTALL_LTDL_TRUE
=
INSTALL_LTDL_FALSE
=
'#'
else
INSTALL_LTDL_TRUE
=
'#'
INSTALL_LTDL_FALSE
=
fi
if
test
x
"
${
enable_ltdl_convenience
-no
}
"
!=
xno
;
then
CONVENIENCE_LTDL_TRUE
=
CONVENIENCE_LTDL_FALSE
=
'#'
else
CONVENIENCE_LTDL_TRUE
=
'#'
CONVENIENCE_LTDL_FALSE
=
fi
rm
-f
conftest
./libtool
--config
>
conftest
.
./conftest
rm
-f
conftest
echo
$ac_n
"checking which extension is used for shared libraries""...
$ac_c
"
1>&6
echo
"configure:1686: checking which extension is used for shared libraries"
>
&5
if
eval
"test
\"
`
echo
'$''{'
libltdl_cv_shlibext
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
(
last
=
for
spec
in
$library_names_spec
;
do
last
=
"
$spec
"
done
echo
"
$last
"
| sed
's/\[.*\]//;s/^[^.]*//;s/\$.*$//;s/\.$//'
>
conftest
)
libltdl_cv_shlibext
=
`
cat
conftest
`
rm
-f
conftest
fi
echo
"
$ac_t
""
$libltdl_cv_shlibext
"
1>&6
if
test
-n
"
$libltdl_cv_shlibext
"
;
then
cat
>>
confdefs.h
<<
EOF
#define LTDL_SHLIB_EXT "
$libltdl_cv_shlibext
"
EOF
fi
echo
$ac_n
"checking which variable specifies run-time library path""...
$ac_c
"
1>&6
echo
"configure:1713: checking which variable specifies run-time library path"
>
&5
if
eval
"test
\"
`
echo
'$''{'
libltdl_cv_shlibpath_var
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
libltdl_cv_shlibpath_var
=
"
$shlibpath_var
"
fi
echo
"
$ac_t
""
$libltdl_cv_shlibpath_var
"
1>&6
if
test
-n
"
$libltdl_cv_shlibpath_var
"
;
then
cat
>>
confdefs.h
<<
EOF
#define LTDL_SHLIBPATH_VAR "
$libltdl_cv_shlibpath_var
"
EOF
fi
echo
$ac_n
"checking for objdir""...
$ac_c
"
1>&6
echo
"configure:1729: checking for objdir"
>
&5
if
eval
"test
\"
`
echo
'$''{'
libltdl_cv_objdir
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
libltdl_cv_objdir
=
"
$objdir
"
fi
echo
"
$ac_t
""
$libltdl_cv_objdir
"
1>&6
test
-z
"
$libltdl_cv_objdir
"
&&
libltdl_cv_objdir
=
".libs"
cat
>>
confdefs.h
<<
EOF
#define LTDL_OBJDIR "
$libltdl_cv_objdir
/"
EOF
echo
$ac_n
"checking how to run the C preprocessor""...
$ac_c
"
1>&6
echo
$ac_n
"checking how to run the C preprocessor""...
$ac_c
"
1>&6
echo
"configure:
1744
: checking how to run the C preprocessor"
>
&5
echo
"configure:
2506
: checking how to run the C preprocessor"
>
&5
# On Suns, sometimes $CPP names a directory.
# On Suns, sometimes $CPP names a directory.
if
test
-n
"
$CPP
"
&&
test
-d
"
$CPP
"
;
then
if
test
-n
"
$CPP
"
&&
test
-d
"
$CPP
"
;
then
CPP
=
CPP
=
...
@@ -1755,13 +2517,13 @@ else
...
@@ -1755,13 +2517,13 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser,
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
# not just through cpp.
cat
>
conftest.
$ac_ext
<<
EOF
cat
>
conftest.
$ac_ext
<<
EOF
#line
1759
"configure"
#line
2521
"configure"
#include "confdefs.h"
#include "confdefs.h"
#include <assert.h>
#include <assert.h>
Syntax Error
Syntax Error
EOF
EOF
ac_try
=
"
$ac_cpp
conftest.
$ac_ext
>/dev/null 2>conftest.out"
ac_try
=
"
$ac_cpp
conftest.
$ac_ext
>/dev/null 2>conftest.out"
{
(
eval echo
configure:
1765
:
\"
$ac_try
\"
)
1>&5
;
(
eval
$ac_try
)
2>&5
;
}
{
(
eval echo
configure:
2527
:
\"
$ac_try
\"
)
1>&5
;
(
eval
$ac_try
)
2>&5
;
}
ac_err
=
`
grep
-v
'^ *+'
conftest.out |
grep
-v
"^conftest.
${
ac_ext
}
\$
"
`
ac_err
=
`
grep
-v
'^ *+'
conftest.out |
grep
-v
"^conftest.
${
ac_ext
}
\$
"
`
if
test
-z
"
$ac_err
"
;
then
if
test
-z
"
$ac_err
"
;
then
:
:
...
@@ -1772,60 +2534,232 @@ else
...
@@ -1772,60 +2534,232 @@ else
rm
-rf
conftest
*
rm
-rf
conftest
*
CPP
=
"
${
CC
-cc
}
-E -traditional-cpp"
CPP
=
"
${
CC
-cc
}
-E -traditional-cpp"
cat
>
conftest.
$ac_ext
<<
EOF
cat
>
conftest.
$ac_ext
<<
EOF
#line 1776 "configure"
#line 2538 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try
=
"
$ac_cpp
conftest.
$ac_ext
>/dev/null 2>conftest.out"
{
(
eval echo
configure:2544:
\"
$ac_try
\"
)
1>&5
;
(
eval
$ac_try
)
2>&5
;
}
ac_err
=
`
grep
-v
'^ *+'
conftest.out |
grep
-v
"^conftest.
${
ac_ext
}
\$
"
`
if
test
-z
"
$ac_err
"
;
then
:
else
echo
"
$ac_err
"
>
&5
echo
"configure: failed program was:"
>
&5
cat
conftest.
$ac_ext
>
&5
rm
-rf
conftest
*
CPP
=
"
${
CC
-cc
}
-nologo -E"
cat
>
conftest.
$ac_ext
<<
EOF
#line 2555 "configure"
#include "confdefs.h"
#include "confdefs.h"
#include <assert.h>
#include <assert.h>
Syntax Error
Syntax Error
EOF
EOF
ac_try
=
"
$ac_cpp
conftest.
$ac_ext
>/dev/null 2>conftest.out"
ac_try
=
"
$ac_cpp
conftest.
$ac_ext
>/dev/null 2>conftest.out"
{
(
eval echo
configure:1782:
\"
$ac_try
\"
)
1>&5
;
(
eval
$ac_try
)
2>&5
;
}
{
(
eval echo
configure:2561:
\"
$ac_try
\"
)
1>&5
;
(
eval
$ac_try
)
2>&5
;
}
ac_err
=
`
grep
-v
'^ *+'
conftest.out |
grep
-v
"^conftest.
${
ac_ext
}
\$
"
`
ac_err
=
`
grep
-v
'^ *+'
conftest.out |
grep
-v
"^conftest.
${
ac_ext
}
\$
"
`
if
test
-z
"
$ac_err
"
;
then
if
test
-z
"
$ac_err
"
;
then
:
:
else
else
echo
"
$ac_err
"
>
&5
echo
"
$ac_err
"
>
&5
echo
"configure: failed program was:"
>
&5
echo
"configure: failed program was:"
>
&5
cat
conftest.
$ac_ext
>
&5
cat
conftest.
$ac_ext
>
&5
rm
-rf
conftest
*
rm
-rf
conftest
*
CPP
=
"
${
CC
-cc
}
-nologo -E"
CPP
=
/lib/cpp
cat
>
conftest.
$ac_ext
<<
EOF
fi
#line 1793 "configure"
rm
-f
conftest
*
#include "confdefs.h"
fi
#include <assert.h>
rm
-f
conftest
*
Syntax Error
fi
rm
-f
conftest
*
ac_cv_prog_CPP
=
"
$CPP
"
fi
CPP
=
"
$ac_cv_prog_CPP
"
else
ac_cv_prog_CPP
=
"
$CPP
"
fi
echo
"
$ac_t
""
$CPP
"
1>&6
# Read the libtool configuration
rm
-f
conftest
./libtool
--config
>
conftest
.
./conftest
rm
-f
conftest
# Check for command to grab the raw symbol name followed by C symbol from nm.
echo
$ac_n
"checking command to parse
$NM
output""...
$ac_c
"
1>&6
echo
"configure:2593: checking command to parse
$NM
output"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_sys_global_symbol_pipe
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
# These are sane defaults that work on at least a few old systems.
# {They come from Ultrix. What could be older than Ultrix?!! ;)}
# Character class describing NM global symbol codes.
ac_symcode
=
'[BCDEGRST]'
# Regexp to match symbols that can be accessed directly from C.
ac_sympat
=
'\([_A-Za-z][_A-Za-z0-9]*\)'
# Transform the above into a raw symbol and a C symbol.
ac_symxfrm
=
'\1 \2\3 \3'
# Transform an extracted symbol line into a proper C declaration
ac_global_symbol_to_cdecl
=
"sed -n -e 's/^. .*
\(
.*
\)
$/
extern char
\1
;/p'"
# Define system-specific variables.
case
"
$host_os
"
in
aix
*
)
ac_symcode
=
'[BCDT]'
;;
cygwin
*
|
mingw
*
)
ac_symcode
=
'[ABCDGISTW]'
;;
hpux
*
)
ac_global_symbol_to_cdecl
=
"sed -n -e 's/^T .*
\(
.*
\)
$/
extern char
\1
();/p' -e 's/^. .*
\(
.*
\)
$/
extern char
\1
;/p'"
;;
irix
*
)
ac_symcode
=
'[BCDEGRST]'
;;
solaris
*
)
ac_symcode
=
'[BDT]'
;;
esac
# If we're using GNU nm, then use its standard symbol codes.
if
$NM
-V
2>&1 | egrep
'(GNU|with BFD)'
>
/dev/null
;
then
ac_symcode
=
'[ABCDGISTW]'
fi
# Try without a prefix undercore, then with it.
for
ac_symprfx
in
""
"_"
;
do
ac_cv_sys_global_symbol_pipe
=
"sed -n -e 's/^.*
\(
$ac_symcode
\)
*
\(
$ac_symprfx
\)
$ac_sympat$/$ac_symxfrm
/p'"
# Check to see that the pipe works correctly.
ac_pipe_works
=
no
rm
-f
conftest.
$ac_ext
cat
>
conftest.
$ac_ext
<<
EOF
#ifdef __cplusplus
extern "C" {
#endif
char nm_test_var;
void nm_test_func(){}
#ifdef __cplusplus
}
#endif
int main(){nm_test_var='a';nm_test_func;return 0;}
EOF
if
{
(
eval echo
configure:2656:
\"
$ac_compile
\"
)
1>&5
;
(
eval
$ac_compile
)
2>&5
;
}
;
then
# Now try to grab the symbols.
ac_nlist
=
conftest.nm
if
{
(
eval echo
configure:2660:
\"
$NM
conftest.
$ac_objext
\|
$ac_cv_sys_global_symbol_pipe
\>
$ac_nlist
\"
)
1>&5
;
(
eval
$NM
conftest.
$ac_objext
\|
$ac_cv_sys_global_symbol_pipe
\>
$ac_nlist
)
2>&5
;
}
&&
test
-s
"
$ac_nlist
"
;
then
# Try sorting and uniquifying the output.
if
sort
"
$ac_nlist
"
| uniq
>
"
$ac_nlist
"
T
;
then
mv
-f
"
$ac_nlist
"
T
"
$ac_nlist
"
else
rm
-f
"
$ac_nlist
"
T
fi
# Make sure that we snagged all the symbols we need.
if
egrep
' nm_test_var$'
"
$ac_nlist
"
>
/dev/null
;
then
if
egrep
' nm_test_func$'
"
$ac_nlist
"
>
/dev/null
;
then
cat
<<
EOF
> conftest.c
#ifdef __cplusplus
extern "C" {
#endif
EOF
# Now generate the symbol file.
eval
"
$ac_global_symbol_to_cdecl
"
' < "$ac_nlist" >> conftest.c'
cat
<<
EOF
>> conftest.c
#if defined (__STDC__) && __STDC__
# define lt_ptr_t void *
#else
# define lt_ptr_t char *
# define const
#endif
/* The mapping between symbol names and symbols. */
const struct {
const char *name;
lt_ptr_t address;
}
lt_preloaded_symbols[] =
{
EOF
sed
's/^. \(.*\) \(.*\)$/ {"\2", (lt_ptr_t) \&\2},/'
<
"
$ac_nlist
"
>>
conftest.c
cat
<<
\
EOF
>> conftest.c
{0, (lt_ptr_t) 0}
};
#ifdef __cplusplus
}
#endif
EOF
EOF
ac_try
=
"
$ac_cpp
conftest.
$ac_ext
>/dev/null 2>conftest.out"
# Now try linking the two files.
{
(
eval echo
configure:1799:
\"
$ac_try
\"
)
1>&5
;
(
eval
$ac_try
)
2>&5
;
}
mv conftest.
$ac_objext
conftstm.
$ac_objext
ac_err
=
`
grep
-v
'^ *+'
conftest.out |
grep
-v
"^conftest.
${
ac_ext
}
\$
"
`
ac_save_LIBS
=
"
$LIBS
"
if
test
-z
"
$ac_err
"
;
then
ac_save_CFLAGS
=
"
$CFLAGS
"
:
LIBS
=
"conftstm.
$ac_objext
"
else
CFLAGS
=
"
$CFLAGS$no_builtin_flag
"
echo
"
$ac_err
"
>
&5
if
{
(
eval echo
configure:2712:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
;
then
ac_pipe_works
=
yes
else
echo
"configure: failed program was:"
>
&5
echo
"configure: failed program was:"
>
&5
cat
conftest.
$ac_ext
>
&5
cat
conftest.c
>
&5
rm
-rf
conftest
*
fi
CPP
=
/lib/cpp
LIBS
=
"
$ac_save_LIBS
"
fi
CFLAGS
=
"
$ac_save_CFLAGS
"
rm
-f
conftest
*
else
fi
echo
"cannot find nm_test_func in
$ac_nlist
"
>
&5
rm
-f
conftest
*
fi
fi
else
rm
-f
conftest
*
echo
"cannot find nm_test_var in
$ac_nlist
"
>
&5
ac_cv_prog_CPP
=
"
$CPP
"
fi
else
echo
"cannot run
$ac_cv_sys_global_symbol_pipe
"
>
&5
fi
else
echo
"
$progname
: failed program was:"
>
&5
cat
conftest.c
>
&5
fi
rm
-rf
conftest
*
conftst
*
# Do not use the global_symbol_pipe unless it works.
if
test
"
$ac_pipe_works
"
=
yes
;
then
if
test
x
"
$ac_symprfx
"
=
x
"_"
;
then
ac_cv_sys_symbol_underscore
=
yes
else
ac_cv_sys_symbol_underscore
=
no
fi
break
else
ac_cv_sys_global_symbol_pipe
=
fi
done
fi
fi
CPP
=
"
$ac_cv_prog_CPP
"
else
ac_cv_prog_CPP
=
"
$CPP
"
ac_result
=
yes
if
test
-z
"
$ac_cv_sys_global_symbol_pipe
"
;
then
ac_result
=
no
fi
fi
echo
"
$ac_t
""
$
CPP
"
1>&6
echo
"
$ac_t
""
$
ac_result
"
1>&6
echo
$ac_n
"checking for ANSI C header files""...
$ac_c
"
1>&6
echo
$ac_n
"checking for ANSI C header files""...
$ac_c
"
1>&6
echo
"configure:
1824
: checking for ANSI C header files"
>
&5
echo
"configure:
2758
: checking for ANSI C header files"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_header_stdc
'+set}'
`
\"
= set"
;
then
if
eval
"test
\"
`
echo
'$''{'
ac_cv_header_stdc
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
else
cat
>
conftest.
$ac_ext
<<
EOF
cat
>
conftest.
$ac_ext
<<
EOF
#line
1829
"configure"
#line
2763
"configure"
#include "confdefs.h"
#include "confdefs.h"
#include <stdlib.h>
#include <stdlib.h>
#include <stdarg.h>
#include <stdarg.h>
...
@@ -1833,7 +2767,7 @@ else
...
@@ -1833,7 +2767,7 @@ else
#include <float.h>
#include <float.h>
EOF
EOF
ac_try
=
"
$ac_cpp
conftest.
$ac_ext
>/dev/null 2>conftest.out"
ac_try
=
"
$ac_cpp
conftest.
$ac_ext
>/dev/null 2>conftest.out"
{
(
eval echo
configure:
1837
:
\"
$ac_try
\"
)
1>&5
;
(
eval
$ac_try
)
2>&5
;
}
{
(
eval echo
configure:
2771
:
\"
$ac_try
\"
)
1>&5
;
(
eval
$ac_try
)
2>&5
;
}
ac_err
=
`
grep
-v
'^ *+'
conftest.out |
grep
-v
"^conftest.
${
ac_ext
}
\$
"
`
ac_err
=
`
grep
-v
'^ *+'
conftest.out |
grep
-v
"^conftest.
${
ac_ext
}
\$
"
`
if
test
-z
"
$ac_err
"
;
then
if
test
-z
"
$ac_err
"
;
then
rm
-rf
conftest
*
rm
-rf
conftest
*
...
@@ -1850,7 +2784,7 @@ rm -f conftest*
...
@@ -1850,7 +2784,7 @@ rm -f conftest*
if
test
$ac_cv_header_stdc
=
yes
;
then
if
test
$ac_cv_header_stdc
=
yes
;
then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat
>
conftest.
$ac_ext
<<
EOF
cat
>
conftest.
$ac_ext
<<
EOF
#line
1854
"configure"
#line
2788
"configure"
#include "confdefs.h"
#include "confdefs.h"
#include <string.h>
#include <string.h>
EOF
EOF
...
@@ -1868,7 +2802,7 @@ fi
...
@@ -1868,7 +2802,7 @@ fi
if
test
$ac_cv_header_stdc
=
yes
;
then
if
test
$ac_cv_header_stdc
=
yes
;
then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat
>
conftest.
$ac_ext
<<
EOF
cat
>
conftest.
$ac_ext
<<
EOF
#line
1872
"configure"
#line
2806
"configure"
#include "confdefs.h"
#include "confdefs.h"
#include <stdlib.h>
#include <stdlib.h>
EOF
EOF
...
@@ -1889,7 +2823,7 @@ if test "$cross_compiling" = yes; then
...
@@ -1889,7 +2823,7 @@ if test "$cross_compiling" = yes; then
:
:
else
else
cat
>
conftest.
$ac_ext
<<
EOF
cat
>
conftest.
$ac_ext
<<
EOF
#line
1893
"configure"
#line
2827
"configure"
#include "confdefs.h"
#include "confdefs.h"
#include <ctype.h>
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
...
@@ -1900,7 +2834,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
...
@@ -1900,7 +2834,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
exit (0); }
EOF
EOF
if
{
(
eval echo
configure:
1904
:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
&&
(
./conftest
;
exit
)
2>/dev/null
if
{
(
eval echo
configure:
2838
:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
&&
(
./conftest
;
exit
)
2>/dev/null
then
then
:
:
else
else
...
@@ -1923,199 +2857,132 @@ EOF
...
@@ -1923,199 +2857,132 @@ EOF
fi
fi
for
ac_hdr
in
malloc.h memory.h stdlib.h stdio.h ctype.h dlfcn.h dl.h dld.h
# Check whether --enable-ltdl-install or --disable-ltdl-install was given.
do
if
test
"
${
enable_ltdl_install
+set
}
"
=
set
;
then
ac_safe
=
`
echo
"
$ac_hdr
"
| sed
'y%./+-%__p_%'
`
enableval
=
"
$enable_ltdl_install
"
echo
$ac_n
"checking for
$ac_hdr
""...
$ac_c
"
1>&6
:
echo
"configure:1931: checking for
$ac_hdr
"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_header_
$ac_safe
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
cat
>
conftest.
$ac_ext
<<
EOF
#line 1936 "configure"
#include "confdefs.h"
#include <
$ac_hdr
>
EOF
ac_try
=
"
$ac_cpp
conftest.
$ac_ext
>/dev/null 2>conftest.out"
{
(
eval echo
configure:1941:
\"
$ac_try
\"
)
1>&5
;
(
eval
$ac_try
)
2>&5
;
}
ac_err
=
`
grep
-v
'^ *+'
conftest.out |
grep
-v
"^conftest.
${
ac_ext
}
\$
"
`
if
test
-z
"
$ac_err
"
;
then
rm
-rf
conftest
*
eval
"ac_cv_header_
$ac_safe
=yes"
else
echo
"
$ac_err
"
>
&5
echo
"configure: failed program was:"
>
&5
cat
conftest.
$ac_ext
>
&5
rm
-rf
conftest
*
eval
"ac_cv_header_
$ac_safe
=no"
fi
rm
-f
conftest
*
fi
fi
if
eval
"test
\"
`
echo
'$ac_cv_header_'
$ac_safe
`
\"
= yes"
;
then
echo
"
$ac_t
""yes"
1>&6
ac_tr_hdr
=
HAVE_
`
echo
$ac_hdr
| sed
'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'
`
cat
>>
confdefs.h
<<
EOF
#define
$ac_tr_hdr
1
EOF
else
echo
"
$ac_t
""no"
1>&6
fi
done
for
ac_hdr
in
string.h strings.h
do
ac_safe
=
`
echo
"
$ac_hdr
"
| sed
'y%./+-%__p_%'
`
if
test
x
"
${
enable_ltdl_install
-no
}
"
!=
xno
;
then
echo
$ac_n
"checking for
$ac_hdr
""...
$ac_c
"
1>&6
INSTALL_LTDL_TRUE
=
echo
"configure:1971: checking for
$ac_hdr
"
>
&5
INSTALL_LTDL_FALSE
=
'#'
if
eval
"test
\"
`
echo
'$''{'
ac_cv_header_
$ac_safe
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
cat
>
conftest.
$ac_ext
<<
EOF
#line 1976 "configure"
#include "confdefs.h"
#include <
$ac_hdr
>
EOF
ac_try
=
"
$ac_cpp
conftest.
$ac_ext
>/dev/null 2>conftest.out"
{
(
eval echo
configure:1981:
\"
$ac_try
\"
)
1>&5
;
(
eval
$ac_try
)
2>&5
;
}
ac_err
=
`
grep
-v
'^ *+'
conftest.out |
grep
-v
"^conftest.
${
ac_ext
}
\$
"
`
if
test
-z
"
$ac_err
"
;
then
rm
-rf
conftest
*
eval
"ac_cv_header_
$ac_safe
=yes"
else
else
echo
"
$ac_err
"
>
&5
INSTALL_LTDL_TRUE
=
'#'
echo
"configure: failed program was:"
>
&5
INSTALL_LTDL_FALSE
=
cat
conftest.
$ac_ext
>
&5
rm
-rf
conftest
*
eval
"ac_cv_header_
$ac_safe
=no"
fi
rm
-f
conftest
*
fi
fi
if
eval
"test
\"
`
echo
'$ac_cv_header_'
$ac_safe
`
\"
= yes"
;
then
echo
"
$ac_t
""yes"
1>&6
ac_tr_hdr
=
HAVE_
`
echo
$ac_hdr
| sed
'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'
`
if
test
x
"
${
enable_ltdl_convenience
-no
}
"
!=
xno
;
then
cat
>>
confdefs.h
<<
EOF
CONVENIENCE_LTDL_TRUE
=
#define
$ac_tr_hdr
1
CONVENIENCE_LTDL_FALSE
=
'#'
EOF
break
else
else
echo
"
$ac_t
""no"
1>&6
CONVENIENCE_LTDL_TRUE
=
'#'
CONVENIENCE_LTDL_FALSE
=
fi
fi
done
for
ac_func
in
strchr index
echo
$ac_n
"checking which extension is used for shared libraries""...
$ac_c
"
1>&6
do
echo
"configure:2888: checking which extension is used for shared libraries"
>
&5
echo
$ac_n
"checking for
$ac_func
""...
$ac_c
"
1>&6
if
eval
"test
\"
`
echo
'$''{'
libltdl_cv_shlibext
'+set}'
`
\"
= set"
;
then
echo
"configure:2010: checking for
$ac_func
"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_func_
$ac_func
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
else
cat
>
conftest.
$ac_ext
<<
EOF
(
#line 2015 "configure"
last
=
#include "confdefs.h"
for
spec
in
$library_names_spec
;
do
/* System header to define __stub macros and hopefully few prototypes,
last
=
"
$spec
"
which can conflict with char
$ac_func
(); below. */
done
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char
$ac_func
();
int main() {
echo
"
$last
"
| sed
's/\[.*\]//;s/^[^.]*//;s/\$.*$//;s/\.$//'
>
conftest
/* The GNU C library defines this for functions which it implements
)
to always fail with ENOSYS. Some functions are actually named
libltdl_cv_shlibext
=
`
cat
conftest
`
something starting with __ and the normal name is an alias. */
rm
-f
conftest
#if defined (__stub_
$ac_func
) || defined (__stub___
$ac_func
)
choke me
#else
$ac_func
();
#endif
; return 0; }
EOF
if
{
(
eval echo
configure:2038:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
;
then
rm
-rf
conftest
*
eval
"ac_cv_func_
$ac_func
=yes"
else
echo
"configure: failed program was:"
>
&5
cat
conftest.
$ac_ext
>
&5
rm
-rf
conftest
*
eval
"ac_cv_func_
$ac_func
=no"
fi
rm
-f
conftest
*
fi
fi
if
eval
"test
\"
`
echo
'$ac_cv_func_'
$ac_func
`
\"
= yes"
;
then
echo
"
$ac_t
""
$libltdl_cv_shlibext
"
1>&6
echo
"
$ac_t
""yes"
1>&6
if
test
-n
"
$libltdl_cv_shlibext
"
;
then
ac_tr_func
=
HAVE_
`
echo
$ac_func
| tr
'abcdefghijklmnopqrstuvwxyz'
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
`
cat
>>
confdefs.h
<<
EOF
cat
>>
confdefs.h
<<
EOF
#define
$ac_tr_func
1
#define
LTDL_SHLIB_EXT "
$libltdl_cv_shlibext
"
EOF
EOF
break
else
echo
"
$ac_t
""no"
1>&6
fi
fi
done
for
ac_func
in
strrchr rindex
echo
$ac_n
"checking which variable specifies run-time library path""...
$ac_c
"
1>&6
do
echo
"configure:2915: checking which variable specifies run-time library path"
>
&5
echo
$ac_n
"checking for
$ac_func
""...
$ac_c
"
1>&6
if
eval
"test
\"
`
echo
'$''{'
libltdl_cv_shlibpath_var
'+set}'
`
\"
= set"
;
then
echo
"configure:2065: checking for
$ac_func
"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_func_
$ac_func
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
else
cat
>
conftest.
$ac_ext
<<
EOF
libltdl_cv_shlibpath_var
=
"
$shlibpath_var
"
#line 2070 "configure"
fi
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char
$ac_func
(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char
$ac_func
();
int main() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined (__stub_
$ac_func
) || defined (__stub___
$ac_func
)
choke me
#else
$ac_func
();
#endif
; return 0; }
echo
"
$ac_t
""
$libltdl_cv_shlibpath_var
"
1>&6
if
test
-n
"
$libltdl_cv_shlibpath_var
"
;
then
cat
>>
confdefs.h
<<
EOF
#define LTDL_SHLIBPATH_VAR "
$libltdl_cv_shlibpath_var
"
EOF
EOF
if
{
(
eval echo
configure:2093:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
;
then
rm
-rf
conftest
*
eval
"ac_cv_func_
$ac_func
=yes"
else
echo
"configure: failed program was:"
>
&5
cat
conftest.
$ac_ext
>
&5
rm
-rf
conftest
*
eval
"ac_cv_func_
$ac_func
=no"
fi
fi
rm
-f
conftest
*
echo
$ac_n
"checking for the default library search path""...
$ac_c
"
1>&6
echo
"configure:2931: checking for the default library search path"
>
&5
if
eval
"test
\"
`
echo
'$''{'
libltdl_cv_sys_search_path
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
libltdl_cv_sys_search_path
=
"
$sys_lib_dlsearch_path_spec
"
fi
fi
if
eval
"test
\"
`
echo
'$ac_cv_func_'
$ac_func
`
\"
= yes"
;
then
echo
"
$ac_t
""
$libltdl_cv_sys_search_path
"
1>&6
echo
"
$ac_t
""yes"
1>&6
if
test
-n
"
$libltdl_cv_sys_search_path
"
;
then
ac_tr_func
=
HAVE_
`
echo
$ac_func
| tr
'abcdefghijklmnopqrstuvwxyz'
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
`
case
"
$host
"
in
*
-
*
-mingw
*
)
pathsep
=
";"
;;
*
)
pathsep
=
":"
;;
esac
sys_search_path
=
for
dir
in
$libltdl_cv_sys_search_path
;
do
if
test
-z
"
$sys_search_path
"
;
then
sys_search_path
=
"
$dir
"
else
sys_search_path
=
"
$sys_search_path$pathsep$dir
"
fi
done
cat
>>
confdefs.h
<<
EOF
cat
>>
confdefs.h
<<
EOF
#define
$ac_tr_func
1
#define
LTDL_SYSSEARCHPATH "
$sys_search_path
"
EOF
EOF
break
fi
echo
$ac_n
"checking for objdir""...
$ac_c
"
1>&6
echo
"configure:2959: checking for objdir"
>
&5
if
eval
"test
\"
`
echo
'$''{'
libltdl_cv_objdir
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
else
echo
"
$ac_t
""no"
1>&6
libltdl_cv_objdir
=
"
$objdir
"
if
test
-n
"
$objdir
"
;
then
:
else
rm
-f
.libs 2>/dev/null
mkdir .libs 2>/dev/null
if
test
-d
.libs
;
then
libltdl_cv_objdir
=
.libs
else
# MS-DOS does not allow filenames that begin with a dot.
libltdl_cv_objdir
=
_libs
fi
rmdir .libs 2>/dev/null
fi
fi
done
fi
echo
"
$ac_t
""
$libltdl_cv_objdir
"
1>&6
cat
>>
confdefs.h
<<
EOF
#define LTDL_OBJDIR "
$libltdl_cv_objdir
/"
EOF
echo
$ac_n
"checking whether libtool supports -dlopen/-dlpreopen""...
$ac_c
"
1>&6
echo
$ac_n
"checking whether libtool supports -dlopen/-dlpreopen""...
$ac_c
"
1>&6
echo
"configure:2
119
: checking whether libtool supports -dlopen/-dlpreopen"
>
&5
echo
"configure:2
986
: checking whether libtool supports -dlopen/-dlpreopen"
>
&5
if
eval
"test
\"
`
echo
'$''{'
libltdl_cv_preloaded_symbols
'+set}'
`
\"
= set"
;
then
if
eval
"test
\"
`
echo
'$''{'
libltdl_cv_preloaded_symbols
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
else
...
@@ -2137,7 +3004,7 @@ fi
...
@@ -2137,7 +3004,7 @@ fi
LIBADD_DL
=
LIBADD_DL
=
echo
$ac_n
"checking for dlopen in -ldl""...
$ac_c
"
1>&6
echo
$ac_n
"checking for dlopen in -ldl""...
$ac_c
"
1>&6
echo
"configure:
2141
: checking for dlopen in -ldl"
>
&5
echo
"configure:
3008
: checking for dlopen in -ldl"
>
&5
ac_lib_var
=
`
echo
dl
'_'
dlopen | sed
'y%./+-%__p_%'
`
ac_lib_var
=
`
echo
dl
'_'
dlopen | sed
'y%./+-%__p_%'
`
if
eval
"test
\"
`
echo
'$''{'
ac_cv_lib_
$ac_lib_var
'+set}'
`
\"
= set"
;
then
if
eval
"test
\"
`
echo
'$''{'
ac_cv_lib_
$ac_lib_var
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
...
@@ -2145,7 +3012,7 @@ else
...
@@ -2145,7 +3012,7 @@ else
ac_save_LIBS
=
"
$LIBS
"
ac_save_LIBS
=
"
$LIBS
"
LIBS
=
"-ldl
$LIBS
"
LIBS
=
"-ldl
$LIBS
"
cat
>
conftest.
$ac_ext
<<
EOF
cat
>
conftest.
$ac_ext
<<
EOF
#line
2149
"configure"
#line
3016
"configure"
#include "confdefs.h"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
/* We use char because int might match the return type of a gcc2
...
@@ -2156,7 +3023,7 @@ int main() {
...
@@ -2156,7 +3023,7 @@ int main() {
dlopen()
dlopen()
; return 0; }
; return 0; }
EOF
EOF
if
{
(
eval echo
configure:
2160
:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
;
then
if
{
(
eval echo
configure:
3027
:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
;
then
rm
-rf
conftest
*
rm
-rf
conftest
*
eval
"ac_cv_lib_
$ac_lib_var
=yes"
eval
"ac_cv_lib_
$ac_lib_var
=yes"
else
else
...
@@ -2178,12 +3045,12 @@ EOF
...
@@ -2178,12 +3045,12 @@ EOF
else
else
echo
"
$ac_t
""no"
1>&6
echo
"
$ac_t
""no"
1>&6
echo
$ac_n
"checking for dlopen""...
$ac_c
"
1>&6
echo
$ac_n
"checking for dlopen""...
$ac_c
"
1>&6
echo
"configure:
2182
: checking for dlopen"
>
&5
echo
"configure:
3049
: checking for dlopen"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_func_dlopen
'+set}'
`
\"
= set"
;
then
if
eval
"test
\"
`
echo
'$''{'
ac_cv_func_dlopen
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
else
cat
>
conftest.
$ac_ext
<<
EOF
cat
>
conftest.
$ac_ext
<<
EOF
#line
2187
"configure"
#line
3054
"configure"
#include "confdefs.h"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char dlopen(); below. */
which can conflict with char dlopen(); below. */
...
@@ -2206,7 +3073,7 @@ dlopen();
...
@@ -2206,7 +3073,7 @@ dlopen();
; return 0; }
; return 0; }
EOF
EOF
if
{
(
eval echo
configure:
2210
:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
;
then
if
{
(
eval echo
configure:
3077
:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
;
then
rm
-rf
conftest
*
rm
-rf
conftest
*
eval
"ac_cv_func_dlopen=yes"
eval
"ac_cv_func_dlopen=yes"
else
else
...
@@ -2226,17 +3093,61 @@ EOF
...
@@ -2226,17 +3093,61 @@ EOF
else
else
echo
"
$ac_t
""no"
1>&6
echo
"
$ac_t
""no"
1>&6
echo
$ac_n
"checking for dlopen in -lsvld""...
$ac_c
"
1>&6
echo
"configure:3098: checking for dlopen in -lsvld"
>
&5
ac_lib_var
=
`
echo
svld
'_'
dlopen | sed
'y%./+-%__p_%'
`
if
eval
"test
\"
`
echo
'$''{'
ac_cv_lib_
$ac_lib_var
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
ac_save_LIBS
=
"
$LIBS
"
LIBS
=
"-lsvld
$LIBS
"
cat
>
conftest.
$ac_ext
<<
EOF
#line 3106 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char dlopen();
int main() {
dlopen()
; return 0; }
EOF
if
{
(
eval echo
configure:3117:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
;
then
rm
-rf
conftest
*
eval
"ac_cv_lib_
$ac_lib_var
=yes"
else
echo
"configure: failed program was:"
>
&5
cat
conftest.
$ac_ext
>
&5
rm
-rf
conftest
*
eval
"ac_cv_lib_
$ac_lib_var
=no"
fi
rm
-f
conftest
*
LIBS
=
"
$ac_save_LIBS
"
fi
if
eval
"test
\"
`
echo
'$ac_cv_lib_'
$ac_lib_var
`
\"
= yes"
;
then
echo
"
$ac_t
""yes"
1>&6
cat
>>
confdefs.h
<<
\
EOF
#define HAVE_LIBDL 1
EOF
LIBADD_DL
=
"-lsvld"
else
echo
"
$ac_t
""no"
1>&6
fi
fi
fi
fi
fi
echo
$ac_n
"checking for shl_load""...
$ac_c
"
1>&6
echo
$ac_n
"checking for shl_load""...
$ac_c
"
1>&6
echo
"configure:
2235
: checking for shl_load"
>
&5
echo
"configure:
3146
: checking for shl_load"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_func_shl_load
'+set}'
`
\"
= set"
;
then
if
eval
"test
\"
`
echo
'$''{'
ac_cv_func_shl_load
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
else
cat
>
conftest.
$ac_ext
<<
EOF
cat
>
conftest.
$ac_ext
<<
EOF
#line
2240
"configure"
#line
3151
"configure"
#include "confdefs.h"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char shl_load(); below. */
which can conflict with char shl_load(); below. */
...
@@ -2259,7 +3170,7 @@ shl_load();
...
@@ -2259,7 +3170,7 @@ shl_load();
; return 0; }
; return 0; }
EOF
EOF
if
{
(
eval echo
configure:
2263
:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
;
then
if
{
(
eval echo
configure:
3174
:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
;
then
rm
-rf
conftest
*
rm
-rf
conftest
*
eval
"ac_cv_func_shl_load=yes"
eval
"ac_cv_func_shl_load=yes"
else
else
...
@@ -2280,7 +3191,7 @@ EOF
...
@@ -2280,7 +3191,7 @@ EOF
else
else
echo
"
$ac_t
""no"
1>&6
echo
"
$ac_t
""no"
1>&6
echo
$ac_n
"checking for shl_load in -ldld""...
$ac_c
"
1>&6
echo
$ac_n
"checking for shl_load in -ldld""...
$ac_c
"
1>&6
echo
"configure:
2284
: checking for shl_load in -ldld"
>
&5
echo
"configure:
3195
: checking for shl_load in -ldld"
>
&5
ac_lib_var
=
`
echo
dld
'_'
shl_load | sed
'y%./+-%__p_%'
`
ac_lib_var
=
`
echo
dld
'_'
shl_load | sed
'y%./+-%__p_%'
`
if
eval
"test
\"
`
echo
'$''{'
ac_cv_lib_
$ac_lib_var
'+set}'
`
\"
= set"
;
then
if
eval
"test
\"
`
echo
'$''{'
ac_cv_lib_
$ac_lib_var
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
...
@@ -2288,7 +3199,7 @@ else
...
@@ -2288,7 +3199,7 @@ else
ac_save_LIBS
=
"
$LIBS
"
ac_save_LIBS
=
"
$LIBS
"
LIBS
=
"-ldld
$LIBS
"
LIBS
=
"-ldld
$LIBS
"
cat
>
conftest.
$ac_ext
<<
EOF
cat
>
conftest.
$ac_ext
<<
EOF
#line
2292
"configure"
#line
3203
"configure"
#include "confdefs.h"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
/* We use char because int might match the return type of a gcc2
...
@@ -2299,7 +3210,7 @@ int main() {
...
@@ -2299,7 +3210,7 @@ int main() {
shl_load()
shl_load()
; return 0; }
; return 0; }
EOF
EOF
if
{
(
eval echo
configure:
2303
:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
;
then
if
{
(
eval echo
configure:
3214
:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
;
then
rm
-rf
conftest
*
rm
-rf
conftest
*
eval
"ac_cv_lib_
$ac_lib_var
=yes"
eval
"ac_cv_lib_
$ac_lib_var
=yes"
else
else
...
@@ -2317,15 +3228,17 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
...
@@ -2317,15 +3228,17 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
cat
>>
confdefs.h
<<
\
EOF
cat
>>
confdefs.h
<<
\
EOF
#define HAVE_SHL_LOAD 1
#define HAVE_SHL_LOAD 1
EOF
EOF
LIBADD_DL
=
"
$LIBADD_DL
-ldld"
LIBADD_DL
=
"
$LIBADD_DL
-ldld"
else
else
echo
"
$ac_t
""no"
1>&6
echo
"
$ac_t
""no"
1>&6
fi
fi
fi
fi
echo
$ac_n
"checking for dld_link in -ldld""...
$ac_c
"
1>&6
echo
$ac_n
"checking for dld_link in -ldld""...
$ac_c
"
1>&6
echo
"configure:
2329
: checking for dld_link in -ldld"
>
&5
echo
"configure:
3242
: checking for dld_link in -ldld"
>
&5
ac_lib_var
=
`
echo
dld
'_'
dld_link | sed
'y%./+-%__p_%'
`
ac_lib_var
=
`
echo
dld
'_'
dld_link | sed
'y%./+-%__p_%'
`
if
eval
"test
\"
`
echo
'$''{'
ac_cv_lib_
$ac_lib_var
'+set}'
`
\"
= set"
;
then
if
eval
"test
\"
`
echo
'$''{'
ac_cv_lib_
$ac_lib_var
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
...
@@ -2333,7 +3246,7 @@ else
...
@@ -2333,7 +3246,7 @@ else
ac_save_LIBS
=
"
$LIBS
"
ac_save_LIBS
=
"
$LIBS
"
LIBS
=
"-ldld
$LIBS
"
LIBS
=
"-ldld
$LIBS
"
cat
>
conftest.
$ac_ext
<<
EOF
cat
>
conftest.
$ac_ext
<<
EOF
#line
2337
"configure"
#line
3250
"configure"
#include "confdefs.h"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
/* We use char because int might match the return type of a gcc2
...
@@ -2344,7 +3257,7 @@ int main() {
...
@@ -2344,7 +3257,7 @@ int main() {
dld_link()
dld_link()
; return 0; }
; return 0; }
EOF
EOF
if
{
(
eval echo
configure:
2348
:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
;
then
if
{
(
eval echo
configure:
3261
:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
;
then
rm
-rf
conftest
*
rm
-rf
conftest
*
eval
"ac_cv_lib_
$ac_lib_var
=yes"
eval
"ac_cv_lib_
$ac_lib_var
=yes"
else
else
...
@@ -2375,12 +3288,12 @@ if test "x$ac_cv_func_dlopen" = xyes || test "x$ac_cv_lib_dl_dlopen" = xyes; the
...
@@ -2375,12 +3288,12 @@ if test "x$ac_cv_func_dlopen" = xyes || test "x$ac_cv_lib_dl_dlopen" = xyes; the
for
ac_func
in
dlerror
for
ac_func
in
dlerror
do
do
echo
$ac_n
"checking for
$ac_func
""...
$ac_c
"
1>&6
echo
$ac_n
"checking for
$ac_func
""...
$ac_c
"
1>&6
echo
"configure:
2379
: checking for
$ac_func
"
>
&5
echo
"configure:
3292
: checking for
$ac_func
"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_func_
$ac_func
'+set}'
`
\"
= set"
;
then
if
eval
"test
\"
`
echo
'$''{'
ac_cv_func_
$ac_func
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
else
cat
>
conftest.
$ac_ext
<<
EOF
cat
>
conftest.
$ac_ext
<<
EOF
#line
2384
"configure"
#line
3297
"configure"
#include "confdefs.h"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char
$ac_func
(); below. */
which can conflict with char
$ac_func
(); below. */
...
@@ -2403,7 +3316,7 @@ $ac_func();
...
@@ -2403,7 +3316,7 @@ $ac_func();
; return 0; }
; return 0; }
EOF
EOF
if
{
(
eval echo
configure:
2407
:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
;
then
if
{
(
eval echo
configure:
3320
:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
;
then
rm
-rf
conftest
*
rm
-rf
conftest
*
eval
"ac_cv_func_
$ac_func
=yes"
eval
"ac_cv_func_
$ac_func
=yes"
else
else
...
@@ -2415,189 +3328,23 @@ fi
...
@@ -2415,189 +3328,23 @@ fi
rm
-f
conftest
*
rm
-f
conftest
*
fi
fi
if
eval
"test
\"
`
echo
'$ac_cv_func_'
$ac_func
`
\"
= yes"
;
then
if
eval
"test
\"
`
echo
'$ac_cv_func_'
$ac_func
`
\"
= yes"
;
then
echo
"
$ac_t
""yes"
1>&6
echo
"
$ac_t
""yes"
1>&6
ac_tr_func
=
HAVE_
`
echo
$ac_func
| tr
'abcdefghijklmnopqrstuvwxyz'
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
`
ac_tr_func
=
HAVE_
`
echo
$ac_func
| tr
'abcdefghijklmnopqrstuvwxyz'
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
`
cat
>>
confdefs.h
<<
EOF
cat
>>
confdefs.h
<<
EOF
#define
$ac_tr_func
1
#define
$ac_tr_func
1
EOF
EOF
else
echo
"
$ac_t
""no"
1>&6
fi
done
LIBS
=
"
$LIBS_SAVE
"
fi
# Check for command to grab the raw symbol name followed by C symbol from nm.
echo
$ac_n
"checking command to parse
$NM
output""...
$ac_c
"
1>&6
echo
"configure:2436: checking command to parse
$NM
output"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_sys_global_symbol_pipe
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
# These are sane defaults that work on at least a few old systems.
# {They come from Ultrix. What could be older than Ultrix?!! ;)}
# Character class describing NM global symbol codes.
ac_symcode
=
'[BCDEGRST]'
# Regexp to match symbols that can be accessed directly from C.
ac_sympat
=
'\([_A-Za-z][_A-Za-z0-9]*\)'
# Transform the above into a raw symbol and a C symbol.
ac_symxfrm
=
'\1 \2\3 \3'
# Transform an extracted symbol line into a proper C declaration
ac_global_symbol_to_cdecl
=
"sed -n -e 's/^. .*
\(
.*
\)
$/
extern char
\1
;/p'"
# Define system-specific variables.
case
"
$host_os
"
in
aix
*
)
ac_symcode
=
'[BCDT]'
;;
cygwin
*
|
mingw
*
)
ac_symcode
=
'[ABCDGISTW]'
;;
hpux
*
)
ac_global_symbol_to_cdecl
=
"sed -n -e 's/^T .*
\(
.*
\)
$/
extern char
\1
();/p' -e 's/^. .*
\(
.*
\)
$/
extern char
\1
;/p'"
;;
irix
*
)
ac_symcode
=
'[BCDEGRST]'
;;
solaris
*
)
ac_symcode
=
'[BDT]'
;;
esac
# If we're using GNU nm, then use its standard symbol codes.
if
$NM
-V
2>&1 | egrep
'(GNU|with BFD)'
>
/dev/null
;
then
ac_symcode
=
'[ABCDGISTW]'
fi
# Try without a prefix undercore, then with it.
for
ac_symprfx
in
""
"_"
;
do
ac_cv_sys_global_symbol_pipe
=
"sed -n -e 's/^.*
\(
$ac_symcode
\)
*
\(
$ac_symprfx
\)
$ac_sympat$/$ac_symxfrm
/p'"
# Check to see that the pipe works correctly.
ac_pipe_works
=
no
rm
-f
conftest.
$ac_ext
cat
>
conftest.
$ac_ext
<<
EOF
#ifdef __cplusplus
extern "C" {
#endif
char nm_test_var;
void nm_test_func(){}
#ifdef __cplusplus
}
#endif
int main(){nm_test_var='a';nm_test_func;return 0;}
EOF
if
{
(
eval echo
configure:2499:
\"
$ac_compile
\"
)
1>&5
;
(
eval
$ac_compile
)
2>&5
;
}
;
then
# Now try to grab the symbols.
ac_nlist
=
conftest.nm
if
{
(
eval echo
configure:2503:
\"
$NM
conftest.
$ac_objext
\|
$ac_cv_sys_global_symbol_pipe
\>
$ac_nlist
\"
)
1>&5
;
(
eval
$NM
conftest.
$ac_objext
\|
$ac_cv_sys_global_symbol_pipe
\>
$ac_nlist
)
2>&5
;
}
&&
test
-s
"
$ac_nlist
"
;
then
# Try sorting and uniquifying the output.
if
sort
"
$ac_nlist
"
| uniq
>
"
$ac_nlist
"
T
;
then
mv
-f
"
$ac_nlist
"
T
"
$ac_nlist
"
else
rm
-f
"
$ac_nlist
"
T
fi
# Make sure that we snagged all the symbols we need.
if
egrep
' nm_test_var$'
"
$ac_nlist
"
>
/dev/null
;
then
if
egrep
' nm_test_func$'
"
$ac_nlist
"
>
/dev/null
;
then
cat
<<
EOF
> conftest.c
#ifdef __cplusplus
extern "C" {
#endif
EOF
# Now generate the symbol file.
eval
"
$ac_global_symbol_to_cdecl
"
' < "$ac_nlist" >> conftest.c'
cat
<<
EOF
>> conftest.c
#if defined (__STDC__) && __STDC__
# define lt_ptr_t void *
#else
# define lt_ptr_t char *
# define const
#endif
/* The mapping between symbol names and symbols. */
const struct {
const char *name;
lt_ptr_t address;
}
lt_preloaded_symbols[] =
{
EOF
sed
's/^. \(.*\) \(.*\)$/ {"\2", (lt_ptr_t) \&\2},/'
<
"
$ac_nlist
"
>>
conftest.c
cat
<<
\
EOF
>> conftest.c
{0, (lt_ptr_t) 0}
};
#ifdef __cplusplus
}
#endif
EOF
# Now try linking the two files.
mv conftest.
$ac_objext
conftstm.
$ac_objext
ac_save_LIBS
=
"
$LIBS
"
ac_save_CFLAGS
=
"
$CFLAGS
"
LIBS
=
"conftstm.
$ac_objext
"
CFLAGS
=
"
$CFLAGS$no_builtin_flag
"
if
{
(
eval echo
configure:2555:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
;
then
ac_pipe_works
=
yes
else
echo
"configure: failed program was:"
>
&5
cat
conftest.c
>
&5
fi
LIBS
=
"
$ac_save_LIBS
"
CFLAGS
=
"
$ac_save_CFLAGS
"
else
echo
"cannot find nm_test_func in
$ac_nlist
"
>
&5
fi
else
echo
"cannot find nm_test_var in
$ac_nlist
"
>
&5
fi
else
echo
"cannot run
$ac_cv_sys_global_symbol_pipe
"
>
&5
fi
else
echo
"
$progname
: failed program was:"
>
&5
cat
conftest.c
>
&5
fi
rm
-rf
conftest
*
conftst
*
# Do not use the global_symbol_pipe unless it works.
if
test
"
$ac_pipe_works
"
=
yes
;
then
if
test
x
"
$ac_symprfx
"
=
x
"_"
;
then
ac_cv_sys_symbol_underscore
=
yes
else
ac_cv_sys_symbol_underscore
=
no
fi
break
else
ac_cv_sys_global_symbol_pipe
=
fi
done
fi
ac_result
=
yes
else
if
test
-z
"
$ac_cv_sys_global_symbol_pipe
"
;
then
echo
"
$ac_t
""no"
1>&6
ac_result
=
no
fi
done
LIBS
=
"
$LIBS_SAVE
"
fi
fi
echo
"
$ac_t
""
$ac_result
"
1>&6
echo
$ac_n
"checking for _ prefix in compiled symbols""...
$ac_c
"
1>&6
echo
$ac_n
"checking for _ prefix in compiled symbols""...
$ac_c
"
1>&6
echo
"configure:
2601
: checking for _ prefix in compiled symbols"
>
&5
echo
"configure:
3348
: checking for _ prefix in compiled symbols"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_sys_symbol_underscore
'+set}'
`
\"
= set"
;
then
if
eval
"test
\"
`
echo
'$''{'
ac_cv_sys_symbol_underscore
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
else
...
@@ -2606,10 +3353,10 @@ cat > conftest.$ac_ext <<EOF
...
@@ -2606,10 +3353,10 @@ cat > conftest.$ac_ext <<EOF
void nm_test_func(){}
void nm_test_func(){}
int main(){nm_test_func;return 0;}
int main(){nm_test_func;return 0;}
EOF
EOF
if
{
(
eval echo
configure:
2610
:
\"
$ac_compile
\"
)
1>&5
;
(
eval
$ac_compile
)
2>&5
;
}
;
then
if
{
(
eval echo
configure:
3357
:
\"
$ac_compile
\"
)
1>&5
;
(
eval
$ac_compile
)
2>&5
;
}
;
then
# Now try to grab the symbols.
# Now try to grab the symbols.
ac_nlist
=
conftest.nm
ac_nlist
=
conftest.nm
if
{
(
eval echo
configure:
2613
:
\"
$NM
conftest.
$ac_objext
\|
$ac_cv_sys_global_symbol_pipe
\>
$ac_nlist
\"
)
1>&5
;
(
eval
$NM
conftest.
$ac_objext
\|
$ac_cv_sys_global_symbol_pipe
\>
$ac_nlist
)
2>&5
;
}
&&
test
-s
"
$ac_nlist
"
;
then
if
{
(
eval echo
configure:
3360
:
\"
$NM
conftest.
$ac_objext
\|
$ac_cv_sys_global_symbol_pipe
\>
$ac_nlist
\"
)
1>&5
;
(
eval
$NM
conftest.
$ac_objext
\|
$ac_cv_sys_global_symbol_pipe
\>
$ac_nlist
)
2>&5
;
}
&&
test
-s
"
$ac_nlist
"
;
then
# See whether the symbols have a leading underscore.
# See whether the symbols have a leading underscore.
if
egrep
'^. _nm_test_func'
"
$ac_nlist
"
>
/dev/null
;
then
if
egrep
'^. _nm_test_func'
"
$ac_nlist
"
>
/dev/null
;
then
ac_cv_sys_symbol_underscore
=
yes
ac_cv_sys_symbol_underscore
=
yes
...
@@ -2632,12 +3379,11 @@ rm -rf conftest*
...
@@ -2632,12 +3379,11 @@ rm -rf conftest*
fi
fi
echo
"
$ac_t
""
$ac_cv_sys_symbol_underscore
"
1>&6
echo
"
$ac_t
""
$ac_cv_sys_symbol_underscore
"
1>&6
if
test
x
"
$ac_cv_sys_symbol_underscore
"
=
xyes
;
then
if
test
x
"
$ac_cv_sys_symbol_underscore
"
=
xyes
;
then
if
test
x
"
$ac_cv_func_dlopen
"
=
xyes
||
if
test
x
"
$ac_cv_func_dlopen
"
=
xyes
||
test
x
"
$ac_cv_lib_dl_dlopen
"
=
xyes
;
then
test
x
"
$ac_cv_lib_dl_dlopen
"
=
xyes
;
then
echo
$ac_n
"checking whether we have to add an underscore for dlsym""...
$ac_c
"
1>&6
echo
$ac_n
"checking whether we have to add an underscore for dlsym""...
$ac_c
"
1>&6
echo
"configure:
2641
: checking whether we have to add an underscore for dlsym"
>
&5
echo
"configure:
3387
: checking whether we have to add an underscore for dlsym"
>
&5
if
eval
"test
\"
`
echo
'$''{'
libltdl_cv_need_uscore
'+set}'
`
\"
= set"
;
then
if
eval
"test
\"
`
echo
'$''{'
libltdl_cv_need_uscore
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
else
...
@@ -2646,7 +3392,7 @@ else
...
@@ -2646,7 +3392,7 @@ else
else
else
cat
>
conftest.
$ac_ext
<<
EOF
cat
>
conftest.
$ac_ext
<<
EOF
#line
2650
"configure"
#line
3396
"configure"
#include "confdefs.h"
#include "confdefs.h"
#if HAVE_DLFCN_H
#if HAVE_DLFCN_H
...
@@ -2693,7 +3439,7 @@ main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
...
@@ -2693,7 +3439,7 @@ main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
if(ptr1 && !ptr2) { dlclose(self); exit(0); } } exit(1); }
if(ptr1 && !ptr2) { dlclose(self); exit(0); } } exit(1); }
EOF
EOF
if
{
(
eval echo
configure:
2697
:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
&&
(
./conftest
;
exit
)
2>/dev/null
if
{
(
eval echo
configure:
3443
:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
&&
(
./conftest
;
exit
)
2>/dev/null
then
then
libltdl_cv_need_uscore
=
no
libltdl_cv_need_uscore
=
no
else
else
...
@@ -2718,6 +3464,257 @@ EOF
...
@@ -2718,6 +3464,257 @@ EOF
fi
fi
for
ac_hdr
in
malloc.h memory.h stdlib.h stdio.h ctype.h dlfcn.h dl.h dld.h
do
ac_safe
=
`
echo
"
$ac_hdr
"
| sed
'y%./+-%__p_%'
`
echo
$ac_n
"checking for
$ac_hdr
""...
$ac_c
"
1>&6
echo
"configure:3475: checking for
$ac_hdr
"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_header_
$ac_safe
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
cat
>
conftest.
$ac_ext
<<
EOF
#line 3480 "configure"
#include "confdefs.h"
#include <
$ac_hdr
>
EOF
ac_try
=
"
$ac_cpp
conftest.
$ac_ext
>/dev/null 2>conftest.out"
{
(
eval echo
configure:3485:
\"
$ac_try
\"
)
1>&5
;
(
eval
$ac_try
)
2>&5
;
}
ac_err
=
`
grep
-v
'^ *+'
conftest.out |
grep
-v
"^conftest.
${
ac_ext
}
\$
"
`
if
test
-z
"
$ac_err
"
;
then
rm
-rf
conftest
*
eval
"ac_cv_header_
$ac_safe
=yes"
else
echo
"
$ac_err
"
>
&5
echo
"configure: failed program was:"
>
&5
cat
conftest.
$ac_ext
>
&5
rm
-rf
conftest
*
eval
"ac_cv_header_
$ac_safe
=no"
fi
rm
-f
conftest
*
fi
if
eval
"test
\"
`
echo
'$ac_cv_header_'
$ac_safe
`
\"
= yes"
;
then
echo
"
$ac_t
""yes"
1>&6
ac_tr_hdr
=
HAVE_
`
echo
$ac_hdr
| sed
'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'
`
cat
>>
confdefs.h
<<
EOF
#define
$ac_tr_hdr
1
EOF
else
echo
"
$ac_t
""no"
1>&6
fi
done
for
ac_hdr
in
string.h strings.h
do
ac_safe
=
`
echo
"
$ac_hdr
"
| sed
'y%./+-%__p_%'
`
echo
$ac_n
"checking for
$ac_hdr
""...
$ac_c
"
1>&6
echo
"configure:3515: checking for
$ac_hdr
"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_header_
$ac_safe
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
cat
>
conftest.
$ac_ext
<<
EOF
#line 3520 "configure"
#include "confdefs.h"
#include <
$ac_hdr
>
EOF
ac_try
=
"
$ac_cpp
conftest.
$ac_ext
>/dev/null 2>conftest.out"
{
(
eval echo
configure:3525:
\"
$ac_try
\"
)
1>&5
;
(
eval
$ac_try
)
2>&5
;
}
ac_err
=
`
grep
-v
'^ *+'
conftest.out |
grep
-v
"^conftest.
${
ac_ext
}
\$
"
`
if
test
-z
"
$ac_err
"
;
then
rm
-rf
conftest
*
eval
"ac_cv_header_
$ac_safe
=yes"
else
echo
"
$ac_err
"
>
&5
echo
"configure: failed program was:"
>
&5
cat
conftest.
$ac_ext
>
&5
rm
-rf
conftest
*
eval
"ac_cv_header_
$ac_safe
=no"
fi
rm
-f
conftest
*
fi
if
eval
"test
\"
`
echo
'$ac_cv_header_'
$ac_safe
`
\"
= yes"
;
then
echo
"
$ac_t
""yes"
1>&6
ac_tr_hdr
=
HAVE_
`
echo
$ac_hdr
| sed
'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'
`
cat
>>
confdefs.h
<<
EOF
#define
$ac_tr_hdr
1
EOF
break
else
echo
"
$ac_t
""no"
1>&6
fi
done
for
ac_func
in
strchr index
do
echo
$ac_n
"checking for
$ac_func
""...
$ac_c
"
1>&6
echo
"configure:3554: checking for
$ac_func
"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_func_
$ac_func
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
cat
>
conftest.
$ac_ext
<<
EOF
#line 3559 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char
$ac_func
(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char
$ac_func
();
int main() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined (__stub_
$ac_func
) || defined (__stub___
$ac_func
)
choke me
#else
$ac_func
();
#endif
; return 0; }
EOF
if
{
(
eval echo
configure:3582:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
;
then
rm
-rf
conftest
*
eval
"ac_cv_func_
$ac_func
=yes"
else
echo
"configure: failed program was:"
>
&5
cat
conftest.
$ac_ext
>
&5
rm
-rf
conftest
*
eval
"ac_cv_func_
$ac_func
=no"
fi
rm
-f
conftest
*
fi
if
eval
"test
\"
`
echo
'$ac_cv_func_'
$ac_func
`
\"
= yes"
;
then
echo
"
$ac_t
""yes"
1>&6
ac_tr_func
=
HAVE_
`
echo
$ac_func
| tr
'abcdefghijklmnopqrstuvwxyz'
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
`
cat
>>
confdefs.h
<<
EOF
#define
$ac_tr_func
1
EOF
break
else
echo
"
$ac_t
""no"
1>&6
fi
done
for
ac_func
in
strrchr rindex
do
echo
$ac_n
"checking for
$ac_func
""...
$ac_c
"
1>&6
echo
"configure:3609: checking for
$ac_func
"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_func_
$ac_func
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
cat
>
conftest.
$ac_ext
<<
EOF
#line 3614 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char
$ac_func
(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char
$ac_func
();
int main() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined (__stub_
$ac_func
) || defined (__stub___
$ac_func
)
choke me
#else
$ac_func
();
#endif
; return 0; }
EOF
if
{
(
eval echo
configure:3637:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
;
then
rm
-rf
conftest
*
eval
"ac_cv_func_
$ac_func
=yes"
else
echo
"configure: failed program was:"
>
&5
cat
conftest.
$ac_ext
>
&5
rm
-rf
conftest
*
eval
"ac_cv_func_
$ac_func
=no"
fi
rm
-f
conftest
*
fi
if
eval
"test
\"
`
echo
'$ac_cv_func_'
$ac_func
`
\"
= yes"
;
then
echo
"
$ac_t
""yes"
1>&6
ac_tr_func
=
HAVE_
`
echo
$ac_func
| tr
'abcdefghijklmnopqrstuvwxyz'
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
`
cat
>>
confdefs.h
<<
EOF
#define
$ac_tr_func
1
EOF
break
else
echo
"
$ac_t
""no"
1>&6
fi
done
for
ac_func
in
strcmp
do
echo
$ac_n
"checking for
$ac_func
""...
$ac_c
"
1>&6
echo
"configure:3664: checking for
$ac_func
"
>
&5
if
eval
"test
\"
`
echo
'$''{'
ac_cv_func_
$ac_func
'+set}'
`
\"
= set"
;
then
echo
$ac_n
"(cached)
$ac_c
"
1>&6
else
cat
>
conftest.
$ac_ext
<<
EOF
#line 3669 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char
$ac_func
(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char
$ac_func
();
int main() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined (__stub_
$ac_func
) || defined (__stub___
$ac_func
)
choke me
#else
$ac_func
();
#endif
; return 0; }
EOF
if
{
(
eval echo
configure:3692:
\"
$ac_link
\"
)
1>&5
;
(
eval
$ac_link
)
2>&5
;
}
&&
test
-s
conftest
${
ac_exeext
}
;
then
rm
-rf
conftest
*
eval
"ac_cv_func_
$ac_func
=yes"
else
echo
"configure: failed program was:"
>
&5
cat
conftest.
$ac_ext
>
&5
rm
-rf
conftest
*
eval
"ac_cv_func_
$ac_func
=no"
fi
rm
-f
conftest
*
fi
if
eval
"test
\"
`
echo
'$ac_cv_func_'
$ac_func
`
\"
= yes"
;
then
echo
"
$ac_t
""yes"
1>&6
ac_tr_func
=
HAVE_
`
echo
$ac_func
| tr
'abcdefghijklmnopqrstuvwxyz'
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
`
cat
>>
confdefs.h
<<
EOF
#define
$ac_tr_func
1
EOF
else
echo
"
$ac_t
""no"
1>&6
fi
done
trap
''
1 2 15
trap
''
1 2 15
cat
>
confcache
<<
\
EOF
cat
>
confcache
<<
\
EOF
# This file is a shell script that caches the results of configure
# This file is a shell script that caches the results of configure
...
@@ -2876,16 +3873,22 @@ s%@build_alias@%$build_alias%g
...
@@ -2876,16 +3873,22 @@ s%@build_alias@%$build_alias%g
s%@build_cpu@%
$build_cpu
%g
s%@build_cpu@%
$build_cpu
%g
s%@build_vendor@%
$build_vendor
%g
s%@build_vendor@%
$build_vendor
%g
s%@build_os@%
$build_os
%g
s%@build_os@%
$build_os
%g
s%@RANLIB@%
$RANLIB
%g
s%@LN_S@%
$LN_S
%g
s%@LN_S@%
$LN_S
%g
s%@OBJEXT@%
$OBJEXT
%g
s%@EXEEXT@%
$EXEEXT
%g
s%@RANLIB@%
$RANLIB
%g
s%@STRIP@%
$STRIP
%g
s%@DLLTOOL@%
$DLLTOOL
%g
s%@AS@%
$AS
%g
s%@OBJDUMP@%
$OBJDUMP
%g
s%@LIBTOOL@%
$LIBTOOL
%g
s%@LIBTOOL@%
$LIBTOOL
%g
s%@LIBTOOL_DEPS@%
$LIBTOOL_DEPS
%g
s%@LIBTOOL_DEPS@%
$LIBTOOL_DEPS
%g
s%@GCINCS@%
$GCINCS
%g
s%@GCINCS@%
$GCINCS
%g
s%@CPP@%
$CPP
%g
s%@INSTALL_LTDL_TRUE@%
$INSTALL_LTDL_TRUE
%g
s%@INSTALL_LTDL_TRUE@%
$INSTALL_LTDL_TRUE
%g
s%@INSTALL_LTDL_FALSE@%
$INSTALL_LTDL_FALSE
%g
s%@INSTALL_LTDL_FALSE@%
$INSTALL_LTDL_FALSE
%g
s%@CONVENIENCE_LTDL_TRUE@%
$CONVENIENCE_LTDL_TRUE
%g
s%@CONVENIENCE_LTDL_TRUE@%
$CONVENIENCE_LTDL_TRUE
%g
s%@CONVENIENCE_LTDL_FALSE@%
$CONVENIENCE_LTDL_FALSE
%g
s%@CONVENIENCE_LTDL_FALSE@%
$CONVENIENCE_LTDL_FALSE
%g
s%@CPP@%
$CPP
%g
s%@LIBADD_DL@%
$LIBADD_DL
%g
s%@LIBADD_DL@%
$LIBADD_DL
%g
CEOF
CEOF
...
...
libjava/libltdl/configure.in
View file @
205f5ac6
...
@@ -2,6 +2,13 @@ dnl Process this file with autoconf to create configure.
...
@@ -2,6 +2,13 @@ dnl Process this file with autoconf to create configure.
AC_INIT(ltdl.c)
AC_INIT(ltdl.c)
dnl We shouldn't be using these internal macros of autoconf,
dnl but CONFIG_AUX_DIR($with_auxdir) breaks automake.
AC_ARG_WITH(auxdir,
[ --with-auxdir=DIR path to autoconf auxiliary files],
[AC_CONFIG_AUX_DIRS($with_auxdir)],
[AC_CONFIG_AUX_DIR_DEFAULT])
if test -z "$enable_ltdl_install$enable_ltdl_convenience"; then
if test -z "$enable_ltdl_install$enable_ltdl_convenience"; then
if test -f ${srcdir}/ltconfig && test -f ${srcdir}/ltmain.sh; then
if test -f ${srcdir}/ltconfig && test -f ${srcdir}/ltmain.sh; then
# if libltdl is libtoolized, it is assumed to be stand-alone and
# if libltdl is libtoolized, it is assumed to be stand-alone and
...
@@ -14,19 +21,18 @@ if test -z "$enable_ltdl_install$enable_ltdl_convenience"; then
...
@@ -14,19 +21,18 @@ if test -z "$enable_ltdl_install$enable_ltdl_convenience"; then
fi
fi
fi
fi
AM_INIT_AUTOMAKE(libltdl,1.
0
,-)
AM_INIT_AUTOMAKE(libltdl,1.
1
,-)
AM_CONFIG_HEADER(config.h)
AM_CONFIG_HEADER(config.h)
AM_MAINTAINER_MODE
AM_MAINTAINER_MODE
AC_PROG_CC
AC_PROG_CC
AC_C_CONST
AC_C_CONST
AC_C_INLINE
AC_C_INLINE
AC_LIBTOOL_WIN32_DLL
AM_PROG_LIBTOOL
AM_PROG_LIBTOOL
AC_SUBST(LIBTOOL_DEPS)
AC_SUBST(LIBTOOL_DEPS)
AC_ARG_ENABLE(ltdl-install,
[ --enable-ltdl-install install libltdl])
AC_MSG_CHECKING([for garbage collector to use])
AC_MSG_CHECKING([for garbage collector to use])
AC_ARG_ENABLE(java-gc,
AC_ARG_ENABLE(java-gc,
changequote(<<,>>)dnl
changequote(<<,>>)dnl
...
@@ -43,342 +49,7 @@ if test "$GC" = "boehm"; then
...
@@ -43,342 +49,7 @@ if test "$GC" = "boehm"; then
fi
fi
AC_SUBST(GCINCS)
AC_SUBST(GCINCS)
AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno)
AC_LIB_LTDL
AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno)
dnl Read the libtool configuration
rm -f conftest
./libtool --config > conftest
. ./conftest
rm -f conftest
AC_CACHE_CHECK([which extension is used for shared libraries],
libltdl_cv_shlibext, [dnl
(
last=
for spec in $library_names_spec; do
last="$spec"
done
changequote(, )
echo "$last" | sed 's/\[.*\]//;s/^[^.]*//;s/\$.*$//;s/\.$//' > conftest
changequote([, ])
)
libltdl_cv_shlibext=`cat conftest`
rm -f conftest
])
if test -n "$libltdl_cv_shlibext"; then
AC_DEFINE_UNQUOTED(LTDL_SHLIB_EXT, "$libltdl_cv_shlibext",
[Define to the extension used for shared libraries, say, ".so". ])
fi
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",
[Define to the name of the environment variable that determines the dynamic library search path. ])
fi
AC_CACHE_CHECK([for objdir],
libltdl_cv_objdir, [libltdl_cv_objdir="$objdir"])
test -z "$libltdl_cv_objdir" && libltdl_cv_objdir=".libs"
AC_DEFINE_UNQUOTED(LTDL_OBJDIR, "$libltdl_cv_objdir/",
[Define to the sub-directory in which libtool stores uninstalled libraries. ])
AC_HEADER_STDC
AC_CHECK_HEADERS(malloc.h memory.h stdlib.h stdio.h ctype.h dlfcn.h dl.h dld.h)
AC_CHECK_HEADERS(string.h strings.h, break)
AC_CHECK_FUNCS(strchr index, break)
AC_CHECK_FUNCS(strrchr rindex, break)
AC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen],
libltdl_cv_preloaded_symbols, [dnl
if test -n "$global_symbol_pipe"; then
libltdl_cv_preloaded_symbols=yes
else
libltdl_cv_preloaded_symbols=no
fi
])
if test x"$libltdl_cv_preloaded_symbols" = x"yes"; then
AC_DEFINE(HAVE_PRELOADED_SYMBOLS, 1,
[Define if libtool can extract symbol lists from object files. ])
fi
LIBADD_DL=
AC_CHECK_LIB(dl, dlopen, [AC_DEFINE(HAVE_LIBDL, 1) LIBADD_DL="-ldl"],
[AC_CHECK_FUNC(dlopen, [AC_DEFINE(HAVE_LIBDL, 1)])])
AC_CHECK_FUNC(shl_load, [AC_DEFINE(HAVE_SHL_LOAD, 1)],
[AC_CHECK_LIB(dld, shl_load, [AC_DEFINE(HAVE_SHL_LOAD, 1) LIBADD_DL="$LIBADD_DL -ldld"])])
AC_CHECK_LIB(dld, dld_link, [AC_DEFINE(HAVE_DLD, 1)dnl
test "x$ac_cv_lib_dld_shl_load" = yes || LIBADD_DL="$LIBADD_DL -ldld"])
AC_SUBST(LIBADD_DL)
if test "x$ac_cv_func_dlopen" = xyes || test "x$ac_cv_lib_dl_dlopen" = xyes; then
LIBS_SAVE="$LIBS"
LIBS="$LIBS $LIBADD_DL"
AC_CHECK_FUNCS(dlerror)
LIBS="$LIBS_SAVE"
fi
dnl Check for command to grab the raw symbol name followed
dnl by C symbol name from nm.
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_PROG_NM])dnl
# Check for command to grab the raw symbol name followed by C symbol from nm.
AC_MSG_CHECKING([command to parse $NM output])
AC_CACHE_VAL(ac_cv_sys_global_symbol_pipe,
[# These are sane defaults that work on at least a few old systems.
# {They come from Ultrix. What could be older than Ultrix?!! ;)}
changequote(,)dnl
# Character class describing NM global symbol codes.
ac_symcode='[BCDEGRST]'
# Regexp to match symbols that can be accessed directly from C.
ac_sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
# Transform the above into a raw symbol and a C symbol.
ac_symxfrm='\1 \2\3 \3'
# Transform an extracted symbol line into a proper C declaration
ac_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
# Define system-specific variables.
case "$host_os" in
aix*)
ac_symcode='[BCDT]'
;;
cygwin* | mingw*)
ac_symcode='[ABCDGISTW]'
;;
hpux*)
ac_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^. .* \(.*\)$/extern char \1;/p'"
;;
irix*)
ac_symcode='[BCDEGRST]'
;;
solaris*)
ac_symcode='[BDT]'
;;
esac
# If we're using GNU nm, then use its standard symbol codes.
if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
ac_symcode='[ABCDGISTW]'
fi
changequote([,])dnl
# Try without a prefix undercore, then with it.
for ac_symprfx in "" "_"; do
ac_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($ac_symcode\)[ ][ ]*\($ac_symprfx\)$ac_sympat$/$ac_symxfrm/p'"
# Check to see that the pipe works correctly.
ac_pipe_works=no
rm -f conftest.$ac_ext
cat > conftest.$ac_ext <<EOF
#ifdef __cplusplus
extern "C" {
#endif
char nm_test_var;
void nm_test_func(){}
#ifdef __cplusplus
}
#endif
int main(){nm_test_var='a';nm_test_func;return 0;}
EOF
if AC_TRY_EVAL(ac_compile); then
# Now try to grab the symbols.
ac_nlist=conftest.nm
if AC_TRY_EVAL(NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then
# Try sorting and uniquifying the output.
if sort "$ac_nlist" | uniq > "$ac_nlist"T; then
mv -f "$ac_nlist"T "$ac_nlist"
else
rm -f "$ac_nlist"T
fi
# Make sure that we snagged all the symbols we need.
if egrep ' nm_test_var$' "$ac_nlist" >/dev/null; then
if egrep ' nm_test_func$' "$ac_nlist" >/dev/null; then
cat <<EOF > conftest.c
#ifdef __cplusplus
extern "C" {
#endif
EOF
# Now generate the symbol file.
eval "$ac_global_symbol_to_cdecl"' < "$ac_nlist" >> conftest.c'
cat <<EOF >> conftest.c
#if defined (__STDC__) && __STDC__
# define lt_ptr_t void *
#else
# define lt_ptr_t char *
# define const
#endif
/* The mapping between symbol names and symbols. */
const struct {
const char *name;
lt_ptr_t address;
}
changequote(,)dnl
lt_preloaded_symbols[] =
changequote([,])dnl
{
EOF
sed 's/^. \(.*\) \(.*\)$/ {"\2", (lt_ptr_t) \&\2},/' < "$ac_nlist" >> conftest.c
cat <<\EOF >> conftest.c
{0, (lt_ptr_t) 0}
};
#ifdef __cplusplus
}
#endif
EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
ac_save_LIBS="$LIBS"
ac_save_CFLAGS="$CFLAGS"
LIBS="conftstm.$ac_objext"
CFLAGS="$CFLAGS$no_builtin_flag"
if AC_TRY_EVAL(ac_link) && test -s conftest; then
ac_pipe_works=yes
else
echo "configure: failed program was:" >&AC_FD_CC
cat conftest.c >&AC_FD_CC
fi
LIBS="$ac_save_LIBS"
CFLAGS="$ac_save_CFLAGS"
else
echo "cannot find nm_test_func in $ac_nlist" >&AC_FD_CC
fi
else
echo "cannot find nm_test_var in $ac_nlist" >&AC_FD_CC
fi
else
echo "cannot run $ac_cv_sys_global_symbol_pipe" >&AC_FD_CC
fi
else
echo "$progname: failed program was:" >&AC_FD_CC
cat conftest.c >&AC_FD_CC
fi
rm -rf conftest* conftst*
# Do not use the global_symbol_pipe unless it works.
if test "$ac_pipe_works" = yes; then
if test x"$ac_symprfx" = x"_"; then
ac_cv_sys_symbol_underscore=yes
else
ac_cv_sys_symbol_underscore=no
fi
break
else
ac_cv_sys_global_symbol_pipe=
fi
done
])
ac_result=yes
if test -z "$ac_cv_sys_global_symbol_pipe"; then
ac_result=no
fi
AC_MSG_RESULT($ac_result)
dnl does the compiler prefix global symbols with an underscore?
AC_MSG_CHECKING([for _ prefix in compiled symbols])
AC_CACHE_VAL(ac_cv_sys_symbol_underscore,
[ac_cv_sys_symbol_underscore=no
cat > conftest.$ac_ext <<EOF
void nm_test_func(){}
int main(){nm_test_func;return 0;}
EOF
if AC_TRY_EVAL(ac_compile); then
# Now try to grab the symbols.
ac_nlist=conftest.nm
if AC_TRY_EVAL(NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then
# See whether the symbols have a leading underscore.
if egrep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
ac_cv_sys_symbol_underscore=yes
else
if egrep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
:
else
echo "configure: cannot find nm_test_func in $ac_nlist" >&AC_FD_CC
fi
fi
else
echo "configure: cannot run $ac_cv_sys_global_symbol_pipe" >&AC_FD_CC
fi
else
echo "configure: failed program was:" >&AC_FD_CC
cat conftest.c >&AC_FD_CC
fi
rm -rf conftest*
])
AC_MSG_RESULT($ac_cv_sys_symbol_underscore)
if test x"$ac_cv_sys_symbol_underscore" = xyes; then
if test x"$ac_cv_func_dlopen" = xyes ||
test x"$ac_cv_lib_dl_dlopen" = xyes ; then
AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
libltdl_cv_need_uscore, [dnl
AC_TRY_RUN([
#if HAVE_DLFCN_H
#include <dlfcn.h>
#endif
#include <stdio.h>
#ifdef RTLD_GLOBAL
# define LTDL_GLOBAL RTLD_GLOBAL
#else
# ifdef DL_GLOBAL
# define LTDL_GLOBAL DL_GLOBAL
# else
# define LTDL_GLOBAL 0
# endif
#endif
/* We may have to define LTDL_LAZY_OR_NOW in the command line if we
find out it does not work in some platform. */
#ifndef LTDL_LAZY_OR_NOW
# ifdef RTLD_LAZY
# define LTDL_LAZY_OR_NOW RTLD_LAZY
# else
# ifdef DL_LAZY
# define LTDL_LAZY_OR_NOW DL_LAZY
# else
# ifdef RTLD_NOW
# define LTDL_LAZY_OR_NOW RTLD_NOW
# else
# ifdef DL_NOW
# define LTDL_LAZY_OR_NOW DL_NOW
# else
# define LTDL_LAZY_OR_NOW 0
# endif
# endif
# endif
# endif
#endif
fnord() { int i=42;}
main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
if(ptr1 && !ptr2) { dlclose(self); exit(0); } } exit(1); }
], libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes,
libltdl_cv_need_uscore=cross
)])
fi
fi
if test x"$libltdl_cv_need_uscore" = xyes; then
AC_DEFINE(NEED_USCORE, 1,
[Define if dlsym() requires a leading underscode in symbol names. ])
fi
dnl Output the makefile
dnl Output the makefile
AC_OUTPUT(Makefile)
AC_OUTPUT(Makefile)
...
...
libjava/libltdl/ltdl.c
View file @
205f5ac6
/* ltdl.c -- system independent dlopen wrapper
/* ltdl.c -- system independent dlopen wrapper
Copyright (C) 1998
-1999
Free Software Foundation, Inc.
Copyright (C) 1998
, 1999, 2000
Free Software Foundation, Inc.
Originally by Thomas Tanner <tanner@ffii.org>
Originally by Thomas Tanner <tanner@ffii.org>
This file is part of GNU Libtool.
This file is part of GNU Libtool.
This library is free software; you can redistribute it and/or
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU L
ibrary
General Public
modify it under the terms of the GNU L
esser
General Public
License as published by the Free Software Foundation; either
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
version 2 of the License, or (at your option) any later version.
As a special exception to the GNU L
ibrary
General Public License,
As a special exception to the GNU L
esser
General Public License,
if you distribute this file as part of a program
that uses GNU libtool
if you distribute this file as part of a program
or library that
to create libraries and programs
, you may include it under the same
is built using GNU libtool
, you may include it under the same
distribution terms that you use for the rest of that program.
distribution terms that you use for the rest of that program.
This library is distributed in the hope that it will be useful,
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
L
ibrary
General Public License for more details.
L
esser
General Public License for more details.
You should have received a copy of the GNU L
ibrary
General Public
You should have received a copy of the GNU L
esser
General Public
License along with this library; if not, write to the Free Software
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA
02111-1307 USA
*/
*/
#define _LTDL_COMPILE_
#define _LTDL_COMPILE_
...
@@ -64,6 +65,12 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
...
@@ -64,6 +65,12 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
#include "ltdl.h"
#include "ltdl.h"
#ifdef DLL_EXPORT
# define LTDL_GLOBAL_DATA __declspec(dllexport)
#else
# define LTDL_GLOBAL_DATA
#endif
/* max. filename length */
/* max. filename length */
#ifndef LTDL_FILENAME_MAX
#ifndef LTDL_FILENAME_MAX
#define LTDL_FILENAME_MAX 1024
#define LTDL_FILENAME_MAX 1024
...
@@ -85,56 +92,57 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
...
@@ -85,56 +92,57 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
/* This accounts for the _LTX_ separator */
/* This accounts for the _LTX_ separator */
#define LTDL_SYMBOL_OVERHEAD 5
#define LTDL_SYMBOL_OVERHEAD 5
/* NOTE: typedefed in ltdl.h
This structure is used for the list of registered loaders. */
struct
lt_dlloader_t
{
struct
lt_dlloader_t
*
next
;
const
char
*
loader_name
;
/* identifying name for each loader */
const
char
*
sym_prefix
;
/* prefix for symbols */
lt_module_open_t
*
module_open
;
lt_module_close_t
*
module_close
;
lt_find_sym_t
*
find_sym
;
lt_dlloader_exit_t
*
dlloader_exit
;
lt_dlloader_data_t
dlloader_data
;
};
typedef
struct
lt_dlhandle_t
{
struct
lt_dlhandle_t
*
next
;
lt_dlloader_t
*
loader
;
/* dlopening interface */
lt_dlinfo
info
;
int
depcount
;
/* number of dependencies */
lt_dlhandle
*
deplibs
;
/* dependencies */
lt_module_t
module
;
/* system module handle */
lt_ptr_t
system
;
/* system specific data */
lt_ptr_t
app_private
;
/* application private data */
}
lt_dlhandle_t
;
static
const
char
objdir
[]
=
LTDL_OBJDIR
;
static
const
char
objdir
[]
=
LTDL_OBJDIR
;
#ifdef LTDL_SHLIB_EXT
#ifdef LTDL_SHLIB_EXT
static
const
char
shlib_ext
[]
=
LTDL_SHLIB_EXT
;
static
const
char
shlib_ext
[]
=
LTDL_SHLIB_EXT
;
#endif
#endif
#ifdef LTDL_SYSSEARCHPATH
static
const
char
sys_search_path
[]
=
LTDL_SYSSEARCHPATH
;
#endif
static
const
char
unknown_error
[]
=
"unknown error"
;
/* Extract the diagnostic strings from the error table macro in the same
static
const
char
dlopen_not_supported_error
[]
=
"dlopen support not available"
;
order as the enumberated indices in ltdl.h. */
static
const
char
file_not_found_error
[]
=
"file not found"
;
#define LTDL_ERROR(name, diagnostic) (diagnostic),
static
const
char
no_symbols_error
[]
=
"no symbols defined"
;
static
const
char
*
ltdl_error_strings
[]
=
{
static
const
char
cannot_open_error
[]
=
"can't open the module"
;
ltdl_error_table
static
const
char
cannot_close_error
[]
=
"can't close the module"
;
0
static
const
char
symbol_error
[]
=
"symbol not found"
;
};
static
const
char
memory_error
[]
=
"not enough memory"
;
#undef LTDL_ERROR
static
const
char
invalid_handle_error
[]
=
"invalid handle"
;
static
const
char
buffer_overflow_error
[]
=
"internal buffer overflow"
;
#ifdef __STDC__
static
const
char
shutdown_error
[]
=
"library already shutdown"
;
# define LT_DLSTRERROR(name) ltdl_error_strings[LTDL_ERROR_##name]
#else
#ifndef HAVE_PRELOADED_SYMBOLS
# define LT_DLSTRERROR(name) ltdl_error_strings[LTDL_ERROR_
/**/
name]
/* If libtool won't define it, we'd better do */
const
lt_dlsymlist
lt_preloaded_symbols
[
1
]
=
{
{
0
,
0
}
};
#endif
#endif
static
const
char
*
last_error
=
0
;
static
const
char
*
last_error
=
0
;
lt_ptr_t
(
*
lt_dlmalloc
)
LTDL_PARAMS
((
size_t
size
))
=
(
lt_ptr_t
(
*
)
LTDL_PARAMS
((
size_t
)))
malloc
;
LTDL_GLOBAL_DATA
lt_ptr_t
(
*
lt_dlmalloc
)
LTDL_PARAMS
((
size_t
size
))
=
(
lt_ptr_t
(
*
)
LTDL_PARAMS
((
size_t
)))
malloc
;
void
(
*
lt_dlfree
)
LTDL_PARAMS
((
lt_ptr_t
ptr
))
=
(
void
(
*
)
LTDL_PARAMS
((
lt_ptr_t
)))
free
;
LTDL_GLOBAL_DATA
void
(
*
lt_dlfree
)
LTDL_PARAMS
((
lt_ptr_t
ptr
))
=
(
void
(
*
)
LTDL_PARAMS
((
lt_ptr_t
)))
free
;
typedef
struct
lt_dltype_t
{
struct
lt_dltype_t
*
next
;
const
char
*
sym_prefix
;
/* prefix for symbols */
int
(
*
mod_init
)
LTDL_PARAMS
((
void
));
int
(
*
mod_exit
)
LTDL_PARAMS
((
void
));
int
(
*
lib_open
)
LTDL_PARAMS
((
lt_dlhandle
handle
,
const
char
*
filename
));
int
(
*
lib_close
)
LTDL_PARAMS
((
lt_dlhandle
handle
));
lt_ptr_t
(
*
find_sym
)
LTDL_PARAMS
((
lt_dlhandle
handle
,
const
char
*
symbol
));
}
lt_dltype_t
;
#define LTDL_TYPE_TOP 0
typedef
struct
lt_dlhandle_t
{
struct
lt_dlhandle_t
*
next
;
lt_dltype_t
*
type
;
/* dlopening interface */
char
*
filename
;
/* file name */
char
*
name
;
/* module name */
int
usage
;
/* usage */
int
depcount
;
/* number of dependencies */
lt_dlhandle
*
deplibs
;
/* dependencies */
lt_ptr_t
handle
;
/* system handle */
lt_ptr_t
system
;
/* system specific data */
}
lt_dlhandle_t
;
#undef strdup
#undef strdup
#define strdup xstrdup
#define strdup xstrdup
...
@@ -153,6 +161,32 @@ strdup(str)
...
@@ -153,6 +161,32 @@ strdup(str)
return
tmp
;
return
tmp
;
}
}
#if ! HAVE_STRCMP
#undef strcmp
#define strcmp xstrcmp
static
inline
int
strcmp
(
str1
,
str2
)
const
char
*
str1
;
const
char
*
str2
;
{
if
(
str1
==
str2
)
return
0
;
if
(
str1
==
0
)
return
-
1
;
if
(
str2
==
0
)
return
1
;
for
(;
*
str1
&&
*
str2
;
str1
++
,
str2
++
)
if
(
*
str1
!=
*
str2
)
break
;
return
(
int
)(
*
str1
-
*
str2
);
}
#endif
#if ! HAVE_STRCHR
#if ! HAVE_STRCHR
# if HAVE_INDEX
# if HAVE_INDEX
...
@@ -210,7 +244,11 @@ strrchr(str, ch)
...
@@ -210,7 +244,11 @@ strrchr(str, ch)
#endif
#endif
#if HAVE_LIBDL
/* The Cygwin dlopen implementation prints a spurious error message to
stderr if its call to LoadLibrary() fails for any reason. We can
mitigate this by not using the Cygwin implementation, and falling
back to our own LoadLibrary() wrapper. */
#if HAVE_LIBDL && !defined(__CYGWIN__)
/* dynamic linking with dlopen/dlsym */
/* dynamic linking with dlopen/dlsym */
...
@@ -250,44 +288,32 @@ strrchr(str, ch)
...
@@ -250,44 +288,32 @@ strrchr(str, ch)
# endif
# endif
#endif
#endif
static
int
static
lt_module_t
sys_dl_init
LTDL_PARAMS
((
void
))
sys_dl_open
(
loader_data
,
filename
)
{
lt_dlloader_data_t
loader_data
;
return
0
;
}
static
int
sys_dl_exit
LTDL_PARAMS
((
void
))
{
return
0
;
}
static
int
sys_dl_open
(
handle
,
filename
)
lt_dlhandle
handle
;
const
char
*
filename
;
const
char
*
filename
;
{
{
handle
->
hand
le
=
dlopen
(
filename
,
LTDL_GLOBAL
|
LTDL_LAZY_OR_NOW
);
lt_module_t
modu
le
=
dlopen
(
filename
,
LTDL_GLOBAL
|
LTDL_LAZY_OR_NOW
);
if
(
!
handle
->
hand
le
)
{
if
(
!
modu
le
)
{
#if HAVE_DLERROR
#if HAVE_DLERROR
last_error
=
dlerror
();
last_error
=
dlerror
();
#else
#else
last_error
=
cannot_open_error
;
last_error
=
LT_DLSTRERROR
(
CANNOT_OPEN
)
;
#endif
#endif
return
1
;
}
}
return
0
;
return
module
;
}
}
static
int
static
int
sys_dl_close
(
handle
)
sys_dl_close
(
loader_data
,
module
)
lt_dlhandle
handle
;
lt_dlloader_data_t
loader_data
;
lt_module_t
module
;
{
{
if
(
dlclose
(
handle
->
hand
le
)
!=
0
)
{
if
(
dlclose
(
modu
le
)
!=
0
)
{
#if HAVE_DLERROR
#if HAVE_DLERROR
last_error
=
dlerror
();
last_error
=
dlerror
();
#else
#else
last_error
=
cannot_close_error
;
last_error
=
LT_DLSTRERROR
(
CANNOT_CLOSE
)
;
#endif
#endif
return
1
;
return
1
;
}
}
...
@@ -295,34 +321,29 @@ sys_dl_close (handle)
...
@@ -295,34 +321,29 @@ sys_dl_close (handle)
}
}
static
lt_ptr_t
static
lt_ptr_t
sys_dl_sym
(
handle
,
symbol
)
sys_dl_sym
(
loader_data
,
module
,
symbol
)
lt_dlhandle
handle
;
lt_dlloader_data_t
loader_data
;
lt_module_t
module
;
const
char
*
symbol
;
const
char
*
symbol
;
{
{
lt_ptr_t
address
=
dlsym
(
handle
->
hand
le
,
symbol
);
lt_ptr_t
address
=
dlsym
(
modu
le
,
symbol
);
if
(
!
address
)
if
(
!
address
)
#if HAVE_DLERROR
#if HAVE_DLERROR
last_error
=
dlerror
();
last_error
=
dlerror
();
#else
#else
last_error
=
symbol_error
;
last_error
=
LT_DLSTRERROR
(
SYMBOL_NOT_FOUND
)
;
#endif
#endif
return
address
;
return
address
;
}
}
static
static
struct
lt_user_dlloader
sys_dl
=
{
lt_dltype_t
# ifdef NEED_USCORE
#ifdef NEED_USCORE
"_"
,
sys_dl
=
{
LTDL_TYPE_TOP
,
"_"
,
sys_dl_init
,
sys_dl_exit
,
# else
sys_dl_open
,
sys_dl_close
,
sys_dl_sym
};
0
,
#else
# endif
sys_dl
=
{
LTDL_TYPE_TOP
,
0
,
sys_dl_init
,
sys_dl_exit
,
sys_dl_open
,
sys_dl_close
,
sys_dl_sym
,
0
,
0
};
sys_dl_open
,
sys_dl_close
,
sys_dl_sym
};
#endif
#undef LTDL_TYPE_TOP
#define LTDL_TYPE_TOP &sys_dl
#endif
#endif
#if HAVE_SHL_LOAD
#if HAVE_SHL_LOAD
...
@@ -368,168 +389,81 @@ sys_dl = { LTDL_TYPE_TOP, 0, sys_dl_init, sys_dl_exit,
...
@@ -368,168 +389,81 @@ sys_dl = { LTDL_TYPE_TOP, 0, sys_dl_init, sys_dl_exit,
#define LTDL_BIND_FLAGS (BIND_IMMEDIATE | BIND_NONFATAL | DYNAMIC_PATH)
#define LTDL_BIND_FLAGS (BIND_IMMEDIATE | BIND_NONFATAL | DYNAMIC_PATH)
static
int
static
lt_module_t
sys_shl_init
LTDL_PARAMS
((
void
))
sys_shl_open
(
loader_data
,
filename
)
{
lt_dlloader_data_t
loader_data
;
return
0
;
}
static
int
sys_shl_exit
LTDL_PARAMS
((
void
))
{
return
0
;
}
static
int
sys_shl_open
(
handle
,
filename
)
lt_dlhandle
handle
;
const
char
*
filename
;
const
char
*
filename
;
{
{
handle
->
handle
=
shl_load
(
filename
,
LTDL_BIND_FLAGS
,
0L
);
lt_module_t
module
=
shl_load
(
filename
,
LTDL_BIND_FLAGS
,
0L
);
if
(
!
handle
->
handle
)
{
if
(
!
module
)
{
last_error
=
cannot_open_error
;
last_error
=
LT_DLSTRERROR
(
CANNOT_OPEN
);
return
1
;
}
}
return
0
;
return
module
;
}
}
static
int
static
int
sys_shl_close
(
handle
)
sys_shl_close
(
loader_data
,
module
)
lt_dlhandle
handle
;
lt_dlloader_data_t
loader_data
;
lt_module_t
module
;
{
{
if
(
shl_unload
((
shl_t
)
(
handle
->
hand
le
))
!=
0
)
{
if
(
shl_unload
((
shl_t
)
(
modu
le
))
!=
0
)
{
last_error
=
cannot_close_error
;
last_error
=
LT_DLSTRERROR
(
CANNOT_CLOSE
)
;
return
1
;
return
1
;
}
}
return
0
;
return
0
;
}
}
static
lt_ptr_t
static
lt_ptr_t
sys_shl_sym
(
handle
,
symbol
)
sys_shl_sym
(
loader_data
,
module
,
symbol
)
lt_dlhandle
handle
;
lt_dlloader_data_t
loader_data
;
lt_module_t
module
;
const
char
*
symbol
;
const
char
*
symbol
;
{
{
lt_ptr_t
address
;
lt_ptr_t
address
;
if
(
handle
->
handle
&&
shl_findsym
((
shl_t
*
)
&
(
handle
->
handle
)
,
if
(
module
&&
shl_findsym
((
shl_t
*
)
&
module
,
symbol
,
TYPE_UNDEFINED
,
&
address
)
==
0
)
symbol
,
TYPE_UNDEFINED
,
&
address
)
==
0
)
if
(
address
)
if
(
address
)
return
address
;
return
address
;
last_error
=
symbol_error
;
last_error
=
LT_DLSTRERROR
(
SYMBOL_NOT_FOUND
)
;
return
0
;
return
0
;
}
}
static
static
struct
lt_user_dlloader
lt_dltype_t
sys_shl
=
{
0
,
sys_shl_open
,
sys_shl_close
,
sys_shl_sym
,
0
,
0
};
sys_shl
=
{
LTDL_TYPE_TOP
,
0
,
sys_shl_init
,
sys_shl_exit
,
sys_shl_open
,
sys_shl_close
,
sys_shl_sym
};
#undef LTDL_TYPE_TOP
#undef LTDL_TYPE_TOP
#define LTDL_TYPE_TOP &sys_shl
#define LTDL_TYPE_TOP &sys_shl
#endif
#endif
#if HAVE_DLD
/* dynamic linking with dld */
#if HAVE_DLD_H
#include <dld.h>
#endif
static
int
sys_dld_init
LTDL_PARAMS
((
void
))
{
return
0
;
}
static
int
sys_dld_exit
LTDL_PARAMS
((
void
))
{
return
0
;
}
static
int
sys_dld_open
(
handle
,
filename
)
lt_dlhandle
handle
;
const
char
*
filename
;
{
handle
->
handle
=
strdup
(
filename
);
if
(
!
handle
->
handle
)
{
last_error
=
memory_error
;
return
1
;
}
if
(
dld_link
(
filename
)
!=
0
)
{
last_error
=
cannot_open_error
;
lt_dlfree
(
handle
->
handle
);
return
1
;
}
return
0
;
}
static
int
sys_dld_close
(
handle
)
lt_dlhandle
handle
;
{
if
(
dld_unlink_by_file
((
char
*
)(
handle
->
handle
),
1
)
!=
0
)
{
last_error
=
cannot_close_error
;
return
1
;
}
lt_dlfree
(
handle
->
filename
);
return
0
;
}
static
lt_ptr_t
sys_dld_sym
(
handle
,
symbol
)
lt_dlhandle
handle
;
const
char
*
symbol
;
{
lt_ptr_t
address
=
dld_get_func
(
symbol
);
if
(
!
address
)
last_error
=
symbol_error
;
return
address
;
}
static
lt_dltype_t
sys_dld
=
{
LTDL_TYPE_TOP
,
0
,
sys_dld_init
,
sys_dld_exit
,
sys_dld_open
,
sys_dld_close
,
sys_dld_sym
};
#undef LTDL_TYPE_TOP
#define LTDL_TYPE_TOP &sys_dld
#endif
#ifdef _WIN32
#ifdef _WIN32
/* dynamic linking for Win32 */
/* dynamic linking for Win32 */
#include <windows.h>
#include <windows.h>
static
int
sys_wll_init
LTDL_PARAMS
((
void
))
{
return
0
;
}
static
int
sys_wll_exit
LTDL_PARAMS
((
void
))
{
return
0
;
}
/* Forward declaration; required to implement handle search below. */
/* Forward declaration; required to implement handle search below. */
static
lt_dlhandle
handles
;
static
lt_dlhandle
handles
;
static
in
t
static
lt_module_
t
sys_wll_open
(
handle
,
filename
)
sys_wll_open
(
loader_data
,
filename
)
lt_dl
handle
handle
;
lt_dl
loader_data_t
loader_data
;
const
char
*
filename
;
const
char
*
filename
;
{
{
lt_dlhandle
cur
;
lt_dlhandle
cur
;
char
*
searchname
=
NULL
;
lt_module_t
module
;
char
*
ext
=
strrchr
(
filename
,
'.'
);
char
*
searchname
=
0
;
char
*
ext
;
char
self_name_buf
[
MAX_PATH
];
if
(
!
filename
)
{
/* Get the name of main module */
*
self_name_buf
=
0
;
GetModuleFileName
(
NULL
,
self_name_buf
,
sizeof
(
self_name_buf
));
filename
=
ext
=
self_name_buf
;
}
else
ext
=
strrchr
(
filename
,
'.'
);
if
(
ext
)
{
if
(
ext
)
{
/* FILENAME already has an extension. */
/* FILENAME already has an extension. */
...
@@ -538,11 +472,15 @@ sys_wll_open (handle, filename)
...
@@ -538,11 +472,15 @@ sys_wll_open (handle, filename)
/* Append a `.' to stop Windows from adding an
/* Append a `.' to stop Windows from adding an
implicit `.dll' extension. */
implicit `.dll' extension. */
searchname
=
(
char
*
)
lt_dlmalloc
(
2
+
strlen
(
filename
));
searchname
=
(
char
*
)
lt_dlmalloc
(
2
+
strlen
(
filename
));
if
(
!
searchname
)
{
last_error
=
LT_DLSTRERROR
(
NO_MEMORY
);
return
0
;
}
strcpy
(
searchname
,
filename
);
strcpy
(
searchname
,
filename
);
strcat
(
searchname
,
"."
);
strcat
(
searchname
,
"."
);
}
}
handle
->
hand
le
=
LoadLibrary
(
searchname
);
modu
le
=
LoadLibrary
(
searchname
);
lt_dlfree
(
searchname
);
lt_dlfree
(
searchname
);
/* libltdl expects this function to fail if it is unable
/* libltdl expects this function to fail if it is unable
...
@@ -555,53 +493,50 @@ sys_wll_open (handle, filename)
...
@@ -555,53 +493,50 @@ sys_wll_open (handle, filename)
find one. */
find one. */
cur
=
handles
;
cur
=
handles
;
while
(
cur
)
{
while
(
cur
)
{
if
(
!
cur
->
hand
le
)
{
if
(
!
cur
->
modu
le
)
{
cur
=
0
;
cur
=
0
;
break
;
break
;
}
}
if
(
cur
->
handle
==
handle
->
hand
le
)
if
(
cur
->
module
==
modu
le
)
break
;
break
;
cur
=
cur
->
next
;
cur
=
cur
->
next
;
}
}
if
(
cur
||
!
handle
->
hand
le
)
{
if
(
cur
||
!
modu
le
)
{
last_error
=
cannot_open_error
;
last_error
=
LT_DLSTRERROR
(
CANNOT_OPEN
)
;
return
1
;
return
0
;
}
}
return
0
;
return
module
;
}
}
static
int
static
int
sys_wll_close
(
handle
)
sys_wll_close
(
loader_data
,
module
)
lt_dlhandle
handle
;
lt_dlloader_data_t
loader_data
;
lt_module_t
module
;
{
{
if
(
FreeLibrary
(
handle
->
hand
le
)
==
0
)
{
if
(
FreeLibrary
(
modu
le
)
==
0
)
{
last_error
=
cannot_close_error
;
last_error
=
LT_DLSTRERROR
(
CANNOT_CLOSE
)
;
return
1
;
return
1
;
}
}
return
0
;
return
0
;
}
}
static
lt_ptr_t
static
lt_ptr_t
sys_wll_sym
(
handle
,
symbol
)
sys_wll_sym
(
loader_data
,
module
,
symbol
)
lt_dlhandle
handle
;
lt_dlloader_data_t
loader_data
;
lt_module_t
module
;
const
char
*
symbol
;
const
char
*
symbol
;
{
{
lt_ptr_t
address
=
GetProcAddress
(
handle
->
hand
le
,
symbol
);
lt_ptr_t
address
=
GetProcAddress
(
modu
le
,
symbol
);
if
(
!
address
)
if
(
!
address
)
last_error
=
symbol_error
;
last_error
=
LT_DLSTRERROR
(
SYMBOL_NOT_FOUND
)
;
return
address
;
return
address
;
}
}
static
static
struct
lt_user_dlloader
lt_dltype_t
sys_wll
=
{
0
,
sys_wll_open
,
sys_wll_close
,
sys_wll_sym
,
0
,
0
};
sys_wll
=
{
LTDL_TYPE_TOP
,
0
,
sys_wll_init
,
sys_wll_exit
,
sys_wll_open
,
sys_wll_close
,
sys_wll_sym
};
#undef LTDL_TYPE_TOP
#define LTDL_TYPE_TOP &sys_wll
#endif
#endif
...
@@ -611,21 +546,9 @@ sys_wll = { LTDL_TYPE_TOP, 0, sys_wll_init, sys_wll_exit,
...
@@ -611,21 +546,9 @@ sys_wll = { LTDL_TYPE_TOP, 0, sys_wll_init, sys_wll_exit,
#include <kernel/image.h>
#include <kernel/image.h>
static
int
static
lt_module_t
sys_bedl_init
LTDL_PARAMS
((
void
))
sys_bedl_open
(
loader_data
,
filename
)
{
lt_dlloader_data_t
loader_data
;
return
0
;
}
static
int
sys_bedl_exit
LTDL_PARAMS
((
void
))
{
return
0
;
}
static
int
sys_bedl_open
(
handle
,
filename
)
lt_dlhandle
handle
;
const
char
*
filename
;
const
char
*
filename
;
{
{
image_id
image
=
0
;
image_id
image
=
0
;
...
@@ -639,47 +562,101 @@ sys_bedl_open (handle, filename)
...
@@ -639,47 +562,101 @@ sys_bedl_open (handle, filename)
image
=
load_add_on
(
info
.
name
);
image
=
load_add_on
(
info
.
name
);
}
}
if
(
image
<=
0
)
{
if
(
image
<=
0
)
{
last_error
=
cannot_open_error
;
last_error
=
LT_DLSTRERROR
(
CANNOT_OPEN
);
return
1
;
}
handle
->
handle
=
(
void
*
)
image
;
return
0
;
return
0
;
}
return
(
lt_module_t
)
image
;
}
}
static
int
static
int
sys_bedl_close
(
handle
)
sys_bedl_close
(
loader_data
,
module
)
lt_dlhandle
handle
;
lt_dlloader_data_t
loader_data
;
lt_module_t
module
;
{
{
if
(
unload_add_on
((
image_id
)
handle
->
hand
le
)
!=
B_OK
)
{
if
(
unload_add_on
((
image_id
)
modu
le
)
!=
B_OK
)
{
last_error
=
cannot_close_error
;
last_error
=
LT_DLSTRERROR
(
CANNOT_CLOSE
)
;
return
1
;
return
1
;
}
}
return
0
;
return
0
;
}
}
static
lt_ptr_t
static
lt_ptr_t
sys_bedl_sym
(
handle
,
symbol
)
sys_bedl_sym
(
loader_data
,
module
,
symbol
)
lt_dlhandle
handle
;
lt_dlloader_data_t
loader_data
;
lt_module_t
module
;
const
char
*
symbol
;
const
char
*
symbol
;
{
{
lt_ptr_t
address
=
0
;
lt_ptr_t
address
=
0
;
image_id
image
=
(
image_id
)
handle
->
hand
le
;
image_id
image
=
(
image_id
)
modu
le
;
if
(
get_image_symbol
(
image
,
symbol
,
B_SYMBOL_TYPE_ANY
,
if
(
get_image_symbol
(
image
,
symbol
,
B_SYMBOL_TYPE_ANY
,
&
address
)
!=
B_OK
)
{
&
address
)
!=
B_OK
)
{
last_error
=
symbol_error
;
last_error
=
LT_DLSTRERROR
(
SYMBOL_NOT_FOUND
)
;
return
0
;
return
0
;
}
}
return
address
;
return
address
;
}
}
static
static
struct
lt_user_dlloader
lt_dltype_t
sys_bedl
=
{
0
,
sys_bedl_open
,
sys_bedl_close
,
sys_bedl_sym
,
0
,
0
};
sys_bedl
=
{
LTDL_TYPE_TOP
,
0
,
sys_bedl_init
,
sys_bedl_exit
,
sys_bedl_open
,
sys_bedl_close
,
sys_bedl_sym
};
#undef LTDL_TYPE_TOP
#endif
#define LTDL_TYPE_TOP &sys_bedl
#if HAVE_DLD
/* dynamic linking with dld */
#if HAVE_DLD_H
#include <dld.h>
#endif
static
lt_module_t
sys_dld_open
(
loader_data
,
filename
)
lt_dlloader_data_t
loader_data
;
const
char
*
filename
;
{
lt_module_t
module
=
strdup
(
filename
);
if
(
!
module
)
{
last_error
=
LT_DLSTRERROR
(
NO_MEMORY
);
return
0
;
}
if
(
dld_link
(
filename
)
!=
0
)
{
last_error
=
LT_DLSTRERROR
(
CANNOT_OPEN
);
lt_dlfree
(
module
);
return
0
;
}
return
module
;
}
static
int
sys_dld_close
(
loader_data
,
module
)
lt_dlloader_data_t
loader_data
;
lt_module_t
module
;
{
if
(
dld_unlink_by_file
((
char
*
)(
module
),
1
)
!=
0
)
{
last_error
=
LT_DLSTRERROR
(
CANNOT_CLOSE
);
return
1
;
}
lt_dlfree
(
module
);
return
0
;
}
static
lt_ptr_t
sys_dld_sym
(
loader_data
,
module
,
symbol
)
lt_dlloader_data_t
loader_data
;
lt_module_t
module
;
const
char
*
symbol
;
{
lt_ptr_t
address
=
dld_get_func
(
symbol
);
if
(
!
address
)
last_error
=
LT_DLSTRERROR
(
SYMBOL_NOT_FOUND
);
return
address
;
}
static
struct
lt_user_dlloader
sys_dld
=
{
0
,
sys_dld_open
,
sys_dld_close
,
sys_dld_sym
,
0
,
0
};
#endif
#endif
...
@@ -694,7 +671,8 @@ static const lt_dlsymlist *default_preloaded_symbols = 0;
...
@@ -694,7 +671,8 @@ static const lt_dlsymlist *default_preloaded_symbols = 0;
static
lt_dlsymlists_t
*
preloaded_symbols
=
0
;
static
lt_dlsymlists_t
*
preloaded_symbols
=
0
;
static
int
static
int
presym_init
LTDL_PARAMS
((
void
))
presym_init
(
loader_data
)
lt_dlloader_data_t
loader_data
;
{
{
preloaded_symbols
=
0
;
preloaded_symbols
=
0
;
if
(
default_preloaded_symbols
)
if
(
default_preloaded_symbols
)
...
@@ -718,7 +696,8 @@ presym_free_symlists LTDL_PARAMS((void))
...
@@ -718,7 +696,8 @@ presym_free_symlists LTDL_PARAMS((void))
}
}
static
int
static
int
presym_exit
LTDL_PARAMS
((
void
))
presym_exit
(
loader_data
)
lt_dlloader_data_t
loader_data
;
{
{
presym_free_symlists
();
presym_free_symlists
();
return
0
;
return
0
;
...
@@ -739,33 +718,25 @@ presym_add_symlist (preloaded)
...
@@ -739,33 +718,25 @@ presym_add_symlist (preloaded)
tmp
=
(
lt_dlsymlists_t
*
)
lt_dlmalloc
(
sizeof
(
lt_dlsymlists_t
));
tmp
=
(
lt_dlsymlists_t
*
)
lt_dlmalloc
(
sizeof
(
lt_dlsymlists_t
));
if
(
!
tmp
)
{
if
(
!
tmp
)
{
last_error
=
memory_error
;
last_error
=
LT_DLSTRERROR
(
NO_MEMORY
)
;
return
1
;
return
1
;
}
}
tmp
->
syms
=
preloaded
;
tmp
->
syms
=
preloaded
;
tmp
->
next
=
0
;
tmp
->
next
=
preloaded_symbols
;
if
(
!
preloaded_symbols
)
preloaded_symbols
=
tmp
;
preloaded_symbols
=
tmp
;
else
{
/* append to the end */
lists
=
preloaded_symbols
;
while
(
lists
->
next
)
lists
=
lists
->
next
;
lists
->
next
=
tmp
;
}
return
0
;
return
0
;
}
}
static
in
t
static
lt_module_
t
presym_open
(
handle
,
filename
)
presym_open
(
loader_data
,
filename
)
lt_dl
handle
handle
;
lt_dl
loader_data_t
loader_data
;
const
char
*
filename
;
const
char
*
filename
;
{
{
lt_dlsymlists_t
*
lists
=
preloaded_symbols
;
lt_dlsymlists_t
*
lists
=
preloaded_symbols
;
if
(
!
lists
)
{
if
(
!
lists
)
{
last_error
=
no_symbols_error
;
last_error
=
LT_DLSTRERROR
(
NO_SYMBOLS
)
;
return
1
;
return
0
;
}
}
if
(
!
filename
)
if
(
!
filename
)
filename
=
"@PROGRAM@"
;
filename
=
"@PROGRAM@"
;
...
@@ -775,32 +746,33 @@ presym_open (handle, filename)
...
@@ -775,32 +746,33 @@ presym_open (handle, filename)
while
(
syms
->
name
)
{
while
(
syms
->
name
)
{
if
(
!
syms
->
address
&&
if
(
!
syms
->
address
&&
strcmp
(
syms
->
name
,
filename
)
==
0
)
{
strcmp
(
syms
->
name
,
filename
)
==
0
)
{
handle
->
handle
=
(
lt_ptr_t
)
syms
;
return
(
lt_module_t
)
syms
;
return
0
;
}
}
syms
++
;
syms
++
;
}
}
lists
=
lists
->
next
;
lists
=
lists
->
next
;
}
}
last_error
=
file_not_found_error
;
last_error
=
LT_DLSTRERROR
(
FILE_NOT_FOUND
)
;
return
1
;
return
0
;
}
}
static
int
static
int
presym_close
(
handle
)
presym_close
(
loader_data
,
module
)
lt_dlhandle
handle
;
lt_dlloader_data_t
loader_data
;
lt_module_t
module
;
{
{
/* Just to silence gcc -Wall */
/* Just to silence gcc -Wall */
hand
le
=
0
;
modu
le
=
0
;
return
0
;
return
0
;
}
}
static
lt_ptr_t
static
lt_ptr_t
presym_sym
(
handle
,
symbol
)
presym_sym
(
loader_data
,
module
,
symbol
)
lt_dlhandle
handle
;
lt_dlloader_data_t
loader_data
;
lt_module_t
module
;
const
char
*
symbol
;
const
char
*
symbol
;
{
{
lt_dlsymlist
*
syms
=
(
lt_dlsymlist
*
)(
handle
->
hand
le
);
lt_dlsymlist
*
syms
=
(
lt_dlsymlist
*
)(
modu
le
);
syms
++
;
syms
++
;
while
(
syms
->
address
)
{
while
(
syms
->
address
)
{
...
@@ -808,31 +780,24 @@ presym_sym (handle, symbol)
...
@@ -808,31 +780,24 @@ presym_sym (handle, symbol)
return
syms
->
address
;
return
syms
->
address
;
syms
++
;
syms
++
;
}
}
last_error
=
symbol_error
;
last_error
=
LT_DLSTRERROR
(
SYMBOL_NOT_FOUND
)
;
return
0
;
return
0
;
}
}
static
static
struct
lt_user_dlloader
lt_dltype_t
presym
=
{
0
,
presym_open
,
presym_close
,
presym_sym
,
presym_exit
,
0
};
presym
=
{
LTDL_TYPE_TOP
,
0
,
presym_init
,
presym_exit
,
presym_open
,
presym_close
,
presym_sym
};
#undef LTDL_TYPE_TOP
#define LTDL_TYPE_TOP &presym
static
char
*
user_search_path
=
0
;
static
char
*
user_search_path
=
0
;
static
lt_dlloader_t
*
loaders
=
0
;
static
lt_dlhandle
handles
=
0
;
static
lt_dlhandle
handles
=
0
;
static
int
initialized
=
0
;
static
int
initialized
=
0
;
static
lt_dltype_t
*
types
=
LTDL_TYPE_TOP
;
#undef LTDL_TYPE_TOP
int
int
lt_dlinit
LTDL_PARAMS
((
void
))
lt_dlinit
LTDL_PARAMS
((
void
))
{
{
/* initialize libltdl */
/* initialize libltdl */
lt_dltype_t
**
type
=
&
types
;
int
errors
=
0
;
int
typecount
=
0
;
if
(
initialized
)
{
/* Initialize only at first call. */
if
(
initialized
)
{
/* Initialize only at first call. */
initialized
++
;
initialized
++
;
...
@@ -841,16 +806,29 @@ lt_dlinit LTDL_PARAMS((void))
...
@@ -841,16 +806,29 @@ lt_dlinit LTDL_PARAMS((void))
handles
=
0
;
handles
=
0
;
user_search_path
=
0
;
/* empty search path */
user_search_path
=
0
;
/* empty search path */
while
(
*
type
)
{
#if HAVE_LIBDL && !defined(__CYGWIN__)
if
((
*
type
)
->
mod_init
())
errors
+=
lt_dlloader_add
(
lt_dlloader_next
(
0
),
&
sys_dl
,
"dlopen"
);
*
type
=
(
*
type
)
->
next
;
/* Remove it from the list */
#endif
else
{
#if HAVE_SHL_LOAD
type
=
&
(
*
type
)
->
next
;
/* Keep it */
errors
+=
lt_dlloader_add
(
lt_dlloader_next
(
0
),
&
sys_shl
,
"dlopen"
);
typecount
++
;
#endif
}
#ifdef _WIN32
errors
+=
lt_dlloader_add
(
lt_dlloader_next
(
0
),
&
sys_wll
,
"dlopen"
);
#endif
#ifdef __BEOS__
errors
+=
lt_dlloader_add
(
lt_dlloader_next
(
0
),
&
sys_bedl
,
"dlopen"
);
#endif
#if HAVE_DLD
errors
+=
lt_dlloader_add
(
lt_dlloader_next
(
0
),
&
sys_dld
,
"dld"
);
#endif
errors
+=
lt_dlloader_add
(
lt_dlloader_next
(
0
),
&
presym
,
"dlpreload"
);
if
(
presym_init
(
presym
.
dlloader_data
))
{
last_error
=
LT_DLSTRERROR
(
INIT_LOADER
);
return
1
;
}
}
if
(
typecount
==
0
)
{
last_error
=
dlopen_not_supported_error
;
if
(
errors
!=
0
)
{
last_error
=
LT_DLSTRERROR
(
DLOPEN_NOT_SUPPORTED
);
return
1
;
return
1
;
}
}
last_error
=
0
;
last_error
=
0
;
...
@@ -882,11 +860,11 @@ int
...
@@ -882,11 +860,11 @@ int
lt_dlexit
LTDL_PARAMS
((
void
))
lt_dlexit
LTDL_PARAMS
((
void
))
{
{
/* shut down libltdl */
/* shut down libltdl */
lt_dl
type_t
*
type
=
type
s
;
lt_dl
loader_t
*
loader
=
loader
s
;
int
errors
;
int
errors
,
level
;
if
(
!
initialized
)
{
if
(
!
initialized
)
{
last_error
=
shutdown_error
;
last_error
=
LT_DLSTRERROR
(
SHUTDOWN
)
;
return
1
;
return
1
;
}
}
if
(
initialized
!=
1
)
{
/* shut down only at last call. */
if
(
initialized
!=
1
)
{
/* shut down only at last call. */
...
@@ -895,17 +873,27 @@ lt_dlexit LTDL_PARAMS((void))
...
@@ -895,17 +873,27 @@ lt_dlexit LTDL_PARAMS((void))
}
}
/* close all modules */
/* close all modules */
errors
=
0
;
errors
=
0
;
while
(
handles
)
{
for
(
level
=
1
;
handles
;
level
++
)
{
/* FIXME: what if a module depends on another one? */
lt_dlhandle
cur
=
handles
;
if
(
lt_dlclose
(
handles
))
while
(
cur
)
{
lt_dlhandle
tmp
=
cur
;
cur
=
cur
->
next
;
if
(
tmp
->
info
.
ref_count
<=
level
)
if
(
lt_dlclose
(
tmp
))
errors
++
;
errors
++
;
}
}
initialized
=
0
;
}
while
(
type
)
{
/* close all loaders */
if
(
type
->
mod_exit
())
while
(
loader
)
{
lt_dlloader_t
*
next
=
loader
->
next
;
lt_dlloader_data_t
data
=
loader
->
dlloader_data
;
if
(
loader
->
dlloader_exit
&&
loader
->
dlloader_exit
(
data
))
errors
++
;
errors
++
;
type
=
type
->
next
;
lt_dlfree
(
loader
);
loader
=
next
;
}
}
initialized
=
0
;
return
errors
;
return
errors
;
}
}
...
@@ -914,46 +902,49 @@ tryall_dlopen (handle, filename)
...
@@ -914,46 +902,49 @@ tryall_dlopen (handle, filename)
lt_dlhandle
*
handle
;
lt_dlhandle
*
handle
;
const
char
*
filename
;
const
char
*
filename
;
{
{
lt_dlhandle
cur
;
lt_dlhandle
cur
=
handles
;
lt_dl
type_t
*
type
=
type
s
;
lt_dl
loader_t
*
loader
=
loader
s
;
const
char
*
saved_error
=
last_error
;
const
char
*
saved_error
=
last_error
;
/* check whether the module was already opened */
/* check whether the module was already opened */
cur
=
handles
;
while
(
cur
)
{
while
(
cur
)
{
if
(
!
cur
->
filename
&&
!
filename
)
/* try to dlopen the program itself? */
if
(
!
cur
->
info
.
filename
&&
!
filename
)
break
;
break
;
if
(
cur
->
filename
&&
filename
&&
if
(
cur
->
info
.
filename
&&
filename
&&
strcmp
(
cur
->
filename
,
filename
)
==
0
)
strcmp
(
cur
->
info
.
filename
,
filename
)
==
0
)
break
;
break
;
cur
=
cur
->
next
;
cur
=
cur
->
next
;
}
}
if
(
cur
)
{
if
(
cur
)
{
cur
->
usage
++
;
cur
->
info
.
ref_count
++
;
*
handle
=
cur
;
*
handle
=
cur
;
return
0
;
return
0
;
}
}
cur
=
*
handle
;
cur
=
*
handle
;
if
(
filename
)
{
if
(
filename
)
{
cur
->
filename
=
strdup
(
filename
);
cur
->
info
.
filename
=
strdup
(
filename
);
if
(
!
cur
->
filename
)
{
if
(
!
cur
->
info
.
filename
)
{
last_error
=
memory_error
;
last_error
=
LT_DLSTRERROR
(
NO_MEMORY
)
;
return
1
;
return
1
;
}
}
}
else
}
else
cur
->
filename
=
0
;
cur
->
info
.
filename
=
0
;
while
(
type
)
{
while
(
loader
)
{
if
(
type
->
lib_open
(
cur
,
filename
)
==
0
)
lt_dlloader_data_t
data
=
loader
->
dlloader_data
;
cur
->
module
=
loader
->
module_open
(
data
,
filename
);
if
(
cur
->
module
!=
0
)
break
;
break
;
type
=
type
->
next
;
loader
=
loader
->
next
;
}
}
if
(
!
type
)
{
if
(
!
loader
)
{
if
(
cur
->
filename
)
if
(
cur
->
info
.
filename
)
lt_dlfree
(
cur
->
filename
);
lt_dlfree
(
cur
->
info
.
filename
);
return
1
;
return
1
;
}
}
cur
->
type
=
type
;
cur
->
loader
=
loader
;
last_error
=
saved_error
;
last_error
=
saved_error
;
return
0
;
return
0
;
}
}
...
@@ -981,15 +972,13 @@ find_module (handle, dir, libdir, dlname, old_name, installed)
...
@@ -981,15 +972,13 @@ find_module (handle, dir, libdir, dlname, old_name, installed)
filename
=
(
char
*
)
filename
=
(
char
*
)
lt_dlmalloc
(
strlen
(
libdir
)
+
1
+
strlen
(
dlname
)
+
1
);
lt_dlmalloc
(
strlen
(
libdir
)
+
1
+
strlen
(
dlname
)
+
1
);
if
(
!
filename
)
{
if
(
!
filename
)
{
last_error
=
memory_error
;
last_error
=
LT_DLSTRERROR
(
NO_MEMORY
)
;
return
1
;
return
1
;
}
}
strcpy
(
filename
,
libdir
);
sprintf
(
filename
,
"%s/%s"
,
libdir
,
dlname
);
strcat
(
filename
,
"/"
);
error
=
tryall_dlopen
(
handle
,
filename
)
!=
0
;
strcat
(
filename
,
dlname
);
error
=
tryall_dlopen
(
handle
,
filename
)
==
0
;
lt_dlfree
(
filename
);
lt_dlfree
(
filename
);
if
(
error
)
if
(
!
error
)
return
0
;
return
0
;
}
}
/* try to open the not-installed module */
/* try to open the not-installed module */
...
@@ -998,7 +987,7 @@ find_module (handle, dir, libdir, dlname, old_name, installed)
...
@@ -998,7 +987,7 @@ find_module (handle, dir, libdir, dlname, old_name, installed)
lt_dlmalloc
((
dir
?
strlen
(
dir
)
:
0
)
lt_dlmalloc
((
dir
?
strlen
(
dir
)
:
0
)
+
strlen
(
objdir
)
+
strlen
(
dlname
)
+
1
);
+
strlen
(
objdir
)
+
strlen
(
dlname
)
+
1
);
if
(
!
filename
)
{
if
(
!
filename
)
{
last_error
=
memory_error
;
last_error
=
LT_DLSTRERROR
(
NO_MEMORY
)
;
return
1
;
return
1
;
}
}
if
(
dir
)
if
(
dir
)
...
@@ -1008,12 +997,12 @@ find_module (handle, dir, libdir, dlname, old_name, installed)
...
@@ -1008,12 +997,12 @@ find_module (handle, dir, libdir, dlname, old_name, installed)
strcat
(
filename
,
objdir
);
strcat
(
filename
,
objdir
);
strcat
(
filename
,
dlname
);
strcat
(
filename
,
dlname
);
error
=
tryall_dlopen
(
handle
,
filename
)
=
=
0
;
error
=
tryall_dlopen
(
handle
,
filename
)
!
=
0
;
lt_dlfree
(
filename
);
lt_dlfree
(
filename
);
if
(
error
)
if
(
!
error
)
return
0
;
return
0
;
}
}
/*
hmm,
maybe it was moved to another directory */
/* maybe it was moved to another directory */
{
{
filename
=
(
char
*
)
filename
=
(
char
*
)
lt_dlmalloc
((
dir
?
strlen
(
dir
)
:
0
)
lt_dlmalloc
((
dir
?
strlen
(
dir
)
:
0
)
...
@@ -1023,16 +1012,34 @@ find_module (handle, dir, libdir, dlname, old_name, installed)
...
@@ -1023,16 +1012,34 @@ find_module (handle, dir, libdir, dlname, old_name, installed)
else
else
*
filename
=
0
;
*
filename
=
0
;
strcat
(
filename
,
dlname
);
strcat
(
filename
,
dlname
);
error
=
tryall_dlopen
(
handle
,
filename
)
=
=
0
;
error
=
tryall_dlopen
(
handle
,
filename
)
!
=
0
;
lt_dlfree
(
filename
);
lt_dlfree
(
filename
);
if
(
error
)
if
(
!
error
)
return
0
;
return
0
;
}
}
}
}
last_error
=
file_not_found_error
;
return
1
;
return
1
;
}
}
static
char
*
canonicalize_path
(
path
)
const
char
*
path
;
{
char
*
canonical
=
0
;
if
(
path
&&
*
path
)
{
char
*
ptr
=
strdup
(
path
);
canonical
=
ptr
;
#ifdef LTDL_DIRSEP_CHAR
/* Avoid this overhead where '/' is the only separator. */
while
(
ptr
=
strchr
(
ptr
,
LTDL_DIRSEP_CHAR
))
*
ptr
++
=
'/'
;
#endif
}
return
canonical
;
}
static
lt_ptr_t
static
lt_ptr_t
find_file
(
basename
,
search_path
,
pdir
,
handle
)
find_file
(
basename
,
search_path
,
pdir
,
handle
)
const
char
*
basename
;
const
char
*
basename
;
...
@@ -1043,24 +1050,31 @@ find_file (basename, search_path, pdir, handle)
...
@@ -1043,24 +1050,31 @@ find_file (basename, search_path, pdir, handle)
/* when handle != NULL search a library, otherwise a file */
/* when handle != NULL search a library, otherwise a file */
/* return NULL on failure, otherwise the file/handle */
/* return NULL on failure, otherwise the file/handle */
lt_ptr_t
result
=
0
;
char
*
filename
=
0
;
char
*
filename
=
0
;
int
filenamesize
=
0
;
int
filenamesize
=
0
;
const
char
*
next
=
search_path
;
int
lenbase
=
strlen
(
basename
);
int
lenbase
=
strlen
(
basename
);
char
*
canonical
=
0
,
*
next
=
0
;
if
(
!
next
||
!*
next
)
{
if
(
!
search_path
||
!*
search_path
)
{
last_error
=
file_not_found_error
;
last_error
=
LT_DLSTRERROR
(
FILE_NOT_FOUND
)
;
return
0
;
return
0
;
}
}
canonical
=
canonicalize_path
(
search_path
);
if
(
!
canonical
)
{
last_error
=
LT_DLSTRERROR
(
NO_MEMORY
);
goto
cleanup
;
}
next
=
canonical
;
while
(
next
)
{
while
(
next
)
{
int
lendir
;
int
lendir
;
c
onst
c
har
*
cur
=
next
;
char
*
cur
=
next
;
next
=
strchr
(
cur
,
':'
);
next
=
strchr
(
cur
,
LTDL_PATHSEP_CHAR
);
if
(
!
next
)
if
(
!
next
)
next
=
cur
+
strlen
(
cur
);
next
=
cur
+
strlen
(
cur
);
lendir
=
next
-
cur
;
lendir
=
next
-
cur
;
if
(
*
next
==
':'
)
if
(
*
next
==
LTDL_PATHSEP_CHAR
)
++
next
;
++
next
;
else
else
next
=
0
;
next
=
0
;
...
@@ -1072,8 +1086,8 @@ find_file (basename, search_path, pdir, handle)
...
@@ -1072,8 +1086,8 @@ find_file (basename, search_path, pdir, handle)
filenamesize
=
lendir
+
1
+
lenbase
+
1
;
filenamesize
=
lendir
+
1
+
lenbase
+
1
;
filename
=
(
char
*
)
lt_dlmalloc
(
filenamesize
);
filename
=
(
char
*
)
lt_dlmalloc
(
filenamesize
);
if
(
!
filename
)
{
if
(
!
filename
)
{
last_error
=
memory_error
;
last_error
=
LT_DLSTRERROR
(
NO_MEMORY
)
;
return
0
;
goto
cleanup
;
}
}
}
}
strncpy
(
filename
,
cur
,
lendir
);
strncpy
(
filename
,
cur
,
lendir
);
...
@@ -1082,8 +1096,8 @@ find_file (basename, search_path, pdir, handle)
...
@@ -1082,8 +1096,8 @@ find_file (basename, search_path, pdir, handle)
strcpy
(
filename
+
lendir
,
basename
);
strcpy
(
filename
+
lendir
,
basename
);
if
(
handle
)
{
if
(
handle
)
{
if
(
tryall_dlopen
(
handle
,
filename
)
==
0
)
{
if
(
tryall_dlopen
(
handle
,
filename
)
==
0
)
{
lt_dlfree
(
filename
)
;
result
=
(
lt_ptr_t
)
handle
;
return
(
lt_ptr_t
)
handle
;
goto
cleanup
;
}
}
}
else
{
}
else
{
FILE
*
file
=
fopen
(
filename
,
LTDL_READTEXT_MODE
);
FILE
*
file
=
fopen
(
filename
,
LTDL_READTEXT_MODE
);
...
@@ -1097,39 +1111,142 @@ find_file (basename, search_path, pdir, handle)
...
@@ -1097,39 +1111,142 @@ find_file (basename, search_path, pdir, handle)
strdup, but there would be some
strdup, but there would be some
memory overhead. */
memory overhead. */
*
pdir
=
filename
;
*
pdir
=
filename
;
}
else
filename
=
0
;
lt_dlfree
(
filename
);
return
(
lt_ptr_t
)
file
;
}
}
result
=
(
lt_ptr_t
)
file
;
goto
cleanup
;
}
}
}
}
}
last_error
=
LT_DLSTRERROR
(
FILE_NOT_FOUND
);
cleanup
:
if
(
filename
)
if
(
filename
)
lt_dlfree
(
filename
);
lt_dlfree
(
filename
);
last_error
=
file_not_found_error
;
if
(
canonical
)
return
0
;
lt_dlfree
(
canonical
);
return
result
;
}
}
static
int
static
int
load_deplibs
(
handle
,
deplibs
)
load_deplibs
(
handle
,
deplibs
)
lt_dlhandle
handle
;
lt_dlhandle
handle
;
c
onst
c
har
*
deplibs
;
char
*
deplibs
;
{
{
/* FIXME: load deplibs */
char
*
p
,
*
save_search_path
;
int
i
;
int
ret
=
1
,
depcount
=
0
;
char
**
names
=
0
;
lt_dlhandle
*
handles
=
0
;
handle
->
depcount
=
0
;
handle
->
depcount
=
0
;
handle
->
deplibs
=
0
;
if
(
!
deplibs
)
/* Just to silence gcc -Wall */
deplibs
=
0
;
return
0
;
return
0
;
save_search_path
=
strdup
(
user_search_path
);
if
(
user_search_path
&&
!
save_search_path
)
{
last_error
=
LT_DLSTRERROR
(
NO_MEMORY
);
return
1
;
}
p
=
deplibs
;
/* extract search paths and count deplibs */
while
(
*
p
)
{
if
(
!
isspace
(
*
p
))
{
char
*
end
=
p
+
1
;
while
(
*
end
&&
!
isspace
(
*
end
))
end
++
;
if
(
strncmp
(
p
,
"-L"
,
2
)
==
0
||
strncmp
(
p
,
"-R"
,
2
)
==
0
)
{
char
save
=
*
end
;
*
end
=
0
;
/* set a temporary string terminator */
if
(
lt_dladdsearchdir
(
p
+
2
))
goto
cleanup
;
*
end
=
save
;
}
else
depcount
++
;
p
=
end
;
}
else
p
++
;
}
if
(
!
depcount
)
{
ret
=
0
;
goto
cleanup
;
}
names
=
(
char
**
)
lt_dlmalloc
(
depcount
*
sizeof
(
char
*
));
if
(
!
names
)
goto
cleanup
;
handles
=
(
lt_dlhandle
*
)
lt_dlmalloc
(
depcount
*
sizeof
(
lt_dlhandle
*
));
if
(
!
handles
)
goto
cleanup
;
depcount
=
0
;
/* now only extract the actual deplibs */
p
=
deplibs
;
while
(
*
p
)
{
if
(
!
isspace
(
*
p
))
{
char
*
end
=
p
+
1
;
while
(
*
end
&&
!
isspace
(
*
end
))
end
++
;
if
(
strncmp
(
p
,
"-L"
,
2
)
!=
0
&&
strncmp
(
p
,
"-R"
,
2
)
!=
0
)
{
char
*
name
;
char
save
=
*
end
;
*
end
=
0
;
/* set a temporary string terminator */
if
(
strncmp
(
p
,
"-l"
,
2
)
==
0
)
{
name
=
lt_dlmalloc
(
3
+
/* "lib" */
strlen
(
p
+
2
)
+
1
);
if
(
name
)
sprintf
(
name
,
"lib%s"
,
p
+
2
);
}
else
name
=
strdup
(
p
);
if
(
name
)
names
[
depcount
++
]
=
name
;
else
goto
cleanup_names
;
*
end
=
save
;
}
p
=
end
;
}
else
p
++
;
}
/* load the deplibs (in reverse order) */
for
(
i
=
0
;
i
<
depcount
;
i
++
)
{
lt_dlhandle
handle
=
lt_dlopenext
(
names
[
depcount
-
1
-
i
]);
if
(
!
handle
)
{
int
j
;
for
(
j
=
0
;
j
<
i
;
j
++
)
lt_dlclose
(
handles
[
j
]);
last_error
=
LT_DLSTRERROR
(
DEPLIB_NOT_FOUND
);
goto
cleanup_names
;
}
handles
[
i
]
=
handle
;
}
handle
->
depcount
=
depcount
;
handle
->
deplibs
=
handles
;
handles
=
0
;
ret
=
0
;
cleanup_names
:
for
(
i
=
0
;
i
<
depcount
;
i
++
)
lt_dlfree
(
names
[
i
]);
cleanup
:
if
(
names
)
lt_dlfree
(
names
);
if
(
handles
)
lt_dlfree
(
handles
);
/* restore the old search path */
if
(
user_search_path
)
lt_dlfree
(
user_search_path
);
user_search_path
=
save_search_path
;
return
ret
;
}
}
static
int
static
int
unload_deplibs
(
handle
)
unload_deplibs
(
handle
)
lt_dlhandle
handle
;
lt_dlhandle
handle
;
{
{
/* FIXME: unload deplibs */
int
i
;
/* Just to silence gcc -Wall */
int
errors
=
0
;
handle
=
0
;
if
(
!
handle
->
depcount
)
return
0
;
return
0
;
for
(
i
=
0
;
i
<
handle
->
depcount
;
i
++
)
errors
+=
lt_dlclose
(
handle
->
deplibs
[
i
]);
return
errors
;
}
}
static
inline
int
static
inline
int
...
@@ -1148,7 +1265,7 @@ trim (dest, str)
...
@@ -1148,7 +1265,7 @@ trim (dest, str)
if
(
len
>
3
&&
str
[
0
]
==
'\''
)
{
if
(
len
>
3
&&
str
[
0
]
==
'\''
)
{
tmp
=
(
char
*
)
lt_dlmalloc
(
end
-
str
);
tmp
=
(
char
*
)
lt_dlmalloc
(
end
-
str
);
if
(
!
tmp
)
{
if
(
!
tmp
)
{
last_error
=
memory_error
;
last_error
=
LT_DLSTRERROR
(
NO_MEMORY
)
;
return
1
;
return
1
;
}
}
strncpy
(
tmp
,
&
str
[
1
],
(
end
-
str
)
-
1
);
strncpy
(
tmp
,
&
str
[
1
],
(
end
-
str
)
-
1
);
...
@@ -1160,18 +1277,12 @@ trim (dest, str)
...
@@ -1160,18 +1277,12 @@ trim (dest, str)
}
}
static
inline
int
static
inline
int
free_vars
(
dir
,
name
,
dlname
,
oldname
,
libdir
,
deplibs
)
free_vars
(
dlname
,
oldname
,
libdir
,
deplibs
)
char
*
dir
;
char
*
name
;
char
*
dlname
;
char
*
dlname
;
char
*
oldname
;
char
*
oldname
;
char
*
libdir
;
char
*
libdir
;
char
*
deplibs
;
char
*
deplibs
;
{
{
if
(
dir
)
lt_dlfree
(
dir
);
if
(
name
)
lt_dlfree
(
name
);
if
(
dlname
)
if
(
dlname
)
lt_dlfree
(
dlname
);
lt_dlfree
(
dlname
);
if
(
oldname
)
if
(
oldname
)
...
@@ -1187,18 +1298,18 @@ lt_dlhandle
...
@@ -1187,18 +1298,18 @@ lt_dlhandle
lt_dlopen
(
filename
)
lt_dlopen
(
filename
)
const
char
*
filename
;
const
char
*
filename
;
{
{
lt_dlhandle
handle
,
newhandle
;
lt_dlhandle
handle
=
0
,
newhandle
;
const
char
*
basename
,
*
ext
;
const
char
*
ext
;
const
char
*
saved_error
=
last_error
;
const
char
*
saved_error
=
last_error
;
char
*
dir
=
0
,
*
name
=
0
;
char
*
canonical
=
0
,
*
basename
=
0
,
*
dir
=
0
,
*
name
=
0
;
if
(
!
filename
)
{
if
(
!
filename
)
{
handle
=
(
lt_dlhandle
)
lt_dlmalloc
(
sizeof
(
lt_dlhandle_t
));
handle
=
(
lt_dlhandle
)
lt_dlmalloc
(
sizeof
(
lt_dlhandle_t
));
if
(
!
handle
)
{
if
(
!
handle
)
{
last_error
=
memory_error
;
last_error
=
LT_DLSTRERROR
(
NO_MEMORY
)
;
return
0
;
return
0
;
}
}
handle
->
usage
=
0
;
handle
->
info
.
ref_count
=
0
;
handle
->
depcount
=
0
;
handle
->
depcount
=
0
;
handle
->
deplibs
=
0
;
handle
->
deplibs
=
0
;
newhandle
=
handle
;
newhandle
=
handle
;
...
@@ -1208,18 +1319,26 @@ lt_dlopen (filename)
...
@@ -1208,18 +1319,26 @@ lt_dlopen (filename)
}
}
goto
register_handle
;
goto
register_handle
;
}
}
basename
=
strrchr
(
filename
,
'/'
);
canonical
=
canonicalize_path
(
filename
);
if
(
!
canonical
)
{
last_error
=
LT_DLSTRERROR
(
NO_MEMORY
);
if
(
handle
)
lt_dlfree
(
handle
);
return
0
;
}
basename
=
strrchr
(
canonical
,
'/'
);
if
(
basename
)
{
if
(
basename
)
{
basename
++
;
basename
++
;
dir
=
(
char
*
)
lt_dlmalloc
(
basename
-
filename
+
1
);
dir
=
(
char
*
)
lt_dlmalloc
(
basename
-
canonical
+
1
);
if
(
!
dir
)
{
if
(
!
dir
)
{
last_error
=
memory_error
;
last_error
=
LT_DLSTRERROR
(
NO_MEMORY
);
return
0
;
handle
=
0
;
goto
cleanup
;
}
}
strncpy
(
dir
,
filename
,
basename
-
filename
);
strncpy
(
dir
,
canonical
,
basename
-
canonical
);
dir
[
basename
-
filename
]
=
'\0'
;
dir
[
basename
-
canonical
]
=
'\0'
;
}
else
}
else
basename
=
filename
;
basename
=
canonical
;
/* check whether we open a libtool module (.la extension) */
/* check whether we open a libtool module (.la extension) */
ext
=
strrchr
(
basename
,
'.'
);
ext
=
strrchr
(
basename
,
'.'
);
if
(
ext
&&
strcmp
(
ext
,
".la"
)
==
0
)
{
if
(
ext
&&
strcmp
(
ext
,
".la"
)
==
0
)
{
...
@@ -1238,10 +1357,9 @@ lt_dlopen (filename)
...
@@ -1238,10 +1357,9 @@ lt_dlopen (filename)
/* extract the module name from the file name */
/* extract the module name from the file name */
name
=
(
char
*
)
lt_dlmalloc
(
ext
-
basename
+
1
);
name
=
(
char
*
)
lt_dlmalloc
(
ext
-
basename
+
1
);
if
(
!
name
)
{
if
(
!
name
)
{
last_error
=
memory_error
;
last_error
=
LT_DLSTRERROR
(
NO_MEMORY
);
if
(
dir
)
handle
=
0
;
lt_dlfree
(
dir
);
goto
cleanup
;
return
0
;
}
}
/* canonicalize the module name */
/* canonicalize the module name */
for
(
i
=
0
;
i
<
ext
-
basename
;
i
++
)
for
(
i
=
0
;
i
<
ext
-
basename
;
i
++
)
...
@@ -1253,7 +1371,7 @@ lt_dlopen (filename)
...
@@ -1253,7 +1371,7 @@ lt_dlopen (filename)
/* now try to open the .la file */
/* now try to open the .la file */
file
=
fopen
(
filename
,
LTDL_READTEXT_MODE
);
file
=
fopen
(
filename
,
LTDL_READTEXT_MODE
);
if
(
!
file
)
if
(
!
file
)
last_error
=
file_not_found_error
;
last_error
=
LT_DLSTRERROR
(
FILE_NOT_FOUND
)
;
if
(
!
file
&&
!
dir
)
{
if
(
!
file
&&
!
dir
)
{
/* try other directories */
/* try other directories */
file
=
(
FILE
*
)
find_file
(
basename
,
file
=
(
FILE
*
)
find_file
(
basename
,
...
@@ -1269,19 +1387,23 @@ lt_dlopen (filename)
...
@@ -1269,19 +1387,23 @@ lt_dlopen (filename)
getenv
(
LTDL_SHLIBPATH_VAR
),
getenv
(
LTDL_SHLIBPATH_VAR
),
&
dir
,
0
);
&
dir
,
0
);
#endif
#endif
#ifdef LTDL_SYSSEARCHPATH
if
(
!
file
)
file
=
(
FILE
*
)
find_file
(
basename
,
sys_search_path
,
&
dir
,
0
);
#endif
}
}
if
(
!
file
)
{
if
(
!
file
)
{
if
(
name
)
handle
=
0
;
lt_dlfree
(
name
);
goto
cleanup
;
if
(
dir
)
lt_dlfree
(
dir
);
return
0
;
}
}
line
=
(
char
*
)
lt_dlmalloc
(
LTDL_FILENAME_MAX
);
line
=
(
char
*
)
lt_dlmalloc
(
LTDL_FILENAME_MAX
);
if
(
!
line
)
{
if
(
!
line
)
{
fclose
(
file
);
fclose
(
file
);
last_error
=
memory_error
;
last_error
=
LT_DLSTRERROR
(
NO_MEMORY
);
return
0
;
handle
=
0
;
goto
cleanup
;
}
}
/* read the .la file */
/* read the .la file */
while
(
!
feof
(
file
))
{
while
(
!
feof
(
file
))
{
...
@@ -1322,6 +1444,22 @@ lt_dlopen (filename)
...
@@ -1322,6 +1444,22 @@ lt_dlopen (filename)
else
else
if
(
strcmp
(
line
,
"installed=no
\n
"
)
==
0
)
if
(
strcmp
(
line
,
"installed=no
\n
"
)
==
0
)
installed
=
0
;
installed
=
0
;
else
# undef STR_LIBRARY_NAMES
# define STR_LIBRARY_NAMES "library_names="
if
(
!
dlname
&&
strncmp
(
line
,
STR_LIBRARY_NAMES
,
sizeof
(
STR_LIBRARY_NAMES
)
-
1
)
==
0
)
{
char
*
last_libname
;
error
=
trim
(
&
dlname
,
&
line
[
sizeof
(
STR_LIBRARY_NAMES
)
-
1
]);
if
(
!
error
&&
dlname
&&
(
last_libname
=
strrchr
(
dlname
,
' '
))
!=
NULL
)
{
last_libname
=
strdup
(
last_libname
+
1
);
free
(
dlname
);
dlname
=
last_libname
;
}
}
if
(
error
)
if
(
error
)
break
;
break
;
}
}
...
@@ -1333,11 +1471,12 @@ lt_dlopen (filename)
...
@@ -1333,11 +1471,12 @@ lt_dlopen (filename)
if
(
handle
)
if
(
handle
)
lt_dlfree
(
handle
);
lt_dlfree
(
handle
);
if
(
!
error
)
if
(
!
error
)
last_error
=
memory_error
;
last_error
=
LT_DLSTRERROR
(
NO_MEMORY
);
free_vars
(
name
,
dir
,
dlname
,
old_name
,
libdir
,
deplibs
);
free_vars
(
dlname
,
old_name
,
libdir
,
deplibs
);
return
0
;
/* handle is already set to 0 */
goto
cleanup
;
}
}
handle
->
usage
=
0
;
handle
->
info
.
ref_count
=
0
;
if
(
load_deplibs
(
handle
,
deplibs
)
==
0
)
{
if
(
load_deplibs
(
handle
,
deplibs
)
==
0
)
{
newhandle
=
handle
;
newhandle
=
handle
;
/* find_module may replace newhandle */
/* find_module may replace newhandle */
...
@@ -1348,24 +1487,23 @@ lt_dlopen (filename)
...
@@ -1348,24 +1487,23 @@ lt_dlopen (filename)
}
}
}
else
}
else
error
=
1
;
error
=
1
;
free_vars
(
dlname
,
old_name
,
libdir
,
deplibs
);
if
(
error
)
{
if
(
error
)
{
lt_dlfree
(
handle
);
lt_dlfree
(
handle
);
free_vars
(
name
,
dir
,
dlname
,
old_name
,
libdir
,
deplibs
)
;
handle
=
0
;
return
0
;
goto
cleanup
;
}
}
if
(
handle
!=
newhandle
)
{
if
(
handle
!=
newhandle
)
unload_deplibs
(
handle
);
unload_deplibs
(
handle
);
}
}
else
{
}
else
{
/* not a libtool module */
/* not a libtool module */
handle
=
(
lt_dlhandle
)
lt_dlmalloc
(
sizeof
(
lt_dlhandle_t
));
handle
=
(
lt_dlhandle
)
lt_dlmalloc
(
sizeof
(
lt_dlhandle_t
));
if
(
!
handle
)
{
if
(
!
handle
)
{
last_error
=
memory_error
;
last_error
=
LT_DLSTRERROR
(
NO_MEMORY
);
if
(
dir
)
/* handle is already set to 0 */
lt_dlfree
(
dir
);
goto
cleanup
;
return
0
;
}
}
handle
->
usage
=
0
;
handle
->
info
.
ref_count
=
0
;
/* non-libtool modules don't have dependencies */
/* non-libtool modules don't have dependencies */
handle
->
depcount
=
0
;
handle
->
depcount
=
0
;
handle
->
deplibs
=
0
;
handle
->
deplibs
=
0
;
...
@@ -1382,11 +1520,14 @@ lt_dlopen (filename)
...
@@ -1382,11 +1520,14 @@ lt_dlopen (filename)
getenv
(
LTDL_SHLIBPATH_VAR
),
getenv
(
LTDL_SHLIBPATH_VAR
),
0
,
&
newhandle
)
0
,
&
newhandle
)
#endif
#endif
#ifdef LTDL_SYSSEARCHPATH
&&
!
find_file
(
basename
,
sys_search_path
,
0
,
&
newhandle
)
#endif
)))
{
)))
{
lt_dlfree
(
handle
);
lt_dlfree
(
handle
);
if
(
dir
)
handle
=
0
;
lt_dlfree
(
dir
);
goto
cleanup
;
return
0
;
}
}
}
}
register_handle
:
register_handle
:
...
@@ -1394,16 +1535,21 @@ register_handle:
...
@@ -1394,16 +1535,21 @@ register_handle:
lt_dlfree
(
handle
);
lt_dlfree
(
handle
);
handle
=
newhandle
;
handle
=
newhandle
;
}
}
if
(
!
handle
->
usage
)
{
if
(
!
handle
->
info
.
ref_count
)
{
handle
->
usage
=
1
;
handle
->
info
.
ref_count
=
1
;
handle
->
name
=
name
;
handle
->
info
.
name
=
name
;
handle
->
next
=
handles
;
handle
->
next
=
handles
;
handles
=
handle
;
handles
=
handle
;
}
else
if
(
name
)
name
=
0
;
/* don't free this during `cleanup' */
lt_dlfree
(
name
);
}
last_error
=
saved_error
;
cleanup
:
if
(
dir
)
if
(
dir
)
lt_dlfree
(
dir
);
lt_dlfree
(
dir
);
last_error
=
saved_error
;
if
(
name
)
lt_dlfree
(
name
);
if
(
canonical
)
lt_dlfree
(
canonical
);
return
handle
;
return
handle
;
}
}
...
@@ -1420,7 +1566,7 @@ lt_dlopenext (filename)
...
@@ -1420,7 +1566,7 @@ lt_dlopenext (filename)
return
lt_dlopen
(
filename
);
return
lt_dlopen
(
filename
);
len
=
strlen
(
filename
);
len
=
strlen
(
filename
);
if
(
!
len
)
{
if
(
!
len
)
{
last_error
=
file_not_found_error
;
last_error
=
LT_DLSTRERROR
(
FILE_NOT_FOUND
)
;
return
0
;
return
0
;
}
}
/* try the normal file name */
/* try the normal file name */
...
@@ -1430,7 +1576,7 @@ lt_dlopenext (filename)
...
@@ -1430,7 +1576,7 @@ lt_dlopenext (filename)
/* try "filename.la" */
/* try "filename.la" */
tmp
=
(
char
*
)
lt_dlmalloc
(
len
+
4
);
tmp
=
(
char
*
)
lt_dlmalloc
(
len
+
4
);
if
(
!
tmp
)
{
if
(
!
tmp
)
{
last_error
=
memory_error
;
last_error
=
LT_DLSTRERROR
(
NO_MEMORY
)
;
return
0
;
return
0
;
}
}
strcpy
(
tmp
,
filename
);
strcpy
(
tmp
,
filename
);
...
@@ -1447,7 +1593,7 @@ lt_dlopenext (filename)
...
@@ -1447,7 +1593,7 @@ lt_dlopenext (filename)
lt_dlfree
(
tmp
);
lt_dlfree
(
tmp
);
tmp
=
(
char
*
)
lt_dlmalloc
(
len
+
strlen
(
shlib_ext
)
+
1
);
tmp
=
(
char
*
)
lt_dlmalloc
(
len
+
strlen
(
shlib_ext
)
+
1
);
if
(
!
tmp
)
{
if
(
!
tmp
)
{
last_error
=
memory_error
;
last_error
=
LT_DLSTRERROR
(
NO_MEMORY
)
;
return
0
;
return
0
;
}
}
strcpy
(
tmp
,
filename
);
strcpy
(
tmp
,
filename
);
...
@@ -1461,7 +1607,7 @@ lt_dlopenext (filename)
...
@@ -1461,7 +1607,7 @@ lt_dlopenext (filename)
return
handle
;
return
handle
;
}
}
#endif
#endif
last_error
=
file_not_found_error
;
last_error
=
LT_DLSTRERROR
(
FILE_NOT_FOUND
)
;
lt_dlfree
(
tmp
);
lt_dlfree
(
tmp
);
return
0
;
return
0
;
}
}
...
@@ -1479,23 +1625,24 @@ lt_dlclose (handle)
...
@@ -1479,23 +1625,24 @@ lt_dlclose (handle)
cur
=
cur
->
next
;
cur
=
cur
->
next
;
}
}
if
(
!
cur
)
{
if
(
!
cur
)
{
last_error
=
invalid_handle_error
;
last_error
=
LT_DLSTRERROR
(
INVALID_HANDLE
)
;
return
1
;
return
1
;
}
}
handle
->
usage
--
;
handle
->
info
.
ref_count
--
;
if
(
!
handle
->
usage
)
{
if
(
!
handle
->
info
.
ref_count
)
{
int
error
;
int
error
;
lt_dlloader_data_t
data
=
handle
->
loader
->
dlloader_data
;
if
(
handle
!=
handles
)
if
(
handle
!=
handles
)
last
->
next
=
handle
->
next
;
last
->
next
=
handle
->
next
;
else
else
handles
=
handle
->
next
;
handles
=
handle
->
next
;
error
=
handle
->
type
->
lib_close
(
hand
le
);
error
=
handle
->
loader
->
module_close
(
data
,
handle
->
modu
le
);
error
+=
unload_deplibs
(
handle
);
error
+=
unload_deplibs
(
handle
);
if
(
handle
->
filename
)
if
(
handle
->
info
.
filename
)
lt_dlfree
(
handle
->
filename
);
lt_dlfree
(
handle
->
info
.
filename
);
if
(
handle
->
name
)
if
(
handle
->
info
.
name
)
lt_dlfree
(
handle
->
name
);
lt_dlfree
(
handle
->
info
.
name
);
lt_dlfree
(
handle
);
lt_dlfree
(
handle
);
return
error
;
return
error
;
}
}
...
@@ -1511,41 +1658,43 @@ lt_dlsym (handle, symbol)
...
@@ -1511,41 +1658,43 @@ lt_dlsym (handle, symbol)
char
lsym
[
LTDL_SYMBOL_LENGTH
];
char
lsym
[
LTDL_SYMBOL_LENGTH
];
char
*
sym
;
char
*
sym
;
lt_ptr_t
address
;
lt_ptr_t
address
;
lt_dlloader_data_t
data
;
if
(
!
handle
)
{
if
(
!
handle
)
{
last_error
=
invalid_handle_error
;
last_error
=
LT_DLSTRERROR
(
INVALID_HANDLE
)
;
return
0
;
return
0
;
}
}
if
(
!
symbol
)
{
if
(
!
symbol
)
{
last_error
=
symbol_error
;
last_error
=
LT_DLSTRERROR
(
SYMBOL_NOT_FOUND
)
;
return
0
;
return
0
;
}
}
lensym
=
strlen
(
symbol
);
lensym
=
strlen
(
symbol
);
if
(
handle
->
type
->
sym_prefix
)
if
(
handle
->
loader
->
sym_prefix
)
lensym
+=
strlen
(
handle
->
type
->
sym_prefix
);
lensym
+=
strlen
(
handle
->
loader
->
sym_prefix
);
if
(
handle
->
name
)
if
(
handle
->
info
.
name
)
lensym
+=
strlen
(
handle
->
name
);
lensym
+=
strlen
(
handle
->
info
.
name
);
if
(
lensym
+
LTDL_SYMBOL_OVERHEAD
<
LTDL_SYMBOL_LENGTH
)
if
(
lensym
+
LTDL_SYMBOL_OVERHEAD
<
LTDL_SYMBOL_LENGTH
)
sym
=
lsym
;
sym
=
lsym
;
else
else
sym
=
(
char
*
)
lt_dlmalloc
(
lensym
+
LTDL_SYMBOL_OVERHEAD
+
1
);
sym
=
(
char
*
)
lt_dlmalloc
(
lensym
+
LTDL_SYMBOL_OVERHEAD
+
1
);
if
(
!
sym
)
{
if
(
!
sym
)
{
last_error
=
buffer_overflow_error
;
last_error
=
LT_DLSTRERROR
(
BUFFER_OVERFLOW
)
;
return
0
;
return
0
;
}
}
if
(
handle
->
name
)
{
data
=
handle
->
loader
->
dlloader_data
;
if
(
handle
->
info
.
name
)
{
const
char
*
saved_error
=
last_error
;
const
char
*
saved_error
=
last_error
;
/* this is a libtool module */
/* this is a libtool module */
if
(
handle
->
type
->
sym_prefix
)
{
if
(
handle
->
loader
->
sym_prefix
)
{
strcpy
(
sym
,
handle
->
type
->
sym_prefix
);
strcpy
(
sym
,
handle
->
loader
->
sym_prefix
);
strcat
(
sym
,
handle
->
name
);
strcat
(
sym
,
handle
->
info
.
name
);
}
else
}
else
strcpy
(
sym
,
handle
->
name
);
strcpy
(
sym
,
handle
->
info
.
name
);
strcat
(
sym
,
"_LTX_"
);
strcat
(
sym
,
"_LTX_"
);
strcat
(
sym
,
symbol
);
strcat
(
sym
,
symbol
);
/* try "modulename_LTX_symbol" */
/* try "modulename_LTX_symbol" */
address
=
handle
->
type
->
find_sym
(
hand
le
,
sym
);
address
=
handle
->
loader
->
find_sym
(
data
,
handle
->
modu
le
,
sym
);
if
(
address
)
{
if
(
address
)
{
if
(
sym
!=
lsym
)
if
(
sym
!=
lsym
)
lt_dlfree
(
sym
);
lt_dlfree
(
sym
);
...
@@ -1554,12 +1703,12 @@ lt_dlsym (handle, symbol)
...
@@ -1554,12 +1703,12 @@ lt_dlsym (handle, symbol)
last_error
=
saved_error
;
last_error
=
saved_error
;
}
}
/* otherwise try "symbol" */
/* otherwise try "symbol" */
if
(
handle
->
type
->
sym_prefix
)
{
if
(
handle
->
loader
->
sym_prefix
)
{
strcpy
(
sym
,
handle
->
type
->
sym_prefix
);
strcpy
(
sym
,
handle
->
loader
->
sym_prefix
);
strcat
(
sym
,
symbol
);
strcat
(
sym
,
symbol
);
}
else
}
else
strcpy
(
sym
,
symbol
);
strcpy
(
sym
,
symbol
);
address
=
handle
->
type
->
find_sym
(
hand
le
,
sym
);
address
=
handle
->
loader
->
find_sym
(
data
,
handle
->
modu
le
,
sym
);
if
(
sym
!=
lsym
)
if
(
sym
!=
lsym
)
lt_dlfree
(
sym
);
lt_dlfree
(
sym
);
return
address
;
return
address
;
...
@@ -1583,7 +1732,7 @@ lt_dladdsearchdir (search_dir)
...
@@ -1583,7 +1732,7 @@ lt_dladdsearchdir (search_dir)
if
(
!
user_search_path
)
{
if
(
!
user_search_path
)
{
user_search_path
=
strdup
(
search_dir
);
user_search_path
=
strdup
(
search_dir
);
if
(
!
user_search_path
)
{
if
(
!
user_search_path
)
{
last_error
=
memory_error
;
last_error
=
LT_DLSTRERROR
(
NO_MEMORY
)
;
return
1
;
return
1
;
}
}
}
else
{
}
else
{
...
@@ -1591,12 +1740,11 @@ lt_dladdsearchdir (search_dir)
...
@@ -1591,12 +1740,11 @@ lt_dladdsearchdir (search_dir)
lt_dlmalloc
(
strlen
(
user_search_path
)
+
lt_dlmalloc
(
strlen
(
user_search_path
)
+
strlen
(
search_dir
)
+
2
);
/* ':' + '\0' == 2 */
strlen
(
search_dir
)
+
2
);
/* ':' + '\0' == 2 */
if
(
!
new_search_path
)
{
if
(
!
new_search_path
)
{
last_error
=
memory_error
;
last_error
=
LT_DLSTRERROR
(
NO_MEMORY
)
;
return
1
;
return
1
;
}
}
strcpy
(
new_search_path
,
user_search_path
);
sprintf
(
new_search_path
,
"%s%c%s"
,
user_search_path
,
strcat
(
new_search_path
,
":"
);
LTDL_PATHSEP_CHAR
,
search_dir
);
strcat
(
new_search_path
,
search_dir
);
lt_dlfree
(
user_search_path
);
lt_dlfree
(
user_search_path
);
user_search_path
=
new_search_path
;
user_search_path
=
new_search_path
;
}
}
...
@@ -1623,3 +1771,214 @@ lt_dlgetsearchpath LTDL_PARAMS((void))
...
@@ -1623,3 +1771,214 @@ lt_dlgetsearchpath LTDL_PARAMS((void))
{
{
return
user_search_path
;
return
user_search_path
;
}
}
const
lt_dlinfo
*
lt_dlgetinfo
(
handle
)
lt_dlhandle
handle
;
{
if
(
!
handle
)
{
last_error
=
LT_DLSTRERROR
(
INVALID_HANDLE
);
return
0
;
}
return
&
(
handle
->
info
);
}
int
lt_dlforeach
(
func
,
data
)
int
(
*
func
)
LTDL_PARAMS
((
lt_dlhandle
handle
,
lt_ptr_t
data
));
lt_ptr_t
data
;
{
lt_dlhandle
cur
=
handles
;
while
(
cur
)
{
lt_dlhandle
tmp
=
cur
;
cur
=
cur
->
next
;
if
(
func
(
tmp
,
data
))
return
1
;
}
return
0
;
}
int
lt_dlloader_add
(
place
,
dlloader
,
loader_name
)
lt_dlloader_t
*
place
;
const
struct
lt_user_dlloader
*
dlloader
;
const
char
*
loader_name
;
{
lt_dlloader_t
*
node
=
0
,
*
ptr
=
0
;
if
((
dlloader
==
0
)
/* diagnose null parameters */
||
(
dlloader
->
module_open
==
0
)
||
(
dlloader
->
module_close
==
0
)
||
(
dlloader
->
find_sym
==
0
))
{
last_error
=
LT_DLSTRERROR
(
INVALID_LOADER
);
return
1
;
}
/* Create a new dlloader node with copies of the user callbacks. */
node
=
(
lt_dlloader_t
*
)
lt_dlmalloc
(
sizeof
(
lt_dlloader_t
));
if
(
node
==
0
)
{
last_error
=
LT_DLSTRERROR
(
NO_MEMORY
);
return
1
;
}
node
->
next
=
0
;
node
->
loader_name
=
loader_name
;
node
->
sym_prefix
=
dlloader
->
sym_prefix
;
node
->
dlloader_exit
=
dlloader
->
dlloader_exit
;
node
->
module_open
=
dlloader
->
module_open
;
node
->
module_close
=
dlloader
->
module_close
;
node
->
find_sym
=
dlloader
->
find_sym
;
node
->
dlloader_data
=
dlloader
->
dlloader_data
;
if
(
!
loaders
)
/* If there are no loaders, NODE becomes the list! */
loaders
=
node
;
else
if
(
!
place
)
{
/* If PLACE is not set, add NODE to the end of the
LOADERS list. */
for
(
ptr
=
loaders
;
ptr
->
next
;
ptr
=
ptr
->
next
)
/*NOWORK*/
;
ptr
->
next
=
node
;
}
else
if
(
loaders
==
place
)
{
/* If PLACE is the first loader, NODE goes first. */
node
->
next
=
place
;
loaders
=
node
;
}
else
{
/* Find the node immediately preceding PLACE. */
for
(
ptr
=
loaders
;
ptr
->
next
!=
place
;
ptr
=
ptr
->
next
)
/*NOWORK*/
;
if
(
ptr
->
next
!=
place
)
{
last_error
=
LT_DLSTRERROR
(
INVALID_LOADER
);
return
1
;
}
/* Insert NODE between PTR and PLACE. */
node
->
next
=
place
;
ptr
->
next
=
node
;
}
return
0
;
}
int
lt_dlloader_remove
(
loader_name
)
const
char
*
loader_name
;
{
lt_dlloader_t
*
place
=
lt_dlloader_find
(
loader_name
);
lt_dlhandle
handle
;
int
result
=
0
;
if
(
!
place
)
{
last_error
=
LT_DLSTRERROR
(
INVALID_LOADER
);
return
1
;
}
/* Fail if there are any open modules which use this loader. */
for
(
handle
=
handles
;
handle
;
handle
=
handle
->
next
)
if
(
handle
->
loader
==
place
)
{
last_error
=
LT_DLSTRERROR
(
REMOVE_LOADER
);
return
1
;
}
if
(
place
==
loaders
)
/* PLACE is the first loader in the list. */
loaders
=
loaders
->
next
;
else
{
/* Find the loader before the one being removed. */
lt_dlloader_t
*
prev
;
for
(
prev
=
loaders
;
prev
->
next
;
prev
=
prev
->
next
)
if
(
!
strcmp
(
prev
->
next
->
loader_name
,
loader_name
))
break
;
place
=
prev
->
next
;
prev
->
next
=
prev
->
next
->
next
;
}
if
(
place
->
dlloader_exit
)
result
=
place
->
dlloader_exit
(
place
->
dlloader_data
);
lt_dlfree
(
place
);
return
result
;
}
lt_dlloader_t
*
lt_dlloader_next
(
place
)
lt_dlloader_t
*
place
;
{
return
place
?
place
->
next
:
loaders
;
}
const
char
*
lt_dlloader_name
(
place
)
lt_dlloader_t
*
place
;
{
if
(
!
place
)
last_error
=
LT_DLSTRERROR
(
INVALID_LOADER
);
return
place
?
place
->
loader_name
:
0
;
}
lt_dlloader_data_t
*
lt_dlloader_data
(
place
)
lt_dlloader_t
*
place
;
{
if
(
!
place
)
last_error
=
LT_DLSTRERROR
(
INVALID_LOADER
);
return
place
?
&
(
place
->
dlloader_data
)
:
0
;
}
lt_dlloader_t
*
lt_dlloader_find
(
loader_name
)
const
char
*
loader_name
;
{
lt_dlloader_t
*
place
=
0
;
for
(
place
=
loaders
;
place
;
place
=
place
->
next
)
if
(
strcmp
(
place
->
loader_name
,
loader_name
)
==
0
)
break
;
return
place
;
}
static
const
char
**
user_error_strings
=
0
;
static
int
errorcode
=
LTDL_ERROR_MAX
;
int
lt_dladderror
(
diagnostic
)
const
char
*
diagnostic
;
{
int
index
=
errorcode
-
LTDL_ERROR_MAX
;
const
char
**
temp
=
0
;
/* realloc is not entirely portable, so simulate it using
lt_dlmalloc and lt_dlfree. */
temp
=
(
const
char
**
)
lt_dlmalloc
((
1
+
index
)
*
sizeof
(
const
char
*
));
if
(
temp
==
0
)
{
last_error
=
LT_DLSTRERROR
(
NO_MEMORY
);
return
-
1
;
}
/* Build the new vector in the memory addressed by temp. */
temp
[
index
]
=
diagnostic
;
while
(
--
index
>=
0
)
temp
[
index
]
=
user_error_strings
[
index
];
lt_dlfree
(
user_error_strings
);
user_error_strings
=
temp
;
return
errorcode
++
;
}
int
lt_dlseterror
(
index
)
int
index
;
{
if
(
index
>=
errorcode
||
index
<
0
)
{
last_error
=
LT_DLSTRERROR
(
INVALID_ERRORCODE
);
return
1
;
}
if
(
index
<
LTDL_ERROR_MAX
)
last_error
=
ltdl_error_strings
[
errorcode
];
else
last_error
=
user_error_strings
[
errorcode
-
LTDL_ERROR_MAX
];
return
0
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment