summaryrefslogtreecommitdiff
path: root/src/configure
diff options
context:
space:
mode:
authorChristian Pointner <equinox@helsinki.at>2011-02-15 11:00:00 (GMT)
committerChristian Pointner <equinox@helsinki.at>2011-02-15 11:00:00 (GMT)
commitcef04da3c24cdcf1c1ffeb214c74f6ef0aaaa0ad (patch)
treefaa46b65dbeb61beab0d713ff075d6da18b1c1a8 /src/configure
parentd32fab197970b9aac76ef90fb2f48adbbebea978 (diff)
added initial version
Diffstat (limited to 'src/configure')
-rwxr-xr-xsrc/configure180
1 files changed, 180 insertions, 0 deletions
diff --git a/src/configure b/src/configure
new file mode 100755
index 0000000..6aee62a
--- /dev/null
+++ b/src/configure
@@ -0,0 +1,180 @@
+#!/bin/sh
+#
+# rharchive
+#
+# rharchive is a simple tcp connection proxy which combines the
+# features of rinetd and 6tunnel. rharchive supports IPv4 and
+# IPv6 and also supports connections from IPv6 to IPv4
+# endpoints and vice versa.
+#
+#
+# Copyright (C) 2010-2011 Christian Pointner <equinox@helsinki.at>
+#
+# This file is part of rharchive.
+#
+# rharchive is free software: you can redistribute it and/or modify
+# 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.
+#
+# rharchive is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with rharchive. If not, see <http://www.gnu.org/licenses/>.
+#
+
+TARGET=`uname -s`
+EBUILD_COMPAT=0
+
+CFLAGS='-g -O2'
+LDFLAGS='-g -Wall -O2'
+
+PREFIX='/usr/local'
+BINDIR=''
+ETCDIR=''
+MANDIR=''
+INSTALLMANPAGE=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 " --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 manpage"
+}
+
+for arg
+do
+ case $arg in
+ --target=*)
+ TARGET=${arg#--target=}
+ ;;
+ --prefix=*)
+ PREFIX=${arg#--prefix=}
+ ;;
+ --bindir=*)
+ BINDIR=${arg#--bindir=}
+ ;;
+ --sysconfdir=*)
+ ETCDIR=${arg#--sysconfdir=}
+ ;;
+ --mandir=*)
+ MANDIR=${arg#--mandir=}
+ ;;
+ --no-manpage)
+ INSTALLMANPAGE=0
+ ;;
+ --ebuild-compat)
+ EBUILD_COMPAT=1
+ ;;
+ --help)
+ print_usage
+ exit 0
+ ;;
+ *)
+ 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)
+ ;;
+ OpenBSD|FreeBSD|NetBSD|GNU/kFreeBSD)
+ CFLAGS=$CFLAGS' -I/usr/local/include'
+ LDFLAGS=$LDFLAGS' -L/usr/local/lib'
+ ;;
+ *)
+ echo "platform not supported"
+ exit 1;
+ ;;
+esac
+
+if [ -z "$BINDIR" ]; then
+ BINDIR=$PREFIX/bin
+fi
+
+if [ -z "$ETCDIR" ]; then
+ ETCDIR=$PREFIX/etc
+fi
+
+if [ -z "$MANDIR" ]; then
+ MANDIR=$PREFIX/share/man
+fi
+
+cat >> include.mk <<EOF
+# this file was created automatically
+# do not edit this file directly
+# use ./configure instead
+
+TARGET := '$TARGET'
+CC := gcc
+CFLAGS := $CFLAGS
+LDFLAGS := $LDFLAGS
+STRIP := strip
+INSTALL := install
+RAGEL := ragel
+
+PREFIX := '$PREFIX'
+BINDIR := '$BINDIR'
+ETCDIR := '$ETCDIR'
+EOF
+
+if [ $INSTALLMANPAGE -eq 1 ]; then
+ echo "MANDIR := '$MANDIR'" >> include.mk
+ echo "installing manpage"
+else
+ echo "not installing manpage"
+fi
+
+VERSION=`cat ../version`
+if which svn >/dev/null; then
+ SVN_REV=`svn info 2> /dev/null | 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 >> config.h <<EOF
+/*
+ * rharchive config header
+ *
+ * this file was created automatically
+ * do not edit this file directly
+ * use ./configure instead
+ */
+
+#ifndef RHARCHIVE_config_h_INCLUDED
+#define RHARCHIVE_config_h_INCLUDED
+
+#define VERSION_STRING_0 "rharchive version $VERSION"
+#define VERSION_STRING_1 "built on $HOSTNAME, $DATE"
+
+#define TARGET "$TARGET"
+#define PREFIX "$PREFIX"
+#define BINDIR "$BINDIR"
+#define ETCDIR "$ETCDIR"
+
+#endif
+EOF
+
+exit 0