blob: f82eff9d0220287c881a07404e4404978cd18ec6 [file] [log] [blame]
Hisham Muhammadd6231ba2006-03-04 18:16:49 +00001# -*- Autoconf -*-
2# Process this file with autoconf to produce a configure script.
3
4AC_PREREQ(2.57)
Hisham Muhammadb70b35e2007-11-08 23:53:03 +00005AC_INIT([htop],[0.7],[loderunner@users.sourceforge.net])
Hisham Muhammadd6231ba2006-03-04 18:16:49 +00006AM_INIT_AUTOMAKE
7AC_CONFIG_SRCDIR([htop.c])
8AC_CONFIG_HEADER([config.h])
9
10# Checks for programs.
11AC_PROG_CC
Hisham Muhammad4df76d12008-03-05 09:46:47 +000012AM_PROG_CC_C_O
13
14AM_DISABLE_SHARED
15AM_ENABLE_STATIC
16AC_PROG_LIBTOOL
Hisham Muhammadd6231ba2006-03-04 18:16:49 +000017
18# Checks for libraries.
Hisham Muhammade46f1422006-07-12 01:15:14 +000019AC_CHECK_LIB([m], [ceil], [], [missing_libraries="$missing_libraries libm"])
20
21if test ! -z "$missing_libraries"; then
Hisham Muhammad0f027de2006-11-13 20:06:31 +000022 AC_MSG_ERROR([missing libraries: $missing_libraries])
Hisham Muhammade46f1422006-07-12 01:15:14 +000023fi
Hisham Muhammadd6231ba2006-03-04 18:16:49 +000024
25# Checks for header files.
26AC_HEADER_DIRENT
27AC_HEADER_STDC
Hisham Muhammade46f1422006-07-12 01:15:14 +000028AC_CHECK_HEADERS([stdlib.h string.h strings.h sys/param.h sys/time.h unistd.h curses.h],[:],[
29 missing_headers="$missing_headers $ac_header"
30])
31
32if test ! -z "$missing_headers"; then
Hisham Muhammad0f027de2006-11-13 20:06:31 +000033 AC_MSG_ERROR([missing headers: $missing_headers])
Hisham Muhammade46f1422006-07-12 01:15:14 +000034fi
Hisham Muhammadd6231ba2006-03-04 18:16:49 +000035
36# Checks for typedefs, structures, and compiler characteristics.
37AC_HEADER_STDBOOL
38AC_C_CONST
39AC_TYPE_PID_T
40AC_TYPE_UID_T
41
42# Checks for library functions.
43AC_FUNC_CLOSEDIR_VOID
44AC_FUNC_MALLOC
45AC_FUNC_REALLOC
46AC_TYPE_SIGNAL
47AC_FUNC_STAT
48AC_CHECK_FUNCS([memmove strncasecmp strstr strdup])
49
Hisham Muhammad4df76d12008-03-05 09:46:47 +000050save_cflags="${CFLAGS}"
Hisham Muhammadd6231ba2006-03-04 18:16:49 +000051CFLAGS="${CFLAGS} -std=c99"
52AC_MSG_CHECKING([whether gcc -std=c99 option works])
53AC_TRY_COMPILE(AC_INCLUDES_DEFAULT, [char *a; a = strdup("foo"); int i = 0; i++; // C99],
54 AC_MSG_RESULT([yes]),
55 AC_MSG_ERROR([htop is written in C99. A newer version of gcc is required.]))
Hisham Muhammad4df76d12008-03-05 09:46:47 +000056CFLAGS="$save_cflags"
Hisham Muhammadd6231ba2006-03-04 18:16:49 +000057
58PROCDIR=/proc
59AC_ARG_WITH(proc, [ --with-proc=DIR Location of a Linux-compatible proc filesystem (default=/proc).],
60
61 if test -n "$withval"; then
62 AC_DEFINE_UNQUOTED(PROCDIR, "$withval", [Path of proc filesystem])
Hisham Muhammadbd613882006-05-18 20:22:36 +000063 PROCDIR="$withval"
Hisham Muhammadd6231ba2006-03-04 18:16:49 +000064 fi,
65 AC_DEFINE(PROCDIR, "/proc", [Path of proc filesystem]))
66
Hisham Muhammad4c51ad02007-08-10 05:07:14 +000067AC_ARG_ENABLE(openvz, [AC_HELP_STRING([--enable-openvz], [enable OpenVZ support])], ,enable_openvz="no")
68if test "x$enable_openvz" = xyes; then
Hisham Muhammad8fa33dc2008-03-09 02:33:23 +000069 AC_DEFINE(HAVE_OPENVZ, 1, [Define if openvz support enabled.])
70fi
71
72AC_ARG_ENABLE(unicode, [AC_HELP_STRING([--enable-unicode], [enable Unicode support])], ,enable_unicode="no")
73if test "x$enable_unicode" = xyes; then
74 AC_CHECK_LIB([ncursesw], [refresh], [], [missing_libraries="$missing_libraries libncursesw"])
75else
76 AC_CHECK_LIB([ncurses], [refresh], [], [missing_libraries="$missing_libraries libncurses"])
Hisham Muhammad4c51ad02007-08-10 05:07:14 +000077fi
78
Hisham Muhammadbd613882006-05-18 20:22:36 +000079AC_CHECK_FILE($PROCDIR/stat,,AC_MSG_ERROR(Cannot find /proc/stat. Make sure you have a Linux-compatible /proc filesystem mounted. See the file README for help.))
80AC_CHECK_FILE($PROCDIR/meminfo,,AC_MSG_ERROR(Cannot find /proc/meminfo. Make sure you have a Linux-compatible /proc filesystem mounted. See the file README for help.))
Hisham Muhammadd6231ba2006-03-04 18:16:49 +000081
Hisham Muhammad4df76d12008-03-05 09:46:47 +000082PLPA_INCLUDED(plpa-1.1)
83PLPA_INIT(plpa_happy=yes, plpa_happy=no)
84if test "x$plpa_happy" = xno; then
85 AC_MSG_ERROR([Failed to initialize PLPA.])
86fi
87
Hisham Muhammadd6231ba2006-03-04 18:16:49 +000088AC_CONFIG_FILES([Makefile])
89AC_OUTPUT