X-Git-Url: https://git.syn-net.org/?p=debian%2Fuanytun.git;a=blobdiff_plain;f=src%2Fconfigure;h=804455294ea231fccef15c69d93540de36d2d7d7;hp=ee8058211d801146a2903da8a5c30b5646d3a574;hb=cd587a97e53c5eddf158462a6ff2271351e813e5;hpb=4d61c93845abce1e45c4a41562ecb3fa4e3bdcc3 diff --git a/src/configure b/src/configure index ee80582..8044552 100755 --- a/src/configure +++ b/src/configure @@ -11,12 +11,12 @@ # tunnel endpoints. It has less protocol overhead than IPSec in Tunnel # mode and allows tunneling of every ETHER TYPE protocol (e.g. # ethernet, ip, arp ...). satp directly includes cryptography and -# message authentication based on the methodes used by SRTP. It is +# message authentication based on the methods used by SRTP. It is # intended to deliver a generic, scaleable and secure solution for # tunneling and relaying of packets of any protocol. -# # -# Copyright (C) 2007-2010 Christian Pointner +# +# Copyright (C) 2007-2014 Christian Pointner # # This file is part of uAnytun. # @@ -33,13 +33,24 @@ # You should have received a copy of the GNU General Public License # along with uAnytun. If not, see . # +# In addition, as a special exception, the copyright holders give +# permission to link the code of portions of this program with the +# OpenSSL library under certain conditions as described in each +# individual source file, and distribute linked combinations +# including the two. +# You must obey the GNU General Public License in all respects +# for all of the code used other than OpenSSL. If you modify +# file(s) with this exception, you may extend this exception to your +# version of the file(s), but you are not obligated to do so. If you +# do not wish to do so, delete this exception statement from your +# version. If you delete this exception statement from all source +# files in the program, then also delete it here. +# TARGET=`uname -s` - EBUILD_COMPAT=0 -CFLAGS='-g -O2' -LDFLAGS='-g -Wall -O2' +USE_CLANG=0 CRYPTO_LIB='gcrypt' PASSPHRASE=1 @@ -62,10 +73,13 @@ print_usage() { echo " --no-manpage dont't install manpage" echo " --examplesdir= 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 " --use-gcrypt use libgcrypt (this is the default)" + echo " --use-nettle use libnettle instead of libgcrypt" + echo " --use-ssl-crypto use openssl crypto library instead of libgcrypt" 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 " --use-clang use clang/llvm as compiler/linker" } for arg @@ -74,6 +88,9 @@ do --target=*) TARGET=${arg#--target=} ;; + --use-clang) + USE_CLANG=1 + ;; --prefix=*) PREFIX=${arg#--prefix=} ;; @@ -95,12 +112,18 @@ do --no-examples) INSTALLEXAMPLES=0 ;; + --use-gcrypt) + CRYPTO_LIB='gcrypt' + ;; + --use-nettle) + CRYPTO_LIB='nettle' + ;; --use-ssl-crypto) CRYPTO_LIB='ssl' ;; --no-crypto) CRYPTO_LIB='none' - ;; + ;; --disable-passphrase) PASSPHRASE=0 ;; @@ -129,9 +152,19 @@ if [ -n "$ERRORS" ] && [ $EBUILD_COMPAT -ne 1 ]; then exit 1 fi +if [ $USE_CLANG -eq 0 ]; then + CFLAGS=$CFLAGS'-g -Wall -O2' + LDFLAGS=$LDFLAGS'-g -Wall -O2' + COMPILER='gcc' +else + CFLAGS=$CFLAGS'-g -O2' + LDFLAGS=$LDFLAGS'-g -O2' + COMPILER='clang' +fi + rm -f version.h rm -f include.mk -case $TARGET in +case $TARGET in Linux) rm -f tun.c ln -sf linux/tun.c @@ -150,23 +183,33 @@ case $TARGET in ;; esac - +CRYPTO_LIB_NAME="" case $CRYPTO_LIB in gcrypt) + CFLAGS=$CFLAGS' -DUSE_GCRYPT' LDFLAGS=$LDFLAGS' -lgcrypt' - echo "using libgcrypt library" + CRYPTO_LIB_NAME="libgcrypt" + ;; + nettle) + CFLAGS=$CFLAGS' -DUSE_NETTLE' + LDFLAGS=$LDFLAGS' -lnettle' + CRYPTO_LIB_NAME="Nettle" ;; ssl) CFLAGS=$CFLAGS' -DUSE_SSL_CRYPTO' LDFLAGS=$LDFLAGS' -lcrypto' - echo "using ssl crypto library" + CRYPTO_LIB_NAME="OpenSSL" ;; none) CFLAGS=$CFLAGS' -DNO_CRYPT' - echo "NO_CRYPT_OBJ = 1" >> include.mk - echo "disabling crypto" + CRYPTO_LIB_NAME="none" + ;; + *) + echo "unknown crypto library: $$CRYPTO_LIB" + exit 1 ;; esac +echo "crypto-library: $CRYPTO_LIB_NAME" if [ $PASSPHRASE -eq 0 ]; then CFLAGS=$CFLAGS' -DNO_PASSPHRASE' @@ -189,23 +232,27 @@ if [ -z "$EXAMPLESDIR" ]; then EXAMPLESDIR=$PREFIX/share/examples fi -cat >> include.mk < include.mk <> include.mk +fi + if [ $INSTALLMANPAGE -eq 1 ]; then echo "MANDIR := $MANDIR" >> include.mk echo "installing manpage" @@ -221,17 +268,15 @@ else fi VERSION=`cat ../version` -if which svn >/dev/null; then - SVN_REV=`svn info | grep "^Revision: " | awk '{print($2)}'` - if [ -n "$SVN_REV" ]; then - VERSION="$VERSION (svn$SVN_REV)" - fi +if which git >/dev/null; then + GIT_HASH=`git rev-parse HEAD 2> /dev/null` + if [ -n "$GIT_HASH" ]; then + VERSION="$VERSION (git $GIT_HASH)" + fi fi -HOSTNAME=`hostname` -DATE=`date +"%d.%m.%Y %H:%M:%S %Z"` -cat >> version.h < version.h <> version.h <