X-Git-Url: https://git.armaanb.net/?a=blobdiff_plain;f=configure;h=43a76e91f93c41a125f40e95d51f09746ff14283;hb=262ce3c75abc008ae4086e2f72edbf9d9f1ae815;hp=0dfc64940b4dd598312e88e0acbd841b5aaf653e;hpb=17629b9ce63dba6aa4146d483cd61448cddb1fa5;p=opendoas.git diff --git a/configure b/configure index 0dfc649..43a76e9 100755 --- a/configure +++ b/configure @@ -15,7 +15,6 @@ usage: configure [options] --datadir=DIR architecture-independent data files [PREFIX/share] --mandir=DIR manual pages [DATADIR/man] --sysconfdir=DIR directory for configuration files [/etc] - --pamdir=DIR PAM directory [SYSCONFDIR/pam.d] --build=build-alias a cpu-vendor-opsys for the system where the application will be built --host=host-alias a cpu-vendor-opsys for the system where the application will run @@ -29,6 +28,8 @@ usage: configure [options] --with-timestamp enable timestamp support + --without-kiss-insults disable kiss insults + --uid-max=NUM set UID_MAX (default 65535) --gid-max=NUM set GID_MAX (default 65535) @@ -39,6 +40,7 @@ EOF # defaults WITHOUT_TIMESTAMP=yes +WITHOUT_KISS_INSULTS="" UID_MAX=65535 GID_MAX=65535 @@ -52,7 +54,6 @@ for x; do --datadir) SHAREDIR=$var ;; --mandir) MANDIR=$var ;; --sysconfdir) SYSCONFDIR=$var ;; - --pamdir) PAMDIR=$var ;; --build) BUILD=$var ;; --host) HOST=$var ;; --target) TARGET=$var ;; @@ -62,6 +63,7 @@ for x; do --with-shadow) WITHOUT_SHADOW=; WITHOUT_PAM=yes ;; --without-pam) WITHOUT_PAM=yes ;; --without-shadow) WITHOUT_SHADOW=yes ;; + --without-kiss-insults) WITHOUT_KISS_INSULTS=yes ;; --with-timestamp) WITHOUT_TIMESTAMP= ;; --without-timestamp) WITHOUT_TIMESTAMP=yes ;; --uid-max) UID_MAX=$var ;; @@ -116,11 +118,11 @@ case "$OS" in ;; netbsd) OS_CFLAGS="$OS_CFLAGS -D_OPENBSD_SOURCE" - printf 'LDFLAGS += -lutil\n' >>$CONFIG_MK + printf 'LDLIBS += -lutil\n' >>$CONFIG_MK : ${BINGRP:=wheel} ;; freebsd) - printf 'LDFLAGS += -lutil\n' >>$CONFIG_MK + printf 'LDLIBS += -lutil\n' >>$CONFIG_MK : ${BINGRP:=wheel} ;; darwin) @@ -134,7 +136,6 @@ esac : ${SHAREDIR:=${PREFIX}/share} : ${MANDIR:=${SHAREDIR}/man} : ${SYSCONFDIR:=/etc} -: ${PAMDIR:=${SYSCONFDIR}/pam.d} : ${BINMODE:=4755} : ${BINOWN:=root} : ${BINGRP:=root} @@ -146,14 +147,13 @@ BINDIR ?= ${BINDIR} SHAREDIR ?= ${SHAREDIR} MANDIR ?= ${MANDIR} SYSCONFDIR?= ${SYSCONFDIR} -PAMDIR ?= ${PAMDIR} BINMODE ?= ${BINMODE} BINOWN ?= ${BINOWN} BINGRP ?= ${BINGRP} EOF [ -n "$OS_CFLAGS" ] && \ - printf 'CFLAGS += %s\n' "$OS_CFLAGS" >>$CONFIG_MK + printf 'OS_CFLAGS += %s\n' "$OS_CFLAGS" >>$CONFIG_MK [ -n "$DEBUG" ] && \ printf 'CFLAGS += -O0 -g\n' >>$CONFIG_MK @@ -161,8 +161,8 @@ EOF [ -n "$BUILD_STATIC" ] && \ printf 'CFLAGS += -static\n' >>$CONFIG_MK -# Add CPPFLAGS/CFLAGS/LDFLAGS to CC for testing features -XCC="${CC:=cc} $CFLAGS $OS_CFLAGS $CPPFLAGS $LDFLAGS" +# Add CPPFLAGS/CFLAGS/LDFLAGS/LDLIBS to CC for testing features +XCC="${CC:=cc} $CFLAGS $OS_CFLAGS $CPPFLAGS $LDFLAGS $LDLIBS" # Make sure to disable --as-needed for CC tests. case "$OS" in @@ -200,12 +200,9 @@ int main(void) { }' [ -z "$WITHOUT_PAM" ] && check_func "pam_appl_h" "$src" && { printf 'SRCS += pam.c\n' >>$CONFIG_MK - printf 'LDFLAGS += -lpam\n' >>$CONFIG_MK + printf 'LDLIBS += -lpam\n' >>$CONFIG_MK printf '#define USE_PAM\n' >>$CONFIG_H printf 'pam\n' - - pam_file="pam.d__doas__${OS}" - [ -e "$pam_file" ] && printf 'PAM_DOAS = %s\n' "$pam_file" >>$CONFIG_MK return 0 } @@ -219,7 +216,7 @@ int main(void) { }' [ -z "$WITHOUT_SHADOW" ] && check_func "shadow_h" "$src" && { printf 'SRCS += shadow.c\n' >>$CONFIG_MK - printf 'LDFLAGS += -lcrypt\n' >>$CONFIG_MK + printf 'LDLIBS += -lcrypt\n' >>$CONFIG_MK printf '#define USE_SHADOW\n' >>$CONFIG_H printf 'shadow\n' return 0 @@ -228,6 +225,15 @@ int main(void) { return 1 } +definsults() { + printf 'SRCS += insults.c\n' >>$CONFIG_MK + [ "$WITHOUT_KISS_INSULTS" ] && { + printf 'Not using KISS insults' + return 0 + } +} + + persistmethod() { [ -z "$WITHOUT_TIMESTAMP" ] && { printf '#define USE_TIMESTAMP\n' >>$CONFIG_H @@ -298,9 +304,10 @@ check_func "errc" "$src" || { # Check for verrc(). # src=' +#include #include int main(void) { - verrc(0, 0, ""); + verrc(0, 0, "x", NULL); return 0; }' check_func "verrc" "$src" || { @@ -544,7 +551,7 @@ 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 + printf 'OS_CFLAGS += -DNO_ATTRIBUTE_ON_RETURN_TYPE=1\n' >>$CONFIG_MK } auth=$(authmethod) @@ -555,6 +562,8 @@ else exit 1 fi +insults=$(definsults) + persist=$(persistmethod) if [ $? -eq 0 ]; then printf 'Using persist method\t\t\t%s.\n' "$persist" >&2