xref: /aosp_15_r20/external/stressapptest/configure.ac (revision 424fb153c814cbcb3e8904974796228774b3229a)
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