1 AC_PREREQ(2.61) 2 AC_INIT([stressapptest], [1.0.4_autoconf], [opensource (a] google.com]) 3 4 AC_ARG_WITH(static, [ --with-static enable static linking]) 5 6 if test "$with_static" == "yes" 7 then 8 AC_MSG_NOTICE([Compiling with staticaly linked libraries.]) 9 LIBS="$LIBS -static" 10 else 11 AC_MSG_NOTICE([Compiling with dynamically linked libraries.]) 12 fi 13 14 AC_CANONICAL_HOST 15 AC_CANONICAL_BUILD 16 # Checking for target cpu and setting custom configuration 17 # for the different platforms 18 AC_CANONICAL_TARGET 19 case x"$target_cpu" in 20 "xx86_64") 21 AC_DEFINE([STRESSAPPTEST_CPU_X86_64],[], 22 [Defined if the target CPU is x86_64]) 23 ;; 24 "xi686") 25 AC_DEFINE([STRESSAPPTEST_CPU_I686],[], 26 [Defined if the target CPU is i686]) 27 ;; 28 "xpowerpc") 29 AC_DEFINE([STRESSAPPTEST_CPU_PPC],[], 30 [Defined if the target CPU is PowerPC]) 31 ;; 32 "xarmv7a") 33 AC_DEFINE([STRESSAPPTEST_CPU_ARMV7A],[], 34 [Defined if the target CPU is armv7a]) 35 ;; 36 *) 37 AC_MSG_ERROR([$target_cpu is not supported! Try x86_64, i686, powerpc, or armv7a]) 38 ;; 39 esac 40 41 _os=`uname` 42 ## The following allows like systems to share settings. This is not meant to 43 ## imply that these OS are the same thing. From OpenOffice dmake configure.in 44 case "$_os" in 45 "Linux") 46 OS_VERSION=linux 47 AC_DEFINE([STRESSAPPTEST_OS_LINUX],[], 48 [Defined if the target OS is Linux]) 49 ;; 50 "Darwin") 51 OS_VERSION=macosx 52 AC_DEFINE([STRESSAPPTEST_OS_DARWIN],[], 53 [Defined if the target OS is OSX]) 54 ;; 55 "FreeBSD") 56 OS_VERSION=bsd 57 AC_DEFINE([STRESSAPPTEST_OS_BSD],[], 58 [Defined if the target OS is BSD based]) 59 ;; 60 "NetBSD") 61 OS_VERSION=bsd 62 AC_DEFINE([STRESSAPPTEST_OS_BSD],[], 63 [Defined if the target OS is BSD based]) 64 ;; 65 *) 66 AC_MSG_ERROR([$_os operating system is not suitable to build dmake!]) 67 ;; 68 esac 69 70 AM_INIT_AUTOMAKE([-Wall -Werror foreign]) 71 AC_CONFIG_SRCDIR([src/]) 72 AC_CONFIG_HEADER([src/stressapptest_config.h]) 73 74 # Checks for programs. 75 # Don't generate CXXFLAGS defaults: if CXXFLAGS are unset 76 # AC_PROG_CXX will override them with unwanted defaults. 77 CXXFLAGS="$CXXFLAGS" 78 AC_PROG_CXX 79 AC_PROG_CC 80 81 #Getting user and host info 82 username=$(whoami) 83 AC_MSG_CHECKING([user ID]) 84 AC_MSG_RESULT([$username]) 85 86 hostname=$(uname -n) 87 AC_MSG_CHECKING([host name]) 88 AC_MSG_RESULT([$hostname]) 89 90 timestamp=$(date) 91 AC_MSG_CHECKING([current timestamp]) 92 AC_MSG_RESULT([$timestamp]) 93 94 AC_DEFINE_UNQUOTED([STRESSAPPTEST_TIMESTAMP], 95 "$username @ $hostname on $timestamp", 96 [Timestamp when ./configure was executed]) 97 98 #Default cxxflags 99 CXXFLAGS="$CXXFLAGS -DCHECKOPTS" 100 CXXFLAGS="$CXXFLAGS -Wreturn-type -Wunused -Wuninitialized -Wall -Wno-psabi" 101 CXXFLAGS="$CXXFLAGS -O3 -funroll-all-loops -funroll-loops -DNDEBUG" 102 103 # Checks for header files. 104 AC_HEADER_DIRENT 105 AC_HEADER_STDC 106 # Skip malloc.h to prevent redefinition of HAVE_MALLOC_H on some platforms 107 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.])]) 108 AC_CHECK_HEADERS([pthread.h]) 109 AC_SEARCH_LIBS([pthread_create], [pthread]) 110 AC_CHECK_HEADERS([libaio.h]) 111 AC_SEARCH_LIBS([io_setup], [aio]) 112 AC_CHECK_HEADERS([sys/shm.h]) 113 AC_SEARCH_LIBS([shm_open], [rt]) 114 115 # Checks for typedefs, structures, and compiler characteristics. 116 AC_HEADER_STDBOOL 117 AC_C_CONST 118 AC_C_INLINE 119 AC_TYPE_PID_T 120 AC_C_RESTRICT 121 AC_TYPE_SIZE_T 122 AC_TYPE_SSIZE_T 123 AC_HEADER_TIME 124 AC_TYPE_UINT16_T 125 AC_C_VOLATILE 126 127 128 # Checks for library functions. 129 AC_FUNC_CLOSEDIR_VOID 130 AC_PROG_GCC_TRADITIONAL 131 AC_FUNC_SELECT_ARGTYPES 132 AC_TYPE_SIGNAL 133 AC_FUNC_STRERROR_R 134 AC_FUNC_VPRINTF 135 AC_CHECK_FUNCS([ftruncate gettimeofday memset munmap select socket strtol strtoull]) 136 AC_CHECK_FUNCS([mmap64 posix_memalign rand_r sched_getaffinity]) 137 138 AC_CONFIG_FILES([Makefile src/Makefile]) 139 AC_OUTPUT 140