Mercurial > projects > ldc
view revisions.pl.in @ 883:b52d5de7783f
GC defines and linkage changes.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Thu, 08 Jan 2009 18:20:02 +0100 |
parents | a331ce9bc749 |
children | d66ab756c75b |
line wrap: on
line source
#!/usr/bin/perl use strict; use warnings; use File::stat; use Time::localtime; my $llvm_src = `perl @LLVM_CONFIG@ --src-root`; 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}`; my $out = qq!#ifndef LDC_VERSIONS_H #define LDC_VERSIONS_H $llvm_rev #define LDC_REV "rev.$ldc_rev" #endif // LDC_VERSIONS_H\n!; my $revh; my $old = ""; open $revh, "revisions.h" and $old = join "", <$revh>; if ($old ne $out) { open $revh, ">revisions.h" or die "cannot create revisions.h: $!"; print $revh $out; close $revh; }