1271947Sdesdnl $Id: configure.ac 816 2014-09-12 07:50:22Z des $
2141098Sdes
3228692SdesAC_PREREQ([2.62])
4271947SdesAC_REVISION([$Id: configure.ac 816 2014-09-12 07:50:22Z des $])
5271947SdesAC_INIT([OpenPAM], [20140912], [des@des.no], [openpam], [http://www.openpam.org/])
6255369SdesAC_CONFIG_SRCDIR([lib/libpam/pam_start.c])
7228692SdesAC_CONFIG_MACRO_DIR([m4])
8228692SdesAM_INIT_AUTOMAKE([foreign])
9228692SdesAM_CONFIG_HEADER([config.h])
10141098Sdes
11228692Sdes# C compiler and features
12174832SdesAC_LANG(C)
13228692SdesAC_PROG_CC
14228692SdesAC_PROG_CC_STDC
15228692SdesAC_PROG_CPP
16228692SdesAC_GNU_SOURCE
17228692SdesAC_C_CONST
18228692SdesAC_C_RESTRICT
19141098SdesAC_C_VOLATILE
20141098Sdes
21228692Sdes# libtool
22228692SdesLT_PREREQ([2.2.6])
23228692SdesLT_INIT([disable-static dlopen])
24228692Sdes
25228692Sdes# other programs
26228692SdesAC_PROG_INSTALL
27228692Sdes
28141098SdesLIB_MAJ=2
29141098SdesAC_SUBST(LIB_MAJ)
30141098SdesAC_DEFINE_UNQUOTED(LIB_MAJ, $LIB_MAJ, [OpenPAM library major number])
31141098Sdes
32228692SdesAC_ARG_ENABLE([debug],
33228692Sdes    AC_HELP_STRING([--enable-debug],
34255376Sdes	[turn debugging macros on]),
35255376Sdes    AC_DEFINE(OPENPAM_DEBUG, 1, [Turn debugging macros on]))
36174832Sdes
37228692SdesAC_ARG_ENABLE([unversioned-modules],
38228692Sdes    AC_HELP_STRING([--disable-unversioned-modules],
39228692Sdes	[support loading of unversioned modules]),
40228692Sdes    [AS_IF([test x"$enableval" = x"no"], [
41228692Sdes	AC_DEFINE(DISABLE_UNVERSIONED_MODULES,
42228692Sdes	    1,
43228692Sdes	    [Whether loading unversioned modules support is disabled])
44228692Sdes    ])])
45141098Sdes
46228692SdesAC_ARG_WITH([modules-dir],
47228692Sdes    AC_HELP_STRING([--with-modules-dir=DIR],
48228692Sdes	[OpenPAM modules directory]),
49228692Sdes    [AS_IF([test x"$withval" != x"no"], [
50228692Sdes	OPENPAM_MODULES_DIR="$withval"
51255376Sdes	AC_DEFINE_UNQUOTED(OPENPAM_MODULES_DIR, 
52255376Sdes	    "${OPENPAM_MODULES_DIR%/}",
53255376Sdes	    [OpenPAM modules directory])
54255376Sdes    ])])
55141098SdesAC_SUBST(OPENPAM_MODULES_DIR)
56255376SdesAM_CONDITIONAL([CUSTOM_MODULES_DIR], [test x"$OPENPAM_MODULES_DIR" != x""])
57141098Sdes
58228692SdesAC_ARG_WITH([doc],
59228692Sdes    AC_HELP_STRING([--without-doc], [do not build documentation]),
60228692Sdes    [],
61228692Sdes    [with_doc=yes])
62228692SdesAM_CONDITIONAL([WITH_DOC], [test x"$with_doc" = x"yes"])
63141098Sdes
64228692SdesAC_ARG_WITH([pam-unix],
65255376Sdes    AC_HELP_STRING([--with-pam-unix], [compile sample pam_unix(8) module]),
66228692Sdes    [],
67228692Sdes    [with_pam_unix=no])
68228692SdesAM_CONDITIONAL([WITH_PAM_UNIX], [test x"$with_pam_unix" = x"yes"])
69141098Sdes
70228692SdesAC_ARG_WITH(pamtest,
71228692Sdes    AC_HELP_STRING([--with-pamtest], [compile test application]),
72228692Sdes    [],
73228692Sdes    [with_pamtest=no])
74228692SdesAM_CONDITIONAL([WITH_PAMTEST], [test x"$with_pamtest" = x"yes"])
75228692Sdes
76174832SdesAC_ARG_WITH(su,
77228692Sdes    AC_HELP_STRING([--with-su], [compile sample su(1) implementation]),
78228692Sdes    [],
79228692Sdes    [with_su=no])
80228692SdesAM_CONDITIONAL([WITH_SU], [test x"$with_su" = x"yes"])
81174832Sdes
82228692SdesAC_CHECK_HEADERS([crypt.h])
83141098Sdes
84255376SdesAC_CHECK_FUNCS([asprintf vasprintf])
85255376SdesAC_CHECK_FUNCS([dlfunc fdlopen])
86255376SdesAC_CHECK_FUNCS([fpurge])
87255376SdesAC_CHECK_FUNCS([setlogmask])
88271947SdesAC_CHECK_FUNCS([strlcat strlcmp strlcpy strlset])
89141098Sdes
90228692Sdessaved_LIBS="${LIBS}"
91228692SdesLIBS=""
92228692SdesAC_CHECK_LIB([dl], [dlopen])
93228692SdesDL_LIBS="${LIBS}"
94228692SdesLIBS="${saved_LIBS}"
95141098SdesAC_SUBST(DL_LIBS)
96141098Sdes
97228692Sdessaved_LIBS="${LIBS}"
98228692SdesLIBS=""
99228692SdesAC_CHECK_LIB([crypt], [crypt])
100228692SdesCRYPT_LIBS="${LIBS}"
101228692SdesLIBS="${saved_LIBS}"
102141098SdesAC_SUBST(CRYPT_LIBS)
103141098Sdes
104255376Sdessaved_LIBS="${LIBS}"
105255376SdesLIBS=""
106255376SdesAC_CHECK_LIB([crypto], [HMAC_CTX_init])
107255376SdesCRYPTO_LIBS="${LIBS}"
108255376SdesLIBS="${saved_LIBS}"
109255376SdesAC_SUBST(CRYPTO_LIBS)
110255376Sdes
111228692SdesAC_ARG_ENABLE([developer-warnings],
112228692Sdes    AS_HELP_STRING([--enable-developer-warnings], [enable strict warnings (default is NO)]),
113294192Sdes    [CFLAGS="${CFLAGS} -Wall -Wextra -Wcast-qual"])
114228692SdesAC_ARG_ENABLE([debugging-symbols],
115228692Sdes    AS_HELP_STRING([--enable-debugging-symbols], [enable debugging symbols (default is NO)]),
116228692Sdes    [CFLAGS="${CFLAGS} -O0 -g -fno-inline"])
117228692SdesAC_ARG_ENABLE([werror],
118228692Sdes    AS_HELP_STRING([--enable-werror], [use -Werror (default is NO)]),
119228692Sdes    [CFLAGS="${CFLAGS} -Werror"])
120141098Sdes
121174832SdesAC_CONFIG_FILES([
122236109Sdes    Makefile
123228692Sdes    bin/Makefile
124236109Sdes    bin/openpam_dump_policy/Makefile
125228692Sdes    bin/pamtest/Makefile
126228692Sdes    bin/su/Makefile
127236109Sdes    doc/Makefile
128236109Sdes    doc/man/Makefile
129228692Sdes    include/Makefile
130228692Sdes    include/security/Makefile
131255376Sdes    lib/Makefile
132255369Sdes    lib/libpam/Makefile
133228692Sdes    modules/Makefile
134228692Sdes    modules/pam_deny/Makefile
135228692Sdes    modules/pam_permit/Makefile
136236109Sdes    modules/pam_unix/Makefile
137236109Sdes    t/Makefile
138174832Sdes])
139236109SdesAC_CONFIG_FILES([pamgdb],[chmod +x pamgdb])
140255376SdesAC_CONFIG_FILES([mkpkgng],[chmod +x mkpkgng])
141141098SdesAC_OUTPUT
142