]> granicus.if.org Git - sysstat/blob - configure.in
Make sure that datafiles with unknown activities can be read by sar
[sysstat] / configure.in
1 # configure.in
2 #
3 # (C) 2007 - Ivana Varekova <varekova@redhat.com>
4 # Modified by Sebastien Godard (sysstat <at> orange.fr)
5
6 # Initialization of $PACKAGE_VERSION and $PACKAGE_NAME variables
7 AC_INIT(sysstat, 12.5.6)
8
9 # Ensure that a recent enough version of Autoconf is being used
10 AC_PREREQ(2.53)
11
12 # Check whether the configure script is in the right dir
13 AC_CONFIG_SRCDIR(ioconf.h)
14
15 # Check programs
16 echo .
17 echo Check programs:
18 echo .
19
20 AC_PROG_CC
21 AC_GNU_SOURCE
22 AC_PROG_LN_S
23
24 DFLAGS=""
25
26 AC_CHECK_PROG(CHMOD, chmod, chmod)
27 AC_CHECK_PROG(CHOWN, chown, chown)
28 AC_CHECK_PROG(AR, ar, ar)
29 AC_CHECK_PROG(INSTALL, install, install)
30 AC_CHECK_PROG(MSGFMT, msgfmt, msgfmt)
31 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
32 AC_CHECK_PROG(MSGMERGE, msgmerge, msgmerge)
33 AC_CHECK_PROG(VER_XML, xmllint, xmllint)
34 AC_CHECK_PROGS(VER_JSON, json_verify json_pp, true)
35 AC_CHECK_PROGS(ZIP, xz bzip2 gzip, gzip)
36 INSTALL_DATA="\${INSTALL} -m 644"
37 AC_SUBST(INSTALL_DATA)
38 INSTALL_BIN="\${INSTALL} -m 755"
39 AC_SUBST(INSTALL_BIN)
40
41 AC_SUBST(VER_JSON)
42 AC_SUBST(VER_XML)
43
44 AC_PATH_PROG(PATH_CP, cp)
45 AC_PATH_PROG(PATH_CHKCONFIG, chkconfig)
46
47 # Check for systemd
48 AC_CHECK_PROG(PKG_CONFIG, pkg-config, pkg-config)
49 AC_PATH_PROG(SYSTEMCTL, systemctl)
50 AC_ARG_WITH([systemdsystemunitdir],
51     AS_HELP_STRING([--with-systemdsystemunitdir=DIR],[Directory for systemd service files]),
52     [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
53 if test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ; then
54     AC_SUBST([SYSTEMD_UNIT_DIR], [$with_systemdsystemunitdir])
55 fi
56 AC_ARG_WITH([systemdsleepdir],
57     AS_HELP_STRING([--with-systemdsleepdir=DIR],[Directory for systemd suspend/resume scripts]),
58     [], [with_systemdsleepdir=$($PKG_CONFIG --variable=systemdsleepdir systemd)])
59 if test -n "$with_systemdsleepdir" -a "x$with_systemdsleepdir" != xno ; then
60     AC_SUBST([SYSTEMD_SLEEP_DIR], [$with_systemdsleepdir])
61 fi
62
63 # Check libraries
64
65 # Check header files
66 echo .
67 echo Check header files:
68 echo .
69 HAVE_LIBINTL_H=
70 HAVE_LOCALE_H=
71 HAVE_SYS_SYSMACROS_H=
72 HAVE_SYS_PARAM_H=
73 AC_CHECK_HEADERS(ctype.h)
74 AC_CHECK_HEADERS(errno.h)
75 AC_CHECK_HEADERS(libintl.h, HAVE_LIBINTL_H=1)
76 AC_CHECK_HEADERS(locale.h, HAVE_LOCALE_H=1)
77 AC_CHECK_HEADERS(linux/sched.h, HAVE_LINUX_SCHED_H=1)
78 AC_CHECK_HEADERS(net/if.h)
79 AC_CHECK_HEADERS(regex.h)
80 AC_CHECK_HEADERS(signal.h)
81 AC_CHECK_HEADERS(stdio.h)
82 AC_CHECK_HEADERS(stdint.h)
83 AC_CHECK_HEADERS(fcntl.h)
84 AC_CHECK_HEADERS(inttypes.h)
85 AC_CHECK_HEADERS(libgen.h)
86 AC_CHECK_HEADERS(pwd.h)
87 AC_CHECK_HEADERS(time.h)
88 AC_CHECK_HEADERS(unistd.h)
89 AC_CHECK_HEADERS(pcp/pmapi.h, HAVE_PCP_PMAPI_H=1)
90 AC_CHECK_HEADERS(pcp/impl.h, HAVE_PCP_IMPL_H=1)
91 AC_CHECK_HEADERS(sys/time.h)
92 AC_CHECK_HEADERS(sys/statvfs.h)
93 AC_CHECK_HEADERS(sys/types.h)
94 AC_CHECK_HEADERS(sys/file.h)
95 AC_CHECK_HEADERS(sys/ioctl.h)
96 AC_CHECK_HEADERS(sys/param.h, HAVE_SYS_PARAM_H=1)
97 AC_CHECK_HEADERS(sys/stat.h)
98 AC_CHECK_HEADERS(sys/sysmacros.h, HAVE_SYS_SYSMACROS_H=1)
99 AC_CHECK_HEADERS(sys/utsname.h)
100
101 echo .
102 echo Check typedefs, structures and compiler characteristics:
103 echo .
104 AC_TYPE_SIGNAL
105 AC_TYPE_SIZE_T
106 AC_TYPE_OFF_T
107
108 echo .
109 echo Check library functions:
110 echo .
111 AC_CHECK_FUNCS(strchr)
112 AC_CHECK_FUNCS(strcspn)
113 AC_CHECK_FUNCS(strspn)
114 AC_CHECK_FUNCS(strstr)
115
116 # Should we check for PCP support?
117 AC_MSG_CHECKING(for PCP support)
118 AC_ARG_ENABLE(pcp,
119               AC_HELP_STRING([--disable-pcp],
120                              [disable PCP support]),
121                              PCP=$enableval,PCP=yes)
122 if test $PCP != "yes"; then
123         HAVE_PCP="n"
124 else
125         HAVE_PCP="y"
126 fi
127
128 if test ! $HAVE_PCP_PMAPI_H; then
129         HAVE_PCP="n"
130         PCP=no
131 fi
132 AC_MSG_RESULT($PCP)
133
134 # Check for PCP libraries
135 LFPCP=""
136 DFPCP=""
137 if test $HAVE_PCP = "y"; then
138         PCP=no
139         AC_CHECK_LIB(pcp, pmGetVersion, LFPCP="-lpcp -lpcp_import", HAVE_PCP="n")
140         AC_MSG_CHECKING(for PCP libraries)
141         AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <pcp/pmapi.h>
142                                              #include <pcp/import.h>]],
143                                            [[pmiEnd();]])],PCP=yes; DFPCP="-DHAVE_PCP", HAVE_PCP="n"; PCP=no)
144         AC_MSG_RESULT($PCP)
145 fi
146 AC_SUBST(HAVE_PCP)
147 AC_SUBST(LFPCP)
148 AC_SUBST(DFPCP)
149
150 if test $HAVE_PCP_IMPL_H; then
151    PCP_IMPL="y"
152 else
153    PCP_IMPL="n"
154 fi
155 AC_SUBST(PCP_IMPL)
156
157 # Should we check for lm_sensors?
158 AC_MSG_CHECKING(for sensors support)
159 AC_ARG_ENABLE(sensors,
160               AC_HELP_STRING([--disable-sensors],
161                              [disable sensors support]),
162                              SENSORS=$enableval,SENSORS=yes)
163 if test $SENSORS != "yes"; then
164         SENSORS_SUPPORT="n"
165 else
166         SENSORS_SUPPORT="y"
167 fi
168 AC_MSG_RESULT($SENSORS)
169
170 # Check for lm_sensors library
171 LFSENSORS=""
172 DFSENSORS=""
173 HAVE_SENSORS="n"
174 if test $SENSORS_SUPPORT = "y"; then
175         SENSORS=no
176         AC_CHECK_LIB(sensors, sensors_get_detected_chips, LFSENSORS="-lsensors", HAVE_SENSORS="n")
177         AC_MSG_CHECKING(for sensors library)
178         AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sensors/sensors.h>
179                                              #include <sensors/error.h>]],
180                                            [[sensors_cleanup();]])], SENSORS=yes; HAVE_SENSORS="y"; DFSENSORS="-DHAVE_SENSORS", HAVE_SENSORS="n"; SENSORS=no)
181         AC_MSG_RESULT($SENSORS)
182 fi
183 AC_SUBST(HAVE_SENSORS)
184 AC_SUBST(LFSENSORS)
185 AC_SUBST(DFSENSORS)
186
187 # Check for 32-bit version of lm_sensors library
188 LFSENSORS32=""
189 DFSENSORS32=""
190 HAVE_SENSORS32="n"
191 if test $SENSORS_SUPPORT = "y"; then
192         CFLAGS_SAVE=$CFLAGS
193         CFLAGS+=" -m32"
194         LDFLAGS=" -lsensors"
195         SENSORS=no
196 #       Check for another function to avoid using cached result
197         AC_CHECK_LIB(sensors, sensors_cleanup, LFSENSORS32="-lsensors", HAVE_SENSORS32="n")
198         AC_MSG_CHECKING(for sensors 32-bit library)
199         AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sensors/sensors.h>
200                                           #include <sensors/error.h>]],
201                                         [[sensors_cleanup();]])], SENSORS=yes; HAVE_SENSORS32="y"; DFSENSORS32="-DHAVE_SENSORS32", HAVE_SENSORS32="n"; SENSORS=no)
202         AC_MSG_RESULT($SENSORS)
203         CFLAGS=$CFLAGS_SAVE
204 fi
205 AC_SUBST(HAVE_SENSORS32)
206 AC_SUBST(LFSENSORS32)
207 AC_SUBST(DFSENSORS32)
208
209 # Check for 32-bit system libraries
210 TGLIB32=no
211 CFLAGS_SAVE=$CFLAGS
212 CFLAGS+=" -m32"
213 AC_MSG_CHECKING(for 32-bit system libraries)
214 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]],
215                                    [[printf("%d\n", sizeof(long));]])],TGLIB32=yes, TGLIB32=no)
216 AC_MSG_RESULT($TGLIB32)
217 CFLAGS=$CFLAGS_SAVE
218 AC_SUBST(TGLIB32)
219
220 echo .
221 echo Check system services:
222 echo .
223 AC_SYS_LARGEFILE
224
225 echo .
226 echo Check configuration:
227 echo .
228 # Check arguments used
229 #
230 # Optional Features:
231 #  --disable-FEATURE        do not include FEATURE (same as --enable-FEATURE=no)
232 #  --enable-FEATURE[=ARG]   include FEATURE [ARG=yes]
233 #  --disable-largefile      omit support for large files
234 #  --disable-nls            disable National Language Support
235 #  --disable-file-attr      don't set attributes on files being installed
236 #  --enable-install-cron    tell sysstat to install cron scripts
237 #  --collect-all            tell sadc to collect all possible data
238 #  --enable-clean-sa-dir    clean system activity directory
239 #  --disable-compress-manpg do not compress manual pages when installed
240 #  --enable-debuginfo       enable debug output (--debuginfo option)
241 #  --disable-documentation  do not install documentation (man pages...)
242 #  --disable-sensors        do not link against libsensors even if available
243 #  --disable-pcp            do not link against PCP libraries even if available
244 #  --disable-stripping      do not strip object files
245 #  --enable-copy-only       only copy files when installing sysstat
246 #  --enable-use-crond       use standard cron daemon
247 #  --enable-lto             compile with Link Time Optimizations
248 #
249 # Some influential environment variables:
250 #  rcdir         directory where startup scripts are installed
251 #  sa_lib_dir    sadc, sa1 and sa2 directory
252 #  sa_dir        system activity daily datafiles directory
253 #  sar_dir       sar binary location. Used only in sa2 shell script
254 #  conf_dir      sysstat configuration directory (default is /etc/sysconfig)
255 #  conf_file     sysstat configuration file (default is sysstat)
256 #  history       number of daily datafiles to keep (default value is 7)
257 #  delay_range   maximum delay (in seconds) to wait before sa2 script generates its reports
258 #  compressafter number of days after which datafiles are compressed
259 #  man_group     group for man pages
260 #  cron_owner    crontab owner
261 #  cron_interval crontab sampling interval
262 #  sadc_options  options to be passed to sadc
263 #
264 # Fine tuning the installation directories:
265 #  --mandir=DIR           man documentation directory [PREFIX/man]
266 #  --docdir=DIR           other documentation directory [PREFIX/share/doc]
267 #
268 # Installation directories:
269 #  --prefix=PREFIX         install architecture-independent files in PREFIX
270 #                            [/usr/local]
271 #  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
272 #                            [PREFIX]
273
274 # Set directories
275 if test -d /etc/init.d && test ! -L /etc/init.d; then
276    if test -d /etc/init.d/rc2.d; then
277       RC_DIR=/etc/init.d
278       INITD_DIR=.
279    else
280       RC_DIR=/etc
281       INITD_DIR=init.d
282    fi
283    INIT_DIR=/etc/init.d
284 elif test -d /sbin/init.d; then
285    RC_DIR=/sbin/init.d
286    INIT_DIR=/sbin/init.d
287    INITD_DIR=.
288 else
289    RC_DIR=/etc/rc.d
290    INIT_DIR=/etc/rc.d/init.d
291    INITD_DIR=init.d
292 fi
293
294 AC_MSG_CHECKING(run-commands directory)
295 AC_ARG_VAR([rcdir],[run-commands directory])
296 if test x$rcdir != x""; then
297         # Override previous rc directories values
298         RC_DIR=$rcdir
299         INIT_DIR=$rcdir/init.d
300         INITD_DIR=init.d
301 fi
302 AC_MSG_RESULT($RC_DIR)
303 if test ! -d $RC_DIR; then
304         echo "INFO: Directory ${RC_DIR} doesn't exist."
305         echo "INFO: Startup scripts won't be installed."
306 fi
307
308 AC_SUBST(RC_DIR)
309 AC_SUBST(INIT_DIR)
310 AC_SUBST(INITD_DIR)
311
312 if test $HAVE_SYS_SYSMACROS_H; then
313    SYSMACROS="y"
314 else
315    SYSMACROS="n"
316 fi
317 AC_SUBST(SYSMACROS)
318
319 if test $HAVE_LINUX_SCHED_H; then
320    LINUX_SCHED="y"
321 else
322    LINUX_SCHED="n"
323 fi
324 AC_SUBST(LINUX_SCHED)
325
326 if test $HAVE_SYS_PARAM_H; then
327    SYSPARAM="y"
328 else
329    SYSPARAM="n"
330 fi
331 AC_SUBST(SYSPARAM)
332
333 # Set sadc directory
334 if test $prefix != "NONE"; then
335    AuxPrefix=$prefix
336 else
337    AuxPrefix=/usr/local
338 fi
339
340 SADC_DIR=$AuxPrefix/lib
341 if test -d $AuxPrefix/lib64; then
342     # Verify that this OS is really 64 bit
343     BITS=$(getconf LONG_BIT 2>/dev/null)
344     if test $? = 0; then
345         if test $BITS = 64; then
346             SADC_DIR=$AuxPrefix/lib64
347         fi
348     else
349         # Fallback: look for lm (long mode) flag to know if CPU is 64 bit
350         grep " lm " /proc/cpuinfo >/dev/null 2>&1
351         if test $? = 0; then
352             SADC_DIR=$AuxPrefix/lib64
353         fi
354     fi
355 fi
356
357 AC_MSG_CHECKING(sadc directory)
358 AC_ARG_VAR([sa_lib_dir],[sadc directory])
359 if test x$sa_lib_dir != x""; then
360    SA_LIB_DIR=$sa_lib_dir
361 else
362    SA_LIB_DIR=$SADC_DIR/sa
363 fi
364 AC_MSG_RESULT($SA_LIB_DIR)
365 if test ! -d $SA_LIB_DIR; then
366    echo "INFO: Directory ${SA_LIB_DIR} will be created during installation stage."
367 fi
368 AC_SUBST(SA_LIB_DIR)
369
370 # Set system activity directory
371 AC_MSG_CHECKING(system activity directory)
372 AC_ARG_VAR([sa_dir],[system activity directory])
373 if test x$sa_dir != x""; then
374    SA_DIR=$sa_dir
375 else
376    SA_DIR=/var/log/sa
377 fi
378 AC_MSG_RESULT($SA_DIR)
379 if test ! -d $SA_DIR; then
380    echo "INFO: Directory ${SA_DIR} will be created during installation stage." 
381 fi
382 AC_SUBST(SA_DIR)
383
384 # sar binary location. Used only in sa2 shell script
385 AC_MSG_CHECKING(sar directory)
386 AC_ARG_VAR([sar_dir],[sar directory])
387 if test x$sar_dir != x""; then
388    SAR_DIR=$sar_dir
389 else
390    SAR_DIR=
391 fi
392 AC_MSG_RESULT($SAR_DIR)
393 AC_SUBST(SAR_DIR)
394
395 # Set configuration directory
396 AC_MSG_CHECKING(sysstat configuration directory)
397 AC_ARG_VAR([conf_dir],[sysstat configuration directory])
398 if test x$conf_dir != x""; then
399    SYSCONFIG_DIR=$conf_dir
400 else
401    SYSCONFIG_DIR=/etc/sysconfig
402 fi
403 AC_MSG_RESULT($SYSCONFIG_DIR)
404 if test ! -d $SYSCONFIG_DIR; then
405    echo "INFO: Directory ${SYSCONFIG_DIR} will be created during installation stage." 
406 fi
407 AC_SUBST(SYSCONFIG_DIR)
408
409 # Set configuration directory
410 AC_MSG_CHECKING(sysstat configuration file)
411 AC_ARG_VAR([conf_file],[sysstat configuration file])
412 if test x$conf_file != x""; then
413    SYSCONFIG_FILE=$conf_file
414 else
415    SYSCONFIG_FILE=sysstat
416 fi
417 AC_MSG_RESULT($SYSCONFIG_FILE)
418 AC_SUBST(SYSCONFIG_FILE)
419
420 # National Language Support
421 AC_MSG_CHECKING(National Language Support)
422 AC_ARG_ENABLE(nls,
423               AC_HELP_STRING([--disable-nls],
424                              [disable National Language Support]),
425                              AUX_NLS=$enableval,AUX_NLS=yes)
426 if test $AUX_NLS != "no" && test $HAVE_LIBINTL_H && test $HAVE_LOCALE_H; then
427    AUX_NLS="yes"
428    NLS="y"
429 else
430    AUX_NLS="no"
431    NLS="n"
432 fi
433 AC_MSG_RESULT($AUX_NLS)
434 AC_CHECK_LIB(intl, gettext, LFINTL="-lintl")
435 AC_SUBST(LFINTL)
436 LACKING_GETTEXT="n"
437 if test $AUX_NLS = "yes" &&  test x$MSGFMT != x"msgfmt"; then 
438    echo "WARNING: msgfmt command not found!"
439    LACKING_GETTEXT="y"
440 fi
441 if test $AUX_NLS = "yes" &&  test x$XGETTEXT != x"xgettext"; then 
442    echo "WARNING: xgettext command not found!"
443    LACKING_GETTEXT="y"
444 fi
445 if test $AUX_NLS = "yes" &&  test x$MSGMERGE != x"msgmerge"; then 
446    echo "WARNING: msgmerge command not found!"
447    LACKING_GETTEXT="y"
448 fi
449 if test $NLS = "y" && test $LACKING_GETTEXT = "y"; then
450    echo "WARNING: Disabling NLS"
451    NLS="n"
452 fi
453 AC_SUBST(NLS)
454
455 # Link Time Optimization
456 AC_MSG_CHECKING(Link Time Optimization support)
457 AC_ARG_ENABLE(lto,
458               AC_HELP_STRING([--enable-lto],
459                              [enable Link Time Optimization]),
460                              AUX_LTO=$enableval,AUX_LTO=no)
461 AC_MSG_RESULT($AUX_LTO)
462 LTO="n"
463 if test $AUX_LTO = "yes"; then
464         AC_CHECK_PROG(GCC_AR, gcc-ar, gcc-ar)
465         if test x$GCC_AR != x"gcc-ar"; then
466                 echo "WARNING: gcc-ar command not found! Disabling LTO support"
467                 AUX_LTO="no"
468         else
469                 LTO="y"
470         fi
471 fi
472 AC_SUBST(LTO)
473
474 # Data history to keep by sa2
475 AC_MSG_CHECKING(number of daily data files to keep)
476 AC_ARG_VAR([history],[number of daily data files to keep (default value is 7)]) 
477 if test x$history = x""; then
478    HISTORY=7
479 else
480    HISTORY=$history
481 fi
482 AC_MSG_RESULT($HISTORY)
483 AC_SUBST(HISTORY)
484
485 # Number of days after which datafiles are compressed
486 AC_MSG_CHECKING(number of days after which data files are compressed)
487 AC_ARG_VAR([compressafter],[number of days after which data files are compressed (default value is 10)])
488 if test x$compressafter = x""; then
489    COMPRESSAFTER=10
490 else
491    COMPRESSAFTER=$compressafter
492 fi
493 AC_MSG_RESULT($COMPRESSAFTER)
494 AC_SUBST(COMPRESSAFTER)
495
496 # Random delay to wait before sa2 script runs
497 AC_MSG_CHECKING(random delay to wait before sa2 script runs)
498 AC_ARG_VAR([delay_range],[maximum delay (in seconds) to wait before sa2 script generates its reports])
499 if test x$delay_range = x""; then
500    DELAY_RANGE=0
501 else
502    DELAY_RANGE=$delay_range
503 fi
504 AC_MSG_RESULT($DELAY_RANGE)
505 AC_SUBST(DELAY_RANGE)
506
507 # Manual page group
508 grep ^man: /etc/group >/dev/null 2>&1
509 if test $? = 0; then
510    GRP=man
511 else
512    GRP=root
513 fi
514
515 AC_MSG_CHECKING(group for manual pages)
516 AC_ARG_VAR([man_group],[group for manual pages])
517 if test x$man_group = x""; then
518    MAN_GROUP=$GRP
519    AC_MSG_RESULT($MAN_GROUP)
520 else
521    grep ^$man_group: /etc/group >/dev/null 2>&1
522    if test $? = 1; then 
523       MAN_GROUP=$GRP
524       AC_MSG_RESULT($MAN_GROUP) 
525       echo "WARNING: Group ${man_group} not found: Using ${GRP} instead"
526    else
527       MAN_GROUP=$man_group
528       AC_MSG_RESULT($MAN_GROUP)
529    fi
530 fi
531 AC_SUBST(MAN_GROUP)
532
533 # Don't set attributes on files being installed?
534 AC_MSG_CHECKING(whether attributes should not be set on files being installed)
535 AC_ARG_ENABLE(file-attr,
536               AC_HELP_STRING([--disable-file-attr],
537                              [do not set attributes on files being installed]),
538                              AUX_IMG=$enableval,AUX_IMG=yes)
539 if test $AUX_IMG != "no"; then
540    IGNORE_FILE_ATTRIBUTES=n
541    AUX_IMG=no
542 else
543    IGNORE_FILE_ATTRIBUTES=y
544    AUX_IMG=yes
545 fi
546 AC_MSG_RESULT($AUX_IMG)
547 AC_SUBST(IGNORE_FILE_ATTRIBUTES)
548
549 # Compress manual pages?
550 AC_MSG_CHECKING(whether manual pages should be compressed)
551 AC_ARG_ENABLE(compress-manpg,
552               AC_HELP_STRING([--disable-compress-manpg],
553                              [do not compress sysstat manual pages]),
554                              AUX_MPG=$enableval,AUX_MPG=yes)
555 if test $AUX_MPG != "yes"; then
556    COMPRESS_MANPG=n
557 else
558    COMPRESS_MANPG=y
559 fi
560 AC_MSG_RESULT($AUX_MPG)
561 AC_SUBST(COMPRESS_MANPG)
562
563 # Check whether sa directory should be cleaned
564 AC_MSG_CHECKING(whether system activity directory should be cleaned)
565 AC_ARG_ENABLE(clean-sa-dir,
566               AC_HELP_STRING([--enable-clean-sa-dir],
567                              [clean system activity directory]),
568                             AUX_CSD=$enableval,AUX_CSD=no)
569 if test $AUX_CSD != "yes"; then
570    CLEAN_SA_DIR=n
571    AUX_CSD=no
572 else
573    CLEAN_SA_DIR=y
574 fi
575 AC_MSG_RESULT($AUX_CSD)
576 AC_SUBST(CLEAN_SA_DIR)
577
578 # Start crontab
579 AC_MSG_CHECKING(whether cron should start sar automatically)
580 AC_ARG_ENABLE(install-cron, 
581               AC_HELP_STRING([--enable-install-cron],
582                              [install a crontab to start sar]),
583                              INSTALL_CRON=$enableval,INSTALL_CRON=n)
584 if test $INSTALL_CRON != "yes"; then
585    INSTALL_CRON=n
586    AUX_CRON=no
587 else 
588    INSTALL_CRON=y
589    AUX_CRON=yes
590 fi
591 AC_MSG_RESULT($AUX_CRON)
592 AC_SUBST(INSTALL_CRON)
593
594 # Crontab owner
595 CUSR="root"
596 if test $INSTALL_CRON = "y"; then 
597    AC_MSG_CHECKING(crontab owner)
598    AC_ARG_VAR([cron_owner],[crontab owner])
599    if test x$cron_owner = x""; then
600       CRON_OWNER=$CUSR
601       AC_MSG_RESULT($CRON_OWNER)
602    else
603       grep ^$cron_owner: /etc/passwd >/dev/null 2>&1
604       if test $? = 1; then
605          CRON_OWNER=$CUSR;
606          AC_MSG_RESULT($CRON_OWNER)
607          echo "WARNING: User ${cron_owner} not found: Using ${CUSR} instead."
608       else 
609          CRON_OWNER=$cron_owner
610          AC_MSG_RESULT($CRON_OWNER)
611       fi
612    fi
613    echo "INFO: Crontab for ${CRON_OWNER} will be saved in current directory if necessary"
614    if test $CRON_OWNER = "root"; then 
615       SU_C_OWNER=""
616       QUOTE=""
617       REM_CHOWN="# REM_CHOWN"
618    else 
619       SU_C_OWNER="su $CRON_OWNER -c "
620       QUOTE=\"
621       # " (ignore this line)
622       REM_CHOWN=$CHOWN
623    fi
624
625 #  Check whether we should use the standard cron daemon
626    AC_MSG_CHECKING(whether we should use the standard cron daemon)
627    AC_ARG_ENABLE(use-crond,
628                  AC_HELP_STRING([--enable-use-crond],
629                                 [use standard cron daemon]),
630                                 UCROND=$enableval,UCROND=no)
631    if test $UCROND != "yes"; then
632       USE_CROND=n
633       UCROND=no
634    else
635       USE_CROND=y
636    fi
637    AC_MSG_RESULT($UCROND)
638    AC_SUBST(USE_CROND)
639
640 #  Crontab interval
641    AC_MSG_CHECKING(crontab interval)
642    AC_ARG_VAR([cron_interval],[crontab interval])
643    if test x$cron_interval = x""; then
644       CRON_INTERVAL=10
645    else
646       CRON_INTERVAL=$cron_interval
647    fi
648    AC_MSG_RESULT($CRON_INTERVAL)
649    CRON_INTERVAL_SEC=`expr ${CRON_INTERVAL} \* 60`
650    CRON_COUNT=`expr 60 / ${CRON_INTERVAL}`
651
652 #  Check whether sadc should collect all possible activities
653    AC_MSG_CHECKING(whether sadc should collect all possible activities)
654    AC_ARG_ENABLE(collect-all, 
655                  AC_HELP_STRING([--enable-collect-all],
656                                 [collect all possible activities]),
657                                 COLLECT_ALL=$enableval,COLLECT_ALL=n)
658    if test $COLLECT_ALL != "yes"; then
659       COLLECT_ALL=""
660       AUX_COLL=no
661    else 
662       COLLECT_ALL="-S XALL"
663       AUX_COLL=yes
664    fi
665    AC_MSG_RESULT($AUX_COLL)
666
667    AC_MSG_CHECKING(options to be passed to sadc)
668    AC_ARG_VAR([sadc_options],[options to be passed to sadc])
669    if test x"$sadc_options" != x""; then
670         SADC_OPT="$sadc_options"
671    else
672         SADC_OPT=
673    fi
674    AC_MSG_RESULT($SADC_OPT)
675    AC_SUBST(SADC_OPT)
676
677 #  Check whether files should only be copied
678    AC_MSG_CHECKING(whether files should only be copied)
679    AC_ARG_ENABLE(copy-only,
680                  AC_HELP_STRING([--enable-copy-only],
681                                 [only copy files when installing]),
682                                 OCOPY=$enableval,OCOPY=no)
683    if test $OCOPY != "yes"; then
684       COPY_ONLY=n
685       OCOPY=no
686    else
687       COPY_ONLY=y
688    fi
689    AC_MSG_RESULT($OCOPY)
690    AC_SUBST(COPY_ONLY)
691
692 else
693    CRON_OWNER="root"
694    SU_C_OWNER=""
695    QUOTE=""
696    REM_CHOWN="# REM_CHOWN"
697    CRON_INTERVAL=10
698    CRON_INTERVAL_SEC=600
699    CRON_COUNT=6
700    COLLECT_ALL=""
701 fi
702 AC_SUBST(CRON_OWNER)
703 AC_SUBST(SU_C_OWNER)
704 AC_SUBST(CRON_INTERVAL)
705 AC_SUBST(CRON_INTERVAL_SEC)
706 AC_SUBST(CRON_COUNT)
707 AC_SUBST(QUOTE)
708 AC_SUBST(REM_CHOWN)
709 AC_SUBST(COLLECT_ALL)
710
711 # Check whether documentation should be installed
712 AC_MSG_CHECKING(whether documentation should be installed)
713 AC_ARG_ENABLE(documentation,
714               AC_HELP_STRING([--disable-documentation],
715                              [do not install documentation]),
716                              AUX_DOC=$enableval,AUX_DOC=yes)
717 if test $AUX_DOC != "no"; then
718    AUX_DOC="yes"
719    INSTALL_DOC="y"
720 else
721    AUX_DOC="no"
722    INSTALL_DOC="n"
723 fi
724 AC_MSG_RESULT($AUX_DOC)
725 AC_SUBST(INSTALL_DOC)
726
727 # Set directory for installing manual pages (see comment in Makefile)
728 AC_SUBST(mandir)
729
730 # Check whether debug mode should be activated
731 AC_MSG_CHECKING(whether debug mode should be activated)
732 AC_ARG_ENABLE(debuginfo, 
733               AC_HELP_STRING([--enable-debuginfo],
734                              [enable debug output (--debuginfo option)]),
735                              WITH_DEBUG=yes ; DFLAGS="$DFLAGS -DDEBUG" , WITH_DEBUG=no)
736 AC_MSG_RESULT($WITH_DEBUG)
737 AC_SUBST(DFLAGS)
738 AC_SUBST(WITH_DEBUG)
739
740 # Check whether object files should be stripped
741 AC_MSG_CHECKING(whether object files should be stripped)
742 AC_ARG_ENABLE(stripping,
743               AC_HELP_STRING([--disable-stripping],
744                              [do not strip object files]),
745                              AUX_STRIP=$enableval,AUX_STRIP=yes)
746 if test $AUX_STRIP != "no"; then
747    AUX_STRIP="yes"
748    STRIP="-s"
749 else
750    AUX_STRIP="no"
751    STRIP=
752 fi
753 AC_MSG_RESULT($AUX_STRIP)
754 AC_SUBST(STRIP)
755
756 # Create files
757 echo .
758 echo Now create files:
759 echo .
760 AC_CONFIG_FILES([sa1], [chmod +x sa1])          # Permissions must be changed
761 AC_CONFIG_FILES([sa2], [chmod +x sa2])          # Permissions must be changed
762 AC_CONFIG_FILES([cron/crontab:cron/crontab.sample])     # File must be renamed
763 AC_CONFIG_FILES([sysstat.sysconfig])
764 AC_CONFIG_FILES([version.h:version.in])         # File must be renamed
765 AC_CONFIG_FILES([sysconfig.h:sysconfig.in])     # File must be renamed
766 AC_CONFIG_FILES([cron/sysstat.cron.daily])
767 AC_CONFIG_FILES([cron/sysstat.cron.hourly])
768 AC_CONFIG_FILES([cron/sysstat.crond])
769 AC_CONFIG_FILES([cron/sysstat.crond.sample.in:cron/sysstat.crond.in], [sed s/^/#/ cron/sysstat.crond.sample.in > cron/sysstat.crond.sample])
770 AC_CONFIG_FILES([sysstat], [chmod +x sysstat])  # Permissions must be changed
771 AC_CONFIG_FILES([sysstat.service])
772 AC_CONFIG_FILES([cron/sysstat-collect.service])
773 AC_CONFIG_FILES([cron/sysstat-collect.timer])
774 AC_CONFIG_FILES([cron/sysstat-summary.service])
775 AC_CONFIG_FILES([cron/sysstat-summary.timer])
776 AC_CONFIG_FILES([cron/sysstat.sleep], [chmod +x cron/sysstat.sleep])    # Permissions must be changed
777 AC_CONFIG_FILES([man/sa1.8:man/sa1.in])         # File must be renamed
778 AC_CONFIG_FILES([man/sa2.8:man/sa2.in])         # File must be renamed
779 AC_CONFIG_FILES([man/sadc.8:man/sadc.in])       # File must be renamed
780 AC_CONFIG_FILES([man/sadf.1:man/sadf.in])       # File must be renamed
781 AC_CONFIG_FILES([man/sar.1:man/sar.in])         # File must be renamed
782 AC_CONFIG_FILES([man/sysstat.5:man/sysstat.in]) # File must be renamed
783 AC_CONFIG_FILES([man/iostat.1:man/iostat.in])   # File must be renamed
784 AC_CONFIG_FILES([man/cifsiostat.1:man/cifsiostat.in])   # File must be renamed
785 AC_CONFIG_FILES([tests/variables])
786
787 AC_OUTPUT(Makefile)
788
789 echo "
790    Sysstat version:             $PACKAGE_VERSION
791    Installation prefix:         $prefix
792    rc directory:                ${RC_DIR}
793    Init directory:              ${INIT_DIR}"
794 if test "$UCROND" != "yes"; then
795    echo "   Systemd unit dir:           ${with_systemdsystemunitdir}"
796    echo "   Systemd sleep dir:          ${with_systemdsleepdir}"
797 else
798    echo "   Use standard cron daemon"
799 fi
800 echo "   Configuration file:            ${SYSCONFIG_DIR}/${SYSCONFIG_FILE}
801    Man pages directory:         $mandir
802    Compiler:                    $CC
803    Compiler flags:              $CFLAGS
804 "