2 AC_INIT([stressapptest], [1.0.7_autoconf], [opensource@google.com])
4 AC_ARG_WITH(static, [ --with-static enable static linking])
6 if test "$with_static" = "yes"
8 AC_MSG_NOTICE([Compiling with staticaly linked libraries.])
11 AC_MSG_NOTICE([Compiling with dynamically linked libraries.])
15 # Checking for target cpu and setting custom configuration
16 # for the different platforms
17 AS_CASE(["$host_cpu"],
19 AC_DEFINE([STRESSAPPTEST_CPU_X86_64],[],
20 [Defined if the target CPU is x86_64])
23 AC_DEFINE([STRESSAPPTEST_CPU_I686],[],
24 [Defined if the target CPU is i686])
27 AC_DEFINE([STRESSAPPTEST_CPU_PPC],[],
28 [Defined if the target CPU is PowerPC])
31 AC_DEFINE([STRESSAPPTEST_CPU_ARMV7A],[],
32 [Defined if the target CPU is armv7a])
34 [AC_MSG_WARN([Unsupported CPU: $host_cpu! Try x86_64, i686, powerpc, or armv7a])]
37 ## The following allows like systems to share settings. This is not meant to
38 ## imply that these OS are the same thing. From OpenOffice dmake configure.in
42 AC_DEFINE([STRESSAPPTEST_OS_LINUX],[],
43 [Defined if the target OS is Linux])
47 AC_DEFINE([STRESSAPPTEST_OS_DARWIN],[],
48 [Defined if the target OS is OSX])
52 AC_DEFINE([STRESSAPPTEST_OS_BSD],[],
53 [Defined if the target OS is BSD based])
57 AC_DEFINE([STRESSAPPTEST_OS_BSD],[],
58 [Defined if the target OS is BSD based])
60 [AC_MSG_WARN([unsupported system: $host_os])]
63 AM_INIT_AUTOMAKE([-Wall -Werror foreign])
64 AC_CONFIG_SRCDIR([src/])
65 AC_CONFIG_HEADER([src/stressapptest_config.h])
67 # Checks for programs.
68 # Don't generate CXXFLAGS defaults: if CXXFLAGS are unset
69 # AC_PROG_CXX will override them with unwanted defaults.
74 #Getting user and host info
76 AC_MSG_CHECKING([user ID])
77 AC_MSG_RESULT([$username])
80 AC_MSG_CHECKING([host name])
81 AC_MSG_RESULT([$hostname])
84 AC_MSG_CHECKING([current timestamp])
85 AC_MSG_RESULT([$timestamp])
87 AC_DEFINE_UNQUOTED([STRESSAPPTEST_TIMESTAMP],
88 "$username @ $hostname on $timestamp",
89 [Timestamp when ./configure was executed])
91 AC_ARG_ENABLE([default-optimizations],
92 [AS_HELP_STRING([--disable-default-optimizations], [Disable default optimization flag overrides])])
93 AS_IF([test x"$enable_default_optimizations" != xno], [
95 CXXFLAGS="$CXXFLAGS -DCHECKOPTS"
96 CXXFLAGS="$CXXFLAGS -Wreturn-type -Wunused -Wuninitialized -Wall"
97 CXXFLAGS="$CXXFLAGS -O3 -funroll-all-loops -funroll-loops -DNDEBUG"
100 # Checks for header files.
103 # Skip malloc.h to prevent redefinition of HAVE_MALLOC_H on some platforms
104 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.])])
105 AC_CHECK_HEADERS([pthread.h])
106 AC_SEARCH_LIBS([pthread_create], [pthread])
107 AC_CHECK_TYPE([pthread_barrier_t], AC_DEFINE(HAVE_PTHREAD_BARRIERS, [1], [Define to 1 if the system has `pthread_barrier'.]))
108 AC_CHECK_HEADERS([libaio.h])
109 AC_SEARCH_LIBS([io_setup], [aio])
110 AC_CHECK_HEADERS([sys/shm.h])
111 AC_SEARCH_LIBS([shm_open], [rt])
114 # Checks for typedefs, structures, and compiler characteristics.
127 # Checks for library functions.
128 AC_FUNC_CLOSEDIR_VOID
129 AC_PROG_GCC_TRADITIONAL
130 AC_FUNC_SELECT_ARGTYPES
134 AC_CHECK_FUNCS([ftruncate gettimeofday memset munmap select socket strtol strtoull])
135 AC_CHECK_FUNCS([mmap64 posix_memalign rand_r sched_getaffinity])
137 AC_CONFIG_FILES([Makefile src/Makefile])