]> git.armaanb.net Git - opendoas.git/blobdiff - configure
bump version 0.3
[opendoas.git] / configure
index ea6ce797c9c50b9eb43e4d1317ca7f84f54a98de..f5474ed819c5f824ea4c5c4ddf3d02a9f45cc2b4 100755 (executable)
--- a/configure
+++ b/configure
@@ -22,7 +22,6 @@ usage: configure [options]
   --target=target-alias  the machine that CC will produce code for
 
   --enable-debug         enable debugging
-  --enable-seccomp       enable seccomp
   --enable-static        prepare for static build
 
   --help, -h             display this help and exit
@@ -45,8 +44,8 @@ for x; do
        --host) HOST=$var;;
        --target) TARGET=$var;;
        --enable-debug) DEBUG=yes;;
-       --enable-seccomp) BUILD_SECCOMP=yes;;
        --enable-static) BUILD_STATIC=yes;;
+       --without-pam) WITHOUT_PAM=yes;;
        --help|-h) usage;;
        *) die "Error: unknown option $opt";;
        esac
@@ -55,10 +54,10 @@ done
 CONFIG_MK=config.mk
 rm -f "$CONFIG_MK"
 
-: ${VERSION:="$(git describe --dirty --tags --long --always)"}
+# : ${VERSION:="$(git describe --dirty --tags --long --always)"}
+: ${VERSION:="0.3"}
 
 cat <<EOF >>$CONFIG_MK
-DESTDIR  ?=
 PREFIX   ?=    ${PREFIX:="/usr"}
 EPREFIX  ?=    ${EPREFIX:="${PREFIX}"}
 BINDIR   ?=    ${BINDIR:="${PREFIX}/bin"}
@@ -92,11 +91,14 @@ if [ -z "$OS" ]; then
        KERNEL=${REST%%-*}
 fi
 
+OS_CFLAGS="-D__${OS}__"
+
 case "$OS" in
        linux)
-               OS_CFLAGS="-D_DEFAULT_SOURCE -D_GNU_SOURCE -DUID_MAX=60000 -DGID_MAX=60000"
+               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
 
@@ -139,7 +141,7 @@ int main(void) {
        return 0;
 }'
 check_func "explicit_bzero" "$src" || {
-       printf 'OPENBSD  +=     explicit_bzero.c\n' >>$CONFIG_MK
+       printf 'OPENBSD  +=     explicit_bzero.o\n' >>$CONFIG_MK
 }
 
 
@@ -155,7 +157,7 @@ int main(void) {
        return 0;
 }'
 check_func "strlcat" "$src" || {
-       printf 'OPENBSD  +=     strlcat.c\n' >>$CONFIG_MK
+       printf 'OPENBSD  +=     strlcat.o\n' >>$CONFIG_MK
 }
 
 #
@@ -170,7 +172,7 @@ int main(void) {
        return 0;
 }'
 check_func "strlcpy" "$src" || {
-       printf 'OPENBSD  +=     strlcpy.c\n' >>$CONFIG_MK
+       printf 'OPENBSD  +=     strlcpy.o\n' >>$CONFIG_MK
 }
 
 #
@@ -183,7 +185,7 @@ int main(void) {
        return 0;
 }'
 check_func "errc" "$src" || {
-       printf 'OPENBSD  +=     errc.c\n' >>$CONFIG_MK
+       printf 'OPENBSD  +=     errc.o\n' >>$CONFIG_MK
 }
 
 #
@@ -196,7 +198,7 @@ int main(void) {
        return 0;
 }'
 check_func "verrc" "$src" || {
-       printf 'OPENBSD  +=     verrc.c\n' >>$CONFIG_MK
+       printf 'OPENBSD  +=     verrc.o\n' >>$CONFIG_MK
 }
 
 #
@@ -209,7 +211,7 @@ int main(void) {
        return 0;
 }'
 check_func "setprogname" "$src" || {
-       printf 'OPENBSD  +=     progname.c\n' >>$CONFIG_MK
+       printf 'OPENBSD  +=     progname.o\n' >>$CONFIG_MK
 }
 
 #
@@ -223,7 +225,7 @@ int main(void) {
        return 0;
 }'
 check_func "readpassphrase" "$src" || {
-       printf 'OPENBSD  +=     readpassphrase.c\n' >>$CONFIG_MK
+       printf 'OPENBSD  +=     readpassphrase.o\n' >>$CONFIG_MK
 }
 
 #
@@ -237,7 +239,7 @@ int main(void) {
        return 0;
 }'
 check_func "strtonum" "$src" || {
-       printf 'OPENBSD  +=     strtonum.c\n' >>$CONFIG_MK
+       printf 'OPENBSD  +=     strtonum.o\n' >>$CONFIG_MK
 }
 
 #
@@ -250,7 +252,7 @@ int main(void) {
        return 0;
 }'
 check_func "reallocarray" "$src" || {
-       printf 'OPENBSD  +=     reallocarray.c\n' >>$CONFIG_MK
+       printf 'OPENBSD  +=     reallocarray.o\n' >>$CONFIG_MK
 }
 
 #
@@ -264,6 +266,16 @@ int main(void) {
 check_func "bsd_auth_h" "$src" && \
        have_bsd_auth_h=1
 
+#
+# Check for sys/tree.h.
+#
+src='
+#include <sys/tree.h>
+int main(void) {
+       return 0;
+}'
+check_func "sys_tree_h" "$src"
+
 #
 # Check for pam_appl.h.
 #
@@ -272,22 +284,24 @@ src='
 int main(void) {
        return 0;
 }'
-[ -z "$have_bsd_auth_h" ] && \
+[ -z "$WITHOUT_PAM" -a -z "$have_bsd_auth_h" ] && \
        check_func "pam_appl_h" "$src" && {
-               printf 'SRCS     +=     doas_pam.c\n' >>$CONFIG_MK
+               printf 'SRCS     +=     pam.c\n' >>$CONFIG_MK
+               printf 'LDFLAGS  +=     -lpam\n' >>$CONFIG_MK
        }
 
 #
-# Check for login_cap.h.
+# Check for shadow.h.
 #
 src='
-#include <login_cap.h>
+#include <shadow.h>
 int main(void) {
        return 0;
 }'
-check_func "login_cap_h" "$src" || {
-       printf 'OPENBSD  +=     setusercontext.c\n' >>$CONFIG_MK
-}
+[ -z "$WITHOUT_PAM" -a -z "$have_bsd_auth_h" ] || \
+       check_func "shadow_h" "$src" && {
+               printf 'LDFLAGS  +=     -lcrypt\n' >>$CONFIG_MK
+       }
 
 #
 # Check for execvpe().
@@ -300,7 +314,7 @@ int main(void) {
        return 0;
 }'
 check_func "execvpe" "$src" || {
-       printf 'OPENBSD  +=     execvpe.c\n' >>$CONFIG_MK
+       printf 'OPENBSD  +=     execvpe.o\n' >>$CONFIG_MK
 }
 
 #
@@ -313,7 +327,7 @@ int main(void) {
        return 0;
 }'
 check_func "setresuid" "$src" || {
-       printf 'OPENBSD  +=     setresuid.c\n' >>$CONFIG_MK
+       printf 'OPENBSD  +=     setresuid.o\n' >>$CONFIG_MK
 }
 
 #
@@ -325,27 +339,6 @@ int main(void) {
        pledge("", NULL);
        return 0;
 }'
-check_func "pledge" "$src" && {
-       have_pledge=1
+check_func "pledge" "$src" || {
+       printf 'OPENBSD  +=     pledge-noop.o\n' >>$CONFIG_MK
 }
-
-#
-# Check for seccomp.h
-#
-src='
-#include <linux/seccomp.h>
-#include <sys/prctl.h>
-#include <unistd.h>
-int main(void) {
-       prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, NULL);
-       return 0;
-}'
-[ -z "$have_pledge" -a -n "$BUILD_SECCOMP" ] && \
-       check_func "seccomp_h" "$src" && \
-       {
-               have_pledge=1
-               printf 'OPENBSD  +=     pledge-seccomp.c\n' >>$CONFIG_MK
-       }
-
-[ -z "$have_pledge" ] && \
-       printf 'OPENBSD  +=     pledge-noop.c\n' >>$CONFIG_MK