]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/openpam/configure.ac
Add UPDATING entries and bump version.
[FreeBSD/FreeBSD.git] / contrib / openpam / configure.ac
1 dnl $OpenPAM: configure.ac 939 2017-04-30 21:36:50Z des $
2
3 AC_PREREQ([2.62])
4 AC_REVISION([$OpenPAM: configure.ac 939 2017-04-30 21:36:50Z des $])
5 AC_INIT([OpenPAM], [20170430], [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], [build 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], [build 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], [build sample su(1) implementation]),
78     [],
79     [with_su=no])
80 AM_CONDITIONAL([WITH_SU], [test x"$with_su" = x"yes"])
81
82 AC_ARG_WITH(system-libpam,
83     AC_HELP_STRING([--with-system-libpam], [use system libpam]),
84     [],
85     [with_system_libpam=no])
86 AM_CONDITIONAL([WITH_SYSTEM_LIBPAM], [test x"$with_system_libpam" = x"yes"])
87
88 AC_CHECK_HEADERS([crypt.h])
89
90 AC_CHECK_FUNCS([asprintf vasprintf])
91 AC_CHECK_FUNCS([dlfunc fdlopen])
92 AC_CHECK_FUNCS([fpurge])
93 AC_CHECK_FUNCS([setlogmask])
94 AC_CHECK_FUNCS([strlcat strlcmp strlcpy strlset])
95
96 saved_LIBS="${LIBS}"
97 LIBS=""
98 AC_CHECK_LIB([dl], [dlopen])
99 DL_LIBS="${LIBS}"
100 LIBS="${saved_LIBS}"
101 AC_SUBST(DL_LIBS)
102
103 saved_LIBS="${LIBS}"
104 LIBS=""
105 AC_CHECK_LIB([crypt], [crypt])
106 CRYPT_LIBS="${LIBS}"
107 LIBS="${saved_LIBS}"
108 AC_SUBST(CRYPT_LIBS)
109
110 saved_LIBS="${LIBS}"
111 LIBS=""
112 AC_CHECK_LIB([crypto], [HMAC_CTX_init])
113 CRYPTO_LIBS="${LIBS}"
114 LIBS="${saved_LIBS}"
115 AC_SUBST(CRYPTO_LIBS)
116
117 saved_LIBS="${LIBS}"
118 LIBS=""
119 AC_CHECK_LIB([pam], [pam_start])
120 SYSTEM_LIBPAM="${LIBS}"
121 LIBS="${saved_LIBS}"
122 AC_SUBST(SYSTEM_LIBPAM)
123
124 save_LIBS="${LIBS}"
125 LIBS=""
126 AC_SEARCH_LIBS([cryb_test_version], [cryb-test], [
127   CRYB_TEST_LIBS="${LIBS}"
128 ], [
129   CRYB_TEST_LIBS=""
130   AC_MSG_WARN([cryb-test library not available, unit tests disabled])
131 ])
132 LIBS="${save_LIBS}"
133 AC_SUBST(CRYB_TEST_LIBS)
134 AM_CONDITIONAL([WITH_TEST], [ test x"$CRYB_TEST_LIBS" != x"" ])
135
136 AC_ARG_ENABLE([developer-warnings],
137     AS_HELP_STRING([--enable-developer-warnings], [enable strict warnings (default is NO)]),
138     [CFLAGS="${CFLAGS} -Wall -Wextra -Wcast-qual"])
139 AC_ARG_ENABLE([debugging-symbols],
140     AS_HELP_STRING([--enable-debugging-symbols], [enable debugging symbols (default is NO)]),
141     [CFLAGS="${CFLAGS} -O0 -g -fno-inline"])
142 AC_ARG_ENABLE([werror],
143     AS_HELP_STRING([--enable-werror], [use -Werror (default is NO)]),
144     [CFLAGS="${CFLAGS} -Werror"])
145
146 AC_CONFIG_FILES([
147     Makefile
148     bin/Makefile
149     bin/openpam_dump_policy/Makefile
150     bin/pamtest/Makefile
151     bin/su/Makefile
152     doc/Makefile
153     doc/man/Makefile
154     include/Makefile
155     include/security/Makefile
156     lib/Makefile
157     lib/libpam/Makefile
158     misc/Makefile
159     modules/Makefile
160     modules/pam_deny/Makefile
161     modules/pam_permit/Makefile
162     modules/pam_return/Makefile
163     modules/pam_unix/Makefile
164     t/Makefile
165 ])
166 AC_CONFIG_FILES([mkpkgng],[chmod +x mkpkgng])
167 AC_CONFIG_FILES([misc/coverage.sh],[chmod +x misc/coverage.sh])
168 AC_CONFIG_FILES([misc/coverity.sh],[chmod +x misc/coverity.sh])
169 AC_OUTPUT