configure.ac 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588
  1. dnl Process this -*-m4-*- file with autoconf to produce a configure script.
  2. dnl Disable caching
  3. define([AC_CACHE_LOAD],)
  4. define([AC_CACHE_SAVE],)
  5. m4_include([build-aux/custom_help.m4])
  6. AC_INIT([nrpe],[3.0-beta1],[nagios-users@lists.sourceforge.net],[nrpe],[https://www.nagios.org/downloads/nagios-core-addons/])
  7. AC_CONFIG_SRCDIR([src/nrpe.c])
  8. AC_CONFIG_AUX_DIR([build-aux])
  9. AC_PREFIX_DEFAULT(/usr/local/nagios)
  10. PKG_NAME=nrpe
  11. PKG_VERSION="3.0-beta1"
  12. PKG_HOME_URL="http://www.nagios.org/"
  13. PKG_REL_DATE="04-21-2016"
  14. RPM_RELEASE=1
  15. LANG=C
  16. LC_ALL=C
  17. LC_COLLATE=C
  18. LC_CTYPE=C
  19. LC_MESSAGES=C
  20. LC_MONETARY=C
  21. LC_NUMERIC=C
  22. LC_TIME=C
  23. AC_SUBST(PKG_NAME)
  24. AC_SUBST(PKG_VERSION)
  25. AC_SUBST(PKG_HOME_URL)
  26. AC_SUBST(PKG_REL_DATE)
  27. AC_SUBST(RPM_RELEASE)
  28. AC_SUBST(INSTALL)
  29. AC_SUBST(SNPRINTF_O)
  30. AC_SUBST(LDFLAGS)
  31. AC_SUBST(OTHERLIBS)
  32. AC_SUBST(SOCKETLIBS)
  33. AC_SUBST(LIBWRAPLIBS)
  34. AC_SUBST(HAVE_SSL)
  35. AC_SUBST(NRPE_INSTALL_OPTS)
  36. AC_SUBST(log_facility)
  37. AC_SUBST(nrpe_user)
  38. AC_SUBST(nrpe_group)
  39. AC_SUBST(nrpe_port)
  40. AC_SUBST(nagios_user)
  41. AC_SUBST(nagios_group)
  42. AC_SUBST(NAGIOS_INSTALL_OPTS)
  43. AC_SUBST(TARGET_VER)
  44. AC_SUBST(TARGET_OS)
  45. AC_SUBST(TARGET_ARCH)
  46. AC_SUBST(TARGET_PLATFORM)
  47. AC_SUBST(opsys)
  48. AC_SUBST(arch)
  49. AC_SUBST(dist_type)
  50. AC_SUBST(dist_ver)
  51. AC_SUBST(init_type)
  52. AC_SUBST(inetd_type)
  53. AC_SUBST(pkgsysconfdir)
  54. AC_SUBST(objsysconfdir)
  55. AC_SUBST(sbindir)
  56. AC_SUBST(initname)
  57. AC_SUBST(inetdname)
  58. AC_SUBST(pluginsdir)
  59. AC_SUBST(brokersdir)
  60. AC_SUBST(cgibindir)
  61. AC_SUBST(webdir)
  62. AC_SUBST(privatesysconfdir)
  63. AC_SUBST(pkglocalstatedir)
  64. AC_SUBST(logdir)
  65. AC_SUBST(piddir)
  66. AC_SUBST(pipedir)
  67. AC_SUBST(spooldir)
  68. AC_SUBST(initdir)
  69. AC_SUBST(inetddir)
  70. AC_SUBST(tmpfilesd)
  71. AC_SUBST(subsyslockdir)
  72. AC_SUBST(subsyslockfile)
  73. AC_SUBST(src_tmpfile)
  74. AC_SUBST(src_init)
  75. AC_SUBST(src_inetd)
  76. AC_SUBST(bsd_enable)
  77. dnl Figure out how to invoke "install" and what install options to use.
  78. AC_PROG_INSTALL
  79. dnl Get O/S, Distribution, init, inetd, system-specific directories
  80. AC_NAGIOS_GET_OS
  81. AC_NAGIOS_GET_DISTRIB_TYPE
  82. AC_NAGIOS_GET_INIT
  83. AC_NAGIOS_GET_INETD
  84. AC_NAGIOS_GET_PATHS
  85. AC_NAGIOS_GET_FILES
  86. if test "$dist_type" = solaris -a "$dist_ver" != smf11; then
  87. AC_DEFINE(SOLARIS_10,yes)
  88. fi
  89. dnl Do they just want to see where things will go?
  90. if test x${showdirs_only} = xyes; then
  91. AC_CONFIG_FILES([paths])
  92. AC_OUTPUT()
  93. chmod 755 paths
  94. ./paths
  95. exit 0
  96. fi
  97. AC_CONFIG_HEADERS([include/config.h])
  98. AC_CONFIG_FILES([Makefile
  99. src/Makefile
  100. package/solaris/Makefile
  101. nrpe.spec
  102. uninstall
  103. sample-config/nrpe.cfg
  104. startup/bsd-init
  105. startup/debian-init
  106. startup/default-init
  107. startup/default-inetd
  108. startup/default-service
  109. startup/default-socket
  110. startup/default-socket-svc
  111. startup/default-xinetd
  112. startup/mac-org.nagios.PKG_NAME.plist
  113. startup/newbsd-init
  114. startup/openbsd-init
  115. startup/openrc-conf
  116. startup/openrc-init
  117. startup/solaris-init.xml
  118. startup/solaris-inetd.xml
  119. startup/tmpfile.conf
  120. startup/upstart-init
  121. startup/rh-upstart-init
  122. ])
  123. dnl Checks for programs.
  124. AC_PROG_CC
  125. AC_PROG_MAKE_SET
  126. dnl Checks for header files.
  127. AC_HEADER_STDC
  128. AC_HEADER_TIME
  129. AC_HEADER_SYS_WAIT
  130. AC_CHECK_HEADERS(ctype.h dirent.h errno.h fcntl.h getopt.h grp.h inttypes.h)
  131. AC_CHECK_HEADERS(netdb.h pwd.h signal.h stdint.h strings.h string.h syslog.h)
  132. AC_CHECK_HEADERS(tcpd.h unistd.h arpa/inet.h netinet/in.h socket.h sys/types.h)
  133. AC_CHECK_HEADERS(sys/time.h sys/resource.h sys/wait.h sys/socket.h sys/stat.h)
  134. AC_CHECK_HEADERS(paths.h)
  135. dnl Checks for typedefs, structures, and compiler characteristics.
  136. AC_C_CONST
  137. AC_STRUCT_TM
  138. AC_TYPE_MODE_T
  139. AC_TYPE_PID_T
  140. AC_TYPE_SIZE_T
  141. AC_TYPE_SIGNAL
  142. AC_TYPE_GETGROUPS
  143. dnl Check lengths for later tests of u_int32_t and int32_t
  144. AC_CHECK_SIZEOF(int)
  145. AC_CHECK_SIZEOF(short)
  146. AC_CHECK_SIZEOF(long)
  147. dnl Define u_int32_t if we don't have it already (Solaris, etc.)
  148. AC_CHECK_TYPE(uint32_t,unsigned int)
  149. AC_CHECK_TYPE(u_int32_t,unsigned int)
  150. if test "$ac_cv_type_u_int32_t" = no ; then
  151. if test "$ac_cv_type_u_int32_t" = yes ; then
  152. AC_DEFINE(U_INT32_T_IS_UINT32_T,[1],[u_int32_t is uint32_t])
  153. else
  154. if test "$ac_cv_sizeof_int" = 4 ; then
  155. AC_DEFINE(U_INT32_T_IS_UINT,[1],[u_int32_t is uint])
  156. else
  157. if test "$ac_cv_sizeof_long" = 4 ; then
  158. AC_DEFINE(U_INT32_T_IS_ULONG,[1],[u_int32_t is ulong])
  159. else
  160. if test "$ac_cv_sizeof_short" = 4 ; then
  161. AC_DEFINE(U_INT32_T_IS_USHORT,[1],[u_int32_t is ushort])
  162. fi
  163. fi
  164. fi
  165. fi
  166. fi
  167. dnl Define int32_t if we don't have it already
  168. AC_CHECK_TYPE(int32_t,int)
  169. if test "$ac_cv_type_int32_t" = no ; then
  170. if test "$ac_cv_sizeof_int" = 4 ; then
  171. AC_DEFINE(INT32_T_IS_UINT,[1],[int32_t is uint])
  172. else
  173. if test "$ac_cv_sizeof_long" = 4 ; then
  174. AC_DEFINE(INT32_T_IS_ULONG,[1],[int32_t is ulong])
  175. else
  176. if test "$ac_cv_sizeof_short" = 4 ; then
  177. AC_DEFINE(INT32_T_IS_USHORT,[1],[int32_t is ushort])
  178. fi
  179. fi
  180. fi
  181. fi
  182. dnl Check for struct sockaddr_storate
  183. AC_CHECK_TYPES([struct sockaddr_storage],[],[],[#include <sys/socket.h>])
  184. dnl Should we use seteuid() or setresuid()?
  185. AC_CHECK_FUNC(seteuid,
  186. AC_DEFINE(SETEUID(id),[seteuid(id)]),
  187. AC_DEFINE(SETEUID(id),[setresuid((uid_t) -1, id, (uid_t) -1)])
  188. )
  189. dnl Check for asprintf() and friends...
  190. AC_CACHE_CHECK([for va_copy],ac_cv_HAVE_VA_COPY,[
  191. AC_TRY_LINK([#include <stdarg.h>
  192. va_list ap1,ap2;], [va_copy(ap1,ap2);],
  193. ac_cv_HAVE_VA_COPY=yes,
  194. ac_cv_HAVE_VA_COPY=no)])
  195. if test x"$ac_cv_HAVE_VA_COPY" = x"yes"; then
  196. AC_DEFINE(HAVE_VA_COPY,1,[Whether va_copy() is available])
  197. else
  198. AC_CACHE_CHECK([for __va_copy],ac_cv_HAVE___VA_COPY,[
  199. AC_TRY_LINK([#include <stdarg.h>
  200. va_list ap1,ap2;], [__va_copy(ap1,ap2);],
  201. ac_cv_HAVE___VA_COPY=yes,
  202. ac_cv_HAVE___VA_COPY=no)])
  203. if test x"$ac_cv_HAVE___VA_COPY" = x"yes"; then
  204. AC_DEFINE(HAVE___VA_COPY,1,[Whether __va_copy() is available])
  205. fi
  206. fi
  207. AC_CHECK_FUNC(vsnprintf,,SNPRINTF_O=./snprintf.o)
  208. AC_CHECK_FUNC(snprintf,,SNPRINTF_O=./snprintf.o)
  209. AC_CHECK_FUNC(asprintf,,SNPRINTF_O=./snprintf.o)
  210. AC_CHECK_FUNC(vasprintf,,SNPRINTF_O=./snprintf.o)
  211. AC_CACHE_CHECK([for C99 vsnprintf],ac_cv_HAVE_C99_VSNPRINTF,[
  212. AC_TRY_RUN([
  213. #include <sys/types.h>
  214. #include <stdarg.h>
  215. void foo(const char *format, ...) {
  216. va_list ap;
  217. int len;
  218. char buf[5];
  219. va_start(ap, format);
  220. len = vsnprintf(buf, 0, format, ap);
  221. va_end(ap);
  222. if (len != 5) exit(1);
  223. va_start(ap, format);
  224. len = vsnprintf(0, 0, format, ap);
  225. va_end(ap);
  226. if (len != 5) exit(1);
  227. if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
  228. exit(0);
  229. }
  230. main() { foo("hello"); }
  231. ],
  232. ac_cv_HAVE_C99_VSNPRINTF=yes,ac_cv_HAVE_C99_VSNPRINTF=no,ac_cv_HAVE_C99_VSNPRINTF=cross)])
  233. if test x"$ac_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
  234. AC_DEFINE(HAVE_C99_VSNPRINTF,1,[Define if system has C99 compatible vsnprintf])
  235. fi
  236. dnl AC_CHECK_FUNC(snprintf,AC_DEFINE(HAVE_SNPRINTF),SNPRINTF_O=./snprintf.o)
  237. dnl Check for getopt_long (Solaris)
  238. AC_CHECK_FUNCS([getopt_long],,AC_CHECK_LIB([iberty],[getopt_long],OTHERLIBS="$OTHERLIBS -liberty"))
  239. dnl Checks for library functions.
  240. AC_CHECK_LIB(nsl,main,SOCKETLIBS="$SOCKETLIBS -lnsl")
  241. AC_CHECK_LIB(socket,socket,SOCKETLIBS="$SOCKETLIBS -lsocket")
  242. AC_CHECK_LIB(wrap,main,[
  243. LIBWRAPLIBS="$LIBWRAPLIBS -lwrap"
  244. AC_DEFINE(HAVE_LIBWRAP,[1],[Have the TCP wrappers library])
  245. AC_TRY_LINK([#include <tcpd.h>
  246. ],[int a = rfc931_timeout;],AC_DEFINE(HAVE_RFC931_TIMEOUT))
  247. ])
  248. AC_CHECK_FUNCS(strdup strstr strtoul strtok_r initgroups closesocket sigaction)
  249. dnl socklen_t check - from curl
  250. AC_CHECK_TYPE([socklen_t], ,[
  251. AC_MSG_CHECKING([for socklen_t equivalent])
  252. AC_CACHE_VAL([curl_cv_socklen_t_equiv],
  253. [
  254. # Systems have either "struct sockaddr *" or
  255. # "void *" as the second argument to getpeername
  256. curl_cv_socklen_t_equiv=
  257. for arg2 in "struct sockaddr" void; do
  258. for t in int size_t unsigned long "unsigned long"; do
  259. AC_TRY_COMPILE([
  260. #ifdef HAVE_SYS_TYPES_H
  261. #include <sys/types.h>
  262. #endif
  263. #ifdef HAVE_SYS_SOCKET_H
  264. #include <sys/socket.h>
  265. #endif
  266. int getpeername (int, $arg2 *, $t *);
  267. ],[
  268. $t len;
  269. getpeername(0,0,&len);
  270. ],[
  271. curl_cv_socklen_t_equiv="$t"
  272. break
  273. ])
  274. done
  275. done
  276. if test "x$curl_cv_socklen_t_equiv" = x; then
  277. AC_MSG_ERROR([Cannot find a type to use in place of socklen_t])
  278. fi
  279. ])
  280. AC_MSG_RESULT($curl_cv_socklen_t_equiv)
  281. AC_DEFINE_UNQUOTED(socklen_t, $curl_cv_socklen_t_equiv,
  282. [type to use in place of socklen_t if not defined])],
  283. [#include <sys/types.h>
  284. #include <sys/socket.h>])
  285. AC_MSG_CHECKING(for type of socket size)
  286. AC_TRY_COMPILE([#include <stdlib.h>
  287. #include <sys/types.h>
  288. #include <sys/socket.h>
  289. ],
  290. [int a = send(1, (const void *)0, (size_t *) 0, (int *) 0);],
  291. [AC_DEFINE(SOCKET_SIZE_TYPE, size_t, [Socket Size Type]) AC_MSG_RESULT(size_t)],
  292. [AC_DEFINE(SOCKET_SIZE_TYPE, int, [Socket Size Type]) AC_MSG_RESULT(int)])
  293. dnl Does user want to check for SSL?
  294. AC_ARG_ENABLE([ssl],
  295. AS_HELP_STRING([--enable-ssl],[enables native SSL support]),[
  296. if test x$enableval = xyes; then
  297. check_for_ssl=yes
  298. else
  299. check_for_ssl=no
  300. fi
  301. ],check_for_ssl=yes)
  302. dnl Optional SSL library and include paths
  303. ssl_dir=
  304. ssl_inc_dir=
  305. ssl_lib_dir=
  306. ssl_usedh=
  307. AC_ARG_WITH([dh],
  308. AS_HELP_STRING([--with-dh],[use --without-dh to turn of DH keys]),
  309. [ssl_usedh=$withval])
  310. AC_ARG_WITH([ssl],
  311. AS_HELP_STRING([--with-ssl=DIR],[sets location of the SSL installation]),
  312. [ssl_dir=$withval])
  313. AC_ARG_WITH([ssl-inc],
  314. AS_HELP_STRING([--with-ssl-inc=DIR],
  315. [sets location of the SSL include files]),
  316. [ ssl_inc_dir=$withval])
  317. AC_ARG_WITH([ssl-lib],
  318. AS_HELP_STRING([--with-ssl-lib=DIR],[sets location of the SSL libraries]),
  319. [ssl_lib_dir=$withval])
  320. AC_ARG_WITH([kerberos-inc],
  321. AS_HELP_STRING([--with-kerberos-inc=DIR],
  322. [sets location of the Kerberos include files]),
  323. [kerberos_inc_dir=$withval])
  324. dnl Check for SSL support
  325. dnl Modified version of Mark Ethan Trostler's macro <trostler@juniper.net>
  326. if test x$check_for_ssl = xyes; then
  327. AC_MSG_CHECKING(for SSL headers)
  328. found_ssl=no
  329. for dir in $ssl_inc_dir $ssl_dir /usr/local/openssl /usr/local/opt/openssl \
  330. /usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /usr \
  331. /usr/freeware/lib/openssl /usr/sfw /usr/sfw/include \
  332. /opt/openssl; do
  333. ssldir="$dir"
  334. if test -f "$dir/include/openssl/ssl.h"; then
  335. found_ssl=yes
  336. CFLAGS="$CFLAGS -I$dir/include/openssl -I$ssldir/include"
  337. sslincdir="$dir/include/openssl"
  338. break
  339. fi
  340. if test -f "$dir/include/ssl.h"; then
  341. found_ssl=yes
  342. CFLAGS="$CFLAGS -I$dir/include"
  343. sslincdir="$dir/include"
  344. break
  345. fi
  346. if test -f "$dir/ssl.h"; then
  347. found_ssl=yes
  348. CFLAGS="$CFLAGS -I$dir"
  349. sslincdir="$dir"
  350. ssldir="$dir/.."
  351. break
  352. fi
  353. if test -f "$dir/openssl/ssl.h"; then
  354. found_ssl=yes
  355. CFLAGS="$CFLAGS -I$dir/openssl"
  356. sslincdir="$dir/openssl"
  357. ssldir="$dir/.."
  358. break
  359. fi
  360. done
  361. if test x_$found_ssl != x_yes; then
  362. AC_MSG_ERROR(Cannot find ssl headers)
  363. else
  364. AC_MSG_RESULT(found in $ssldir)
  365. dnl Now try and find SSL libraries
  366. AC_MSG_CHECKING(for SSL libraries)
  367. found_ssl=no
  368. if test "`uname -s`" = "Darwin" ; then
  369. soext="dylib"
  370. elif test "`uname -s`" = "HP-UX" ; then
  371. if test x$arch = "xia64"; then
  372. soext="so"
  373. else
  374. soext="sl"
  375. fi
  376. elif test "`uname -s`" = "AIX" ; then
  377. soext="a"
  378. else
  379. soext="so"
  380. fi
  381. for dir in $ssl_lib_dir $ssldir $ssldir/lib $ssldir/lib64 /usr/lib64 \
  382. /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/i386-linux-gnu \
  383. /usr/local/lib /usr/lib/ssl /usr/ssl/lib /usr/openssl/lib \
  384. /usr/pkg/lib /usr/freeware/lib/openssl /usr/sfw/lib \
  385. /opt/freeware/lib /opt/openssl/lib/hpux64 \
  386. /opt/openssl/lib/pa20_64 /opt/openssl/lib/hpux32 \
  387. /opt/openssl/lib /opt/openssl; do
  388. ssllibdir="$dir"
  389. if test "$dist_type" = "openbsd"; then
  390. if test -f $dir/libssl.$soext*; then
  391. found_ssl=yes
  392. break
  393. fi
  394. elif test -f "$dir/libssl.$soext"; then
  395. found_ssl=yes
  396. break
  397. fi
  398. done
  399. if test x_$found_ssl != x_yes; then
  400. AC_MSG_ERROR(Cannot find ssl libraries)
  401. else
  402. AC_MSG_RESULT(found in $ssllibdir)
  403. LDFLAGS="$LDFLAGS -L$ssllibdir";
  404. LIBS="$LIBS -lssl -lcrypto";
  405. AC_DEFINE_UNQUOTED(HAVE_SSL,[1],[Have SSL support])
  406. AC_PATH_PROG(sslbin,openssl,value-if-not-found,$ssldir/sbin$PATH_SEPARATOR$ssldir/bin$PATH_SEPARATOR$PATH)
  407. if test x$ssl_usedh = xno; then
  408. echo "skipping DH Parameter generation"
  409. else
  410. AC_DEFINE(USE_SSL_DH)
  411. dnl Generate DH parameters
  412. if test -f "$sslbin"; then
  413. echo ""
  414. echo "*** Generating DH Parameters for SSL/TLS ***"
  415. # awk to strip off meta data at bottom of dhparam output
  416. $sslbin dhparam -C 2048 | awk '/^-----/ {exit} {print}' > include/dh.h
  417. fi
  418. fi
  419. fi
  420. fi
  421. dnl RedHat 8.0 and 9.0 include openssl compiled with kerberos, so we must include header file
  422. AC_MSG_CHECKING(for Kerberos include files)
  423. found_kerberos=no
  424. for dir in $kerberos_inc_dir /usr/kerberos/include; do
  425. kerbdir="$dir"
  426. if test -f "$dir/krb5.h"; then
  427. found_kerberos=yes
  428. CFLAGS="$CFLAGS -I$kerbdir"
  429. AC_DEFINE_UNQUOTED(HAVE_KRB5_H,[1],[Have the krb5.h header file])
  430. dnl AC_CHECK_HEADERS(krb5.h)
  431. break
  432. fi
  433. done
  434. if test x_$found_kerberos != x_yes; then
  435. AC_MSG_WARN(could not find include files)
  436. else
  437. AC_MSG_RESULT(found Kerberos include files in $kerbdir)
  438. fi
  439. fi
  440. AC_ARG_WITH([log_facility],
  441. AS_HELP_STRING([--with-log-facility=<facility>],
  442. [sets NRPE syslog facility]),
  443. [log_facility=$withval],
  444. [log_facility=daemon])
  445. AC_DEFINE_UNQUOTED(NRPE_LOG_FACILITY,["$log_facility"],[NRPE syslog facility])
  446. AC_ARG_WITH([nrpe_user],
  447. AS_HELP_STRING([--with-nrpe-user=<user>],[sets user name to run NRPE]),
  448. [nrpe_user=$withval],
  449. [nrpe_user=nagios])
  450. AC_ARG_WITH([nrpe_group],
  451. AS_HELP_STRING([--with-nrpe-group=<group>],[sets group name to run NRPE]),
  452. [nrpe_group=$withval],
  453. [nrpe_group=nagios])
  454. AC_ARG_WITH([nrpe_port],
  455. AS_HELP_STRING([--with-nrpe-port=<port>],
  456. [sets port number for NRPE to listen on]),
  457. [nrpe_port=$withval],
  458. [nrpe_port=5666])
  459. NRPE_INSTALL_OPTS="-o $nrpe_user -g $nrpe_group"
  460. AC_DEFINE_UNQUOTED(DEFAULT_SERVER_PORT,$nrpe_port,[Default port for NRPE daemon])
  461. AC_ARG_WITH([nagios_user],
  462. AS_HELP_STRING([--with-nagios-user=<user>],
  463. [sets user name for file permissions]),
  464. [nagios_user=$withval],
  465. [nagios_user=nagios])
  466. AC_ARG_WITH([nagios_group],
  467. AS_HELP_STRING([--with-nagios-group=<grp>],
  468. [sets group name file permissions]),
  469. [nagios_group=$withval],
  470. [nagios_group=nagios])
  471. NAGIOS_INSTALL_OPTS="-o $nagios_user -g $nagios_group"
  472. dnl On HP-UX the compile will fail with a 'Duplicate symbol "setenv"' error
  473. dnl in '/usr/local/lib/libwrap.a(setenv.o)' and '/usr/local/lib/libiberty.a(setenv.o)'
  474. dnl so allow duplicate symbols, and use the first one
  475. if test "`uname -s`" = "HP-UX" ; then
  476. LDFLAGS="$LDFLAGS -Wl,+allowdups";
  477. fi
  478. # Determine target OS, version and architecture for package build macros
  479. if test "x$target_ver" = "x" ; then
  480. TARGET_VER=`uname -r`
  481. else
  482. TARGET_VER=$target_ver
  483. fi
  484. if test "x$target_os" = "x" ; then
  485. TARGET_OS=`uname -s`
  486. else
  487. TARGET_OS=$target_os
  488. fi
  489. if test "x$target_cpu" = "x" ; then
  490. TARGET_ARCH=`uname -p`
  491. else
  492. TARGET_ARCH=$target_cpu
  493. fi
  494. TARGET_PLATFORM=""
  495. if test "x$TARGET_OS" = "xSunOS" ; then
  496. if test "x$TARGET_VER" = "x5.10" ; then
  497. TARGET_PLATFORM="sol10"
  498. fi
  499. fi
  500. AC_ARG_ENABLE([command-args],
  501. AS_HELP_STRING([--enable-command-args],[allows clients to specify command arguments. *** THIS IS A SECURITY RISK! *** Read the SECURITY file before using this option!]),
  502. AC_DEFINE_UNQUOTED(ENABLE_COMMAND_ARGUMENTS,[1],[Enable command-line arguments]))
  503. AC_ARG_ENABLE([bash-command-substitution],
  504. AS_HELP_STRING([--enable-bash-command-substitution],[allows clients to pass bash command substitutions of the form $(command). *** THIS IS A HIGH SECURITY RISK! *** Read the SECURITY file before using this option!]),
  505. AC_DEFINE_UNQUOTED(ENABLE_BASH_COMMAND_SUBSTITUTION,[1],[Enable bash command substitution]))
  506. AC_PATH_PROG(PERL,perl)
  507. AC_OUTPUT()
  508. dnl Review options
  509. echo ""
  510. echo ""
  511. AC_MSG_RESULT([*** Configuration summary for $PKG_NAME $PKG_VERSION $PKG_REL_DATE ***:])
  512. echo "";\
  513. echo " General Options:";\
  514. echo " -------------------------"
  515. AC_MSG_RESULT([ NRPE port: $nrpe_port])
  516. AC_MSG_RESULT([ NRPE user: $nrpe_user])
  517. AC_MSG_RESULT([ NRPE group: $nrpe_group])
  518. AC_MSG_RESULT([ Nagios user: $nagios_user])
  519. AC_MSG_RESULT([ Nagios group: $nagios_group])
  520. echo "";\
  521. echo "";\
  522. echo "Review the options above for accuracy. If they look okay,";\
  523. echo "type 'make all' to compile the NRPE daemon and client";\
  524. echo "or type 'make' to get a list of make options.";\
  525. echo ""