--- a/configure Thu Sep 07 10:29:17 2023 +0200 +++ b/configure Tue Sep 12 18:09:19 2023 +0200 @@ -20,21 +20,21 @@ OS_VERSION=`uname -r` TEMP_DIR=".tmp-`uname -n`" -mkdir -p $TEMP_DIR +mkdir -p "$TEMP_DIR" if [ $? -ne 0 ]; then - echo "Cannot create tmp dir" - echo "Abort" + echo "Cannot create tmp dir" + echo "Abort" fi -touch $TEMP_DIR/options -touch $TEMP_DIR/features +touch "$TEMP_DIR/options" +touch "$TEMP_DIR/features" # features # help text printhelp() { - echo "Usage: $0 [OPTIONS]..." - cat << __EOF__ + echo "Usage: $0 [OPTIONS]..." + cat << __EOF__ Installation directories: --prefix=PREFIX path prefix for architecture-independent files [/usr] @@ -58,62 +58,62 @@ } # -# parse arguments +# parse arguments # -for ARG in $@ +for ARG in "$@" do case "$ARG" in - "--prefix="*) PREFIX=${ARG#--prefix=} ;; - "--exec-prefix="*) EPREFIX=${ARG#--exec-prefix=} ;; - "--bindir="*) BINDIR=${ARG#----bindir=} ;; - "--sbindir="*) SBINDIR=${ARG#--sbindir=} ;; - "--libdir="*) LIBDIR=${ARG#--libdir=} ;; - "--libexecdir="*) LIBEXECDIR=${ARG#--libexecdir=} ;; - "--datadir="*) DATADIR=${ARG#--datadir=} ;; - "--sysconfdir="*) SYSCONFDIR=${ARG#--sysconfdir=} ;; - "--sharedstatedir="*) SHAREDSTATEDIR=${ARG#--sharedstatedir=} ;; - "--localstatedir="*) LOCALSTATEDIR=${ARG#--localstatedir=} ;; - "--includedir="*) INCLUDEDIR=${ARG#--includedir=} ;; - "--infodir="*) INFODIR=${ARG#--infodir=} ;; - "--mandir"*) MANDIR=${ARG#--mandir} ;; - "--help"*) printhelp; exit 1 ;; - "-"*) echo "unknown option: $ARG"; exit 1 ;; - esac + "--prefix="*) PREFIX=${ARG#--prefix=} ;; + "--exec-prefix="*) EPREFIX=${ARG#--exec-prefix=} ;; + "--bindir="*) BINDIR=${ARG#----bindir=} ;; + "--sbindir="*) SBINDIR=${ARG#--sbindir=} ;; + "--libdir="*) LIBDIR=${ARG#--libdir=} ;; + "--libexecdir="*) LIBEXECDIR=${ARG#--libexecdir=} ;; + "--datadir="*) DATADIR=${ARG#--datadir=} ;; + "--sysconfdir="*) SYSCONFDIR=${ARG#--sysconfdir=} ;; + "--sharedstatedir="*) SHAREDSTATEDIR=${ARG#--sharedstatedir=} ;; + "--localstatedir="*) LOCALSTATEDIR=${ARG#--localstatedir=} ;; + "--includedir="*) INCLUDEDIR=${ARG#--includedir=} ;; + "--infodir="*) INFODIR=${ARG#--infodir=} ;; + "--mandir"*) MANDIR=${ARG#--mandir} ;; + "--help"*) printhelp; rm -Rf "$TEMP_DIR"; exit 1 ;; + "-"*) echo "unknown option: $ARG"; rm -Rf "$TEMP_DIR"; exit 1 ;; + esac done # set dir variables if [ -z "$BINDIR" ]; then - BINDIR=$EPREFIX/bin + BINDIR=$EPREFIX/bin fi if [ -z "$SBINDIR" ]; then - SBINDIR=$EPREFIX/sbin + SBINDIR=$EPREFIX/sbin fi if [ -z "$LIBDIR" ]; then - LIBDIR=$EPREFIX/lib + LIBDIR=$EPREFIX/lib fi if [ -z "$LIBEXEC" ]; then - LIBEXECDIR=$EPREFIX/libexec + LIBEXECDIR=$EPREFIX/libexec fi if [ -z "$DATADIR" ]; then - DATADIR=$PREFIX/share + DATADIR=$PREFIX/share fi if [ -z "$SYSCONFDIR" ]; then - SYSCONFDIR=$PREFIX/etc + SYSCONFDIR=$PREFIX/etc fi if [ -z "$SHAREDSTATEDIR" ]; then - SHAREDSTATEDIR=$PREFIX/com + SHAREDSTATEDIR=$PREFIX/com fi if [ -z "$LOCALSTATEDIR" ]; then - LOCALSTATEDIR=$PREFIX/var + LOCALSTATEDIR=$PREFIX/var fi if [ -z "$INCLUDEDIR" ]; then - INCLUDEDIR=$PREFIX/include + INCLUDEDIR=$PREFIX/include fi if [ -z "$INFODIR" ]; then - INFODIR=$PREFIX/info + INFODIR=$PREFIX/info fi if [ -z "$MANDIR" ]; then - MANDIR=$PREFIX/man + MANDIR=$PREFIX/man fi which pkg-config > /dev/null @@ -126,19 +126,19 @@ # Simple uname based platform detection # $PLATFORM is used for platform dependent dependency selection printf "detect platform... " -if [ $OS = SunOS ]; then +if [ "$OS" = "SunOS" ]; then PLATFORM="solaris sunos unix svr4" fi -if [ $OS = Linux ]; then +if [ "$OS" = "Linux" ]; then PLATFORM="linux unix" fi -if [ $OS = FreeBSD ]; then +if [ "$OS" = "FreeBSD" ]; then PLATFORM="freebsd bsd unix" fi -if [ $OS = Darwin ]; then +if [ "$OS" = "Darwin" ]; then PLATFORM="macos osx bsd unix" fi -echo $OS | grep "MINGW" > /dev/null +echo "$OS" | grep -i "MINGW" > /dev/null if [ $? -eq 0 ]; then PLATFORM="windows mingw" fi @@ -149,8 +149,8 @@ for p in $PLATFORM do - PLATFORM_NAME=$p - break + PLATFORM_NAME=$p + break done echo $PLATFORM_NAME @@ -158,7 +158,7 @@ { for p in $PLATFORM do - if [ $p = $1 ]; then + if [ "$p" = "$1" ]; then return 0 fi done @@ -168,7 +168,7 @@ { for p in $PLATFORM do - if [ $p = $1 ]; then + if [ "$p" = "$1" ]; then return 1 fi done @@ -176,7 +176,7 @@ } # generate config.mk and config.h -cat > $TEMP_DIR/config.mk << __EOF__ +cat > "$TEMP_DIR/config.mk" << __EOF__ # # config.mk generated by configure # @@ -200,7 +200,7 @@ __EOF__ -echo > $TEMP_DIR/make.mk +echo > "$TEMP_DIR/make.mk" ENV_CFLAGS=$CFLAGS ENV_LDFLAGS=$LDFLAGS @@ -211,15 +211,15 @@ . make/toolchain.sh # add user specified flags to config.mk -echo >> $TEMP_DIR/config.mk -if [ ! -z "${ENV_CFLAGS}" ]; then - echo "CFLAGS += $ENV_CFLAGS" >> $TEMP_DIR/config.mk +echo "# project specific flags" >> "$TEMP_DIR/config.mk" +if [ -n "${ENV_CFLAGS}" ]; then + echo "CFLAGS += $ENV_CFLAGS" >> "$TEMP_DIR/config.mk" fi -if [ ! -z "${ENV_CXXFLAGS}" ]; then - echo "CXXFLAGS += $ENV_CXXFLAGS" >> $TEMP_DIR/config.mk +if [ -n "${ENV_CXXFLAGS}" ]; then + echo "CXXFLAGS += $ENV_CXXFLAGS" >> "$TEMP_DIR/config.mk" fi -if [ ! -z "${ENV_LDFLAGS}" ]; then - echo "LDFLAGS += $ENV_LDFLAGS" >> $TEMP_DIR/config.mk +if [ -n "${ENV_LDFLAGS}" ]; then + echo "LDFLAGS += $ENV_LDFLAGS" >> "$TEMP_DIR/config.mk" fi # @@ -232,74 +232,74 @@ # dependency curl platform="windows" while true do - if isnotplatform "windows"; then + if isnotplatform "windows"; then break fi - CFLAGS="$CFLAGS -I/mingw/include" - LDFLAGS="$LDFLAGS -lcurl" - echo yes + TEMP_CFLAGS="$TEMP_CFLAGS -I/mingw/include" + TEMP_LDFLAGS="$TEMP_LDFLAGS -lcurl" + echo yes return 0 done - + # dependency curl platform="macos" while true do - if isnotplatform "macos"; then + if isnotplatform "macos"; then break fi curl-config --cflags > /dev/null if [ $? -eq 0 ]; then - CFLAGS="$CFLAGS `curl-config --cflags`" + TEMP_CFLAGS="$TEMP_CFLAGS `curl-config --cflags`" else break fi curl-config --ldflags > /dev/null if [ $? -eq 0 ]; then - LDFLAGS="$LDFLAGS `curl-config --ldflags`" + TEMP_LDFLAGS="$TEMP_LDFLAGS `curl-config --ldflags`" else break fi - echo yes + echo yes return 0 done - - # dependency curl + + # dependency curl while true do if [ -z "$PKG_CONFIG" ]; then - break + break fi - $PKG_CONFIG libcurl + $PKG_CONFIG libcurl if [ $? -ne 0 ] ; then break fi - CFLAGS="$CFLAGS `$PKG_CONFIG --cflags libcurl`" - LDFLAGS="$LDFLAGS `$PKG_CONFIG --libs libcurl`" - echo yes + TEMP_CFLAGS="$TEMP_CFLAGS `$PKG_CONFIG --cflags libcurl`" + TEMP_LDFLAGS="$TEMP_LDFLAGS `$PKG_CONFIG --libs libcurl`" + echo yes return 0 done - - # dependency curl + + # dependency curl while true do curl-config --cflags > /dev/null if [ $? -eq 0 ]; then - CFLAGS="$CFLAGS `curl-config --cflags`" + TEMP_CFLAGS="$TEMP_CFLAGS `curl-config --cflags`" else break fi curl-config --libs > /dev/null if [ $? -eq 0 ]; then - LDFLAGS="$LDFLAGS `curl-config --libs`" + TEMP_LDFLAGS="$TEMP_LDFLAGS `curl-config --libs`" else break fi - echo yes + echo yes return 0 done - - echo no - return 1 + + echo no + return 1 } dependency_openssl() { @@ -307,57 +307,57 @@ # dependency openssl platform="windows" while true do - if isnotplatform "windows"; then + if isnotplatform "windows"; then break fi - LDFLAGS="$LDFLAGS -lssl -lcrypto" - echo yes + TEMP_LDFLAGS="$TEMP_LDFLAGS -lssl -lcrypto" + echo yes return 0 done - + # dependency openssl platform="macos" while true do - if isnotplatform "macos"; then + if isnotplatform "macos"; then break fi - LDFLAGS="$LDFLAGS -framework CoreFoundation" - echo yes + TEMP_LDFLAGS="$TEMP_LDFLAGS -framework CoreFoundation" + echo yes return 0 done - + # dependency openssl platform="bsd" while true do - if isnotplatform "bsd"; then + if isnotplatform "bsd"; then break fi - if isplatform "macos"; then + if isplatform "macos"; then break fi - LDFLAGS="$LDFLAGS -lssl -lcrypto" - echo yes + TEMP_LDFLAGS="$TEMP_LDFLAGS -lssl -lcrypto" + echo yes return 0 done - - # dependency openssl + + # dependency openssl while true do if [ -z "$PKG_CONFIG" ]; then - break + break fi - $PKG_CONFIG openssl + $PKG_CONFIG openssl if [ $? -ne 0 ] ; then break fi - CFLAGS="$CFLAGS `$PKG_CONFIG --cflags openssl`" - LDFLAGS="$LDFLAGS `$PKG_CONFIG --libs openssl`" - echo yes + TEMP_CFLAGS="$TEMP_CFLAGS `$PKG_CONFIG --cflags openssl`" + TEMP_LDFLAGS="$TEMP_LDFLAGS `$PKG_CONFIG --libs openssl`" + echo yes return 0 done - - echo no - return 1 + + echo no + return 1 } dependency_libxml2() { @@ -365,101 +365,101 @@ # dependency libxml2 platform="windows" while true do - if isnotplatform "windows"; then + if isnotplatform "windows"; then break fi xml2-config --cflags > /dev/null if [ $? -eq 0 ]; then - CFLAGS="$CFLAGS `xml2-config --cflags`" + TEMP_CFLAGS="$TEMP_CFLAGS `xml2-config --cflags`" else break fi xml2-config --libs > /dev/null if [ $? -eq 0 ]; then - LDFLAGS="$LDFLAGS `xml2-config --libs`" + TEMP_LDFLAGS="$TEMP_LDFLAGS `xml2-config --libs`" else break fi - echo yes + echo yes return 0 done - + # dependency libxml2 platform="macos" while true do - if isnotplatform "macos"; then + if isnotplatform "macos"; then break fi xml2-config --cflags > /dev/null if [ $? -eq 0 ]; then - CFLAGS="$CFLAGS `xml2-config --cflags`" + TEMP_CFLAGS="$TEMP_CFLAGS `xml2-config --cflags`" else break fi xml2-config --libs > /dev/null if [ $? -eq 0 ]; then - LDFLAGS="$LDFLAGS `xml2-config --libs`" + TEMP_LDFLAGS="$TEMP_LDFLAGS `xml2-config --libs`" else break fi - echo yes + echo yes return 0 done - - # dependency libxml2 + + # dependency libxml2 while true do if [ -z "$PKG_CONFIG" ]; then - break + break fi - $PKG_CONFIG libxml-2.0 + $PKG_CONFIG libxml-2.0 if [ $? -ne 0 ] ; then break fi - CFLAGS="$CFLAGS `$PKG_CONFIG --cflags libxml-2.0`" - LDFLAGS="$LDFLAGS `$PKG_CONFIG --libs libxml-2.0`" - echo yes + TEMP_CFLAGS="$TEMP_CFLAGS `$PKG_CONFIG --cflags libxml-2.0`" + TEMP_LDFLAGS="$TEMP_LDFLAGS `$PKG_CONFIG --libs libxml-2.0`" + echo yes return 0 done - - # dependency libxml2 + + # dependency libxml2 while true do xml2-config --cflags > /dev/null if [ $? -eq 0 ]; then - CFLAGS="$CFLAGS `xml2-config --cflags`" + TEMP_CFLAGS="$TEMP_CFLAGS `xml2-config --cflags`" else break fi xml2-config --libs > /dev/null if [ $? -eq 0 ]; then - LDFLAGS="$LDFLAGS `xml2-config --libs`" + TEMP_LDFLAGS="$TEMP_LDFLAGS `xml2-config --libs`" else break fi - echo yes + echo yes return 0 done - - echo no - return 1 + + echo no + return 1 } DEPENDENCIES_FAILED= ERROR=0 # general dependencies -CFLAGS= -LDFLAGS= +TEMP_CFLAGS= +TEMP_LDFLAGS= while true do while true do - - LDFLAGS="$LDFLAGS -lm -lpthread" - + + TEMP_LDFLAGS="$TEMP_LDFLAGS -lm -lpthread" + break done - + break done while true @@ -472,13 +472,13 @@ fi while true do - - CFLAGS="$CFLAGS -I/usr/local/include" - LDFLAGS="$LDFLAGS -L/usr/local/lib" - + + TEMP_CFLAGS="$TEMP_CFLAGS -I/usr/local/include" + TEMP_LDFLAGS="$TEMP_LDFLAGS -L/usr/local/lib" + break done - + break done while true @@ -488,16 +488,16 @@ fi while true do - - cat >> $TEMP_DIR/make.mk << __EOF__ + + cat >> "$TEMP_DIR/make.mk" << __EOF__ OBJ_EXT = .o LIB_EXT = .a __EOF__ - + break done - + break done while true @@ -510,29 +510,29 @@ fi while true do - - cat >> $TEMP_DIR/make.mk << __EOF__ + + cat >> "$TEMP_DIR/make.mk" << __EOF__ OBJ_EXT = .o LIB_EXT = .a __EOF__ - + break done - + break done # add general dependency flags to config.mk -echo >> $TEMP_DIR/config.mk -if [ ! -z "${CFLAGS}" ]; then - echo "CFLAGS += $CFLAGS" >> $TEMP_DIR/config.mk +echo >> "$TEMP_DIR/config.mk" +if [ -n "${TEMP_CFLAGS}" ]; then + echo "CFLAGS += $TEMP_CFLAGS" >> $TEMP_DIR/config.mk fi -if [ ! -z "${CXXFLAGS}" ]; then - echo "CXXFLAGS += $CXXFLAGS" >> $TEMP_DIR/config.mk +if [ -n "${TEMP_CXXFLAGS}" ]; then + echo "CXXFLAGS += $TEMP_CXXFLAGS" >> $TEMP_DIR/config.mk fi -if [ ! -z "${LDFLAGS}" ]; then - echo "LDFLAGS += $LDFLAGS" >> $TEMP_DIR/config.mk +if [ -n "${TEMP_LDFLAGS}" ]; then + echo "LDFLAGS += $TEMP_LDFLAGS" >> $TEMP_DIR/config.mk fi # @@ -542,51 +542,51 @@ # # TARGETS # -CFLAGS= -CXXFLAGS= -LDFLAGS= +TEMP_CFLAGS= +TEMP_CXXFLAGS= +TEMP_LDFLAGS= # Target: dav -CFLAGS= -LDFLAGS= -CXXFLAGS= +TEMP_CFLAGS= +TEMP_LDFLAGS= +TEMP_CXXFLAGS= dependency_curl if [ $? -ne 0 ]; then - DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED curl " - ERROR=1 + DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED curl " + ERROR=1 fi dependency_libxml2 if [ $? -ne 0 ]; then - DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED libxml2 " - ERROR=1 + DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED libxml2 " + ERROR=1 fi dependency_openssl if [ $? -ne 0 ]; then - DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED openssl " - ERROR=1 + DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED openssl " + ERROR=1 fi # Features -echo >> $TEMP_DIR/config.mk -if [ ! -z "${CFLAGS}" ]; then - echo "DAV_CFLAGS += $CFLAGS" >> $TEMP_DIR/config.mk +echo >> "$TEMP_DIR/config.mk" +if [ -n "${TEMP_CFLAGS}" ]; then + echo "DAV_CFLAGS += $TEMP_CFLAGS" >> "$TEMP_DIR/config.mk" fi -if [ ! -z "${CXXFLAGS}" ]; then - echo "DAV_CXXFLAGS += $CXXFLAGS" >> $TEMP_DIR/config.mk +if [ -n "${TEMP_CXXFLAGS}" ]; then + echo "DAV_CXXFLAGS += $TEMP_CXXFLAGS" >> "$TEMP_DIR/config.mk" fi -if [ ! -z "${LDFLAGS}" ]; then - echo "DAV_LDFLAGS += $LDFLAGS" >> $TEMP_DIR/config.mk +if [ -n "${TEMP_LDFLAGS}" ]; then + echo "DAV_LDFLAGS += $TEMP_LDFLAGS" >> "$TEMP_DIR/config.mk" fi if [ $ERROR -ne 0 ]; then - echo - echo "Error: Unresolved dependencies" - echo $DEPENDENCIES_FAILED - rm -Rf $TEMP_DIR - exit 1 + echo + echo "Error: Unresolved dependencies" + echo "$DEPENDENCIES_FAILED" + rm -Rf "$TEMP_DIR" + exit 1 fi echo "configure finished" @@ -595,7 +595,7 @@ echo " PREFIX: $PREFIX" echo " TOOLCHAIN: $TOOLCHAIN_NAME" echo -cat $TEMP_DIR/config.mk $TEMP_DIR/make.mk > config.mk -rm -Rf $TEMP_DIR +cat "$TEMP_DIR/config.mk" "$TEMP_DIR/make.mk" > config.mk +rm -Rf "$TEMP_DIR"