I should confess that I'm not using the bundles directory but a
handbuilt Gmp 4.2.2. Nevertheless, going with a static module for Gmp
solves my 10.5 issues.

To recap, I'd like to check in the following 7.8 changes:

gabrielle:7.8 $ cvs diff -u bin/smartlink
Index: bin/smartlink
===================================================================
RCS file: /pike/data/cvsroot/Pike/7.8/bin/smartlink,v
retrieving revision 1.30
diff -u -r1.30 smartlink
--- bin/smartlink       9 Mar 2006 20:57:19 -0000       1.30
+++ bin/smartlink       15 Aug 2008 09:22:42 -0000
@@ -192,6 +192,15 @@
 #  ;;
 #esac
 
+case "$UNAME" in
+  Darwin*)
+    # Needs to be 10.3 or better for ld to accept "-undefined dynamic_load"
+    export MACOSX_DEPLOYMENT_TARGET=10.3
+  ;;
+  *)
+  ;;
+esac
+
 #echo $LINKER $LDOPTS
 
 # exec $LINKER $LDOPTS

gabrielle:7.8 $ cvs diff -u src/configure.in
Index: src/configure.in
===================================================================
RCS file: /pike/data/cvsroot/Pike/7.8/src/configure.in,v
retrieving revision 1.1067
diff -u -r1.1067 configure.in
--- src/configure.in    31 Jul 2008 18:01:48 -0000      1.1067
+++ src/configure.in    15 Aug 2008 09:24:37 -0000
@@ -7610,7 +7610,9 @@
       fi
     ;;
     Darwin*)
-      LDSHARED="$REALCC $CFLAGS -bundle -bind_at_load -flat_namespace 
-undefined suppress"
+      # Note that the following requires MACOSX_DEPLOYMENT_TARGET which is
+      # inited in bin/smartlink to 10.3.
+      LDSHARED="$REALCC $CFLAGS -bundle -bind_at_load -undefined 
dynamic_lookup"
     ;;
     IRIX*)
       if test "$GCC" = yes ; then

gabrielle:7.8 $ cvs diff -u src/modules/Gmp/Makefile.in
Index: src/modules/Gmp/Makefile.in
===================================================================
RCS file: /pike/data/cvsroot/Pike/7.8/src/modules/Gmp/Makefile.in,v
retrieving revision 1.24
diff -u -r1.24 Makefile.in
--- src/modules/Gmp/Makefile.in 4 May 2003 13:32:20 -0000       1.24
+++ src/modules/Gmp/Makefile.in 15 Aug 2008 09:23:35 -0000
@@ -9,7 +9,7 @@
 
 [EMAIL PROTECTED]@
 
[EMAIL PROTECTED]@
[EMAIL PROTECTED]@
 
 # UnixWare make needs help to find the source file...
 mpq.o: $(SRCDIR)/mpq.c


The first two updates dynamic module linking on Darwin to avoid
-flat_namespace which is deprecated since many years. It requires OS X
10.3 or later but that's ok in my opinion.

The last one adresses building on OS X 10.5 where Gmp needs to be
statically bound to overcome linker issues. The change would apply on
all platforms but since bignums are an integral part of the Pike
language it's not a concern.

Peter, any objections? Don't know if they qualify for any notes in
CHANGES but I'd be happy to provide that too.
              • ... Martin Stjernholm, Roxen IS @ Pike developers forum
  • Re: 7.8 alpha 2 Jonas Walld�n @ Pike developers forum
    • Re: 7.8 alpha... Mirar @ Pike developers forum
    • Re: 7.8 alpha... Jonas Walld�n @ Pike developers forum
      • Re: 7.8 a... H. William Welliver III
        • Re: 7... Martin Stjernholm, Roxen IS @ Pike developers forum
        • Re: 7... Jonas Walld�n @ Pike developers forum
          • R... H. William Welliver III
            • ... Jonas Walld�n @ Pike developers forum
              • ... Peter Bortas @ Pike developers forum
              • ... Jonas Walld�n @ Pike developers forum
              • ... Peter Bortas @ Pike developers forum
              • ... Jonas Walld�n @ Pike developers forum
              • ... Henrik Grubbstr�m (Lysator) @ Pike (-) developers forum
              • ... Jonas Walld�n @ Pike developers forum
              • ... H. William Welliver III
              • ... Peter Bortas @ Pike developers forum
  • Re: 7.8 alpha 2 Lance Dillon

Reply via email to