1
0
mirror of git://git.code.sf.net/p/zsh/code synced 2024-11-18 21:14:11 +01:00

enable dynamic libraries on MacOS X is the dlcompat library is installed

This commit is contained in:
Oliver Kiddle 2001-10-10 16:02:24 +00:00
parent a9d36386d1
commit 4d1d676dba
5 changed files with 23 additions and 4 deletions

@ -1,3 +1,9 @@
2001-10-10 Oliver Kiddle <opk@zsh.org>
* 16xxx: acconfig.h, zshconfig.ac, Etc/MACHINES,
Test/C02cond.ztst: allow dynamic loading to work on MacOS X
if the dlcompat library is installed.
2001-10-10 Clint Adams <clint@zsh.org>
* 16000: Completion/Debian/Command/.distfiles,

@ -18,7 +18,11 @@ Machines
--------
Apple: MacOS X/Darwin 1.4
Should build `out-of-the-box'. Dynamic loading does not work.
Should build `out-of-the-box'.
For dynamic loading to work, you need to use the dlcompat library.
It can be downloaded from:
http://sourceforge.net/project/showfiles.php?group_id=17203
Red Hat Inc.: Cygwin
Should build `out-of-the-box'. The compilation directory should

@ -19,6 +19,7 @@
chgrp $EGID modish
chmod 7710 modish # g+xs,u+s,+t
chmod g+s modish # two lines combined work around chmod bugs
touch unmodish
chmod 000 unmodish

@ -259,7 +259,7 @@
/* Define to 1 if multiple modules defining the same symbol are OK */
#undef DYNAMIC_NAME_CLASH_OK
/* The exension used for dynamically loaded modules */
/* The extension used for dynamically loaded modules */
#undef DL_EXT
/* Define to 1 if you want to use dynamically loaded modules */

@ -1576,7 +1576,7 @@ elif test "$host_os" = cygwin; then
MOD_IMPORT_VARIABLE="__attribute__((__dllimport__))"
MOD_IMPORT_FUNCTION=
elif test "x$dynamic" = xyes; then
AC_CACHE_CHECK(if your system use ELF binaries,
AC_CACHE_CHECK(if your system uses ELF binaries,
zsh_cv_sys_elf,
[AC_TRY_RUN([/* Test for whether ELF binaries are produced */
#include <fcntl.h>
@ -1623,6 +1623,10 @@ char *argv[];
esac
DLLDARG="${LDARG}"
;;
*darwin*)
DLLD="${DLLD=$CC}"
DLLDARG=""
;;
* )
DLLD="${DLLD=ld}"
DLLDARG=""
@ -1630,7 +1634,10 @@ char *argv[];
esac
fi
if test -n "$GCC"; then
DLCFLAGS="${DLCFLAGS=-fPIC}"
case "$host_os" in
darwin*) DLCFLAGS="${DLCFLAGS=-fno-common}" ;;
*) DLCFLAGS="${DLCFLAGS=-fPIC}" ;;
esac
else
case "$host_os" in
hpux*) DLCFLAGS="${DLCFLAGS=+z}" ;;
@ -1646,6 +1653,7 @@ char *argv[];
netbsd*) DLLDFLAGS="${DLLDFLAGS=${DLLDARG}-x -shared --whole-archive}" ;;
aix*) DLLDFLAGS="${DLLDFLAGS=-G -bexpall -lc}" ;;
solaris*|sysv4*|esix*) DLLDFLAGS="${DLLDFLAGS=-G}" ;;
darwin*) DLLDFLAGS="${DLLDFLAGS=-bundle -flat_namespace -undefined suppress}" ;;
openbsd*)
if test $zsh_cv_sys_elf = yes; then
DLLDFLAGS="${DLLDFLAGS=-shared -fPIC}"