mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-01-12 10:53:14 +01:00
40 lines
903 B
Perl
40 lines
903 B
Perl
#!/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;
|
|
}
|