Merge Monty
[awesomized/libmemcached] / configure.ac
index 2bea7797fb0be9d4cba618beb1a0a6e2c234dc71..44ffda732dc543f955fdbf2aa460753e5bf93876 100644 (file)
@@ -27,6 +27,8 @@ MEMCACHED_LIBRARY_VERSION=2:0:0
 #                  |           set to zero if current is incremented
 #                  +- increment if interfaces have been added, removed or changed
 AC_SUBST(MEMCACHED_LIBRARY_VERSION)
+MEMCACHEDUTIL_LIBRARY_VERSION=0:0:0
+AC_SUBST(MEMCACHEDUTIL_LIBRARY_VERSION)
 
 AM_INIT_AUTOMAKE(nostdinc no-define -Wall -Werror)
 AC_USE_SYSTEM_EXTENSIONS
@@ -36,15 +38,18 @@ AC_PROG_CC_C99
 AC_PROG_CXX
 AC_PROG_LIBTOOL
 AM_SANITY_CHECK
-LIBTOOL="$LIBTOOL --preserve-dup-deps"
-AC_SUBST(LIBTOOL)dnl
+
+AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
+
 
 # libmemcached versioning when linked with GNU ld.
 if test "$lt_cv_prog_gnu_ld" = "yes"
 then
     LD_VERSION_SCRIPT="-Wl,--version-script=\$(top_srcdir)/libmemcached/libmemcached.ver"
+    LD_UTIL_VERSION_SCRIPT="-Wl,--version-script=\$(top_srcdir)/libmemcachedutil/libmemcachedutil.ver"
 fi
 AC_SUBST(LD_VERSION_SCRIPT)
+AC_SUBST(LD_UTIL_VERSION_SCRIPT)
 
 AC_C_CONST
 AC_HEADER_TIME
@@ -52,19 +57,33 @@ AC_TYPE_SIZE_T
 AC_SEARCH_LIBS(getopt_long, gnugetopt)
 AC_SEARCH_LIBS(socket, socket)
 AC_SEARCH_LIBS(gethostbyname, nsl)
+
+save_LIBS="$LIBS"
+LIBS="$LIBS -lm"
+AC_LINK_IFELSE(
+  [AC_LANG_PROGRAM(
+    [[
+#include <stdlib.h>
+    ]],[[
+      float f= floorf((float) 1.0);
+    ]],
+    [LIBM="-lm"],[LIBM=""])])
+    
+AC_SUBST(LIBM)
+LIBS="$save_LIBS"
 AC_SEARCH_LIBS(floorf, m)
 
 
-sinclude(config/pod2man.m4)
-sinclude(config/debug.m4)
-sinclude(config/dtrace.m4)
-sinclude(config/byteorder.m4)
-sinclude(config/64bit.m4)
-sinclude(config/protocol_binary.m4)
-sinclude(config/memcached.m4)
-sinclude(config/setsockopt.m4)
-sinclude(config/hsieh.m4)
-sinclude(config/util.m4)
+sinclude(m4/pod2man.m4)
+sinclude(m4/debug.m4)
+sinclude(m4/dtrace.m4)
+sinclude(m4/byteorder.m4)
+sinclude(m4/64bit.m4)
+sinclude(m4/protocol_binary.m4)
+sinclude(m4/memcached.m4)
+sinclude(m4/setsockopt.m4)
+sinclude(m4/hsieh.m4)
+sinclude(m4/util.m4)
 
 dnl This is likely subverted by vpath builds. How do we find the original
 dnl source dir in the configure step of a vpath build?
@@ -75,30 +94,48 @@ else
   building_from_hg=no
 fi
 
+
 # We only support GCC and Sun's forte at the moment
 if test "$GCC" = "yes"
 then
+  if test "$ENABLE_DEBUG" = "yes"
+  then
+    CFLAGS="-O0 -DHAVE_DEBUG $CFLAGS"
+    CXXFLAGS="-O0 -DHAVE_DEBUG $CXXFLAGS"
+  else
+    CFLAGS="-O3 $CFLAGS"
+    CXXFLAGS="-O3 $CXXFLAGS"
+  fi
   if test "$building_from_hg" = "yes"
   then
     CFLAGS="-Werror $CFLAGS"
     CXXFLAGS="-Werror $CXXFLAGS"
   fi
 
-  CFLAGS="-W -std=iso9899:1999 -Wall -Wextra -Wno-strict-aliasing -pedantic -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -O3 -ggdb $CFLAGS"
-  CXXFLAGS="-W -Wall -Wextra -Wno-strict-aliasing -pedantic -Wundef -Woverloaded-virtual  -Wnon-virtual-dtor -Wctor-dtor-privacy -Wold-style-cast -Weffc++ -Wconversion -Wmissing-declarations -Wredundant-decls -O3 -ggdb $CXXFLAGS"
+  CFLAGS="-W -std=iso9899:1999 -Wall -Wextra -Wno-strict-aliasing -pedantic -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -ggdb3 $CFLAGS"
+  CXXFLAGS="-W -Wall -Wextra -Wno-strict-aliasing -pedantic -Wundef -Woverloaded-virtual  -Wnon-virtual-dtor -Wctor-dtor-privacy -Wold-style-cast -Weffc++ -Wconversion -Wmissing-declarations -Wredundant-decls -ggdb3 $CXXFLAGS"
+
+
+fi
+
+if test "$SUNCC" = "yes"
+then
 
   if test "$ENABLE_DEBUG" = "yes"
   then
-    CFLAGS="$CFLAGS -ggdb -DHAVE_DEBUG"
+    CFLAGS="-xO0 -DHAVE_DEBUG $CFLAGS"
+    CXXFLAGS="-xO0 -DHAVE_DEBUG $CXXFLAGS"
+  else
+    CFLAGS="-xO4 -xlibmil -xdepend $CFLAGS"
+    CXXFLAGS="-xO4 -xlibmil -xdepend $CXXFLAGS"
   fi
-else
-  CFLAGS="-Xa -xstrconst -mt -D_FORTEC_ -errfmt=error -errwarn -errshort=tags $CFLAGS"
-  CXXFLAGS="+w +w2 -xwe -mt -D_FORTEC_ $CXXFLAGS"
-  if test "$ENABLE_DEBUG" = "yes"
+  if test "$building_from_hg" = "yes"
   then
-    CFLAGS="$CFLAGS -DHAVE_DEBUG"
-    CXXFLAGS="$CXXFLAGS -DHAVE_DEBUG"
+    CFLAGS="-errwarn $CFLAGS"
+    CXXFLAGS="-errwarn $CXXFLAGS"
   fi
+  CFLAGS="-Xa -xstrconst -mt -errfmt=error -errshort=tags ${CFLAGS}"
+  CXXFLAGS="+w +w2 -xwe -mt ${CXXFLAGS}"
 fi
 
 
@@ -115,5 +152,16 @@ CFLAGS=""
 CXXFLAGS=""
 CPPFLAGS=""
 
-AC_CONFIG_FILES([Makefile clients/Makefile tests/Makefile docs/Makefile libmemcached/Makefile libmemcachedutil/Makefile support/Makefile support/libmemcached.pc support/libmemcached.spec support/libmemcached-fc.spec])
+AC_CONFIG_FILES([
+  Makefile
+  clients/Makefile
+  tests/Makefile
+  docs/Makefile
+  libmemcached/Makefile
+  libmemcachedutil/Makefile
+  support/Makefile
+  support/libmemcached.pc
+  support/libmemcached.spec
+  support/libmemcached-fc.spec
+  ])
 AC_OUTPUT