reopen 31679 and properly fix

Jack Howarth howarth at bromo.med.uc.edu
Sun Mar 4 06:27:03 PST 2012


   I've reopened ticket 31679 so that it can be properly fixed. The linkage failure
of the inlined symbols in xemacs when linking with clang just needs the trivial fix of
passing -std=c89 to CFLAGS. See http://wiki.freebsd.org/PortsAndClang...

undefined or duplicate symbols while linking
clang defaults to gnu99, while gcc defaults to gnu89. This causes problems with the inline and restrict keywords (and possibly others). inline does different things in gnu89/gnu99

The Portfile.diff...

--- Portfile.orig	2012-03-04 09:09:02.000000000 -0500
+++ Portfile	2012-03-04 09:12:01.000000000 -0500
@@ -4,7 +4,7 @@
 
 name            xemacs
 version         21.4.22
-revision        4
+revision        5
 set sumo_date   2009-02-17
 categories      editors x11
 platforms       darwin
@@ -43,10 +43,6 @@
                     sha1    dc50bc3b62e5ff1cd766c7e4f31880bd200caad5 \
                     rmd160  506b7465687ff9dafe26f46e049b6aad8915eb49
 
-if {${configure.compiler} == "clang"} {
-    configure.compiler llvm-gcc-4.2
-}
-
 configure.args  --mandir=${prefix}/share/man \
                 --without-postgresql \
                 --without-ldap \
@@ -89,6 +85,6 @@
 }
 
 platform darwin 11 {
+    configure.cflags-append -std=c89
     configure.ldflags-append -Wl,-no_pie
 }
-

produces a functional xemacs under Xcode 4.3's clang.
              Jack


More information about the macports-dev mailing list