Show libcurl's timestamp. This timestamp is only available in curlver.h
authorYang Tse <yangsita@gmail.com>
Mon, 19 Feb 2007 19:41:48 +0000 (19:41 +0000)
committerYang Tse <yangsita@gmail.com>
Mon, 19 Feb 2007 19:41:48 +0000 (19:41 +0000)
for tarball-based tests and builds, the maketgz script inserts it when
the tarball is created. For CVS-based tests and builds the timestamp we
show is the current UTC build time as it is the CVS version timestamp.

In this way, all builds will have a valid source code timestamp which
isn't related to the moment the tests and build is performed, with the
exception of CVS-based ones which have the same "date" and "timestamp"

tests/testcurl.pl

index dc19675..00cb4ad 100755 (executable)
@@ -65,7 +65,7 @@ use vars qw($version $fixed $infixed $CURLDIR $CVS $pwd $build $buildlog
             $buildlogname $configurebuild $targetos $confsuffix $binext
             $libext);
 use vars qw($name $email $desc $confopts $runtestopts $setupfile $mktarball
-            $nocvsup $nobuildconf $crosscompile);
+            $nocvsup $nobuildconf $crosscompile $timestamp);
 
 # version of this script
 $version='$Revision$';
@@ -282,6 +282,28 @@ logit "date = ".(scalar gmtime)." UTC";
 # off that path from all possible logs and error messages etc.
 $pwd = cwd();
 
+# libcurl timestamp is present in curlver.h only if this isn't a CVS version.
+# If no timestamp available in curlver.h then we are building from CVS and we
+# will use current UTC build time as the CVS version timestamp.
+if ((-f "$CURLDIR/include/curl/curlver.hh") &&
+    (grepfile("define LIBCURL_TIMESTAMP",
+              "$CURLDIR/include/curl/curlver.h")) &&
+    (open(F, "<$CURLDIR/include/curl/curlver.h"))) {
+  while (<F>) {
+    chomp;
+    if ($_ =~ /^\#define LIBCURL_TIMESTAMP\s+\"(.+)\".*$/) {
+      $timestamp = $1;
+      $timestamp =~ s/\s+UTC//;
+      $timestamp .= " UTC";
+    }
+  }
+  close(F);
+}
+if(not defined $timestamp) {
+  $timestamp = scalar(gmtime)." UTC";
+}
+logit "timestamp = $timestamp";
+
 if (-d $CURLDIR) {
   if ($CVS && -d "$CURLDIR/CVS") {
     logit "$CURLDIR is verified to be a fine source dir";