source: openpam/trunk/configure.ac

Last change on this file was 942, checked in by Dag-Erling Smørgrav, 20 months ago

r940 relied on Cryb's own autoconf macros, which obviously aren't available unless Cryb itself is available, which is precisely what we're trying to figure out. Use plain pkg-config instead, as intended.

  • Property svn:eol-style set to native
  • Property svn:keywords set to OpenPAM=%I
File size: 4.1 KB
Line 
1dnl $OpenPAM: configure.ac 942 2019-02-20 13:19:01Z des $
2
3AC_PREREQ([2.62])
4AC_REVISION([$OpenPAM: configure.ac 942 2019-02-20 13:19:01Z des $])
5AC_INIT([OpenPAM], [trunk], [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
11# C compiler and features
12AC_LANG(C)
13AC_PROG_CC
14AC_PROG_CC_STDC
15AC_PROG_CPP
16AC_GNU_SOURCE
17AC_C_CONST
18AC_C_RESTRICT
19AC_C_VOLATILE
20
21# libtool
22LT_PREREQ([2.2.6])
23LT_INIT([disable-static dlopen])
24
25# pkg-config
26AX_PROG_PKG_CONFIG
27
28# other programs
29AC_PROG_INSTALL
30
31LIB_MAJ=2
32AC_SUBST(LIB_MAJ)
33AC_DEFINE_UNQUOTED(LIB_MAJ, $LIB_MAJ, [OpenPAM library major number])
34
35AC_ARG_ENABLE([debug],
36    AC_HELP_STRING([--enable-debug],
37        [turn debugging macros on]),
38    AC_DEFINE(OPENPAM_DEBUG, 1, [Turn debugging macros on]))
39
40AC_ARG_ENABLE([unversioned-modules],
41    AC_HELP_STRING([--disable-unversioned-modules],
42        [support loading of unversioned modules]),
43    [AS_IF([test x"$enableval" = x"no"], [
44        AC_DEFINE(DISABLE_UNVERSIONED_MODULES,
45            1,
46            [Whether loading unversioned modules support is disabled])
47    ])])
48
49AC_ARG_WITH([modules-dir],
50    AC_HELP_STRING([--with-modules-dir=DIR],
51        [OpenPAM modules directory]),
52    [AS_IF([test x"$withval" != x"no"], [
53        OPENPAM_MODULES_DIR="$withval"
54        AC_DEFINE_UNQUOTED(OPENPAM_MODULES_DIR,
55            "${OPENPAM_MODULES_DIR%/}",
56            [OpenPAM modules directory])
57    ])])
58AC_SUBST(OPENPAM_MODULES_DIR)
59AM_CONDITIONAL([CUSTOM_MODULES_DIR], [test x"$OPENPAM_MODULES_DIR" != x""])
60
61AC_ARG_WITH([doc],
62    AC_HELP_STRING([--without-doc], [do not build documentation]),
63    [],
64    [with_doc=yes])
65AM_CONDITIONAL([WITH_DOC], [test x"$with_doc" = x"yes"])
66
67AC_ARG_WITH([pam-unix],
68    AC_HELP_STRING([--with-pam-unix], [build sample pam_unix(8) module]),
69    [],
70    [with_pam_unix=no])
71AM_CONDITIONAL([WITH_PAM_UNIX], [test x"$with_pam_unix" = x"yes"])
72
73AC_ARG_WITH(pamtest,
74    AC_HELP_STRING([--with-pamtest], [build test application]),
75    [],
76    [with_pamtest=no])
77AM_CONDITIONAL([WITH_PAMTEST], [test x"$with_pamtest" = x"yes"])
78
79AC_ARG_WITH(su,
80    AC_HELP_STRING([--with-su], [build sample su(1) implementation]),
81    [],
82    [with_su=no])
83AM_CONDITIONAL([WITH_SU], [test x"$with_su" = x"yes"])
84
85AC_ARG_WITH(system-libpam,
86    AC_HELP_STRING([--with-system-libpam], [use system libpam]),
87    [],
88    [with_system_libpam=no])
89AM_CONDITIONAL([WITH_SYSTEM_LIBPAM], [test x"$with_system_libpam" = x"yes"])
90
91AC_CHECK_HEADERS([crypt.h])
92
93AC_CHECK_FUNCS([asprintf vasprintf])
94AC_CHECK_FUNCS([dlfunc fdlopen])
95AC_CHECK_FUNCS([fpurge])
96AC_CHECK_FUNCS([setlogmask])
97AC_CHECK_FUNCS([strlcat strlcmp strlcpy strlset])
98
99saved_LIBS="${LIBS}"
100LIBS=""
101AC_CHECK_LIB([dl], [dlopen])
102DL_LIBS="${LIBS}"
103LIBS="${saved_LIBS}"
104AC_SUBST(DL_LIBS)
105
106saved_LIBS="${LIBS}"
107LIBS=""
108AC_CHECK_LIB([pam], [pam_start])
109SYSTEM_LIBPAM="${LIBS}"
110LIBS="${saved_LIBS}"
111AC_SUBST(SYSTEM_LIBPAM)
112
113AX_PKG_CONFIG_CHECK([cryb-test],
114  [AC_MSG_NOTICE([Cryb test framework found, unit tests enabled.])],
115  [AC_MSG_WARN([Cryb test framework not found, unit tests disabled.])])
116AM_CONDITIONAL([WITH_TEST], [test x"$CRYB_TEST_LIBS" != x""])
117
118AC_ARG_ENABLE([developer-warnings],
119    AS_HELP_STRING([--enable-developer-warnings], [enable strict warnings (default is NO)]),
120    [CFLAGS="${CFLAGS} -Wall -Wextra -Wcast-qual"])
121AC_ARG_ENABLE([debugging-symbols],
122    AS_HELP_STRING([--enable-debugging-symbols], [enable debugging symbols (default is NO)]),
123    [CFLAGS="${CFLAGS} -O0 -g -fno-inline"])
124AC_ARG_ENABLE([werror],
125    AS_HELP_STRING([--enable-werror], [use -Werror (default is NO)]),
126    [CFLAGS="${CFLAGS} -Werror"])
127
128AC_CONFIG_FILES([
129    Makefile
130    bin/Makefile
131    bin/openpam_dump_policy/Makefile
132    bin/pamtest/Makefile
133    bin/su/Makefile
134    doc/Makefile
135    doc/man/Makefile
136    include/Makefile
137    include/security/Makefile
138    lib/Makefile
139    lib/libpam/Makefile
140    misc/Makefile
141    modules/Makefile
142    modules/pam_deny/Makefile
143    modules/pam_permit/Makefile
144    modules/pam_return/Makefile
145    modules/pam_unix/Makefile
146    t/Makefile
147])
148AC_CONFIG_FILES([mkpkgng],[chmod +x mkpkgng])
149AC_CONFIG_FILES([misc/coverage.sh],[chmod +x misc/coverage.sh])
150AC_CONFIG_FILES([misc/coverity.sh],[chmod +x misc/coverity.sh])
151AC_OUTPUT
Note: See TracBrowser for help on using the repository browser.