]> git.armaanb.net Git - opendoas.git/blobdiff - configure
fix pamcleanup
[opendoas.git] / configure
index 1bb827fc8e11cd5f2ef713f5ad152c9ecb10b4d4..48a515a6776312956c716ebf5790a01c0e43cabb 100755 (executable)
--- a/configure
+++ b/configure
@@ -45,6 +45,7 @@ for x; do
        --target) TARGET=$var;;
        --enable-debug) DEBUG=yes;;
        --enable-static) BUILD_STATIC=yes;;
+       --without-pam) WITHOUT_PAM=yes;;
        --help|-h) usage;;
        *) die "Error: unknown option $opt";;
        esac
@@ -54,7 +55,7 @@ CONFIG_MK=config.mk
 rm -f "$CONFIG_MK"
 
 # : ${VERSION:="$(git describe --dirty --tags --long --always)"}
-: ${VERSION:="0.2"}
+: ${VERSION:="0.3.1"}
 
 cat <<EOF >>$CONFIG_MK
 PREFIX   ?=    ${PREFIX:="/usr"}
@@ -96,7 +97,8 @@ case "$OS" in
        linux)
                OS_CFLAGS="$OS_CFLAGS -D_DEFAULT_SOURCE -D_GNU_SOURCE -DUID_MAX=60000 -DGID_MAX=60000"
                printf 'CURDIR   :=     .\n' >>$CONFIG_MK
-               printf 'PAM_DOAS  =     pam.d__doas__linux\n' >>$CONFIG_MK
+               [ -z "$WITHOUT_PAM" ] && \
+                       printf 'PAM_DOAS  =     pam.d__doas__linux\n' >>$CONFIG_MK
                ;;
 esac
 
@@ -265,27 +267,30 @@ check_func "bsd_auth_h" "$src" && \
        have_bsd_auth_h=1
 
 #
-# Check for sys/tree.h.
+# Check for pam_appl.h.
 #
 src='
-#include <sys/tree.h>
+#include <security/pam_appl.h>
 int main(void) {
        return 0;
 }'
-check_func "sys_tree_h" "$src"
+[ -z "$WITHOUT_PAM" -a -z "$have_bsd_auth_h" ] && \
+       check_func "pam_appl_h" "$src" && {
+               printf 'SRCS     +=     pam.c\n' >>$CONFIG_MK
+               printf 'LDFLAGS  +=     -lpam\n' >>$CONFIG_MK
+       }
 
 #
-# Check for pam_appl.h.
+# Check for shadow.h.
 #
 src='
-#include <security/pam_appl.h>
+#include <shadow.h>
 int main(void) {
        return 0;
 }'
-[ -z "$have_bsd_auth_h" ] && \
-       check_func "pam_appl_h" "$src" && {
-               printf 'SRCS     +=     pam.c\n' >>$CONFIG_MK
-               printf 'LDFLAGS  +=     -lpam\n' >>$CONFIG_MK
+[ -z "$WITHOUT_PAM" -a -z "$have_bsd_auth_h" ] || \
+       check_func "shadow_h" "$src" && {
+               printf 'LDFLAGS  +=     -lcrypt\n' >>$CONFIG_MK
        }
 
 #
@@ -327,3 +332,15 @@ int main(void) {
 check_func "pledge" "$src" || {
        printf 'OPENBSD  +=     pledge-noop.o\n' >>$CONFIG_MK
 }
+
+#
+#
+#
+src='
+#include <stdlib.h>
+int main(void){return 0;}
+__attribute__((__unused__)) static void foo(void){return;}
+'
+check_func "__attribute__" "$src" || {
+       printf 'CFLAGS  +=      -DNO_ATTRIBUTE_ON_RETURN_TYPE=1\n' >>$CONFIG_MK
+}