Mercurial > projects > ldc
diff revisions.pl.in @ 853:82ad6c0c601c
Add Elrood's patch to output LDC and LLVM source revs.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sun, 14 Dec 2008 16:51:36 +0100 |
parents | |
children | a331ce9bc749 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/revisions.pl.in Sun Dec 14 16:51:36 2008 +0100 @@ -0,0 +1,34 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use File::stat; +use Time::localtime; + +my $llvm_src = `perl @LLVM_CONFIG@ --src-root`; +#my $llvm_src = "k:/sources/llvm"; + +my $llvm_rev = `svnversion $llvm_src`; + +if ($llvm_rev =~ s/(\d+)\s+$/$1/) { + $llvm_rev = qq!#define LLVM_REV "LLVM rev.$llvm_rev"! +} else { + my $llvm_lib = `perl @LLVM_CONFIG@ --libdir`; + $llvm_lib =~ s/\s+$//; + $llvm_rev = ctime(stat($llvm_lib)->mtime) if (-d $llvm_lib); + $llvm_rev = qq!#include "llvm/Config/config.h"\n#define LLVM_REV PACKAGE_STRING" ($llvm_rev)"!; +} + +my $ldc_rev = `hg -R@PROJECT_SOURCE_DIR@ tip --template {rev}`; + +open my $revh, ">", "revisions.h" or die "cannot create revisions.h"; + +print $revh qq!#ifndef LDC_VERSIONS_H +#define LDC_VERSIONS_H + +$llvm_rev +#define LDC_REV "rev.$ldc_rev" + +#endif // LDC_VERSIONS_H\n!; + +close $revh;