We now have a current svn snapshot of libqxt in our contrib dir, and
[quassel.git] / src / contrib / libqxt-2007-10-24 / configure
diff --git a/src/contrib/libqxt-2007-10-24/configure b/src/contrib/libqxt-2007-10-24/configure
new file mode 100755 (executable)
index 0000000..d194eea
--- /dev/null
@@ -0,0 +1,162 @@
+#!/bin/bash
+
+#====some defaults====
+QMAKE_BIN=qmake
+WHICH=which
+
+NO_OPENSSL=0
+NO_FFMPEG=0
+
+if uname -a | grep -iq Darwin; then
+    DEFAULT_LIBS="/Library/Frameworks"
+    QMAKE_PARAMS="-spec macx-g++"
+else
+    DEFAULT_LIBS="PREFIX/lib"
+    QMAKE_PARAMS=""
+fi
+
+# the directory of this script (the root)
+PROJECT_ROOT=`dirname $0`
+PROJECT_ROOT=`(cd "$relpath"; /bin/pwd)`
+TESTDIR=$PROJECT_ROOT/config.tests
+CONFIG_LOG=$PROJECT_ROOT/config.log
+
+# Define some colors for neat output
+C_RED='\e[1;31m'
+C_BLUE='\e[1;34m'
+C_GREEN='\e[1;32m'
+C_CYAN='\e[1;36m'
+C_NONE='\e[0m' # No Color
+
+#====parse configure options====
+
+echo "QXT_stability += unknown" > config.in
+
+while (( $# > 0 )); do
+    if [ $1 == "-qmake-bin" ]; then
+        QMAKE_BIN=$2; shift
+    elif [ $1 == "-bootstrap" ]; then
+        echo "CONFIG += bootstrap" >> config.in; shift
+    elif [ $1 == "-nomake" ]; then
+        echo "QXT_BUILD -= $2" >> config.in; shift
+    elif [ $1 == "-prefix" ]; then
+        echo "QXTINSTALLDIR = $2" >> config.in; shift
+    elif [ $1 == "-libdir" ]; then
+        echo "target.path = $2" >> config.in; shift
+    elif [ $1 == "-docdir" ]; then
+        echo "docs.path = $2" >> config.in; shift
+    elif [ $1 == "-headerdir" ]; then
+        echo "include.path = $2" >> config.in; shift
+    elif [ $1 == "-bindir" ]; then
+        echo "bin.path = $2" >> config.in; shift
+    elif [ $1 == "-static" ]; then
+        echo "CONFIG += static staticlib" >> config.in
+    elif [ $1 == "-debug" ]; then
+        echo "CONFIG += debug" >> config.in
+    elif [ $1 == "-release" ]; then
+        echo "CONFIG += release" >> config.in
+    elif [ $1 == "-no-openssl" ]; then
+        echo "QXT_LIBS -= openssl" >> config.in
+        NO_OPENSSL=1
+    elif [ $1 == "-help" ] || [ $1 == "--help" ]; then
+        echo "Usage: configure [-prefix <dir>] [-libdir <dir>] [-docdir <dir>]"
+        echo "       [-bindir <dir>] [-headerdir <dir>] [-qmake-bin <path>]"
+        echo "       [-static] [-debug] [-release] [-no-openssl] [-nomake <module>]"
+        echo
+        echo "Installation options:"
+        echo
+        echo "-prefix <dir> ....... This will install everything relative to <dir>"
+        echo "                      default: /usr/local/Qxt"
+        echo "-libdir <dir> ....... Libraries will be installed to <dir>"
+        echo "                      default: $DEFAULT_LIBS"
+        echo "-docdir <dir> ....... Documentation will be installed to <dir>"
+        echo "                      default: PREFIX/share/doc"
+        echo "-bindir <dir> ....... Executables will be installed to <dir>"
+        echo "                      default: PREFIX/bin"
+        echo "-headerdir <dir> .... Include files will be installed to <dir>"
+        echo "                      default: PREFIX/include"
+        echo "-qmake-bin <path> ... Specifies the path to the qmake executable"
+        echo "                      default: search the system path"
+        echo "-static ............. Compile Qxt as a static library"
+        echo "-debug .............. Build Qxt with debugging symbols"
+        echo "-release ............ Build Qxt without debugging support"
+        echo "-no-openssl ......... Do not link to OpenSSL"
+        echo "-nomake <module> .... Do not compile the specified module"
+        echo "                      options: network gui sql media web designer"
+        echo "-bootstrap .......... That should not be needed for release versions."
+        echo "                      warning: will only work on bash > 3.2"
+
+        rm config.in
+        exit
+    else
+        echo "Unrecognized configure option: $1"
+        rm config.in
+        exit
+    fi
+    shift
+done
+
+#====begin some autodetection====
+>$CONFIG_LOG
+
+# qmake?
+if ! $WHICH $QMAKE_BIN >>$CONFIG_LOG 2>&1; then
+       echo >&2 "You don't seem to have 'qmake' in your PATH."
+        echo >&2 "Cannot proceed."
+        exit 1
+fi
+
+# find a make command
+if [ -z "$MAKE" ]; then
+    MAKE=
+    for mk in gmake make; do
+        if "$WHICH" $mk | grep -qv "no "; then
+            MAKE=`$WHICH $mk`
+            break
+        fi
+    done
+    if [ -z "$MAKE" ]; then
+        echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH."
+        echo >&2 "Cannot proceed."
+        exit 1
+    fi
+fi
+
+configtest()
+{
+       echo -en "checking for $1\t" 
+       echo -e  " \n\n $1\n" >>$CONFIG_LOG
+       cd $TESTDIR/$1
+       $QMAKE_BIN $QMAKE_PARAMS  >>$CONFIG_LOG 2>&1
+       echo -n "."
+       $MAKE clean >>$CONFIG_LOG 2>&1
+       [ -f ./$1 ] && rm ./$1
+       echo -n "."
+       $MAKE >>$CONFIG_LOG 2>&1
+       echo -n "."
+       if ./$1 >>$CONFIG_LOG 2>&1; then
+               echo -e >&2 "  [${C_GREEN}success${C_NONE}] "
+               echo "DEFINES+=HAVE_$2">>$PROJECT_ROOT/config.in
+       else
+               echo -e >&2 "  [${C_RED}failure${C_NONE}] "
+       fi
+}
+
+configtest qt4     QT
+if [[ "$NO_OPENSSL" == "0" ]]; then
+    configtest openssl OPENSSL
+fi
+#configtest curses  CURSES
+configtest fcgi  FCGI
+
+
+#====finaly running qmake====
+echo "autodetection finished. running qmake."
+cd  $PROJECT_ROOT
+
+[ -f config.pri ] && mv config.pri config.pri.bak
+mv config.in config.pri
+
+$QMAKE_BIN $QMAKE_PARAMS -recursive 2>>$CONFIG_LOG
+
+echo -e >&2 "${C_CYAN}configure finished. run $MAKE now.${C_NONE}\n"