Imported Upstream version 0.3.2
[anytun.git] / src / configure
index 770318b..5381010 100755 (executable)
 #  tunneling and relaying of packets of any protocol.
 #
 #
-#  Copyright (C) 2007-2008 Othmar Gsenger, Erwin Nindl, 
+#  Copyright (C) 2007-2009 Othmar Gsenger, Erwin Nindl, 
 #                          Christian Pointner <satp@wirdorange.org>
 #
 #  This file is part of Anytun.
 #
 #  Anytun is free software: you can redistribute it and/or modify
-#  it under the terms of the GNU General Public License version 3 as
-#  published by the Free Software Foundation.
+#  it under the terms of the GNU General Public License as published by
+#  the Free Software Foundation, either version 3 of the License, or
+#  any later version.
 #
 #  Anytun is distributed in the hope that it will be useful,
 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
 
 TARGET=`uname -s`
 
+EBUILD_COMPAT=0
+
 CXXFLAGS='-g -Wall -O2 -DLOG_SYSLOG -DLOG_FILE -DLOG_STDOUT'
-LDFLAGS='-g -Wall -O2 -lboost_thread -lboost_serialization -lboost_system'
+LDFLAGS='-g -Wall -O2 -lboost_thread -lboost_serialization -lboost_system -lboost_date_time'
 
 CRYPTO_LIB='gcrypt'
 PASSPHRASE=1
 ROUTING=1
 
+PREFIX='/usr/local'
+BINDIR=''
+SBINDIR=''
+ETCDIR=''
+MANDIR=''
+INSTALLMANPAGE=1
+EXAMPLESDIR=''
+INSTALLEXAMPLES=1
+
 print_usage() {
   echo "configure --help                    print this"
+  echo "          --target=<TARGET>         build target i.e. Linux (default: autodetect)"
+  echo "          --prefix=<PREFIX>         the installation prefix (default: /usr/local)"
+  echo "          --bindir=<DIR>            the path to the bin directory (default: $PREFIX/bin)"
+  echo "          --sbindir=<DIR>           the path to the sbin directory (default: $PREFIX/sbin)"
+  echo "          --sysconfdir=<DIR>        the path to the system configuration directory (default: $PREFIX/etc"
+  echo "          --mandir=<DIR>            the path to the system man pages (default: $PREFIX/share/man)"
+  echo "          --no-manpage              dont't install manpages"
+  echo "          --examplesdir=<DIR>       the path to the examples files (default: $PREFIX/share/examples)"
+  echo "          --no-examples             dont't install example files"
   echo "          --use-ssl-crypto          use ssl crypto library instead of libgcrypt"
-  echo "          --disable-crypto          disable crypto at all (only NULL cipher)"
+  echo "          --no-crypto               disable crypto at all (only NULL cipher)"
   echo "          --disable-passphrase      disable master key and salt passphrase"
+  echo "          --enable-passphrase       enable master key and salt passphrase"
   echo "          --disable-routing         disable built-in routing capability"
+  echo "          --enable-routing          enable built-in routing capability"
 }
 
 for arg
 do
   case $arg in
+  --target=*)
+    TARGET=${arg#--target=}
+  ;;
+  --prefix=*)
+    PREFIX=${arg#--prefix=}
+  ;;
+  --bindir=*)
+    SBINDIR=${arg#--bindir=}
+  ;;
+  --sbindir=*)
+    SBINDIR=${arg#--sbindir=}
+  ;;
+  --sysconfdir=*)
+    ETCDIR=${arg#--sysconfdir=}
+  ;;
+  --mandir=*)
+    MANDIR=${arg#--mandir=}
+  ;;
+  --no-manpage)
+    INSTALLMANPAGE=0
+  ;;
+  --examplesdir=*)
+    EXAMPLESDIR=${arg#--examplesdir=}
+  ;;
+  --no-examples)
+    INSTALLEXAMPLES=0
+  ;;
   --use-ssl-crypto)
     CRYPTO_LIB='ssl'
   ;;
-  --disable-crypto)
+  --no-crypto)
     CRYPTO_LIB='none'
   ;; 
+  --enable-passphrase)
+    PASSPHRASE=1
+  ;;
   --disable-passphrase)
     PASSPHRASE=0
   ;;
+  --enable-routing)
+    ROUTING=1
+  ;;
   --disable-routing)
     ROUTING=0
   ;;
+  --ebuild-compat)
+    EBUILD_COMPAT=1
+  ;;
   --help)
     print_usage
     exit 0
   ;;
   *)
-    echo "Unknown argument: $arg"
-    print_usage
-    exit 1
+    ERRORS="$ERRORS $arg"
   ;;
   esac
 done
 
+if [ -n "$ERRORS" ] && [ $EBUILD_COMPAT -ne 1 ]; then
+  for error in $ERRORS; do
+    echo "Unknown argument: $error"
+  done
+
+  print_usage
+  exit 1
+fi
+
+
 rm -f include.mk
 case $TARGET in 
        Linux)
@@ -121,6 +188,26 @@ if [ $ROUTING -eq 0 ]; then
   echo "disabling built-in routing capability"
 fi
 
+if [ -z "$BINDIR" ]; then
+  BINDIR=$PREFIX/bin
+fi
+
+if [ -z "$SBINDIR" ]; then
+  SBINDIR=$PREFIX/sbin
+fi
+
+if [ -z "$ETCDIR" ]; then
+  ETCDIR=$PREFIX/etc
+fi
+
+if [ -z "$MANDIR" ]; then
+  MANDIR=$PREFIX/share/man
+fi
+
+if [ -z "$EXAMPLESDIR" ]; then
+  EXAMPLESDIR=$PREFIX/share/examples
+fi
+
 cat >> include.mk <<EOF
 # this file was created automatically
 # do not edit this file directly 
@@ -131,6 +218,27 @@ CXX = gcc
 CXXFLAGS = $CXXFLAGS
 LD = gcc
 LDFLAGS = $LDFLAGS
+STRIP = strip
+INSTALL = install
+
+PREFIX := $PREFIX
+BINDIR := $BINDIR
+SBINDIR := $SBINDIR
+ETCDIR := $ETCDIR
 EOF
 
+if [ $INSTALLMANPAGE -eq 1 ]; then
+  echo "MANDIR := $MANDIR" >> include.mk
+  echo "installing manpage"
+else
+  echo "not installing manpage"
+fi
+
+if [ $INSTALLEXAMPLES -eq 1 ]; then
+  echo "EXAMPLESDIR := $EXAMPLESDIR" >> include.mk
+  echo "installing example files"
+else
+  echo "not installing example files"
+fi
+
 exit 0