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 }