X-Git-Url: https://git.syn-net.org/?a=blobdiff_plain;f=src%2Fconfigure;h=ee8058211d801146a2903da8a5c30b5646d3a574;hb=4056e2f18a8438e493890b5222038009914f6182;hp=d88e333f08dbff7eb1f381aff04b989f0fb6af68;hpb=b81b2c1954fe3e3317e6fa260c5ffdc9eeee966c;p=debian%2Fuanytun.git diff --git a/src/configure b/src/configure index d88e333..ee80582 100755 --- a/src/configure +++ b/src/configure @@ -16,13 +16,14 @@ # tunneling and relaying of packets of any protocol. # # -# Copyright (C) 2007-2008 Christian Pointner +# Copyright (C) 2007-2010 Christian Pointner # # This file is part of uAnytun. # # uAnytun 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. # # uAnytun is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -35,30 +36,36 @@ TARGET=`uname -s` +EBUILD_COMPAT=0 + CFLAGS='-g -O2' LDFLAGS='-g -Wall -O2' CRYPTO_LIB='gcrypt' PASSPHRASE=1 -V4_MAPPED=1 PREFIX='/usr/local' -USERNAME='uanytun' -USERHOME='/var/run/uanytun' +SBINDIR='' +ETCDIR='' +MANDIR='' +INSTALLMANPAGE=1 +EXAMPLESDIR='' +INSTALLEXAMPLES=1 print_usage() { echo "configure --help print this" echo " --target= build target i.e. Linux (default: autodetect)" echo " --prefix= the installation prefix (default: /usr/local)" - echo " --username= create this user when installing (default: uanytun)" - echo " --userhome= the home directory of the user to be created (default: /var/run/uanytun)" + echo " --sbindir= the path to the sbin directory (default: $PREFIX/sbin)" + echo " --sysconfdir= the path to the system configuration directory (default: $PREFIX/etc" + echo " --mandir= the path to the system man pages (default: $PREFIX/share/man)" + 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 " --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-v4-mapped disable V4-Mapped addresses (this means to disable" - echo " simultanious use of IPv4 and IPv6)" - echo " --enable-v4-mapped enable V4-Mapped addresses" } for arg @@ -70,11 +77,23 @@ do --prefix=*) PREFIX=${arg#--prefix=} ;; - --username=*) - USERNAME=${arg#--username=} + --sbindir=*) + SBINDIR=${arg#--sbindir=} + ;; + --sysconfdir=*) + ETCDIR=${arg#--sysconfdir=} + ;; + --mandir=*) + MANDIR=${arg#--mandir=} + ;; + --no-manpage) + INSTALLMANPAGE=0 ;; - --userhome=*) - USERHOME=${arg#--userhome=} + --examplesdir=*) + EXAMPLESDIR=${arg#--examplesdir=} + ;; + --no-examples) + INSTALLEXAMPLES=0 ;; --use-ssl-crypto) CRYPTO_LIB='ssl' @@ -88,24 +107,29 @@ do --enable-passphrase) PASSPHRASE=1 ;; - --disable-v4-mapped) - V4_MAPPED=0 - ;; - --enable-v4-mapped) - V4_MAPPED=2 - ;; + --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 version.h rm -f include.mk case $TARGET in Linux) @@ -113,18 +137,15 @@ case $TARGET in ln -sf linux/tun.c echo "loading Linux specific TUN Device" ;; - OpenBSD|FreeBSD|NetBSD) + OpenBSD|FreeBSD|NetBSD|GNU/kFreeBSD) rm -f tun.c ln -sf bsd/tun.c echo "loading BSD specific TUN Device" CFLAGS=$CFLAGS' -I/usr/local/include' LDFLAGS=$LDFLAGS' -L/usr/local/lib' - if [ $V4_MAPPED -ne 2 ]; then - V4_MAPPED=0 - fi ;; *) - echo "Plattform not supported" + echo "platform not supported" exit 1; ;; esac @@ -152,15 +173,20 @@ if [ $PASSPHRASE -eq 0 ]; then echo "disabling master key and salt passphrase" fi -if [ $V4_MAPPED -eq 0 ]; then - CFLAGS=$CFLAGS' -DNO_V4MAPPED' - echo "WARNING: disabling V4 mapped addresses, this prevents uanytun from using IPv6 and IPv4 Sockets at the same time" +if [ -z "$SBINDIR" ]; then + SBINDIR=$PREFIX/sbin fi -if [ "x$PREFIX" = "x/usr" ]; then - ETCDIR=/etc -else - ETCDIR=$PREFIX/etc +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 <> 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 + +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 +fi +HOSTNAME=`hostname` +DATE=`date +"%d.%m.%Y %H:%M:%S %Z"` + +cat >> version.h <