1dnl $Id: configure.ac 741 2013-09-07 13:34:02Z des $
2
3AC_PREREQ([2.62])
4AC_REVISION([$Id: configure.ac 741 2013-09-07 13:34:02Z des $])
5AC_INIT([OpenPAM], [20130907], [des@des.no], [openpam], [http://www.openpam.org/])
6AC_CONFIG_SRCDIR([lib/libpam/pam_start.c])
7AC_CONFIG_MACRO_DIR([m4])
8AM_INIT_AUTOMAKE([foreign])
9AM_CONFIG_HEADER([config.h])
10
11AM_MAINTAINER_MODE
12
13# C compiler and features
14AC_LANG(C)
15AC_PROG_CC
16AC_PROG_CC_STDC
17AC_PROG_CPP
18AC_GNU_SOURCE
19AC_C_CONST
20AC_C_RESTRICT
21AC_C_VOLATILE
22
23# libtool
24LT_PREREQ([2.2.6])
25LT_INIT([disable-static dlopen])
26
27# other programs
28AC_PROG_INSTALL
29
30LIB_MAJ=2
31AC_SUBST(LIB_MAJ)
32AC_DEFINE_UNQUOTED(LIB_MAJ, $LIB_MAJ, [OpenPAM library major number])
33
34AC_ARG_ENABLE([debug],
35    AC_HELP_STRING([--enable-debug],
36	[turn debugging macros on]),
37    AC_DEFINE(OPENPAM_DEBUG, 1, [Turn debugging macros on]))
38
39AC_ARG_ENABLE([unversioned-modules],
40    AC_HELP_STRING([--disable-unversioned-modules],
41	[support loading of unversioned modules]),
42    [AS_IF([test x"$enableval" = x"no"], [
43	AC_DEFINE(DISABLE_UNVERSIONED_MODULES,
44	    1,
45	    [Whether loading unversioned modules support is disabled])
46    ])])
47
48AC_ARG_WITH([modules-dir],
49    AC_HELP_STRING([--with-modules-dir=DIR],
50	[OpenPAM modules directory]),
51    [AS_IF([test x"$withval" != x"no"], [
52	OPENPAM_MODULES_DIR="$withval"
53	AC_DEFINE_UNQUOTED(OPENPAM_MODULES_DIR, 
54	    "${OPENPAM_MODULES_DIR%/}",
55	    [OpenPAM modules directory])
56    ])])
57AC_SUBST(OPENPAM_MODULES_DIR)
58AM_CONDITIONAL([CUSTOM_MODULES_DIR], [test x"$OPENPAM_MODULES_DIR" != x""])
59
60AC_ARG_WITH([doc],
61    AC_HELP_STRING([--without-doc], [do not build documentation]),
62    [],
63    [with_doc=yes])
64AM_CONDITIONAL([WITH_DOC], [test x"$with_doc" = x"yes"])
65
66AC_ARG_WITH([pam-unix],
67    AC_HELP_STRING([--with-pam-unix], [compile sample pam_unix(8) module]),
68    [],
69    [with_pam_unix=no])
70AM_CONDITIONAL([WITH_PAM_UNIX], [test x"$with_pam_unix" = x"yes"])
71
72AC_ARG_WITH(pamtest,
73    AC_HELP_STRING([--with-pamtest], [compile test application]),
74    [],
75    [with_pamtest=no])
76AM_CONDITIONAL([WITH_PAMTEST], [test x"$with_pamtest" = x"yes"])
77
78AC_ARG_WITH(su,
79    AC_HELP_STRING([--with-su], [compile sample su(1) implementation]),
80    [],
81    [with_su=no])
82AM_CONDITIONAL([WITH_SU], [test x"$with_su" = x"yes"])
83
84AC_CHECK_HEADERS([crypt.h])
85
86AC_CHECK_FUNCS([asprintf vasprintf])
87AC_CHECK_FUNCS([dlfunc fdlopen])
88AC_CHECK_FUNCS([fpurge])
89AC_CHECK_FUNCS([setlogmask])
90AC_CHECK_FUNCS([strlcat strlcmp strlcpy])
91
92saved_LIBS="${LIBS}"
93LIBS=""
94AC_CHECK_LIB([dl], [dlopen])
95DL_LIBS="${LIBS}"
96LIBS="${saved_LIBS}"
97AC_SUBST(DL_LIBS)
98
99saved_LIBS="${LIBS}"
100LIBS=""
101AC_CHECK_LIB([crypt], [crypt])
102CRYPT_LIBS="${LIBS}"
103LIBS="${saved_LIBS}"
104AC_SUBST(CRYPT_LIBS)
105
106saved_LIBS="${LIBS}"
107LIBS=""
108AC_CHECK_LIB([crypto], [HMAC_CTX_init])
109CRYPTO_LIBS="${LIBS}"
110LIBS="${saved_LIBS}"
111AC_SUBST(CRYPTO_LIBS)
112
113AC_ARG_ENABLE([developer-warnings],
114    AS_HELP_STRING([--enable-developer-warnings], [enable strict warnings (default is NO)]),
115    [CFLAGS="${CFLAGS} -Wall -Wextra"])
116AC_ARG_ENABLE([debugging-symbols],
117    AS_HELP_STRING([--enable-debugging-symbols], [enable debugging symbols (default is NO)]),
118    [CFLAGS="${CFLAGS} -O0 -g -fno-inline"])
119AC_ARG_ENABLE([werror],
120    AS_HELP_STRING([--enable-werror], [use -Werror (default is NO)]),
121    [CFLAGS="${CFLAGS} -Werror"])
122
123AC_CONFIG_FILES([
124    Makefile
125    bin/Makefile
126    bin/openpam_dump_policy/Makefile
127    bin/pamtest/Makefile
128    bin/su/Makefile
129    doc/Makefile
130    doc/man/Makefile
131    include/Makefile
132    include/security/Makefile
133    lib/Makefile
134    lib/libpam/Makefile
135    modules/Makefile
136    modules/pam_deny/Makefile
137    modules/pam_permit/Makefile
138    modules/pam_unix/Makefile
139    t/Makefile
140])
141AC_CONFIG_FILES([pamgdb],[chmod +x pamgdb])
142AC_CONFIG_FILES([mkpkgng],[chmod +x mkpkgng])
143AC_OUTPUT
144