aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog2
-rw-r--r--src/aclocal.m416
2 files changed, 18 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index e3119ee..7306fd0 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -5,6 +5,8 @@
corresponding getsockname arg types.
(KRB5_GETSOCKNAME_ARGS): If nothing matches, assume struct
sockaddr and socklen_t.
+ (WITH_CC): Add -fno-common to CFLAGS on Darwin, unless -fcommon or
+ -fno-common is already given.
2004-02-12 Tom Yu <tlyu@mit.edu>
diff --git a/src/aclocal.m4 b/src/aclocal.m4
index 3418761..0bcefa3 100644
--- a/src/aclocal.m4
+++ b/src/aclocal.m4
@@ -485,6 +485,22 @@ if test "$GCC" = yes ; then
CFLAGS="$CFLAGS -pedantic"
fi
fi
+ if test "`uname -s`" = Darwin ; then
+ # Someday this should be a feature test.
+ # One current (Jaguar = OS 10.2) problem:
+ # Archive library with foo.o undef sym X and bar.o common sym X,
+ # if foo.o is pulled in at link time, bar.o may not be, causing
+ # the linker to complain.
+ # Dynamic library problems too?
+ case "$CC $CFLAGS" in
+ *-fcommon*) ;; # why someone would do this, I don't know
+ *-fno-common*) ;; # okay, they're already doing the right thing
+ *)
+ AC_MSG_NOTICE(disabling the use of common storage on Darwin)
+ CFLAGS="$CFLAGS -fno-common"
+ ;;
+ esac
+ fi
fi
])dnl
dnl