Fix strict aliasing problems or add -fno-strict-aliasing
[openafs.git] / src / cf / osconf.m4
index c61a57d..7d6be57 100644 (file)
@@ -8,7 +8,7 @@ RXDEBUG="-DRXDEBUG"
 SHLIB_SUFFIX="so"
 CCOBJ="$CC"
 MT_CC="$CC"
-XLIBS="${LIB_AFSDB} ${XBSA_XLIBS}"
+XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} ${LIB_libintl}"
 
 dnl debugging and optimization flag defaults
 dnl Note, these are all the defaults for if debug/optimize turned on, and
@@ -473,58 +473,6 @@ case $AFS_SYSNAME in
                SHLIB_LINKER="${MT_CC} -shared"
                ;;
 
-       ppc_darwin_12)
-               CC="cc"
-               CCOBJ="cc"
-               MT_CC="cc"
-               AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
-               LEX="lex -l"
-               REGEX_OBJ="regex.o"
-               XCFLAGS="-traditional-cpp"
-               SHLIB_LINKER="${MT_CC} -dynamiclib"
-               SHLIB_SUFFIX="dylib"
-               ;;
-
-       ppc_darwin_13)
-               CC="cc"
-               CCOBJ="cc"
-               MT_CC="cc"
-               AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
-               LEX="lex -l"
-               LWP_OPTMZ="-O2"
-               REGEX_OBJ="regex.o"
-               XCFLAGS="-no-cpp-precomp"
-               SHLIB_LINKER="${MT_CC} -dynamiclib"
-               SHLIB_SUFFIX="dylib"
-               ;;
-
-       ppc_darwin_14)
-               CC="cc"
-               CCOBJ="cc"
-               MT_CC="cc"
-               AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
-               LEX="lex -l"
-               LWP_OPTMZ="-O2"
-               REGEX_OBJ="regex.o"
-               XCFLAGS="-no-cpp-precomp"
-               SHLIB_LINKER="${MT_CC} -dynamiclib"
-               SHLIB_SUFFIX="dylib"
-               ;;
-
-       ppc_darwin_60)
-               CC="cc"
-               CCOBJ="cc"
-               MT_CC="cc"
-               AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
-               LEX="lex -l"
-               LWP_OPTMZ="-O2"
-               REGEX_OBJ="regex.o"
-               XCFLAGS="-no-cpp-precomp"
-               TXLIBS="-lncurses"
-               SHLIB_LINKER="${MT_CC} -dynamiclib"
-               SHLIB_SUFFIX="dylib"
-               ;;
-
        ppc_darwin_70)
                CC="cc"
                CCOBJ="cc"
@@ -541,6 +489,7 @@ case $AFS_SYSNAME in
                EXTRA_VLIBOBJS="fstab.o"
                SHLIB_LINKER="${MT_CC} -dynamiclib"
                SHLIB_SUFFIX="dylib"
+               XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
                ;;
 
        *_darwin_80)
@@ -561,6 +510,7 @@ case $AFS_SYSNAME in
                SHLIB_LINKER="${MT_CC} -dynamiclib"
                SHLIB_SUFFIX="dylib"
                RANLIB="ranlib -c"
+               XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
                ;;
 
        *_darwin_90)
@@ -579,13 +529,14 @@ case $AFS_SYSNAME in
                SHLIB_LINKER="${MT_CC} -dynamiclib"
                SHLIB_SUFFIX="dylib"
                RANLIB="ranlib -c"
+               XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
                ;;
 
        *_darwin_100)
                AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
                LEX="lex -l"
                MT_CFLAGS='-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS} ${ARCHFLAGS}'
-               MT_LIBS="-lresolv"
+               MT_LIBS="${LIB_AFSDB} -framework CoreFoundation"
                KROOT=
                KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
                LD="cc"
@@ -599,6 +550,7 @@ case $AFS_SYSNAME in
                SHLIB_LINKER="${MT_CC} -dynamiclib"
                SHLIB_SUFFIX="dylib"
                RANLIB="ranlib"
+               XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
                ;;
 
        ppc_linux*)
@@ -628,7 +580,7 @@ case $AFS_SYSNAME in
                SHLIB_SUFFIX="o"
                TXLIBS="-lcurses"
                XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
-               XLIBS="${LIB_AFSDB} -ldl"
+               XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
                SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
                AIX32=""
                AIX64="#"
@@ -647,7 +599,7 @@ case $AFS_SYSNAME in
                SHLIB_SUFFIX="o"
                TXLIBS="-lcurses"
                XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
-               XLIBS="${LIB_AFSDB} -ldl"
+               XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
                SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
                AIX32=""
                AIX64=""
@@ -665,7 +617,7 @@ case $AFS_SYSNAME in
                SHLIB_SUFFIX="o"
                TXLIBS="-lcurses"
                XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
-               XLIBS="${LIB_AFSDB} -ldl"
+               XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
                SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
                AIX32=""
                AIX64=""
@@ -683,7 +635,7 @@ case $AFS_SYSNAME in
                SHLIB_SUFFIX="o"
                TXLIBS="-lcurses"
                XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
-               XLIBS="${LIB_AFSDB} -ldl"
+               XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
                SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
                AIX32=""
                AIX64=""
@@ -701,7 +653,7 @@ case $AFS_SYSNAME in
                SHLIB_SUFFIX="o"
                TXLIBS="-lcurses"
                XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
-               XLIBS="${LIB_AFSDB} -ldl"
+               XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
                SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
                AIX32="#"
                AIX64=""
@@ -862,10 +814,10 @@ case $AFS_SYSNAME in
                ;;
 
        sun4x_55)
-               CC="/opt/SUNWspro/bin/cc"
-               CCOBJ="/opt/SUNWspro/bin/cc"
+               CC=$SOLARISCC
+               CCOBJ=$SOLARISCC
                LEX="lex"
-               MT_CC="/opt/SUNWspro/bin/cc"
+               MT_CC=$SOLARISCC
                MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
                MT_LIBS="-lpthread -lsocket"
                SHLIB_CFLAGS="-KPIC"
@@ -880,10 +832,10 @@ case $AFS_SYSNAME in
                ;;
 
        sun4x_56)
-               CC="/opt/SUNWspro/bin/cc"
-               CCOBJ="/opt/SUNWspro/bin/cc"
+               CC=$SOLARISCC
+               CCOBJ=$SOLARISCC
                LEX="lex"
-               MT_CC="/opt/SUNWspro/bin/cc"
+               MT_CC=$SOLARISCC
                MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
                MT_LIBS="-lpthread -lsocket"
                PAM_CFLAGS="-KPIC"
@@ -901,11 +853,11 @@ case $AFS_SYSNAME in
                ;;
 
        sun4x_57)
-               CC="/opt/SUNWspro/bin/cc"
-               CCOBJ="/opt/SUNWspro/bin/cc"
+               CC=$SOLARISCC
+               CCOBJ=$SOLARISCC
                LEX="lex"
                LD="/usr/ccs/bin/ld"
-               MT_CC="/opt/SUNWspro/bin/cc"
+               MT_CC=$SOLARISCC
                MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
                MT_LIBS="-lpthread -lsocket"
                PAM_CFLAGS="-KPIC"
@@ -923,11 +875,11 @@ case $AFS_SYSNAME in
                ;;
 
        sun4x_58)
-               CC="/opt/SUNWspro/bin/cc"
-               CCOBJ="/opt/SUNWspro/bin/cc"
+               CC=$SOLARISCC
+               CCOBJ=$SOLARISCC
                LEX="lex"
                LD="/usr/ccs/bin/ld"
-               MT_CC="/opt/SUNWspro/bin/cc"
+               MT_CC=$SOLARISCC
                MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
                MT_LIBS="-lpthread -lsocket"
                PAM_CFLAGS="-KPIC"
@@ -945,11 +897,11 @@ case $AFS_SYSNAME in
                ;;
 
        sun4x_59)
-               CC="/opt/SUNWspro/bin/cc"
-               CCOBJ="/opt/SUNWspro/bin/cc"
+               CC=$SOLARISCC
+               CCOBJ=$SOLARISCC
                LEX="lex"
                LD="/usr/ccs/bin/ld"
-               MT_CC="/opt/SUNWspro/bin/cc"
+               MT_CC=$SOLARISCC
                MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
                MT_LIBS="-lpthread -lsocket"
                PAM_CFLAGS="-KPIC"
@@ -967,11 +919,11 @@ case $AFS_SYSNAME in
                ;;
 
        sun4x_510)
-               CC="/opt/SUNWspro/bin/cc"
-               CCOBJ="/opt/SUNWspro/bin/cc"
+               CC=$SOLARISCC
+               CCOBJ=$SOLARISCC
                LEX="lex"
                LD="/usr/ccs/bin/ld"
-               MT_CC="/opt/SUNWspro/bin/cc"
+               MT_CC=$SOLARISCC
                MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
                MT_LIBS="-lpthread -lsocket"
                PAM_CFLAGS="-KPIC"
@@ -989,11 +941,11 @@ case $AFS_SYSNAME in
                ;;
 
        sun4x_511)
-               CC="/opt/SUNWspro/bin/cc"
-               CCOBJ="/opt/SUNWspro/bin/cc"
+               CC=$SOLARISCC
+               CCOBJ=$SOLARISCC
                LEX="lex"
                LD="/usr/ccs/bin/ld"
-               MT_CC="/opt/SUNWspro/bin/cc"
+               MT_CC=$SOLARISCC
                MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
                MT_LIBS="-lpthread -lsocket"
                PAM_CFLAGS="-KPIC"
@@ -1011,11 +963,11 @@ case $AFS_SYSNAME in
                ;;
 
        sunx86_57)
-               CC="/opt/SUNWspro/bin/cc"
-               CCOBJ="/opt/SUNWspro/bin/cc"
+               CC=$SOLARISCC
+               CCOBJ=$SOLARISCC
                LEX="lex"
                LD="/usr/ccs/bin/ld"
-               MT_CC="/opt/SUNWspro/bin/cc"
+               MT_CC=$SOLARISCC
                MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
                MT_LIBS="-lpthread -lsocket"
                PAM_CFLAGS="-KPIC"
@@ -1032,11 +984,11 @@ case $AFS_SYSNAME in
                ;;
 
        sunx86_58)
-               CC="/opt/SUNWspro/bin/cc"
-               CCOBJ="/opt/SUNWspro/bin/cc"
+               CC=$SOLARISCC
+               CCOBJ=$SOLARISCC
                LEX="lex"
                LD="/usr/ccs/bin/ld"
-               MT_CC="/opt/SUNWspro/bin/cc"
+               MT_CC=$SOLARISCC
                MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
                MT_LIBS="-lpthread -lsocket"
                PAM_CFLAGS="-KPIC"
@@ -1053,11 +1005,11 @@ case $AFS_SYSNAME in
                ;;
 
        sunx86_59)
-               CC="/opt/SUNWspro/bin/cc"
-               CCOBJ="/opt/SUNWspro/bin/cc"
+               CC=$SOLARISCC
+               CCOBJ=$SOLARISCC
                LEX="lex"
                LD="/usr/ccs/bin/ld"
-               MT_CC="/opt/SUNWspro/bin/cc"
+               MT_CC=$SOLARISCC
                MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
                MT_LIBS="-lpthread -lsocket"
                PAM_CFLAGS="-KPIC"
@@ -1074,11 +1026,11 @@ case $AFS_SYSNAME in
                ;;
 
        sunx86_510)
-               CC="/opt/SUNWspro/bin/cc"
-               CCOBJ="/opt/SUNWspro/bin/cc"
+               CC=$SOLARISCC
+               CCOBJ=$SOLARISCC
                LEX="lex"
                LD="/usr/ccs/bin/ld"
-               MT_CC="/opt/SUNWspro/bin/cc"
+               MT_CC=$SOLARISCC
                MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
                MT_LIBS="-lpthread -lsocket"
                PAM_CFLAGS="-KPIC"
@@ -1095,11 +1047,11 @@ case $AFS_SYSNAME in
                ;;
 
        sunx86_511)
-               CC="/opt/SUNWspro/bin/cc"
-               CCOBJ="/opt/SUNWspro/bin/cc"
+               CC=$SOLARISCC
+               CCOBJ=$SOLARISCC
                LEX="lex"
                LD="/usr/ccs/bin/ld"
-               MT_CC="/opt/SUNWspro/bin/cc"
+               MT_CC=$SOLARISCC
                MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
                MT_LIBS="-lpthread -lsocket"
                PAM_CFLAGS="-KPIC"
@@ -1132,18 +1084,6 @@ case $AFS_SYSNAME in
        ;;
 esac
 
-
-
-dnl pthreads fixes
-case $AFS_SYSNAME in
-dnl we'll go ahead and turn on XOPEN2K and ISO_C99
-dnl if this causes problems, we should scale back to _XOPEN_SOURCE=500
-       *linux*)
-               MT_CFLAGS="${MT_CFLAGS} -D_XOPEN_SOURCE=600 -D_BSD_SOURCE"
-       ;;
-esac
-
-
 dnl Disable the default for debugging/optimization if not enabled
 if test "x$enable_debug_kernel" = "xno"; then
   KERN_DBG=
@@ -1195,6 +1135,18 @@ if test "x$GCC" = "xyes"; then
   fi
 fi
 
+CFLAGS_NOSTRICT=
+
+if test "x$GCC" = "xyes"; then
+  CFLAGS_NOSTRICT="-fno-strict-aliasing"
+fi
+
+if test "x$GCC" = "xyes"; then
+  CFLAGS_NOUNUSED="-Wno-unused"
+else
+  CFLAGS_NOUNUSED=
+fi
+
 dnl horribly cheating, assuming double / is ok.
 case $INSTALL in
   ./* ) 
@@ -1245,6 +1197,8 @@ AC_SUBST(TXLIBS)
 AC_SUBST(VFSCK_CFLAGS)
 AC_SUBST(XCFLAGS)
 AC_SUBST(CFLAGS_NOERROR)
+AC_SUBST(CFLAGS_NOSTRICT)
+AC_SUBST(CFLAGS_NOUNUSED)
 AC_SUBST(XCFLAGS64)
 AC_SUBST(XLDFLAGS)
 AC_SUBST(XLDFLAGS64)