chiark / gitweb /
PORT 22
[stressapptest] / configure.ac
index aba87916ab131799125b9399a016a3ab0a6b1e9e..06b586850f3fe675de33be4b35dd947f4aab3474 100644 (file)
@@ -1,71 +1,68 @@
 AC_PREREQ(2.61)
-AC_INIT([stressapptest], [1.0.6_autoconf], [opensource@google.com])
+AC_INIT([stressapptest], [1.0.8_autoconf], [opensource@google.com])
 
 AC_ARG_WITH(static, [  --with-static            enable static linking])
 
-if test "$with_static" == "yes"
+if test "$with_static" = "yes"
 then
-       AC_MSG_NOTICE([Compiling with staticaly linked libraries.])
-       LIBS="$LIBS -static"
+  AC_MSG_NOTICE([Compiling with staticaly linked libraries.])
+  LIBS="$LIBS -static"
 else
-       AC_MSG_NOTICE([Compiling with dynamically linked libraries.])
+  AC_MSG_NOTICE([Compiling with dynamically linked libraries.])
 fi
 
 AC_CANONICAL_HOST
-AC_CANONICAL_BUILD
 # Checking for target cpu and setting custom configuration
 # for the different platforms
-AC_CANONICAL_TARGET
-case x"$target_cpu" in
-  "xx86_64")
+AS_CASE(["$host_cpu"],
+  [*x86_64*], [
     AC_DEFINE([STRESSAPPTEST_CPU_X86_64],[],
               [Defined if the target CPU is x86_64])
-    ;;
-  "xi686")
+    ], 
+  [*i686*], [
     AC_DEFINE([STRESSAPPTEST_CPU_I686],[],
               [Defined if the target CPU is i686])
-    ;;
-  "xpowerpc")
+    ], 
+  [*powerpc*], [
     AC_DEFINE([STRESSAPPTEST_CPU_PPC],[],
               [Defined if the target CPU is PowerPC])
-    ;;
-  "xarmv7a")
+    ], 
+  [*armv7a*], [
     AC_DEFINE([STRESSAPPTEST_CPU_ARMV7A],[],
               [Defined if the target CPU is armv7a])
-    ;;
-  *)
-    AC_MSG_ERROR([$target_cpu is not supported! Try x86_64, i686, powerpc, or armv7a])
-    ;;
-esac
+    ], 
+  [*aarch64*], [
+    AC_DEFINE([STRESSAPPTEST_CPU_AARCH64],[],
+              [Defined if the target CPU is aarch64])
+    ],
+[AC_MSG_WARN([Unsupported CPU: $host_cpu! Try x86_64, i686, powerpc, armv7a, or aarch64])]
+)
 
-_os=`uname`
 ## The following allows like systems to share settings. This is not meant to
 ## imply that these OS are the same thing. From OpenOffice dmake configure.in
-case "$_os" in
-  "Linux")
+AS_CASE(["$host_os"],
+  [*linux*], [
     OS_VERSION=linux
     AC_DEFINE([STRESSAPPTEST_OS_LINUX],[],
               [Defined if the target OS is Linux])
-    ;;
-  "Darwin")
+    ],
+  [*darwin*], [
     OS_VERSION=macosx
     AC_DEFINE([STRESSAPPTEST_OS_DARWIN],[],
               [Defined if the target OS is OSX])
-    ;;
-  "FreeBSD")
+    ],
+  [*freebsd*], [
     OS_VERSION=bsd
     AC_DEFINE([STRESSAPPTEST_OS_BSD],[],
               [Defined if the target OS is BSD based])
-    ;;
-  "NetBSD")
+    ],
+  [*netbsd*], [
     OS_VERSION=bsd
     AC_DEFINE([STRESSAPPTEST_OS_BSD],[],
               [Defined if the target OS is BSD based])
-    ;;
-  *)
-    AC_MSG_ERROR([$_os operating system is not suitable to build dmake!])
-    ;;
-esac
+    ],
+  [AC_MSG_WARN([unsupported system: $host_os])]
+)
 
 AM_INIT_AUTOMAKE([-Wall -Werror foreign])
 AC_CONFIG_SRCDIR([src/])
@@ -95,10 +92,14 @@ AC_DEFINE_UNQUOTED([STRESSAPPTEST_TIMESTAMP],
                    "$username @ $hostname on $timestamp",
                    [Timestamp when ./configure was executed])
 
-#Default cxxflags
-CXXFLAGS="$CXXFLAGS -DCHECKOPTS"
-CXXFLAGS="$CXXFLAGS -Wreturn-type -Wunused -Wuninitialized -Wall -Wno-psabi"
-CXXFLAGS="$CXXFLAGS -O3 -funroll-all-loops  -funroll-loops -DNDEBUG"
+AC_ARG_ENABLE([default-optimizations],
+    [AS_HELP_STRING([--disable-default-optimizations], [Disable default optimization flag overrides])])
+AS_IF([test x"$enable_default_optimizations" != xno], [
+    #Default cxxflags
+    CXXFLAGS="$CXXFLAGS -DCHECKOPTS"
+    CXXFLAGS="$CXXFLAGS -Wreturn-type -Wunused -Wuninitialized -Wall"
+    CXXFLAGS="$CXXFLAGS -O3 -funroll-all-loops  -funroll-loops -DNDEBUG"
+])
 
 # Checks for header files.
 AC_HEADER_DIRENT
@@ -107,31 +108,12 @@ AC_HEADER_STDC
 AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h stdint.h stdlib.h string.h sys/ioctl.h sys/socket.h sys/time.h unistd.h], [], [AC_MSG_FAILURE([Missing some header files.])])
 AC_CHECK_HEADERS([pthread.h])
 AC_SEARCH_LIBS([pthread_create], [pthread])
+AC_CHECK_TYPE([pthread_barrier_t], AC_DEFINE(HAVE_PTHREAD_BARRIERS, [1], [Define to 1 if the system has `pthread_barrier'.]))
 AC_CHECK_HEADERS([libaio.h])
 AC_SEARCH_LIBS([io_setup], [aio])
 AC_CHECK_HEADERS([sys/shm.h])
 AC_SEARCH_LIBS([shm_open], [rt])
 
-AC_MSG_CHECKING(for pthread_barrier)
-AC_CACHE_VAL(
-  ac_cv_func_pthread_barrier,
-  AC_TRY_RUN(
-    [
-      #include <pthread.h>
-      int main(void)
-      {
-        pthread_barrier_t t;
-        return 0;
-      }
-    ],
-    ac_cv_func_pthread_barrier=yes,
-    ac_cv_func_pthread_barrier=no
-  )
-)
-AC_MSG_RESULT($ac_cv_func_pthread_barrier)
-if test "$ac_cv_func_pthread_barrier" = "yes"; then
-  AC_DEFINE(HAVE_PTHREAD_BARRIER, [1], [Define to 1 if the system has `pthread_barrier'.])
-fi
 
 # Checks for typedefs, structures, and compiler characteristics.
 AC_HEADER_STDBOOL