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