1*424fb153SAndroid Build Coastguard WorkerAC_PREREQ(2.61) 2*424fb153SAndroid Build Coastguard WorkerAC_INIT([stressapptest], [1.0.9_autoconf], [[email protected]]) 3*424fb153SAndroid Build Coastguard Worker 4*424fb153SAndroid Build Coastguard WorkerAC_ARG_WITH(static, [ --with-static enable static linking]) 5*424fb153SAndroid Build Coastguard Worker 6*424fb153SAndroid Build Coastguard Workerif test "$with_static" = "yes" 7*424fb153SAndroid Build Coastguard Workerthen 8*424fb153SAndroid Build Coastguard Worker AC_MSG_NOTICE([Compiling with staticaly linked libraries.]) 9*424fb153SAndroid Build Coastguard Worker LIBS="$LIBS -static" 10*424fb153SAndroid Build Coastguard Workerelse 11*424fb153SAndroid Build Coastguard Worker AC_MSG_NOTICE([Compiling with dynamically linked libraries.]) 12*424fb153SAndroid Build Coastguard Workerfi 13*424fb153SAndroid Build Coastguard Worker 14*424fb153SAndroid Build Coastguard WorkerAC_CANONICAL_HOST 15*424fb153SAndroid Build Coastguard Worker# Checking for target cpu and setting custom configuration 16*424fb153SAndroid Build Coastguard Worker# for the different platforms 17*424fb153SAndroid Build Coastguard WorkerAS_CASE(["$host_cpu"], 18*424fb153SAndroid Build Coastguard Worker [*x86_64*], [ 19*424fb153SAndroid Build Coastguard Worker AC_DEFINE([STRESSAPPTEST_CPU_X86_64],[], 20*424fb153SAndroid Build Coastguard Worker [Defined if the target CPU is x86_64]) 21*424fb153SAndroid Build Coastguard Worker ], 22*424fb153SAndroid Build Coastguard Worker [*i686*], [ 23*424fb153SAndroid Build Coastguard Worker AC_DEFINE([STRESSAPPTEST_CPU_I686],[], 24*424fb153SAndroid Build Coastguard Worker [Defined if the target CPU is i686]) 25*424fb153SAndroid Build Coastguard Worker ], 26*424fb153SAndroid Build Coastguard Worker [*powerpc*], [ 27*424fb153SAndroid Build Coastguard Worker AC_DEFINE([STRESSAPPTEST_CPU_PPC],[], 28*424fb153SAndroid Build Coastguard Worker [Defined if the target CPU is PowerPC]) 29*424fb153SAndroid Build Coastguard Worker ], 30*424fb153SAndroid Build Coastguard Worker [*armv7a*], [ 31*424fb153SAndroid Build Coastguard Worker AC_DEFINE([STRESSAPPTEST_CPU_ARMV7A],[], 32*424fb153SAndroid Build Coastguard Worker [Defined if the target CPU is armv7a]) 33*424fb153SAndroid Build Coastguard Worker ], 34*424fb153SAndroid Build Coastguard Worker [*aarch64*], [ 35*424fb153SAndroid Build Coastguard Worker AC_DEFINE([STRESSAPPTEST_CPU_AARCH64],[], 36*424fb153SAndroid Build Coastguard Worker [Defined if the target CPU is aarch64]) 37*424fb153SAndroid Build Coastguard Worker ], 38*424fb153SAndroid Build Coastguard Worker[AC_MSG_WARN([Unsupported CPU: $host_cpu! Try x86_64, i686, powerpc, armv7a, or aarch64])] 39*424fb153SAndroid Build Coastguard Worker) 40*424fb153SAndroid Build Coastguard Worker 41*424fb153SAndroid Build Coastguard Worker## The following allows like systems to share settings. This is not meant to 42*424fb153SAndroid Build Coastguard Worker## imply that these OS are the same thing. From OpenOffice dmake configure.in 43*424fb153SAndroid Build Coastguard WorkerAS_CASE(["$host_os"], 44*424fb153SAndroid Build Coastguard Worker [*linux*], [ 45*424fb153SAndroid Build Coastguard Worker OS_VERSION=linux 46*424fb153SAndroid Build Coastguard Worker AC_DEFINE([STRESSAPPTEST_OS_LINUX],[], 47*424fb153SAndroid Build Coastguard Worker [Defined if the target OS is Linux]) 48*424fb153SAndroid Build Coastguard Worker ], 49*424fb153SAndroid Build Coastguard Worker [*darwin*], [ 50*424fb153SAndroid Build Coastguard Worker OS_VERSION=macosx 51*424fb153SAndroid Build Coastguard Worker AC_DEFINE([STRESSAPPTEST_OS_DARWIN],[], 52*424fb153SAndroid Build Coastguard Worker [Defined if the target OS is OSX]) 53*424fb153SAndroid Build Coastguard Worker ], 54*424fb153SAndroid Build Coastguard Worker [*freebsd*], [ 55*424fb153SAndroid Build Coastguard Worker OS_VERSION=bsd 56*424fb153SAndroid Build Coastguard Worker AC_DEFINE([STRESSAPPTEST_OS_BSD],[], 57*424fb153SAndroid Build Coastguard Worker [Defined if the target OS is BSD based]) 58*424fb153SAndroid Build Coastguard Worker ], 59*424fb153SAndroid Build Coastguard Worker [*netbsd*], [ 60*424fb153SAndroid Build Coastguard Worker OS_VERSION=bsd 61*424fb153SAndroid Build Coastguard Worker AC_DEFINE([STRESSAPPTEST_OS_BSD],[], 62*424fb153SAndroid Build Coastguard Worker [Defined if the target OS is BSD based]) 63*424fb153SAndroid Build Coastguard Worker ], 64*424fb153SAndroid Build Coastguard Worker [AC_MSG_WARN([unsupported system: $host_os])] 65*424fb153SAndroid Build Coastguard Worker) 66*424fb153SAndroid Build Coastguard Worker 67*424fb153SAndroid Build Coastguard WorkerAM_INIT_AUTOMAKE([-Wall -Werror foreign]) 68*424fb153SAndroid Build Coastguard WorkerAC_CONFIG_SRCDIR([src/]) 69*424fb153SAndroid Build Coastguard WorkerAC_CONFIG_HEADER([src/stressapptest_config.h]) 70*424fb153SAndroid Build Coastguard Worker 71*424fb153SAndroid Build Coastguard Worker# Checks for programs. 72*424fb153SAndroid Build Coastguard Worker# Don't generate CXXFLAGS defaults: if CXXFLAGS are unset 73*424fb153SAndroid Build Coastguard Worker# AC_PROG_CXX will override them with unwanted defaults. 74*424fb153SAndroid Build Coastguard WorkerCXXFLAGS="$CXXFLAGS" 75*424fb153SAndroid Build Coastguard WorkerAC_PROG_CXX 76*424fb153SAndroid Build Coastguard WorkerAC_PROG_CC 77*424fb153SAndroid Build Coastguard Worker 78*424fb153SAndroid Build Coastguard Worker#Getting user and host info 79*424fb153SAndroid Build Coastguard Workerusername=$(whoami) 80*424fb153SAndroid Build Coastguard WorkerAC_MSG_CHECKING([user ID]) 81*424fb153SAndroid Build Coastguard WorkerAC_MSG_RESULT([$username]) 82*424fb153SAndroid Build Coastguard Worker 83*424fb153SAndroid Build Coastguard Workerhostname=$(uname -n) 84*424fb153SAndroid Build Coastguard WorkerAC_MSG_CHECKING([host name]) 85*424fb153SAndroid Build Coastguard WorkerAC_MSG_RESULT([$hostname]) 86*424fb153SAndroid Build Coastguard Worker 87*424fb153SAndroid Build Coastguard Workertimestamp=$(date) 88*424fb153SAndroid Build Coastguard WorkerAC_MSG_CHECKING([current timestamp]) 89*424fb153SAndroid Build Coastguard WorkerAC_MSG_RESULT([$timestamp]) 90*424fb153SAndroid Build Coastguard Worker 91*424fb153SAndroid Build Coastguard WorkerAC_DEFINE_UNQUOTED([STRESSAPPTEST_TIMESTAMP], 92*424fb153SAndroid Build Coastguard Worker "$username @ $hostname on $timestamp", 93*424fb153SAndroid Build Coastguard Worker [Timestamp when ./configure was executed]) 94*424fb153SAndroid Build Coastguard Worker 95*424fb153SAndroid Build Coastguard WorkerAC_ARG_ENABLE([default-optimizations], 96*424fb153SAndroid Build Coastguard Worker [AS_HELP_STRING([--disable-default-optimizations], [Disable default optimization flag overrides])]) 97*424fb153SAndroid Build Coastguard WorkerAS_IF([test x"$enable_default_optimizations" != xno], [ 98*424fb153SAndroid Build Coastguard Worker #Default cxxflags 99*424fb153SAndroid Build Coastguard Worker CXXFLAGS="$CXXFLAGS -DCHECKOPTS" 100*424fb153SAndroid Build Coastguard Worker CXXFLAGS="$CXXFLAGS -Wreturn-type -Wunused -Wuninitialized -Wall" 101*424fb153SAndroid Build Coastguard Worker CXXFLAGS="$CXXFLAGS -O3 -funroll-all-loops -funroll-loops -DNDEBUG" 102*424fb153SAndroid Build Coastguard Worker]) 103*424fb153SAndroid Build Coastguard Worker 104*424fb153SAndroid Build Coastguard Worker# Checks for header files. 105*424fb153SAndroid Build Coastguard WorkerAC_HEADER_DIRENT 106*424fb153SAndroid Build Coastguard WorkerAC_HEADER_STDC 107*424fb153SAndroid Build Coastguard Worker# Skip malloc.h to prevent redefinition of HAVE_MALLOC_H on some platforms 108*424fb153SAndroid Build Coastguard WorkerAC_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.])]) 109*424fb153SAndroid Build Coastguard WorkerAC_CHECK_HEADERS([pthread.h]) 110*424fb153SAndroid Build Coastguard WorkerAC_SEARCH_LIBS([pthread_create], [pthread]) 111*424fb153SAndroid Build Coastguard WorkerAC_CHECK_TYPE([pthread_barrier_t], AC_DEFINE(HAVE_PTHREAD_BARRIERS, [1], [Define to 1 if the system has `pthread_barrier'.])) 112*424fb153SAndroid Build Coastguard WorkerAC_CHECK_HEADERS([libaio.h]) 113*424fb153SAndroid Build Coastguard WorkerAC_SEARCH_LIBS([io_setup], [aio]) 114*424fb153SAndroid Build Coastguard WorkerAC_CHECK_HEADERS([sys/shm.h]) 115*424fb153SAndroid Build Coastguard WorkerAC_SEARCH_LIBS([shm_open], [rt]) 116*424fb153SAndroid Build Coastguard Worker 117*424fb153SAndroid Build Coastguard Worker 118*424fb153SAndroid Build Coastguard Worker# Checks for typedefs, structures, and compiler characteristics. 119*424fb153SAndroid Build Coastguard WorkerAC_HEADER_STDBOOL 120*424fb153SAndroid Build Coastguard WorkerAC_C_CONST 121*424fb153SAndroid Build Coastguard WorkerAC_C_INLINE 122*424fb153SAndroid Build Coastguard WorkerAC_TYPE_PID_T 123*424fb153SAndroid Build Coastguard WorkerAC_C_RESTRICT 124*424fb153SAndroid Build Coastguard WorkerAC_TYPE_SIZE_T 125*424fb153SAndroid Build Coastguard WorkerAC_TYPE_SSIZE_T 126*424fb153SAndroid Build Coastguard WorkerAC_HEADER_TIME 127*424fb153SAndroid Build Coastguard WorkerAC_TYPE_UINT16_T 128*424fb153SAndroid Build Coastguard WorkerAC_C_VOLATILE 129*424fb153SAndroid Build Coastguard Worker 130*424fb153SAndroid Build Coastguard Worker 131*424fb153SAndroid Build Coastguard Worker# Checks for library functions. 132*424fb153SAndroid Build Coastguard WorkerAC_FUNC_CLOSEDIR_VOID 133*424fb153SAndroid Build Coastguard WorkerAC_PROG_GCC_TRADITIONAL 134*424fb153SAndroid Build Coastguard WorkerAC_FUNC_SELECT_ARGTYPES 135*424fb153SAndroid Build Coastguard WorkerAC_TYPE_SIGNAL 136*424fb153SAndroid Build Coastguard WorkerAC_FUNC_STRERROR_R 137*424fb153SAndroid Build Coastguard WorkerAC_FUNC_VPRINTF 138*424fb153SAndroid Build Coastguard WorkerAC_CHECK_FUNCS([ftruncate gettimeofday memset munmap select socket strtol strtoull]) 139*424fb153SAndroid Build Coastguard WorkerAC_CHECK_FUNCS([mmap64 posix_memalign rand_r sched_getaffinity]) 140*424fb153SAndroid Build Coastguard Worker 141*424fb153SAndroid Build Coastguard WorkerAC_CONFIG_FILES([Makefile src/Makefile]) 142*424fb153SAndroid Build Coastguard WorkerAC_OUTPUT 143