wmperry <wmperry(a)aventail.com> writes in xemacs-beta(a)xemacs.org:
wmperry> How about `DSO' like apache uses? Dynamic-Shared-Object
> karlheg(a)cathcart.sysc.pdx.edu (Karl M. Hegbloom) writes:
>> That's not bad. The "shared object" extension of `.so' could become
>> `.dso' then, on Linux. Perhaps on 95/98/NT and other Unices as well?
> Yup - the extension doesn't matter at all. To make life easy for us here
> when we auto-discover modules, we use different extensions on all of our
> platforms for various types of shared objects. .cfm .mod .uga all work
> just dandy (even on windows :)
wmperry> Or go whole hog and spell the #%!@#%! thing out. :)
>>
>> I suppose for the `configure' switch, that would be appropriate. It
>> makes it readable, like long lisp variable names.
> --with-really-spiffy-but-dangerous-dyanmic-loaading-code=yes
On closer inspection, this option is also referred to in two other
places by the name `modules' via --site-modules and --moduledir. Of
the suggestions I like the DSO one the best, but since we're already
using the modules name in installed directories [whacks the top of the
computer monitor with a beer[1]] let's do both ... :-)
1999-07-26 SL Baur <steve@miho>
* configure.in: Rename --with-shlib to --with-modules for
consistency with the other two options that use that name.
* configure.usage (--with-modules): Document it.
Index: configure.in
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs/configure.in,v
retrieving revision 1.111.2.36
diff -u -r1.111.2.36 configure.in
--- configure.in 1999/07/22 07:32:39 1.111.2.36
+++ configure.in 1999/07/26 04:55:45
@@ -520,7 +520,7 @@
use_assertions | \
memory_usage_stats | \
with_clash_detection | \
- with_shlib | \
+ with_modules | \
no_doc_file )
dnl Make sure the value given was either "yes" or "no".
case "$val" in
@@ -3616,12 +3616,12 @@
dnl autodetect dll support
AC_CHECK_HEADERS(dlfcn.h, [have_dlfcn=yes
AC_DEFINE(HAVE_DLFCN_H)])
-test -z "$with_shlib" && test ! -z "$have_dlfcn" && { AC_CHECK_LIB(dl, dlopen, [ AC_DEFINE(HAVE_DLOPEN) DLL_LIB=dl; with_shlib=yes]) }
-test -z "$with_shlib" && test ! -z "$have_dlfcn" && { AC_CHECK_LIB(c, _dlopen, [ AC_DEFINE(HAVE_DLOPEN) DLL_LIB=; with_shlib=yes]) }
-test -z "$with_shlib" && test ! -z "$have_dlfcn" && { AC_CHECK_LIB(c, dlopen, [ AC_DEFINE(HAVE_DLOPEN) DLL_LIB=; with_shlib=yes]) }
-test -z "$with_shlib" && { AC_CHECK_LIB(dld, shl_load, [ AC_DEFINE(HAVE_SHL_LOAD) DLL_LIB=dld; with_shlib=yes]) }
-test -z "$with_shlib" && { AC_CHECK_LIB(dld, dld_init, [ AC_DEFINE(HAVE_DLD_INIT) DLL_LIB=dld; with_shlib=yes]) }
-if test "$with_shlib" = "yes"; then
+test -z "$with_modules" && test ! -z "$have_dlfcn" && { AC_CHECK_LIB(dl, dlopen, [ AC_DEFINE(HAVE_DLOPEN) DLL_LIB=dl; with_modules=yes]) }
+test -z "$with_modules" && test ! -z "$have_dlfcn" && { AC_CHECK_LIB(c, _dlopen, [ AC_DEFINE(HAVE_DLOPEN) DLL_LIB=; with_modules=yes]) }
+test -z "$with_modules" && test ! -z "$have_dlfcn" && { AC_CHECK_LIB(c, dlopen, [ AC_DEFINE(HAVE_DLOPEN) DLL_LIB=; with_modules=yes]) }
+test -z "$with_modules" && { AC_CHECK_LIB(dld, shl_load, [ AC_DEFINE(HAVE_SHL_LOAD) DLL_LIB=dld; with_modules=yes]) }
+test -z "$with_modules" && { AC_CHECK_LIB(dld, dld_init, [ AC_DEFINE(HAVE_DLD_INIT) DLL_LIB=dld; with_modules=yes]) }
+if test "$with_modules" = "yes"; then
XE_SHLIB_STUFF
if test "$can_build_shared" = "yes"; then
AC_DEFINE(HAVE_SHLIB)
@@ -3632,7 +3632,7 @@
AC_CHECK_FUNCS(dlerror _dlerror)
else
AC_MSG_WARN(disabling shared library support)
- with_shlib=no
+ with_modules=no
fi
fi
@@ -4147,7 +4147,7 @@
athena ) echo " Using Athena dialog boxes." ;;
athena3d ) echo " Using Athena-3d dialog boxes." ;;
esac
-test "$with_shlib" = "yes" && echo " Compiling in DLL support."
+test "$with_modules" = "yes" && echo " Compiling in DSO module support."
test "$with_clash_detection" = yes && \
echo " Clash detection will use \"$lockdir\" for locking files."
echo " movemail will use \"$mail_locking\" for locking mail spool files."
@@ -4190,7 +4190,7 @@
ac_output_files="${ac_output_files+$ac_output_files }$file"
done
ac_output_files="$ac_output_files src/paths.h lib-src/config.values"
-if test "$with_shlib" = "yes"; then
+if test "$with_modules" = "yes"; then
ac_output_files="$ac_output_files lib-src/ellcc.h"
fi
Index: configure.usage
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs/configure.usage,v
retrieving revision 1.17.2.9
diff -u -r1.17.2.9 configure.usage
--- configure.usage 1999/07/05 08:20:29 1.17.2.9
+++ configure.usage 1999/07/26 04:55:21
@@ -136,6 +136,8 @@
--mail-locking=TYPE (*) Specify the locking to be used by movemail to prevent
concurrent updates of mail spool files. Valid types
are `lockf', `flock', and `file'.
+--with-modules Compile in experimental support for dynamically
+ loaded libraries (Dynamic Shared Objects).
--with-site-lisp=yes Allow for a site-lisp directory in the XEmacs hierarchy
searched before the installation packages.
--with-site-modules=no Disable site-modules directory in the XEmacs hierarchy,
Footnotes:
[1] For those not acquainted with American television, there was a
series of beer commercials in the early 90's that featured people at a
bar arguing over which sport to watch on T.V. The dispute was
resolved by someone hitting the top of the T.V. with a bottle of beer
whereby the sports were combined. My favorite was Football/Golf --
sink your putt and race to the tee before you get tackled ... :-)