/[guile]/guile/guile-core/libltdl/configure.in
ViewVC logotype

Diff of /guile/guile-core/libltdl/configure.in

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by mvo, Tue Jan 25 20:31:34 2000 UTC revision 1.3 by mvo, Thu Oct 3 21:57:09 2002 UTC
# Line 1  Line 1 
1    AC_PREREQ(2.50)
2  dnl Process this file with autoconf to create configure.  dnl Process this file with autoconf to create configure.
3    
4  AC_INIT(ltdl.c)  AC_INIT(ltdl.c)
5    
6    dnl We shouldn't be using these internal macros of autoconf,
7    dnl but CONFIG_AUX_DIR($with_auxdir) breaks automake.
8    AC_ARG_WITH(auxdir,
9    [  --with-auxdir=DIR   path to autoconf auxiliary files],
10    [AC_CONFIG_AUX_DIRS($with_auxdir)],
11    [AC_CONFIG_AUX_DIR_DEFAULT])
12    
13  if test -z "$enable_ltdl_install$enable_ltdl_convenience"; then  if test -z "$enable_ltdl_install$enable_ltdl_convenience"; then
14    if test -f ${srcdir}/ltconfig && test -f ${srcdir}/ltmain.sh; then    if test -f ${srcdir}/ltmain.sh; then
15      # if libltdl is libtoolized, it is assumed to be stand-alone and      # if libltdl is libtoolized, it is assumed to be stand-alone and
16      # installed unless the command line overrides it (tested above)      # installed unless the command line overrides it (tested above)
17      enable_ltdl_install=yes      enable_ltdl_install=yes
# Line 14  if test -z "$enable_ltdl_install$enable_ Line 22  if test -z "$enable_ltdl_install$enable_
22    fi    fi
23  fi  fi
24    
25  AM_INIT_AUTOMAKE(libltdl,1.0,-)  AM_INIT_AUTOMAKE(libltdl,1.2,-)
26  AM_CONFIG_HEADER(config.h)  AM_CONFIG_HEADER(config.h:config-h.in)
27  AM_MAINTAINER_MODE  AM_MAINTAINER_MODE
28    
29  AC_PROG_CC  AC_PROG_CC
30  AC_C_CONST  AC_C_CONST
31  AC_C_INLINE  AC_C_INLINE
32    
33    AC_LIBTOOL_WIN32_DLL
34  AM_PROG_LIBTOOL  AM_PROG_LIBTOOL
35  AC_SUBST(LIBTOOL_DEPS)  AC_SUBST(LIBTOOL_DEPS)
36    
37  AC_ARG_ENABLE(ltdl-install,  AC_LIB_LTDL
 [  --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)  
   
 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  
38    
39  dnl Output the makefile  dnl Output the makefile
40  AC_OUTPUT(Makefile)  AC_OUTPUT(Makefile)

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26