]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
Add comile time information/settings from ./configure to --version
authorDavid Sommerseth <dazo@users.sourceforge.net>
Thu, 8 Apr 2010 18:31:01 +0000 (20:31 +0200)
committerDavid Sommerseth <dazo@users.sourceforge.net>
Thu, 8 Apr 2010 18:31:01 +0000 (20:31 +0200)
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 <dazo@users.sourceforge.net>
Acked-by: James Yonan <james@openvpn.net>
Makefile.am
configure_h.awk [new file with mode: 0644]
configure_log.awk [new file with mode: 0644]
options.c

index 7bccc11df8353117482086d9ea6a6f6613d8fab1..20453d0ec48f8b2461071f7a42aea7cc76e1f173 100644 (file)
@@ -6,6 +6,7 @@
 #             packet compression.
 #
 #  Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
+#  Copyright (C) 2010      David Sommerseth <dazo@users.sourceforge.net>
 #
 #  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 (file)
index 0000000..672e745
--- /dev/null
@@ -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 <dazo@users.sourceforge.net>
+#
+#  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 (file)
index 0000000..b305f71
--- /dev/null
@@ -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 <dazo@users.sourceforge.net>
+#
+#  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
+}
index e79f742dee4a19da25b00d0bf8a3ce1d7035b2b7..25936d132416677894e8a29bbf20ad4f1962f44a 100644 (file)
--- 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. <sales@openvpn.net>");
+  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 */
 }