Runtime.java (loadLibraryInternal): Declare.
* java/lang/Runtime.java (loadLibraryInternal): Declare. * java/lang/natClassLoader.cc (_Jv_FindClass): Removed dead copy. (_Jv_FindClassInCache): Likewise. (_Jv_FindClass): Don't conditionalize body on INTERPRETER. (findSystemClass): Try to load class from compiled module. Include Runtime.h. * java/lang/natRuntime.cc (load): Use UTF-8 copy of filename. (loadLibrary): Likewise. (lt_preloaded_symbols): Define. (loadLibraryInternal): New method. * include/config.h.in: Rebuilt. * acconfig.h (USE_LTDL): Added. * Makefile.am (SUBDIRS): Added $(DIRLTDL). (INCLUDES): Added $(INCLTDL).b (libgcj_la_DEPENDENCIES): Added $(LIBLTDL). (libgcj_la_LIBADD): Likewise. * aclocal.m4, configure: Rebuilt. * configure.in: Added libltdl support. From-SVN: r31472
This commit is contained in:
parent
06f5673716
commit
7af8555855
14 changed files with 539 additions and 901 deletions
|
@ -1,3 +1,24 @@
|
||||||
|
2000-01-17 Tom Tromey <tromey@cygnus.com>
|
||||||
|
|
||||||
|
* java/lang/Runtime.java (loadLibraryInternal): Declare.
|
||||||
|
* java/lang/natClassLoader.cc (_Jv_FindClass): Removed dead copy.
|
||||||
|
(_Jv_FindClassInCache): Likewise.
|
||||||
|
(_Jv_FindClass): Don't conditionalize body on INTERPRETER.
|
||||||
|
(findSystemClass): Try to load class from compiled module.
|
||||||
|
Include Runtime.h.
|
||||||
|
* java/lang/natRuntime.cc (load): Use UTF-8 copy of filename.
|
||||||
|
(loadLibrary): Likewise.
|
||||||
|
(lt_preloaded_symbols): Define.
|
||||||
|
(loadLibraryInternal): New method.
|
||||||
|
* include/config.h.in: Rebuilt.
|
||||||
|
* acconfig.h (USE_LTDL): Added.
|
||||||
|
* Makefile.am (SUBDIRS): Added $(DIRLTDL).
|
||||||
|
(INCLUDES): Added $(INCLTDL).b
|
||||||
|
(libgcj_la_DEPENDENCIES): Added $(LIBLTDL).
|
||||||
|
(libgcj_la_LIBADD): Likewise.
|
||||||
|
* aclocal.m4, configure: Rebuilt.
|
||||||
|
* configure.in: Added libltdl support.
|
||||||
|
|
||||||
2000-01-15 Tom Tromey <tromey@cygnus.com>
|
2000-01-15 Tom Tromey <tromey@cygnus.com>
|
||||||
|
|
||||||
* prims.cc (_Jv_PrimClass): Use `JV_STATE_NOTHING', not `0'.
|
* prims.cc (_Jv_PrimClass): Use `JV_STATE_NOTHING', not `0'.
|
||||||
|
|
|
@ -3,9 +3,9 @@
|
||||||
AUTOMAKE_OPTIONS = foreign no-installinfo
|
AUTOMAKE_OPTIONS = foreign no-installinfo
|
||||||
|
|
||||||
if TESTSUBDIR
|
if TESTSUBDIR
|
||||||
SUBDIRS = testsuite gcj include
|
SUBDIRS = $(DIRLTDL) testsuite gcj include
|
||||||
else
|
else
|
||||||
SUBDIRS = gcj include
|
SUBDIRS = $(DIRLTDL) gcj include
|
||||||
endif
|
endif
|
||||||
|
|
||||||
## ################################################################
|
## ################################################################
|
||||||
|
@ -90,7 +90,7 @@ JC1FLAGS = -g -L$(here) @LIBGCJ_JAVAFLAGS@
|
||||||
LIBFFIINCS = -I$(top_srcdir)/../libffi/include -I../libffi/include
|
LIBFFIINCS = -I$(top_srcdir)/../libffi/include -I../libffi/include
|
||||||
|
|
||||||
INCLUDES = -I$(top_srcdir) -Iinclude -I$(top_srcdir)/include \
|
INCLUDES = -I$(top_srcdir) -Iinclude -I$(top_srcdir)/include \
|
||||||
$(GCINCS) $(THREADINCS) \
|
$(GCINCS) $(THREADINCS) $(INCLTDL) \
|
||||||
$(EH_COMMON_INCLUDE) $(ZINCS) $(LIBFFIINCS)
|
$(EH_COMMON_INCLUDE) $(ZINCS) $(LIBFFIINCS)
|
||||||
|
|
||||||
|
|
||||||
|
@ -116,9 +116,9 @@ libgcj_la_SOURCES = prims.cc jni.cc exception.cc \
|
||||||
EXTRA_libgcj_la_SOURCES = boehm.cc nogc.cc posix-threads.cc no-threads.cc \
|
EXTRA_libgcj_la_SOURCES = boehm.cc nogc.cc posix-threads.cc no-threads.cc \
|
||||||
$(c_source_files) $(java_source_files) $(built_java_source_files)
|
$(c_source_files) $(java_source_files) $(built_java_source_files)
|
||||||
libgcj_la_DEPENDENCIES = libgcj.zip $(javao_files) $(nat_files) \
|
libgcj_la_DEPENDENCIES = libgcj.zip $(javao_files) $(nat_files) \
|
||||||
$(c_files) $(GCOBJS) $(THREADOBJS)
|
$(c_files) $(GCOBJS) $(THREADOBJS) $(LIBLTDL)
|
||||||
libgcj_la_LIBADD = $(javao_files) $(nat_files) $(c_files) $(GCOBJS) \
|
libgcj_la_LIBADD = $(javao_files) $(nat_files) $(c_files) $(GCOBJS) \
|
||||||
$(THREADOBJS) $(libffi_files)
|
$(THREADOBJS) $(libffi_files) $(LIBLTDL)
|
||||||
libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) \
|
libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) \
|
||||||
## The mysterious backslash is consumed by make.
|
## The mysterious backslash is consumed by make.
|
||||||
-version-info `grep -v '^\#' $(srcdir)/libtool-version`
|
-version-info `grep -v '^\#' $(srcdir)/libtool-version`
|
||||||
|
|
|
@ -71,6 +71,7 @@ COMPPATH = @COMPPATH@
|
||||||
CPP = @CPP@
|
CPP = @CPP@
|
||||||
CXX = @CXX@
|
CXX = @CXX@
|
||||||
CXXCPP = @CXXCPP@
|
CXXCPP = @CXXCPP@
|
||||||
|
DIRLTDL = @DIRLTDL@
|
||||||
DIVIDESPEC = @DIVIDESPEC@
|
DIVIDESPEC = @DIVIDESPEC@
|
||||||
DLLTOOL = @DLLTOOL@
|
DLLTOOL = @DLLTOOL@
|
||||||
EXCEPTIONSPEC = @EXCEPTIONSPEC@
|
EXCEPTIONSPEC = @EXCEPTIONSPEC@
|
||||||
|
@ -81,15 +82,17 @@ GCINCS = @GCINCS@
|
||||||
GCLIBS = @GCLIBS@
|
GCLIBS = @GCLIBS@
|
||||||
GCOBJS = @GCOBJS@
|
GCOBJS = @GCOBJS@
|
||||||
GCSPEC = @GCSPEC@
|
GCSPEC = @GCSPEC@
|
||||||
LD = @LD@
|
INCLTDL = @INCLTDL@
|
||||||
LIBDATASTARTSPEC = @LIBDATASTARTSPEC@
|
LIBDATASTARTSPEC = @LIBDATASTARTSPEC@
|
||||||
LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
|
LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
|
||||||
LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
|
LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
|
||||||
LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
|
LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
|
||||||
|
LIBLTDL = @LIBLTDL@
|
||||||
LIBTOOL = @LIBTOOL@
|
LIBTOOL = @LIBTOOL@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
MAINT = @MAINT@
|
MAINT = @MAINT@
|
||||||
MAKEINFO = @MAKEINFO@
|
MAKEINFO = @MAKEINFO@
|
||||||
|
OBJDUMP = @OBJDUMP@
|
||||||
PACKAGE = @PACKAGE@
|
PACKAGE = @PACKAGE@
|
||||||
PERL = @PERL@
|
PERL = @PERL@
|
||||||
RANLIB = @RANLIB@
|
RANLIB = @RANLIB@
|
||||||
|
@ -99,7 +102,6 @@ THREADINCS = @THREADINCS@
|
||||||
THREADLIBS = @THREADLIBS@
|
THREADLIBS = @THREADLIBS@
|
||||||
THREADOBJS = @THREADOBJS@
|
THREADOBJS = @THREADOBJS@
|
||||||
THREADSPEC = @THREADSPEC@
|
THREADSPEC = @THREADSPEC@
|
||||||
USE_SYMBOL_UNDERSCORE = @USE_SYMBOL_UNDERSCORE@
|
|
||||||
VERSION = @VERSION@
|
VERSION = @VERSION@
|
||||||
ZDEPS = @ZDEPS@
|
ZDEPS = @ZDEPS@
|
||||||
ZINCS = @ZINCS@
|
ZINCS = @ZINCS@
|
||||||
|
@ -110,9 +112,9 @@ libgcj_basedir = @libgcj_basedir@
|
||||||
|
|
||||||
AUTOMAKE_OPTIONS = foreign no-installinfo
|
AUTOMAKE_OPTIONS = foreign no-installinfo
|
||||||
@TESTSUBDIR_TRUE@SUBDIRS = \
|
@TESTSUBDIR_TRUE@SUBDIRS = \
|
||||||
@TESTSUBDIR_TRUE@testsuite gcj include
|
@TESTSUBDIR_TRUE@$(DIRLTDL) testsuite gcj include
|
||||||
@TESTSUBDIR_FALSE@SUBDIRS = \
|
@TESTSUBDIR_FALSE@SUBDIRS = \
|
||||||
@TESTSUBDIR_FALSE@gcj include
|
@TESTSUBDIR_FALSE@$(DIRLTDL) gcj include
|
||||||
@USE_LIBDIR_TRUE@toolexeclibdir = \
|
@USE_LIBDIR_TRUE@toolexeclibdir = \
|
||||||
@USE_LIBDIR_TRUE@$(libdir)$(MULTISUBDIR)
|
@USE_LIBDIR_TRUE@$(libdir)$(MULTISUBDIR)
|
||||||
@USE_LIBDIR_FALSE@toolexeclibdir = \
|
@USE_LIBDIR_FALSE@toolexeclibdir = \
|
||||||
|
@ -171,7 +173,7 @@ JC1FLAGS = -g -L$(here) @LIBGCJ_JAVAFLAGS@
|
||||||
LIBFFIINCS = -I$(top_srcdir)/../libffi/include -I../libffi/include
|
LIBFFIINCS = -I$(top_srcdir)/../libffi/include -I../libffi/include
|
||||||
|
|
||||||
INCLUDES = -I$(top_srcdir) -Iinclude -I$(top_srcdir)/include \
|
INCLUDES = -I$(top_srcdir) -Iinclude -I$(top_srcdir)/include \
|
||||||
$(GCINCS) $(THREADINCS) \
|
$(GCINCS) $(THREADINCS) $(INCLTDL) \
|
||||||
$(EH_COMMON_INCLUDE) $(ZINCS) $(LIBFFIINCS)
|
$(EH_COMMON_INCLUDE) $(ZINCS) $(LIBFFIINCS)
|
||||||
|
|
||||||
|
|
||||||
|
@ -190,10 +192,10 @@ EXTRA_libgcj_la_SOURCES = boehm.cc nogc.cc posix-threads.cc no-threads.cc \
|
||||||
$(c_source_files) $(java_source_files) $(built_java_source_files)
|
$(c_source_files) $(java_source_files) $(built_java_source_files)
|
||||||
|
|
||||||
libgcj_la_DEPENDENCIES = libgcj.zip $(javao_files) $(nat_files) \
|
libgcj_la_DEPENDENCIES = libgcj.zip $(javao_files) $(nat_files) \
|
||||||
$(c_files) $(GCOBJS) $(THREADOBJS)
|
$(c_files) $(GCOBJS) $(THREADOBJS) $(LIBLTDL)
|
||||||
|
|
||||||
libgcj_la_LIBADD = $(javao_files) $(nat_files) $(c_files) $(GCOBJS) \
|
libgcj_la_LIBADD = $(javao_files) $(nat_files) $(c_files) $(GCOBJS) \
|
||||||
$(THREADOBJS) $(libffi_files)
|
$(THREADOBJS) $(libffi_files) $(LIBLTDL)
|
||||||
|
|
||||||
libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) \
|
libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) \
|
||||||
-version-info `grep -v '^\#' $(srcdir)/libtool-version`
|
-version-info `grep -v '^\#' $(srcdir)/libtool-version`
|
||||||
|
@ -730,7 +732,7 @@ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = tar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
DIST_SUBDIRS = testsuite gcj include gcj include
|
DIST_SUBDIRS = @DIRLTDL@ testsuite gcj include @DIRLTDL@ gcj include
|
||||||
DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
|
DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
|
||||||
.deps/$(srcdir)/$(CONVERT_DIR)/make-trie.P .deps/boehm.P \
|
.deps/$(srcdir)/$(CONVERT_DIR)/make-trie.P .deps/boehm.P \
|
||||||
.deps/defineclass.P .deps/exception.P .deps/gij.P \
|
.deps/defineclass.P .deps/exception.P .deps/gij.P \
|
||||||
|
|
|
@ -125,3 +125,6 @@
|
||||||
|
|
||||||
/* Define if getuid() and friends are missing. */
|
/* Define if getuid() and friends are missing. */
|
||||||
#undef NO_GETUID
|
#undef NO_GETUID
|
||||||
|
|
||||||
|
/* Define if libltdl is in use. */
|
||||||
|
#undef USE_LTDL
|
||||||
|
|
359
libjava/aclocal.m4
vendored
359
libjava/aclocal.m4
vendored
|
@ -322,7 +322,7 @@ done<<>>dnl>>)
|
||||||
changequote([,]))])
|
changequote([,]))])
|
||||||
|
|
||||||
|
|
||||||
# serial 35 AC_PROG_LIBTOOL
|
# serial 40 AC_PROG_LIBTOOL
|
||||||
AC_DEFUN(AC_PROG_LIBTOOL,
|
AC_DEFUN(AC_PROG_LIBTOOL,
|
||||||
[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
|
[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
|
||||||
|
|
||||||
|
@ -331,10 +331,11 @@ 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" \
|
CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
|
||||||
LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \
|
LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
|
||||||
DLLTOOL="$DLLTOOL" AS="$AS" \
|
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
|
||||||
|
DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
|
||||||
${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 $host \
|
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $lt_target \
|
||||||
|| 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
|
||||||
|
@ -363,24 +364,33 @@ 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_NM])dnl
|
AC_REQUIRE([AC_PROG_NM])dnl
|
||||||
AC_REQUIRE([AC_SYS_NM_PARSE])dnl
|
|
||||||
AC_REQUIRE([AC_SYS_SYMBOL_UNDERSCORE])dnl
|
|
||||||
AC_REQUIRE([AC_PROG_LN_S])dnl
|
AC_REQUIRE([AC_PROG_LN_S])dnl
|
||||||
dnl
|
dnl
|
||||||
|
|
||||||
|
case "$target" in
|
||||||
|
NONE) lt_target="$host" ;;
|
||||||
|
*) lt_target="$target" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
# 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"
|
||||||
test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
|
test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
|
||||||
test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
|
test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
|
||||||
test "$lt_dlopen" = yes && libtool_flags="$libtool_flags --enable-dlopen"
|
|
||||||
test "$silent" = yes && libtool_flags="$libtool_flags --silent"
|
|
||||||
test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
|
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"
|
test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
|
||||||
|
ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
|
||||||
|
[libtool_flags="$libtool_flags --enable-dlopen"])
|
||||||
|
ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
|
||||||
|
[libtool_flags="$libtool_flags --enable-win32-dll"])
|
||||||
|
AC_ARG_ENABLE(libtool-lock,
|
||||||
|
[ --disable-libtool-lock avoid locking (might break parallel builds)])
|
||||||
|
test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
|
||||||
|
test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
|
||||||
|
|
||||||
# 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 "$host" in
|
case "$lt_target" 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
|
||||||
|
@ -412,33 +422,28 @@ case "$host" in
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
*-*-cygwin*)
|
ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
|
||||||
AC_SYS_LIBTOOL_CYGWIN
|
[*-*-cygwin* | *-*-mingw*)
|
||||||
|
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
|
||||||
|
AC_CHECK_TOOL(AS, as, false)
|
||||||
|
AC_CHECK_TOOL(OBJDUMP, objdump, false)
|
||||||
;;
|
;;
|
||||||
|
])
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# enable the --disable-libtool-lock switch
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(libtool-lock,
|
|
||||||
[ --disable-libtool-lock force libtool not to do file locking],
|
|
||||||
need_locks=$enableval,
|
|
||||||
need_locks=yes)
|
|
||||||
|
|
||||||
if test x"$need_locks" = xno; then
|
|
||||||
libtool_flags="$libtool_flags --disable-lock"
|
|
||||||
fi
|
|
||||||
])
|
])
|
||||||
|
|
||||||
# AC_LIBTOOL_DLOPEN - check for dlopen support
|
# AC_LIBTOOL_DLOPEN - enable checks for dlopen support
|
||||||
AC_DEFUN(AC_LIBTOOL_DLOPEN, [lt_dlopen=yes])
|
AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
|
||||||
|
|
||||||
|
# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
|
||||||
|
AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
|
||||||
|
|
||||||
# AC_ENABLE_SHARED - implement the --enable-shared flag
|
# AC_ENABLE_SHARED - implement the --enable-shared flag
|
||||||
# Usage: AC_ENABLE_SHARED[(DEFAULT)]
|
# Usage: AC_ENABLE_SHARED[(DEFAULT)]
|
||||||
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
|
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
|
||||||
# `yes'.
|
# `yes'.
|
||||||
AC_DEFUN(AC_ENABLE_SHARED,
|
AC_DEFUN(AC_ENABLE_SHARED, [dnl
|
||||||
[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
|
define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
|
||||||
AC_ARG_ENABLE(shared,
|
AC_ARG_ENABLE(shared,
|
||||||
changequote(<<, >>)dnl
|
changequote(<<, >>)dnl
|
||||||
<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
|
<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
|
||||||
|
@ -463,15 +468,15 @@ enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
|
||||||
])
|
])
|
||||||
|
|
||||||
# AC_DISABLE_SHARED - set the default shared flag to --disable-shared
|
# AC_DISABLE_SHARED - set the default shared flag to --disable-shared
|
||||||
AC_DEFUN(AC_DISABLE_SHARED,
|
AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||||
[AC_ENABLE_SHARED(no)])
|
AC_ENABLE_SHARED(no)])
|
||||||
|
|
||||||
# AC_ENABLE_STATIC - implement the --enable-static flag
|
# AC_ENABLE_STATIC - implement the --enable-static flag
|
||||||
# Usage: AC_ENABLE_STATIC[(DEFAULT)]
|
# Usage: AC_ENABLE_STATIC[(DEFAULT)]
|
||||||
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
|
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
|
||||||
# `yes'.
|
# `yes'.
|
||||||
AC_DEFUN(AC_ENABLE_STATIC,
|
AC_DEFUN(AC_ENABLE_STATIC, [dnl
|
||||||
[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
|
define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
|
||||||
AC_ARG_ENABLE(static,
|
AC_ARG_ENABLE(static,
|
||||||
changequote(<<, >>)dnl
|
changequote(<<, >>)dnl
|
||||||
<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
|
<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
|
||||||
|
@ -496,16 +501,16 @@ enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
|
||||||
])
|
])
|
||||||
|
|
||||||
# AC_DISABLE_STATIC - set the default static flag to --disable-static
|
# AC_DISABLE_STATIC - set the default static flag to --disable-static
|
||||||
AC_DEFUN(AC_DISABLE_STATIC,
|
AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||||
[AC_ENABLE_STATIC(no)])
|
AC_ENABLE_STATIC(no)])
|
||||||
|
|
||||||
|
|
||||||
# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
|
# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
|
||||||
# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
|
# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
|
||||||
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
|
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
|
||||||
# `yes'.
|
# `yes'.
|
||||||
AC_DEFUN(AC_ENABLE_FAST_INSTALL,
|
AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl
|
||||||
[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
|
define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
|
||||||
AC_ARG_ENABLE(fast-install,
|
AC_ARG_ENABLE(fast-install,
|
||||||
changequote(<<, >>)dnl
|
changequote(<<, >>)dnl
|
||||||
<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
|
<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
|
||||||
|
@ -530,9 +535,8 @@ enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
|
||||||
])
|
])
|
||||||
|
|
||||||
# AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install
|
# AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install
|
||||||
AC_DEFUN(AC_DISABLE_FAST_INSTALL,
|
AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||||
[AC_ENABLE_FAST_INSTALL(no)])
|
AC_ENABLE_FAST_INSTALL(no)])
|
||||||
|
|
||||||
|
|
||||||
# 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,
|
||||||
|
@ -550,7 +554,7 @@ if test "$ac_cv_prog_gcc" = yes; then
|
||||||
case "$ac_prog" in
|
case "$ac_prog" in
|
||||||
# Accept absolute paths.
|
# Accept absolute paths.
|
||||||
changequote(,)dnl
|
changequote(,)dnl
|
||||||
/* | [A-Za-z]:[\\/]*)
|
[\\/]* | [A-Za-z]:[\\/]*)
|
||||||
re_direlt='/[^/][^/]*/\.\./'
|
re_direlt='/[^/][^/]*/\.\./'
|
||||||
changequote([,])dnl
|
changequote([,])dnl
|
||||||
# Canonicalize the path of ld
|
# Canonicalize the path of ld
|
||||||
|
@ -576,10 +580,10 @@ else
|
||||||
fi
|
fi
|
||||||
AC_CACHE_VAL(ac_cv_path_LD,
|
AC_CACHE_VAL(ac_cv_path_LD,
|
||||||
[if test -z "$LD"; then
|
[if test -z "$LD"; then
|
||||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
|
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
|
||||||
for ac_dir in $PATH; do
|
for ac_dir in $PATH; do
|
||||||
test -z "$ac_dir" && ac_dir=.
|
test -z "$ac_dir" && ac_dir=.
|
||||||
if test -f "$ac_dir/$ac_prog"; then
|
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
|
||||||
ac_cv_path_LD="$ac_dir/$ac_prog"
|
ac_cv_path_LD="$ac_dir/$ac_prog"
|
||||||
# Check to see if the program is GNU ld. I'd rather use --version,
|
# Check to see if the program is GNU ld. I'd rather use --version,
|
||||||
# but apparently some GNU ld's only accept -v.
|
# but apparently some GNU ld's only accept -v.
|
||||||
|
@ -602,7 +606,6 @@ else
|
||||||
AC_MSG_RESULT(no)
|
AC_MSG_RESULT(no)
|
||||||
fi
|
fi
|
||||||
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
|
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
|
||||||
AC_SUBST(LD)
|
|
||||||
AC_PROG_LD_GNU
|
AC_PROG_LD_GNU
|
||||||
])
|
])
|
||||||
|
|
||||||
|
@ -624,10 +627,10 @@ AC_CACHE_VAL(ac_cv_path_NM,
|
||||||
# Let the user override the test.
|
# Let the user override the test.
|
||||||
ac_cv_path_NM="$NM"
|
ac_cv_path_NM="$NM"
|
||||||
else
|
else
|
||||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
|
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; then
|
if test -f $ac_dir/nm || test -f $ac_dir/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
|
||||||
|
@ -648,230 +651,24 @@ else
|
||||||
fi])
|
fi])
|
||||||
NM="$ac_cv_path_NM"
|
NM="$ac_cv_path_NM"
|
||||||
AC_MSG_RESULT([$NM])
|
AC_MSG_RESULT([$NM])
|
||||||
AC_SUBST(NM)
|
|
||||||
])
|
|
||||||
|
|
||||||
# AC_SYS_NM_PARSE - Check for command to grab the raw symbol name followed
|
|
||||||
# by C symbol name from nm.
|
|
||||||
AC_DEFUN(AC_SYS_NM_PARSE,
|
|
||||||
[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 conftestm.$ac_objext
|
|
||||||
ac_save_LIBS="$LIBS"
|
|
||||||
ac_save_CFLAGS="$CFLAGS"
|
|
||||||
LIBS="conftestm.$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*
|
|
||||||
|
|
||||||
# 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_SYS_LIBTOOL_CYGWIN - find tools needed on cygwin
|
|
||||||
AC_DEFUN(AC_SYS_LIBTOOL_CYGWIN,
|
|
||||||
[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
|
|
||||||
AC_CHECK_TOOL(AS, as, false)
|
|
||||||
])
|
|
||||||
|
|
||||||
# AC_SYS_SYMBOL_UNDERSCORE - does the compiler prefix global symbols
|
|
||||||
# with an underscore?
|
|
||||||
AC_DEFUN(AC_SYS_SYMBOL_UNDERSCORE,
|
|
||||||
[AC_REQUIRE([AC_PROG_NM])dnl
|
|
||||||
AC_REQUIRE([AC_SYS_NM_PARSE])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)
|
|
||||||
USE_SYMBOL_UNDERSCORE=${ac_cv_sys_symbol_underscore=no}
|
|
||||||
AC_SUBST(USE_SYMBOL_UNDERSCORE)dnl
|
|
||||||
])
|
])
|
||||||
|
|
||||||
# AC_CHECK_LIBM - check for math library
|
# AC_CHECK_LIBM - check for math library
|
||||||
AC_DEFUN(AC_CHECK_LIBM, [
|
AC_DEFUN(AC_CHECK_LIBM,
|
||||||
AC_CHECK_LIB(mw, _mwvalidcheckl)
|
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||||
AC_CHECK_LIB(m, cos)
|
LIBM=
|
||||||
|
case "$lt_target" in
|
||||||
|
*-*-beos* | *-*-cygwin*)
|
||||||
|
# These system don't have libm
|
||||||
|
;;
|
||||||
|
*-ncr-sysv4.3*)
|
||||||
|
AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
|
||||||
|
AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
AC_CHECK_LIB(m, main, LIBM="-lm")
|
||||||
|
;;
|
||||||
|
esac
|
||||||
])
|
])
|
||||||
|
|
||||||
# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
|
# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
|
||||||
|
@ -882,13 +679,14 @@ AC_CHECK_LIB(m, cos)
|
||||||
# '${top_builddir}/' (note the single quotes!) if your package is not
|
# '${top_builddir}/' (note the single quotes!) if your package is not
|
||||||
# flat, and, if you're not using automake, define top_builddir as
|
# flat, and, if you're not using automake, define top_builddir as
|
||||||
# appropriate in the Makefiles.
|
# appropriate in the Makefiles.
|
||||||
AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [
|
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=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la
|
||||||
|
INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
|
||||||
])
|
])
|
||||||
|
|
||||||
# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
|
# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
|
||||||
|
@ -900,16 +698,23 @@ AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [
|
||||||
# flat, and, if you're not using automake, define top_builddir as
|
# flat, and, if you're not using automake, define top_builddir as
|
||||||
# appropriate in the Makefiles.
|
# appropriate 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_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||||
AC_CHECK_LIB(ltdl, main, LIBLTDL="-lltdl", [
|
AC_CHECK_LIB(ltdl, main,
|
||||||
case "$enable_ltdl_install" in
|
[test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
|
||||||
no) AC_MSG_WARN([libltdl not installed, but installation disabled]) ;;
|
[if test x"$enable_ltdl_install" = xno; then
|
||||||
"") enable_ltdl_install=yes
|
AC_MSG_WARN([libltdl not installed, but installation disabled])
|
||||||
ac_configure_args="$ac_configure_args --enable-ltdl-install" ;;
|
else
|
||||||
esac
|
enable_ltdl_install=yes
|
||||||
|
fi
|
||||||
])
|
])
|
||||||
if test x"$enable_ltdl_install" != x"no"; then
|
if test x"$enable_ltdl_install" = x"yes"; then
|
||||||
|
ac_configure_args="$ac_configure_args --enable-ltdl-install"
|
||||||
LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la
|
LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la
|
||||||
|
INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
|
||||||
|
else
|
||||||
|
ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
|
||||||
|
LIBLTDL="-lltdl"
|
||||||
|
INCLTDL=
|
||||||
fi
|
fi
|
||||||
])
|
])
|
||||||
|
|
||||||
|
@ -921,7 +726,7 @@ AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl
|
||||||
AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl
|
AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl
|
||||||
AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl
|
AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl
|
||||||
AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
|
AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
|
||||||
AC_DEFUN(AM_SYS_NM_PARSE, [indir([AC_SYS_NM_PARSE])])dnl
|
|
||||||
AC_DEFUN(AM_SYS_SYMBOL_UNDERSCORE, [indir([AC_SYS_SYMBOL_UNDERSCORE])])dnl
|
dnl This is just to silence aclocal about the macro not being used
|
||||||
AC_DEFUN(AM_SYS_LIBTOOL_CYGWIN, [indir([AC_SYS_LIBTOOL_CYGWIN])])dnl
|
ifelse([AC_DISABLE_FAST_INSTALL])dnl
|
||||||
|
|
||||||
|
|
861
libjava/configure
vendored
861
libjava/configure
vendored
File diff suppressed because it is too large
Load diff
|
@ -17,7 +17,20 @@ LIBGCJ_CONFIGURE(.)
|
||||||
|
|
||||||
AM_CONFIG_HEADER(include/config.h)
|
AM_CONFIG_HEADER(include/config.h)
|
||||||
|
|
||||||
|
# Only use libltdl for native builds.
|
||||||
|
if test -z "${with_cross_host}"; then
|
||||||
|
AC_LIBLTDL_CONVENIENCE
|
||||||
|
AC_LIBTOOL_DLOPEN
|
||||||
|
DIRLTDL=libltdl
|
||||||
|
AC_DEFINE(USE_LTDL)
|
||||||
|
# Sigh. Libtool's macro doesn't do the right thing.
|
||||||
|
INCLTDL="-I\$(top_srcdir)/libltdl $INCLTDL"
|
||||||
|
fi
|
||||||
|
AC_SUBST(INCLTDL)
|
||||||
|
AC_SUBST(LIBLTDL)
|
||||||
|
AC_SUBST(DIRLTDL)
|
||||||
AM_PROG_LIBTOOL
|
AM_PROG_LIBTOOL
|
||||||
|
AC_CONFIG_SUBDIRS($DIRLDL)
|
||||||
|
|
||||||
if test -z "$with_target_subdir" || test "$with_target_subdir" = "."; then
|
if test -z "$with_target_subdir" || test "$with_target_subdir" = "."; then
|
||||||
COMPPATH=.
|
COMPPATH=.
|
||||||
|
|
|
@ -71,6 +71,7 @@ COMPPATH = @COMPPATH@
|
||||||
CPP = @CPP@
|
CPP = @CPP@
|
||||||
CXX = @CXX@
|
CXX = @CXX@
|
||||||
CXXCPP = @CXXCPP@
|
CXXCPP = @CXXCPP@
|
||||||
|
DIRLTDL = @DIRLTDL@
|
||||||
DIVIDESPEC = @DIVIDESPEC@
|
DIVIDESPEC = @DIVIDESPEC@
|
||||||
DLLTOOL = @DLLTOOL@
|
DLLTOOL = @DLLTOOL@
|
||||||
EH_COMMON_INCLUDE = @EH_COMMON_INCLUDE@
|
EH_COMMON_INCLUDE = @EH_COMMON_INCLUDE@
|
||||||
|
@ -82,16 +83,17 @@ GCINCS = @GCINCS@
|
||||||
GCLIBS = @GCLIBS@
|
GCLIBS = @GCLIBS@
|
||||||
GCOBJS = @GCOBJS@
|
GCOBJS = @GCOBJS@
|
||||||
GCSPEC = @GCSPEC@
|
GCSPEC = @GCSPEC@
|
||||||
LD = @LD@
|
INCLTDL = @INCLTDL@
|
||||||
LIBDATASTARTSPEC = @LIBDATASTARTSPEC@
|
LIBDATASTARTSPEC = @LIBDATASTARTSPEC@
|
||||||
LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
|
LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
|
||||||
LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
|
LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
|
||||||
LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
|
LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
|
||||||
|
LIBLTDL = @LIBLTDL@
|
||||||
LIBTOOL = @LIBTOOL@
|
LIBTOOL = @LIBTOOL@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
MAINT = @MAINT@
|
MAINT = @MAINT@
|
||||||
MAKEINFO = @MAKEINFO@
|
MAKEINFO = @MAKEINFO@
|
||||||
NM = @NM@
|
OBJDUMP = @OBJDUMP@
|
||||||
PACKAGE = @PACKAGE@
|
PACKAGE = @PACKAGE@
|
||||||
PERL = @PERL@
|
PERL = @PERL@
|
||||||
RANLIB = @RANLIB@
|
RANLIB = @RANLIB@
|
||||||
|
@ -101,7 +103,6 @@ THREADINCS = @THREADINCS@
|
||||||
THREADLIBS = @THREADLIBS@
|
THREADLIBS = @THREADLIBS@
|
||||||
THREADOBJS = @THREADOBJS@
|
THREADOBJS = @THREADOBJS@
|
||||||
THREADSPEC = @THREADSPEC@
|
THREADSPEC = @THREADSPEC@
|
||||||
USE_SYMBOL_UNDERSCORE = @USE_SYMBOL_UNDERSCORE@
|
|
||||||
VERSION = @VERSION@
|
VERSION = @VERSION@
|
||||||
ZDEPS = @ZDEPS@
|
ZDEPS = @ZDEPS@
|
||||||
ZINCS = @ZINCS@
|
ZINCS = @ZINCS@
|
||||||
|
|
|
@ -71,6 +71,7 @@ COMPPATH = @COMPPATH@
|
||||||
CPP = @CPP@
|
CPP = @CPP@
|
||||||
CXX = @CXX@
|
CXX = @CXX@
|
||||||
CXXCPP = @CXXCPP@
|
CXXCPP = @CXXCPP@
|
||||||
|
DIRLTDL = @DIRLTDL@
|
||||||
DIVIDESPEC = @DIVIDESPEC@
|
DIVIDESPEC = @DIVIDESPEC@
|
||||||
DLLTOOL = @DLLTOOL@
|
DLLTOOL = @DLLTOOL@
|
||||||
EH_COMMON_INCLUDE = @EH_COMMON_INCLUDE@
|
EH_COMMON_INCLUDE = @EH_COMMON_INCLUDE@
|
||||||
|
@ -82,16 +83,17 @@ GCINCS = @GCINCS@
|
||||||
GCLIBS = @GCLIBS@
|
GCLIBS = @GCLIBS@
|
||||||
GCOBJS = @GCOBJS@
|
GCOBJS = @GCOBJS@
|
||||||
GCSPEC = @GCSPEC@
|
GCSPEC = @GCSPEC@
|
||||||
LD = @LD@
|
INCLTDL = @INCLTDL@
|
||||||
LIBDATASTARTSPEC = @LIBDATASTARTSPEC@
|
LIBDATASTARTSPEC = @LIBDATASTARTSPEC@
|
||||||
LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
|
LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
|
||||||
LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
|
LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
|
||||||
LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
|
LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
|
||||||
|
LIBLTDL = @LIBLTDL@
|
||||||
LIBTOOL = @LIBTOOL@
|
LIBTOOL = @LIBTOOL@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
MAINT = @MAINT@
|
MAINT = @MAINT@
|
||||||
MAKEINFO = @MAKEINFO@
|
MAKEINFO = @MAKEINFO@
|
||||||
NM = @NM@
|
OBJDUMP = @OBJDUMP@
|
||||||
PACKAGE = @PACKAGE@
|
PACKAGE = @PACKAGE@
|
||||||
PERL = @PERL@
|
PERL = @PERL@
|
||||||
RANLIB = @RANLIB@
|
RANLIB = @RANLIB@
|
||||||
|
@ -101,7 +103,6 @@ THREADINCS = @THREADINCS@
|
||||||
THREADLIBS = @THREADLIBS@
|
THREADLIBS = @THREADLIBS@
|
||||||
THREADOBJS = @THREADOBJS@
|
THREADOBJS = @THREADOBJS@
|
||||||
THREADSPEC = @THREADSPEC@
|
THREADSPEC = @THREADSPEC@
|
||||||
USE_SYMBOL_UNDERSCORE = @USE_SYMBOL_UNDERSCORE@
|
|
||||||
VERSION = @VERSION@
|
VERSION = @VERSION@
|
||||||
ZDEPS = @ZDEPS@
|
ZDEPS = @ZDEPS@
|
||||||
ZINCS = @ZINCS@
|
ZINCS = @ZINCS@
|
||||||
|
|
|
@ -142,6 +142,9 @@
|
||||||
/* Define if getuid() and friends are missing. */
|
/* Define if getuid() and friends are missing. */
|
||||||
#undef NO_GETUID
|
#undef NO_GETUID
|
||||||
|
|
||||||
|
/* Define if libltdl is in use. */
|
||||||
|
#undef USE_LTDL
|
||||||
|
|
||||||
/* Define if you have the access function. */
|
/* Define if you have the access function. */
|
||||||
#undef HAVE_ACCESS
|
#undef HAVE_ACCESS
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// Runtime.java - Runtime class.
|
// Runtime.java - Runtime class.
|
||||||
|
|
||||||
/* Copyright (C) 1998, 1999 Cygnus Solutions
|
/* Copyright (C) 1998, 1999, 2000 Cygnus Solutions
|
||||||
|
|
||||||
This file is part of libgcj.
|
This file is part of libgcj.
|
||||||
|
|
||||||
|
@ -97,6 +97,12 @@ public class Runtime
|
||||||
public native void load (String pathname);
|
public native void load (String pathname);
|
||||||
public native void loadLibrary (String libname);
|
public native void loadLibrary (String libname);
|
||||||
|
|
||||||
|
// This is a helper function for the ClassLoader which can load
|
||||||
|
// compiled libraries. Returns true if library (which is just the
|
||||||
|
// base name -- path searching is done by this function) was loaded,
|
||||||
|
// false otherwise.
|
||||||
|
native boolean loadLibraryInternal (String libname);
|
||||||
|
|
||||||
public native void runFinalization ();
|
public native void runFinalization ();
|
||||||
|
|
||||||
// This method is static in JDK 1.1, but isn't listed as static in
|
// This method is static in JDK 1.1, but isn't listed as static in
|
||||||
|
|
|
@ -34,6 +34,7 @@ details. */
|
||||||
#include <java/lang/ClassCircularityError.h>
|
#include <java/lang/ClassCircularityError.h>
|
||||||
#include <java/lang/IncompatibleClassChangeError.h>
|
#include <java/lang/IncompatibleClassChangeError.h>
|
||||||
#include <java/lang/reflect/Modifier.h>
|
#include <java/lang/reflect/Modifier.h>
|
||||||
|
#include <java/lang/Runtime.h>
|
||||||
|
|
||||||
#define CloneableClass _CL_Q34java4lang9Cloneable
|
#define CloneableClass _CL_Q34java4lang9Cloneable
|
||||||
extern java::lang::Class CloneableClass;
|
extern java::lang::Class CloneableClass;
|
||||||
|
@ -193,7 +194,35 @@ java::lang::ClassLoader::markClassErrorState0 (java::lang::Class *klass)
|
||||||
jclass
|
jclass
|
||||||
gnu::gcj::runtime::VMClassLoader::findSystemClass (jstring name)
|
gnu::gcj::runtime::VMClassLoader::findSystemClass (jstring name)
|
||||||
{
|
{
|
||||||
return _Jv_FindClassInCache (_Jv_makeUtf8Const (name), 0);
|
_Jv_Utf8Const *name_u = _Jv_makeUtf8Const (name);
|
||||||
|
jclass klass = _Jv_FindClassInCache (name_u, 0);
|
||||||
|
|
||||||
|
if (! klass)
|
||||||
|
{
|
||||||
|
// Turn `gnu.pkg.quux' into `gnu-pkg-quux'. Then search for a
|
||||||
|
// module named (eg, on Linux) `gnu-pkg-quux.so', followed by
|
||||||
|
// `gnu-pkg.so' and `gnu.so'. If loading one of these causes
|
||||||
|
// the class to appear in the cache, then use it.
|
||||||
|
jstring so_base_name = name->replace ('.', '-');
|
||||||
|
|
||||||
|
while (! klass && so_base_name && so_base_name->length() > 0)
|
||||||
|
{
|
||||||
|
using namespace ::java::lang;
|
||||||
|
Runtime *rt = Runtime::getRuntime();
|
||||||
|
jboolean loaded = rt->loadLibraryInternal (so_base_name);
|
||||||
|
|
||||||
|
jint nd = so_base_name->lastIndexOf ('-');
|
||||||
|
if (nd == -1)
|
||||||
|
so_base_name = NULL;
|
||||||
|
else
|
||||||
|
so_base_name = so_base_name->substring (0, nd);
|
||||||
|
|
||||||
|
if (loaded)
|
||||||
|
klass = _Jv_FindClassInCache (name_u, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return klass;
|
||||||
}
|
}
|
||||||
|
|
||||||
jclass
|
jclass
|
||||||
|
@ -403,31 +432,11 @@ _Jv_RegisterClass (jclass klass)
|
||||||
_Jv_RegisterClasses (classes);
|
_Jv_RegisterClasses (classes);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
// NOTE: this one is out of date with the new loader stuff...
|
|
||||||
jclass
|
jclass
|
||||||
_Jv_FindClassInCache (jstring name, java::lang::ClassLoader *loader)
|
_Jv_FindClass (_Jv_Utf8Const *name, java::lang::ClassLoader *loader)
|
||||||
{
|
|
||||||
JvSynchronize sync (&ClassClass);
|
|
||||||
jint hash = name->hashCode();
|
|
||||||
jclass klass = loaded_classes[(_Jv_ushort) hash % HASH_LEN];
|
|
||||||
for ( ; klass; klass = klass->next)
|
|
||||||
{
|
|
||||||
if (loader == klass->loader
|
|
||||||
&& _Jv_equal (klass->name, name, hash))
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
_Jv_MonitorExit (&ClassClass);
|
|
||||||
return klass;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
jclass _Jv_FindClass (_Jv_Utf8Const *name,
|
|
||||||
java::lang::ClassLoader *loader)
|
|
||||||
{
|
{
|
||||||
jclass klass = _Jv_FindClassInCache (name, loader);
|
jclass klass = _Jv_FindClassInCache (name, loader);
|
||||||
|
|
||||||
#ifdef INTERPRETER
|
|
||||||
if (! klass)
|
if (! klass)
|
||||||
{
|
{
|
||||||
jstring sname = _Jv_NewStringUTF (name->data);
|
jstring sname = _Jv_NewStringUTF (name->data);
|
||||||
|
@ -466,44 +475,10 @@ jclass _Jv_FindClass (_Jv_Utf8Const *name,
|
||||||
// we're loading, so that they can refer to themselves.
|
// we're loading, so that they can refer to themselves.
|
||||||
_Jv_WaitForState (klass, JV_STATE_LOADED);
|
_Jv_WaitForState (klass, JV_STATE_LOADED);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
return klass;
|
return klass;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
// NOTE: this one is out of date with the new class loader stuff...
|
|
||||||
jclass
|
|
||||||
_Jv_FindClass (jstring name, java::lang::ClassLoader *loader)
|
|
||||||
{
|
|
||||||
jclass klass = _Jv_FindClassInCache (name, loader);
|
|
||||||
if (! klass)
|
|
||||||
{
|
|
||||||
if (loader)
|
|
||||||
{
|
|
||||||
klass = loader->loadClass(name);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// jmspec 5.3.1.2
|
|
||||||
|
|
||||||
// delegate to the system loader
|
|
||||||
klass = java::lang::ClassLoader::system.loadClass (sname);
|
|
||||||
|
|
||||||
// register that we're an initiating loader
|
|
||||||
if (klass)
|
|
||||||
_Jv_RegisterInitiatingLoader (klass, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_Jv_WaitForState (klass, JV_STATE_LOADED);
|
|
||||||
}
|
|
||||||
|
|
||||||
return klass;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
jclass
|
jclass
|
||||||
_Jv_NewClass (_Jv_Utf8Const *name, jclass superclass,
|
_Jv_NewClass (_Jv_Utf8Const *name, jclass superclass,
|
||||||
java::lang::ClassLoader *loader)
|
java::lang::ClassLoader *loader)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// natRuntime.cc - Implementation of native side of Runtime class.
|
// natRuntime.cc - Implementation of native side of Runtime class.
|
||||||
|
|
||||||
/* Copyright (C) 1998, 1999 Cygnus Solutions
|
/* Copyright (C) 1998, 1999, 2000 Cygnus Solutions
|
||||||
|
|
||||||
This file is part of libgcj.
|
This file is part of libgcj.
|
||||||
|
|
||||||
|
@ -20,6 +20,10 @@ details. */
|
||||||
|
|
||||||
#ifdef USE_LTDL
|
#ifdef USE_LTDL
|
||||||
#include <ltdl.h>
|
#include <ltdl.h>
|
||||||
|
|
||||||
|
/* FIXME: we don't always need this. The next libtool will let us use
|
||||||
|
AC_LTDL_PREOPEN to see if we do. */
|
||||||
|
const lt_dlsymlist lt_preloaded_symbols[1] = { { 0, 0 } };
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -56,8 +60,12 @@ java::lang::Runtime::load (jstring path)
|
||||||
checkLink (path);
|
checkLink (path);
|
||||||
using namespace java::lang;
|
using namespace java::lang;
|
||||||
#ifdef USE_LTDL
|
#ifdef USE_LTDL
|
||||||
|
jint len = _Jv_GetStringUTFLength (path);
|
||||||
|
char buf[len + 1];
|
||||||
|
jsize total = JvGetStringUTFRegion (path, 0, path->length(), buf);
|
||||||
|
buf[total] = '\0';
|
||||||
// FIXME: make sure path is absolute.
|
// FIXME: make sure path is absolute.
|
||||||
lt_dlhandle h = lt_dlopen (FIXME);
|
lt_dlhandle h = lt_dlopen (buf);
|
||||||
if (h == NULL)
|
if (h == NULL)
|
||||||
{
|
{
|
||||||
const char *msg = lt_dlerror ();
|
const char *msg = lt_dlerror ();
|
||||||
|
@ -76,8 +84,12 @@ java::lang::Runtime::loadLibrary (jstring lib)
|
||||||
checkLink (lib);
|
checkLink (lib);
|
||||||
using namespace java::lang;
|
using namespace java::lang;
|
||||||
#ifdef USE_LTDL
|
#ifdef USE_LTDL
|
||||||
|
jint len = _Jv_GetStringUTFLength (lib);
|
||||||
|
char buf[len + 1];
|
||||||
|
jsize total = JvGetStringUTFRegion (lib, 0, lib->length(), buf);
|
||||||
|
buf[total] = '\0';
|
||||||
// FIXME: make sure path is absolute.
|
// FIXME: make sure path is absolute.
|
||||||
lt_dlhandle h = lt_dlopenext (FIXME);
|
lt_dlhandle h = lt_dlopenext (buf);
|
||||||
if (h == NULL)
|
if (h == NULL)
|
||||||
{
|
{
|
||||||
const char *msg = lt_dlerror ();
|
const char *msg = lt_dlerror ();
|
||||||
|
@ -89,6 +101,24 @@ java::lang::Runtime::loadLibrary (jstring lib)
|
||||||
#endif /* USE_LTDL */
|
#endif /* USE_LTDL */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
jboolean
|
||||||
|
java::lang::Runtime::loadLibraryInternal (jstring lib)
|
||||||
|
{
|
||||||
|
JvSynchronize sync (this);
|
||||||
|
using namespace java::lang;
|
||||||
|
#ifdef USE_LTDL
|
||||||
|
jint len = _Jv_GetStringUTFLength (lib);
|
||||||
|
char buf[len + 1];
|
||||||
|
jsize total = JvGetStringUTFRegion (lib, 0, lib->length(), buf);
|
||||||
|
buf[total] = '\0';
|
||||||
|
// FIXME: make sure path is absolute.
|
||||||
|
lt_dlhandle h = lt_dlopenext (buf);
|
||||||
|
return h != NULL;
|
||||||
|
#else
|
||||||
|
return false;
|
||||||
|
#endif /* USE_LTDL */
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
java::lang::Runtime::init (void)
|
java::lang::Runtime::init (void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -71,6 +71,7 @@ COMPPATH = @COMPPATH@
|
||||||
CPP = @CPP@
|
CPP = @CPP@
|
||||||
CXX = @CXX@
|
CXX = @CXX@
|
||||||
CXXCPP = @CXXCPP@
|
CXXCPP = @CXXCPP@
|
||||||
|
DIRLTDL = @DIRLTDL@
|
||||||
DIVIDESPEC = @DIVIDESPEC@
|
DIVIDESPEC = @DIVIDESPEC@
|
||||||
DLLTOOL = @DLLTOOL@
|
DLLTOOL = @DLLTOOL@
|
||||||
EH_COMMON_INCLUDE = @EH_COMMON_INCLUDE@
|
EH_COMMON_INCLUDE = @EH_COMMON_INCLUDE@
|
||||||
|
@ -82,16 +83,17 @@ GCINCS = @GCINCS@
|
||||||
GCLIBS = @GCLIBS@
|
GCLIBS = @GCLIBS@
|
||||||
GCOBJS = @GCOBJS@
|
GCOBJS = @GCOBJS@
|
||||||
GCSPEC = @GCSPEC@
|
GCSPEC = @GCSPEC@
|
||||||
LD = @LD@
|
INCLTDL = @INCLTDL@
|
||||||
LIBDATASTARTSPEC = @LIBDATASTARTSPEC@
|
LIBDATASTARTSPEC = @LIBDATASTARTSPEC@
|
||||||
LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
|
LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
|
||||||
LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
|
LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
|
||||||
LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
|
LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
|
||||||
|
LIBLTDL = @LIBLTDL@
|
||||||
LIBTOOL = @LIBTOOL@
|
LIBTOOL = @LIBTOOL@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
MAINT = @MAINT@
|
MAINT = @MAINT@
|
||||||
MAKEINFO = @MAKEINFO@
|
MAKEINFO = @MAKEINFO@
|
||||||
NM = @NM@
|
OBJDUMP = @OBJDUMP@
|
||||||
PACKAGE = @PACKAGE@
|
PACKAGE = @PACKAGE@
|
||||||
PERL = @PERL@
|
PERL = @PERL@
|
||||||
RANLIB = @RANLIB@
|
RANLIB = @RANLIB@
|
||||||
|
@ -101,7 +103,6 @@ THREADINCS = @THREADINCS@
|
||||||
THREADLIBS = @THREADLIBS@
|
THREADLIBS = @THREADLIBS@
|
||||||
THREADOBJS = @THREADOBJS@
|
THREADOBJS = @THREADOBJS@
|
||||||
THREADSPEC = @THREADSPEC@
|
THREADSPEC = @THREADSPEC@
|
||||||
USE_SYMBOL_UNDERSCORE = @USE_SYMBOL_UNDERSCORE@
|
|
||||||
VERSION = @VERSION@
|
VERSION = @VERSION@
|
||||||
ZDEPS = @ZDEPS@
|
ZDEPS = @ZDEPS@
|
||||||
ZINCS = @ZINCS@
|
ZINCS = @ZINCS@
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue