1 |
# -*- Autoconf -*- |
2 |
# Process this file with autoconf to produce a configure script. |
3 |
# |
4 |
# configure.in for i-scream ihost |
5 |
# $Id: configure.in,v 1.34 2005/09/24 13:30:40 tdb Exp $ |
6 |
# |
7 |
|
8 |
# Change these to change the package name and version |
9 |
AC_INIT(ihost, 1.5.9, bugs@i-scream.org) |
10 |
AM_INIT_AUTOMAKE(ihost, 1.5.9) |
11 |
|
12 |
# Revision number (automatically updated) |
13 |
AC_REVISION($Revision: 1.34 $) |
14 |
|
15 |
# Might work with older autoconfs... but tested on 2.57 |
16 |
AC_PREREQ(2.57) |
17 |
|
18 |
# The file we use to pass #define's to the source |
19 |
AM_CONFIG_HEADER(config.h) |
20 |
|
21 |
# Checks for programs |
22 |
AC_PROG_CC |
23 |
AC_PROG_INSTALL |
24 |
|
25 |
# User specified libstatgrab prefix |
26 |
AC_ARG_WITH([libstatgrab-prefix], |
27 |
[ --with-libstatgrab-prefix=PATH libstatgrab is in PATH], |
28 |
[ |
29 |
if test -d "$withval/lib"; then |
30 |
LDFLAGS="-L${withval}/lib ${LDFLAGS}" |
31 |
fi |
32 |
if test -d "$withval/include"; then |
33 |
CPPFLAGS="-I${withval}/include ${CPPFLAGS}" |
34 |
fi |
35 |
] |
36 |
) |
37 |
|
38 |
# User specified libukcprog prefix |
39 |
AC_ARG_WITH([libukcprog-prefix], |
40 |
[ --with-libukcprog-prefix=PATH libukcprog is in PATH], |
41 |
[ |
42 |
if test -d "$withval/lib"; then |
43 |
LDFLAGS="-L${withval}/lib ${LDFLAGS}" |
44 |
fi |
45 |
if test -d "$withval/include"; then |
46 |
CPPFLAGS="-I${withval}/include ${CPPFLAGS}" |
47 |
fi |
48 |
] |
49 |
) |
50 |
|
51 |
# Checks for header files |
52 |
AC_HEADER_STDC |
53 |
AC_CHECK_HEADERS(statgrab.h,,[AC_MSG_ERROR([need statgrab.h])]) |
54 |
AC_CHECK_HEADERS(ukcprog.h,,[AC_MSG_ERROR([need ukcprog.h])]) |
55 |
|
56 |
# Checks for typedefs, structures, and compiler characteristics |
57 |
AC_C_CONST |
58 |
|
59 |
# Checks for library functions |
60 |
AC_FUNC_MALLOC |
61 |
AC_FUNC_REALLOC |
62 |
AC_FUNC_FORK |
63 |
AC_CHECK_FUNCS(strlcat) |
64 |
|
65 |
# Figure out details about the host - we need the OS |
66 |
AC_CANONICAL_HOST |
67 |
|
68 |
# Default needing setgid kmem to false |
69 |
AM_CONDITIONAL(SETGIDKMEM, false) |
70 |
|
71 |
# Set things up for different OS's |
72 |
# We define the name of the OS so the code can act accordingly |
73 |
# We also need to add the right LDFLAGS |
74 |
case $host_os in |
75 |
solaris2.*) |
76 |
AC_CHECK_LIB(ukcprog, fpgetline,[:],[AC_MSG_ERROR([need libukcprog])],[-lnsl -lsocket]) |
77 |
AC_DEFINE(SOLARIS, , [Building on Solaris 2.x]) |
78 |
LIBS="$LIBS -lnsl -lsocket -lkstat -ldevinfo -lstatgrab -lukcprog" |
79 |
;; |
80 |
freebsd*) |
81 |
AC_CHECK_LIB(ukcprog, fpgetline,[:],[AC_MSG_ERROR([need libukcprog])]) |
82 |
AC_DEFINE(ALLBSD, , [Building on a BSD-derived system]) |
83 |
AC_DEFINE(FREEBSD, , [Building on FreeBSD]) |
84 |
LIBS="$LIBS -lstatgrab -lkvm -ldevstat -lukcprog" |
85 |
# FreeBSD needs ihost to be setgid kmem |
86 |
AM_CONDITIONAL(SETGIDKMEM, true) |
87 |
;; |
88 |
netbsdelf*) |
89 |
AC_CHECK_LIB(ukcprog, fpgetline,[:],[AC_MSG_ERROR([need libukcprog])]) |
90 |
AC_DEFINE(ALLBSD, , [Building on a BSD-derived system]) |
91 |
AC_DEFINE(NETBSD, , [Building on NetBSD]) |
92 |
LIBS="$LIBS -lstatgrab -lkvm -lukcprog" |
93 |
AM_CONDITIONAL(SETGIDKMEM, true) |
94 |
;; |
95 |
linux-gnu) |
96 |
AC_CHECK_LIB(ukcprog, fpgetline,[:],[AC_MSG_ERROR([need libukcprog])]) |
97 |
AC_DEFINE(LINUX, , [Building on GNU/Linux]) |
98 |
LIBS="$LIBS -lstatgrab -lukcprog" |
99 |
;; |
100 |
cygwin) |
101 |
AC_MSG_ERROR([libstatgrab doesn't fully support cygwin, yet]) |
102 |
;; |
103 |
mingw32) |
104 |
AC_CHECK_LIB(ukcprog, fpgetline,[:],[AC_MSG_ERROR([need libukcprog])]) |
105 |
AC_DEFINE(MINGW, , [Building on MinGW]) |
106 |
AC_DEFINE(WINVER, 0x0500, [Building for Windows 2000]) |
107 |
LIBS="$LIBS -lstatgrab -lukcprog -lws2_32 -lpdh -lIphlpapi -lpsapi -lnetapi32" |
108 |
;; |
109 |
*) |
110 |
AC_MSG_ERROR([Cannot build on unknown OS: $host_os]) |
111 |
;; |
112 |
esac |
113 |
|
114 |
# Check for libstatgrab |
115 |
AC_CHECK_LIB(statgrab, sg_get_host_info,[:],[AC_MSG_ERROR([need libstatgrab])]) |
116 |
|
117 |
# Check for the --with-pid-file option |
118 |
AC_ARG_WITH([pid-file], [ --with-pid-file=FILE location of PID file (default: /var/tmp/.ihost.pid)], [pidfile=$withval], [pidfile=[/var/tmp/.ihost.pid]]) |
119 |
AC_DEFINE_UNQUOTED([PID_FILE], ["$pidfile"], [Location of PID file]) |
120 |
|
121 |
# Check for the --with-max-udp-size option |
122 |
AC_ARG_WITH([max-udp-size], [ --with-max-udp-size=KB maximum size of UDP packets in bytes (default: 8192b)], [max_udp_size=$withval], [max_udp_size=[8192]]) |
123 |
AC_DEFINE_UNQUOTED([MAX_UDP_PACKET_SIZE], [$max_udp_size], [Maximum size of UDP packets in bytes]) |
124 |
|
125 |
# Check for the --with-log-file option |
126 |
AC_ARG_WITH([log-file], [ --with-log-file=FILE location of log file (default: /var/log/ihost.log)], [logfile=$withval], [logfile=[/var/log/ihost.log]]) |
127 |
AC_DEFINE_UNQUOTED([LOG_FILE], ["$logfile"], [Location of log file]) |
128 |
|
129 |
# Check for the --with-server-name option |
130 |
AC_ARG_WITH([server-name], [ --with-server-name=NAME default server name (default: i-scream)], [servername=$withval], [servername=[i-scream]]) |
131 |
AC_DEFINE_UNQUOTED([DEF_SERVER_NAME], ["$servername"], [Default Server Name]) |
132 |
|
133 |
# Check for the --with-server-port option |
134 |
AC_ARG_WITH([server-port], [ --with-server-port=PORT default server port (default: 4567)], [serverport=$withval], [serverport=[4567]]) |
135 |
AC_DEFINE_UNQUOTED([DEF_SERVER_PORT], [$serverport], [Default Server Port]) |
136 |
|
137 |
# And finish by changing these files |
138 |
AC_CONFIG_FILES([Makefile]) |
139 |
|
140 |
AC_OUTPUT |