Mercurial > projects > ldc
comparison revisions.pl.in @ 873:a331ce9bc749
fix unnecessary revisions.h regeneration and mars.c recompilation
author | elrood |
---|---|
date | Mon, 05 Jan 2009 21:11:47 +0100 |
parents | 82ad6c0c601c |
children | d66ab756c75b |
comparison
equal
deleted
inserted
replaced
872:aa953cc960b6 | 873:a331ce9bc749 |
---|---|
4 use warnings; | 4 use warnings; |
5 use File::stat; | 5 use File::stat; |
6 use Time::localtime; | 6 use Time::localtime; |
7 | 7 |
8 my $llvm_src = `perl @LLVM_CONFIG@ --src-root`; | 8 my $llvm_src = `perl @LLVM_CONFIG@ --src-root`; |
9 #my $llvm_src = "k:/sources/llvm"; | |
10 | 9 |
11 my $llvm_rev = `svnversion $llvm_src`; | 10 my $llvm_rev = `svnversion $llvm_src`; |
12 | 11 |
13 if ($llvm_rev =~ s/(\d+)\s+$/$1/) { | 12 if ($llvm_rev =~ s/(\d+)\s+$/$1/) { |
14 $llvm_rev = qq!#define LLVM_REV "LLVM rev.$llvm_rev"! | 13 $llvm_rev = qq!#define LLVM_REV "LLVM rev.$llvm_rev"! |
19 $llvm_rev = qq!#include "llvm/Config/config.h"\n#define LLVM_REV PACKAGE_STRING" ($llvm_rev)"!; | 18 $llvm_rev = qq!#include "llvm/Config/config.h"\n#define LLVM_REV PACKAGE_STRING" ($llvm_rev)"!; |
20 } | 19 } |
21 | 20 |
22 my $ldc_rev = `hg -R@PROJECT_SOURCE_DIR@ tip --template {rev}`; | 21 my $ldc_rev = `hg -R@PROJECT_SOURCE_DIR@ tip --template {rev}`; |
23 | 22 |
24 open my $revh, ">", "revisions.h" or die "cannot create revisions.h"; | 23 my $out = qq!#ifndef LDC_VERSIONS_H |
25 | |
26 print $revh qq!#ifndef LDC_VERSIONS_H | |
27 #define LDC_VERSIONS_H | 24 #define LDC_VERSIONS_H |
28 | 25 |
29 $llvm_rev | 26 $llvm_rev |
30 #define LDC_REV "rev.$ldc_rev" | 27 #define LDC_REV "rev.$ldc_rev" |
31 | 28 |
32 #endif // LDC_VERSIONS_H\n!; | 29 #endif // LDC_VERSIONS_H\n!; |
33 | 30 |
34 close $revh; | 31 my $revh; |
32 my $old = ""; | |
33 open $revh, "revisions.h" and $old = join "", <$revh>; | |
34 | |
35 if ($old ne $out) { | |
36 open $revh, ">revisions.h" or die "cannot create revisions.h: $!"; | |
37 print $revh $out; | |
38 close $revh; | |
39 } |