chiark / gitweb /
include configure and compiler details in version output
authorRichard Kettlewell <rjk@greenend.org.uk>
Sat, 15 Dec 2007 12:03:08 +0000 (12:03 +0000)
committerRichard Kettlewell <rjk@greenend.org.uk>
Sat, 15 Dec 2007 12:03:08 +0000 (12:03 +0000)
23 files changed:
.bzrignore
clients/disorder.c
clients/disorderfm.c
clients/playrtp.c
disobedience/disobedience.c
lib/Makefile.am
lib/defs.c
lib/defs.h
scripts/make-version-string [new file with mode: 0755]
scripts/text2c
server/dbupgrade.c
server/dcgi.c
server/deadlock.c
server/decode.c
server/disorderd.c
server/dump.c
server/normalize.c
server/rescan.c
server/server.c
server/speaker.c
server/stats.c
server/trackname.c
tests/udplog.c

index e34c30c9c992ac9d9d52e520b9dd59c1d18bfc52..0ca950c28f44facdaba2a4938967e0d8494b8c99 100644 (file)
@@ -140,3 +140,5 @@ lib/index.html
 server/index.html
 .DS_Store
 tests/disorder-udplog
+lib/version-string
+lib/version.h
index 6278295318c595b820031c56c1ff8a95625ac107..7ee9865bad53e39dcd2cc58a7ded0bab7d9941de 100644 (file)
@@ -84,7 +84,7 @@ static void help(void) {
 
 /* display version number and terminate */
 static void version(void) {
-  xprintf("disorder version %s\n", disorder_version_string);
+  xprintf("%s", disorder_version_string);
   xfclose(stdout);
   exit(0);
 }
index ccb2472783068fda484c13c2b5a47d80da06d5a4..d8dffb62c959aba1522523b86596acc650c32304 100644 (file)
@@ -129,7 +129,7 @@ static void help(void) {
 
 /* display version number and terminate */
 static void version(void) {
-  xprintf("disorderfm version %s\n", disorder_version_string);
+  xprintf("%s", disorder_version_string);
   xfclose(stdout);
   exit(0);
 }
index 54107da94a3b9e8f09d960eb59c70736215375f3..484d265110470dc7fd9b200f874ee9e41ec50e4b 100644 (file)
@@ -533,7 +533,7 @@ static void help(void) {
 
 /* display version number and terminate */
 static void version(void) {
-  xprintf("disorder-playrtp version %s\n", disorder_version_string);
+  xprintf("%s", disorder_version_string);
   xfclose(stdout);
   exit(0);
 }
index 5efcc00c3d195b6a03041408e06259e7c03053ac..de71101bb34ca3d6787ce9c9a9a0492e9c313b61 100644 (file)
@@ -409,7 +409,7 @@ static void help(void) {
 
 /* display version number and terminate */
 static void version(void) {
-  xprintf("disorder version %s\n", disorder_version_string);
+  xprintf("%s", disorder_version_string);
   xfclose(stdout);
   exit(0);
 }
index ab856a797bc513635cb0a1213023101d4b4294ad..cf538787ad21ca437069236eab36282d1ef40077 100644 (file)
@@ -71,6 +71,19 @@ libdisorder_a_SOURCES=charset.c charset.h            \
        wstat.c wstat.h                                 \
        disorder.h
 
+version-string: ../config.status ${top_srcdir}/scripts/make-version-string
+       CC="${CC}" ${top_srcdir}/scripts/make-version-string > $@.new
+       @if cmp $@.new $@; then \
+               echo rm -f $@.new; rm -f $@.new; else \
+               echo mv $@.new $@; mv $@.new $@; fi
+
+version.h: version-string ${top_srcdir}/scripts/text2c
+       ${top_srcdir}/scripts/text2c -extern disorder_version_string \
+               version-string > $@.new
+       @if cmp $@.new $@; then \
+               echo rm -f $@.new; rm -f $@.new; else \
+               echo mv $@.new $@; mv $@.new $@; fi
+
 definitions.h: Makefile
        rm -f $@.new
        echo "#define PKGLIBDIR \"${pkglibdir}\"" > $@.new
@@ -84,8 +97,8 @@ definitions.h: Makefile
        @if cmp $@.new $@; then \
                echo rm -f $@.new; rm -f $@.new; else \
                echo mv $@.new $@; mv $@.new $@; fi
-defs.o: definitions.h
-defs.lo: definitions.h
+defs.o: definitions.h version.h
+defs.lo: definitions.h version.h
 
 test_SOURCES=test.c memgc.c
 test_LDADD=libdisorder.a $(LIBPCRE) $(LIBICONV) $(LIBGC)
index c9668c05e4edbb53633a1ec81df89adb774b9ad4..19987cb675f9c08ad68b71befb422bee187ed223 100644 (file)
@@ -30,7 +30,7 @@
 #include "definitions.h"
 
 /** @brief Software version number */
-const char disorder_version_string[] = VERSION;
+const char disorder_short_version_string[] = VERSION;
 
 /** @brief Package library directory */
 const char pkglibdir[] = PKGLIBDIR;
@@ -59,6 +59,8 @@ const char finkbindir[] = FINKBINDIR;
 /** @brief Package documentation directory */
 const char docdir[] = DOCDIR;
 
+#include "version.h"
+
 /*
 Local Variables:
 c-basic-offset:2
index c340e8eca3a58cb9dce601fc37b33a176c00c339..dd75209c7813c27fe875676e69e4eb280b4a0bd2 100644 (file)
@@ -21,6 +21,7 @@
 #ifndef DEFS_H
 #define DEFS_H
 
+extern const char disorder_short_version_string[];
 extern const char disorder_version_string[];
 extern const char pkglibdir[];
 extern const char pkgconfdir[];
diff --git a/scripts/make-version-string b/scripts/make-version-string
new file mode 100755 (executable)
index 0000000..210e84f
--- /dev/null
@@ -0,0 +1,31 @@
+#! /usr/bin/perl -w
+use strict;
+sub output {
+    print @_ or die "$0: stdout: $!\n";
+}
+my @csv = `../config.status --version`;
+my $version;
+my $options;
+my $cc;
+my $compiler;
+for(@csv) {
+    chomp;
+    if(/disorder config\.status (\S+)/) {
+       $version = $1;
+    }
+    if(/with options \"(.*)\"/) {
+       $options = $1;
+    }
+}
+if(exists $ENV{CC}) {
+    $cc = $ENV{CC};
+    $cc =~ s/\s+/ /g;
+    my @cv = `$cc --version`;
+    $compiler = $cv[0];
+}
+die "no version found\n" unless defined $version;
+output("DisOrder $version\n");
+output(" configure options: $options\n") if defined $options;
+output(" compiler: $cc\n") if defined $compiler;
+output(" version: $compiler\n") if defined $cc;
+close STDOUT or die "$0: stdout: $!\n";
index 46b2276efc32a06eb6506c75108f1b30cfc6d962..95d2181ad13d5df51dfb63163acd25531503f8b6 100755 (executable)
@@ -1,7 +1,12 @@
 #! /usr/bin/perl -w
+my $class = "static";
+if($ARGV[0] eq '-extern') {
+    $class = "";
+    shift;
+}
 my $name = shift;
 push(@out, "/* autogenerated file, do not edit */\n\n");
-push(@out, "static const char $name\[] = \n");
+push(@out, "$class const char $name\[] = \n");
 while(<>) {
     next if /arch-tag/;
     s/[\\\"\?]/\\$&/g;
index b856ae5eb36ba312915b5afde9f218da4b27ca93..b4cf58e50d45a891fc80b4478409d8d862f3f945 100644 (file)
@@ -86,7 +86,7 @@ static void help(void) {
 
 /* display version number and terminate */
 static void version(void) {
-  xprintf("disorder-dbupgrade version %s\n", disorder_version_string);
+  xprintf("%s", disorder_version_string);
   xfclose(stdout);
   exit(0);
 }
index 07e1825e705f409e9cb1f211c856a010c9725219..6e71ef040184b8df6ef99d6d77f3629382a9131e 100644 (file)
@@ -446,7 +446,7 @@ static void exp_version(int attribute((unused)) nargs,
                        char attribute((unused)) **args,
                        cgi_sink *output,
                        void attribute((unused)) *u) {
-  cgi_output(output, "%s", disorder_version_string);
+  cgi_output(output, "%s", disorder_short_version_string);
 }
 
 static void exp_nonce(int attribute((unused)) nargs,
index e45694fc1ada3f0efd0a6a9dfac2971847514beb..bce3eee6037e3fadeecf2acbb5a056cdb0ff52cd 100644 (file)
@@ -72,7 +72,7 @@ static void help(void) {
 
 /* display version number and terminate */
 static void version(void) {
-  xprintf("disorder-deadlock version %s\n", disorder_version_string);
+  xprintf("%s", disorder_version_string);
   xfclose(stdout);
   exit(0);
 }
index 47227a29ecb55ef375f3611395cb0f5b1fb053aa..639ad159cd2c8d607286d9378d4de37ff9f33ccf 100644 (file)
@@ -440,7 +440,7 @@ static void help(void) {
 
 /* Display version number and terminate. */
 static void version(void) {
-  xprintf("disorder-decode version %s\n", disorder_version_string);
+  xprintf("%s", disorder_version_string);
   xfclose(stdout);
   exit(0);
 }
index b8f80109d86e557d2676ffb5497616675a018e02..ba18c237ff7c44a2100ec45c331a2f893234ef66 100644 (file)
@@ -94,7 +94,7 @@ static void help(void) {
 
 /* display version number and terminate */
 static void version(void) {
-  xprintf("disorderd version %s\n", disorder_version_string);
+  xprintf("%s", disorder_version_string);
   xfclose(stdout);
   exit(0);
 }
index 7e49111dca841b7e26dd0d952ffc64714dd894aa..119875f55fee3a8a19ac8eafb928cf0778257126 100644 (file)
@@ -82,7 +82,7 @@ static void help(void) {
 
 /* display version number and terminate */
 static void version(void) {
-  xprintf("disorder-dump version %s\n", disorder_version_string);
+  xprintf("%s", disorder_version_string);
   xfclose(stdout);
   exit(0);
 }
index 085d4dfb126cc3ff06e9b5f61d4f2417b071a44d..87b0f3d7bc5c356419d60e4f4d6e5a391ca5b465 100644 (file)
@@ -73,7 +73,7 @@ static void help(void) {
 
 /* display version number and terminate */
 static void version(void) {
-  xprintf("disorder-normalize version %s\n", disorder_version_string);
+  xprintf("%s", disorder_version_string);
   xfclose(stdout);
   exit(0);
 }
index b878929a82adc97812030d3a898322ec322ac3f8..e45eaa61128eb0cd5aee37a31454e1613dc302d3 100644 (file)
@@ -84,7 +84,7 @@ static void help(void) {
 
 /* display version number and terminate */
 static void version(void) {
-  xprintf("disorder-rescan version %s\n", disorder_version_string);
+  xprintf("%s", disorder_version_string);
   xfclose(stdout);
   exit(0);
 }
index 413b43e875273a05a0d6602569ea0634e0eec78a..a36996409331d7105d5d5adf99452675b491eb7d 100644 (file)
@@ -346,7 +346,7 @@ static int c_version(struct conn *c,
                     char attribute((unused)) **vec,
                     int attribute((unused)) nvec) {
   /* VERSION had better only use the basic character set */
-  sink_printf(ev_writer_sink(c->w), "251 %s\n", disorder_version_string);
+  sink_printf(ev_writer_sink(c->w), "251 %s\n", disorder_short_version_string);
   return 1;                    /* completed */
 }
 
index a6c5f43e16f4f560b869422013fc0895ca5dd7f6..d21ad7cd8c4e976eff06580ab2e20de92896c9c6 100644 (file)
@@ -142,7 +142,7 @@ static void help(void) {
 
 /* Display version number and terminate. */
 static void version(void) {
-  xprintf("disorder-speaker version %s\n", disorder_version_string);
+  xprintf("%s", disorder_version_string);
   xfclose(stdout);
   exit(0);
 }
index a12b8f66641065fb7eb880e5370064f10c4e0fdc..c397be8a10a4530ff912bcf9dc83ba4b932d4350 100644 (file)
@@ -65,7 +65,7 @@ static void help(void) {
 
 /* display version number and terminate */
 static void version(void) {
-  xprintf("disorder-stats version %s\n", disorder_version_string);
+  xprintf("%s", disorder_version_string);
   xfclose(stdout);
   exit(0);
 }
index 1e0bb45589f9b81846cd435445340ecd462ca4f6..b14e9e5a12903d5f2e4a4a77eb7cd8492e51ce70 100644 (file)
@@ -57,7 +57,7 @@ static void help(void) {
 
 /* display version number and terminate */
 static void version(void) {
-  xprintf("disorder version %s\n", disorder_version_string);
+  xprintf("%s", disorder_version_string);
   xfclose(stdout);
   exit(0);
 }
index 4d52efc066cb59286b7eaac8e1d5c94b8686f929..eb87651b13d90aa037b30db84658d9c23e2b8dfe 100644 (file)
@@ -61,7 +61,7 @@ static void help(void) {
 
 /* display version number and terminate */
 static void version(void) {
-  xprintf("disorder-udplog version %s\n", disorder_version_string);
+  xprintf("%s", disorder_version_string);
   xfclose(stdout);
   exit(0);
 }