# HG changeset patch # User jwe # Date 1036986016 0 # Node ID 811ec5317aebdfa8851e48715a3dba0bf93720f1 # Parent bcdf1c264e087da6c709753e14e2f75e15a54b23 [project @ 2002-11-11 03:40:16 by jwe] diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2002-11-10 Per Persson + + * configure.in: Detect dyld API for dynamic linking on OS X. + 2002-11-09 Per Persson * configure.in: Use $(TOPDIR)/src/octave, not $(bindir)/octave for diff --git a/configure.in b/configure.in --- a/configure.in +++ b/configure.in @@ -22,7 +22,7 @@ ### 02111-1307, USA. AC_INIT -AC_REVISION($Revision: 1.387 $) +AC_REVISION($Revision: 1.388 $) AC_PREREQ(2.52) AC_CONFIG_SRCDIR([src/octave.cc]) AC_CONFIG_HEADER(config.h) @@ -916,40 +916,45 @@ dlopen_api=false shl_load_api=false loadlibrary_api=false -if $SHARED_LIBS; then +dyld_api=false - LIBOCTINTERP=-loctinterp$SHLLINKEXT - LIBOCTAVE=-loctave$SHLLINKEXT - LIBCRUFT=-lcruft$SHLLINKEXT +if $SHARED_LIBS || $ENABLE_DYNAMIC_LINKING; then + + ### Check for dyld first since OS X can have a non-standard libdl - AC_CHECK_LIB(dl, dlopen) - AC_CHECK_FUNCS(dlopen dlsym dlerror dlclose) - if test $ac_cv_func_dlclose = yes && test $ac_cv_func_dlerror = yes \ - && test $ac_cv_func_dlopen = yes && test $ac_cv_func_dlsym = yes; then - dlopen_api=true - else - AC_CHECK_LIB(dld, shl_load) - AC_CHECK_FUNCS(shl_load shl_findsym) - if test $ac_cv_func_shl_load = yes \ - && test $ac_cv_func_shl_findsym = yes; then - shl_load_api=true + AC_CHECK_HEADER(Mach-O/dyld.h) + if test $ac_cv_header_Mach_O_dyld_h = yes; then + dyld_api=true + else + AC_CHECK_LIB(dl, dlopen) + AC_CHECK_FUNCS(dlopen dlsym dlerror dlclose) + if test $ac_cv_func_dlclose = yes && test $ac_cv_func_dlerror = yes \ + && test $ac_cv_func_dlopen = yes && test $ac_cv_func_dlsym = yes; then + dlopen_api=true else - AC_CHECK_LIB(wsock32, LoadLibrary) - AC_CHECK_FUNCS(LoadLibrary) - if test $ac_cv_func_loadlibrary = yes; then - loadlibrary_api=true + AC_CHECK_LIB(dld, shl_load) + AC_CHECK_FUNCS(shl_load shl_findsym) + if test $ac_cv_func_shl_load = yes \ + && test $ac_cv_func_shl_findsym = yes; then + shl_load_api=true else - case "$canonical_host_type" in - rs6000-ibm-aix* | powerpc-ibm-aix*) - LIBDLFCN="-ldlfcn -ll -lld" - DLFCN_INCFLAGS='-I$(top_srcdir)/dlfcn -I$(TOPDIR)/dlfcn' - dlopen_api=true - ;; - i[[3456]]86-*-sco3.2v5*) - LD_CXX='LD_RUN_PATH=$LD_RUN_PATH:$(octlibdir) $(CXX)' - dlopen_api=true - ;; - esac + AC_CHECK_LIB(wsock32, LoadLibrary) + AC_CHECK_FUNCS(LoadLibrary) + if test $ac_cv_func_loadlibrary = yes; then + loadlibrary_api=true + else + case "$canonical_host_type" in + rs6000-ibm-aix* | powerpc-ibm-aix*) + LIBDLFCN="-ldlfcn -ll -lld" + DLFCN_INCFLAGS='-I$(top_srcdir)/dlfcn -I$(TOPDIR)/dlfcn' + dlopen_api=true + ;; + i[[3456]]86-*-sco3.2v5*) + LD_CXX='LD_RUN_PATH=$LD_RUN_PATH:$(octlibdir) $(CXX)' + dlopen_api=true + ;; + esac + fi fi fi fi @@ -964,17 +969,27 @@ elif $loadlibrary_api; then DL_API_MSG="(LoadLibrary)" AC_DEFINE(HAVE_LOADLIBRARY_API, 1, [Define if your system has LoadLibrary for dynamic linking]) + elif $dyld_api; then + DL_API_MSG="(dyld)" + AC_DEFINE(HAVE_DYLD_API, 1, [Define if your system has dyld for dynamic linking]) fi - if $dlopen_api || $shl_load_api || $loadlibrary_api; then + if $dlopen_api || $shl_load_api || $loadlibrary_api || $dyld_api; then ENABLE_DYNAMIC_LINKING=true AC_DEFINE(ENABLE_DYNAMIC_LINKING, 1, [Define if using dynamic linking]) fi +fi + +if $SHARED_LIBS; then + LIBOCTINTERP=-loctinterp$SHLLINKEXT + LIBOCTAVE=-loctave$SHLLINKEXT + LIBCRUFT=-lcruft$SHLLINKEXT else LIBOCTINTERP='$(TOPDIR)/src/liboctinterp.$(LIBEXT)' LIBOCTAVE='$(TOPDIR)/liboctave/liboctave.$(LIBEXT)' LIBCRUFT='$(TOPDIR)/libcruft/libcruft.$(LIBEXT)' fi + AC_SUBST(LD_CXX) AC_SUBST(LIBDLFCN) AC_SUBST(DLFCN_INCFLAGS)