From: David Sommerseth Date: Thu, 8 Apr 2010 18:31:01 +0000 (+0200) Subject: Add comile time information/settings from ./configure to --version X-Git-Tag: v2.2-beta1~6^2~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f27bf509315a48b0070294c3993a718df0c2626c;p=thirdparty%2Fopenvpn.git Add comile time information/settings from ./configure to --version This patch will create ./configure.h which will contain two new #define strings. CONFIGURE_DEFINES will contain all USE, ENABLED, DISABLED and DEPRECATED defines from ./config.h. CONFIGURE_CALL will contain the complete ./configure line which was used when configuring the package for building. Signed-off-by: David Sommerseth Acked-by: James Yonan --- diff --git a/Makefile.am b/Makefile.am index 7bccc11df..20453d0ec 100644 --- a/Makefile.am +++ b/Makefile.am @@ -6,6 +6,7 @@ # packet compression. # # Copyright (C) 2002-2009 OpenVPN Technologies, Inc. +# Copyright (C) 2010 David Sommerseth # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 @@ -140,6 +141,12 @@ openvpn_SOURCES = \ win32.h win32.c \ cryptoapi.h cryptoapi.c +configure.h: Makefile + awk -f configure_h.awk config.h > $@ + awk -f configure_log.awk config.log >> $@ + +clean-local: + -rm -f configure.h dist-hook: cd $(distdir) && for i in $(EXTRA_DIST) $(SUBDIRS) ; do find $$i -name .svn -type d -prune -exec rm -rf '{}' ';' ; rm -f `find $$i -type f | grep -E '(^|\/)\.?\#|\~$$|\.s?o$$'` ; done diff --git a/configure_h.awk b/configure_h.awk new file mode 100644 index 000000000..672e74572 --- /dev/null +++ b/configure_h.awk @@ -0,0 +1,39 @@ +# +# OpenVPN -- An application to securely tunnel IP networks +# over a single UDP port, with support for SSL/TLS-based +# session authentication and key exchange, +# packet encryption, packet authentication, and +# packet compression. +# +# Copyright (C) 2010 David Sommerseth +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 +# as published by the Free Software Foundation. +# +# This program 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 this program (see the file COPYING included with this +# distribution); if not, write to the Free Software Foundation, Inc., +# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# +# This script will build up a line which can be included into a C program. +# The line will contain all interesting #define statements from f.ex. ./config.h +# + +BEGIN { + printf ("#define CONFIGURE_DEFINES \"") +} + +/^#define (ENABLE|DISABLE|DEPRECATED|USE)_/ { + printf (" %s", $2) +} + +END { + printf ("\"\n") +} diff --git a/configure_log.awk b/configure_log.awk new file mode 100644 index 000000000..b305f71e1 --- /dev/null +++ b/configure_log.awk @@ -0,0 +1,36 @@ +# +# OpenVPN -- An application to securely tunnel IP networks +# over a single UDP port, with support for SSL/TLS-based +# session authentication and key exchange, +# packet encryption, packet authentication, and +# packet compression. +# +# Copyright (C) 2010 David Sommerseth +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 +# as published by the Free Software Foundation. +# +# This program 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 this program (see the file COPYING included with this +# distribution); if not, write to the Free Software Foundation, Inc., +# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# +# This script will build up a line which can be included into a C program. +# The line will only contain the first entry of the ./configure line from +# ./config.log. +# + +BEGIN { + printf ("#define CONFIGURE_CALL \"") +} +/\$ .\/configure/ { + print $0,"\"" + exit 0 +} diff --git a/options.c b/options.c index e79f742de..25936d132 100644 --- a/options.c +++ b/options.c @@ -45,6 +45,7 @@ #include "pool.h" #include "helper.h" #include "manage.h" +#include "configure.h" #include "memdbg.h" @@ -2751,6 +2752,8 @@ usage_version (void) msg (M_INFO|M_NOPREFIX, "%s", title_string); msg (M_INFO|M_NOPREFIX, "Originally developed by James Yonan"); msg (M_INFO|M_NOPREFIX, "Copyright (C) 2002-2009 OpenVPN Technologies, Inc. "); + msg (M_INFO|M_NOPREFIX, "\n%s\n", CONFIGURE_CALL); + msg (M_INFO|M_NOPREFIX, "Compile time defines: %s", CONFIGURE_DEFINES); openvpn_exit (OPENVPN_EXIT_STATUS_USAGE); /* exit point */ }