diff --git a/bin/feature_list b/bin/feature_list new file mode 100755 index 0000000000000000000000000000000000000000..64b104cff7bcb89612a7660e30d10b6ab14eeced --- /dev/null +++ b/bin/feature_list @@ -0,0 +1,19 @@ +#!/usr/local/bin/pike + +int main(int argc, string *argv) +{ + write("Features: "); + + if(!_static_modules["Regexp"]) + write("dynamic_modules "); + +#if efun(thread_create) + write("threads "); +#endif + + catch { if(master()->resolv("Gdbm")->gdbm) write("Gdbm "); }; + catch { if(master()->resolv("Gmp")->mpz) write("Gmp "); }; + catch { if(master()->resolv("Gz")->deflate)write("Gz "); }; + + write("\n"); +} diff --git a/src/Makefile.in b/src/Makefile.in index 579d0f0d32a72475d55041370ac4baca4460cc1c..b57dfdbf38e7b4e96ab4c3dc9be37d399ffa5782 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -184,6 +184,8 @@ verify: testsuite verify_modules check: verify +sure: verify + # verify / debug verbose verbose_verify: testsuite verbose_verify_modules $(RUNPIKE) $(TMP_BINDIR)/test_pike.pike testsuite --verbose @@ -200,6 +202,9 @@ gdb_verify: testsuite run_hilfe: $(RUNPIKE) $(TMP_BINDIR)/hilfe +feature_list: + $(RUNPIKE) $(TMP_BINDIR)/feature_list + lib: $(LIBDIR_SRC) $(LIBDIR_SRC)/master.pike $(LIBDIR_SRC)/modules $(LIBDIR_SRC)/include cp -r $(LIBDIR_SRC) . touch ./lib diff --git a/src/configure.in b/src/configure.in index 111079109e0617097c1c5da8d9734f5c863bfeff..99c5ccdaf3c1eade9c4b685e0ab9a89387f6df08 100644 --- a/src/configure.in +++ b/src/configure.in @@ -1,4 +1,4 @@ -AC_REVISION("$Id: configure.in,v 1.87 1997/04/17 02:58:45 hubbe Exp $") +AC_REVISION("$Id: configure.in,v 1.88 1997/04/17 05:08:29 hubbe Exp $") AC_INIT(interpret.c) AC_CONFIG_HEADER(machine.h) @@ -1429,7 +1429,8 @@ fi OLD_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $LINKFORSHARED" - AC_TRY_RUN([int main() { exit(0); }], pike_cv_sys_sys_linkforshared="$LINKFORSHARED", pike_cv_sys_linkforshared='') + AC_TRY_RUN([int main() { exit(0); }], + pike_cv_sys_linkforshared="$LINKFORSHARED", pike_cv_sys_linkforshared='') CFLAGS="$OLD_CFLAGS" ]) @@ -1440,7 +1441,7 @@ AC_MSG_RESULT($LINKFORSHARED) ############################################################################# cat >conftest.c <<EOF -void testfunc(void) { exit(0); } +void testfunc(void) { testfunc2(); exit(1); } EOF AC_MSG_CHECKING(if dynamic loading works) @@ -1460,6 +1461,7 @@ AC_CACHE_VAL(pike_cv_sys_dynamic_loading, AC_TRY_RUN([ #define TESTING #include "$srcdir/dynamic_load.c" +void testfunc2(void) { exit(0); } ], pike_cv_sys_dynamic_loading=yes, pike_cv_sys_dynamic_loading=no) CFLAGS="$OLD_CFLAGS" fi diff --git a/src/dynamic_load.c b/src/dynamic_load.c index adc1e321994200cd1739cad88af16205424ff8db..e4ed6d8e8cadae8c28bc487b46c306a7279aabbd 100644 --- a/src/dynamic_load.c +++ b/src/dynamic_load.c @@ -144,9 +144,9 @@ void f_load_module(INT32 args) void init_dynamic_load(void) { +#if defined(HAVE_DLOPEN) || defined(USE_DLD) dlinit(); -#if defined(HAVE_DLOPEN) || defined(USE_DLD) add_efun("load_module",f_load_module,"function(string:program)",OPT_EXTERNAL_DEPEND); #endif }