diff options
author | foobar <sniper@php.net> | 2005-03-26 03:09:09 +0000 |
---|---|---|
committer | foobar <sniper@php.net> | 2005-03-26 03:09:09 +0000 |
commit | 24eb2bfabc0b2ffa6a47a32250d869a6c62271c4 (patch) | |
tree | 6686de1cc274ea6f11db26570624aed6ebffb5f4 | |
parent | da53094765bd38510d4f95b3c237e8a1be7314f1 (diff) | |
download | php-git-24eb2bfabc0b2ffa6a47a32250d869a6c62271c4.tar.gz |
- Prevent compiling shared extensions when --enable-versioning is used
- Fix -export-symbols in Linux in the bundled libtool.m4:
o http://lists.gnu.org/archive/html/libtool/2002-07/msg00029.html
# more about this:
# http://marc.theaimsgroup.com/?l=php-dev&m=106629582813118&w=2
-rw-r--r-- | build/libtool.m4 | 17 | ||||
-rw-r--r-- | configure.in | 3 |
2 files changed, 20 insertions, 0 deletions
diff --git a/build/libtool.m4 b/build/libtool.m4 index 41adb2b9e7..8dccd5160a 100644 --- a/build/libtool.m4 +++ b/build/libtool.m4 @@ -1403,6 +1403,23 @@ EOF hardcode_shlibpath_var=no ;; + linux*) + if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='echo "{" > $output_objdir/$libname.ver; + echo "global:" >> $output_objdir/$libname.ver; + cat $export_symbols | while read symbol; do + echo " \$symbol;" >> $output_objdir/$libname.ver; + done; + echo "local: *;" >> $output_objdir/$libname.ver; + echo "};" >> $output_objdir/$libname.ver~ + $CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib~ + rm -f $output_objdir/$libname.ver' + else + ld_shlibs=no + fi + ;; + *) if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' diff --git a/configure.in b/configure.in index 6007a3ab65..e1f19ade2a 100644 --- a/configure.in +++ b/configure.in @@ -808,6 +808,9 @@ dnl Extensions post-config dnl ------------------------------------------------------------------------- if test "$PHP_VERSIONING" = "yes"; then + if test -n "$PHP_MODULES"; then + AC_MSG_ERROR([--enable-versioning cannot be used with shared modules]) + fi test -z "$PHP_SYM_FILE" && PHP_SYM_FILE="$abs_srcdir/sapi/$PHP_SAPI/php.sym" if test -f "$PHP_SYM_FILE"; then EXTRA_LDFLAGS="-export-symbols $PHP_SYM_FILE $EXTRA_LDFLAGS" |