Mercurial > projects > ldc
changeset 1113:123812e02bc8
Split out LLVM_REV into separate header, to reduce rebuilding when only the LDC
revision has changed.
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Fri, 13 Mar 2009 16:18:43 +0100 |
parents | 829ac3f30103 |
children | 454f0c8acc4b |
files | .hgignore CMakeLists.txt dmd2/mars.c gen/linkage.h revisions.pl.in |
diffstat | 5 files changed, 22 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgignore Fri Mar 13 16:18:01 2009 +0100 +++ b/.hgignore Fri Mar 13 16:18:43 2009 +0100 @@ -29,6 +29,7 @@ ^ldc\.make$ ^revisions\.pl$ ^gen/revisions\.h$ +^gen/llvm-version\.h$ ^dmd2?/idgen$ ^dmd2?/impcnvgen$ ^dmd2?/impcnvtab\.c$
--- a/CMakeLists.txt Fri Mar 13 16:18:01 2009 +0100 +++ b/CMakeLists.txt Fri Mar 13 16:18:43 2009 +0100 @@ -195,7 +195,7 @@ gen_revs_h COMMAND ${PERL_EXECUTABLE} ${PROJECT_BINARY_DIR}/revisions.pl DEPENDS ${PROJECT_BINARY_DIR}/revisions.pl - COMMENT "Generating revisions.h" + COMMENT "Generating revisions.h and llvm-version.h" WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/gen ) add_dependencies(${LDC_EXE} gen_revs_h)
--- a/dmd2/mars.c Fri Mar 13 16:18:01 2009 +0100 +++ b/dmd2/mars.c Fri Mar 13 16:18:43 2009 +0100 @@ -61,7 +61,7 @@ written = "written by Walter Bright and Tomas Lindquist Olsen"; version = "v2.021"; ldc_version = LDC_REV; - llvm_version = LLVM_REV; + llvm_version = LLVM_REV_STR; global.structalign = 8; // This should only be used as a global, so the other fields are
--- a/gen/linkage.h Fri Mar 13 16:18:01 2009 +0100 +++ b/gen/linkage.h Fri Mar 13 16:18:43 2009 +0100 @@ -1,7 +1,7 @@ #ifndef LDC_GEN_LINKAGE_H #define LDC_GEN_LINKAGE_H -#include "gen/revisions.h" +#include "gen/llvm-version.h" // Make it easier to test new linkage types // Also used to adapt to some changes in LLVM between 2.5 and 2.6
--- a/revisions.pl.in Fri Mar 13 16:18:01 2009 +0100 +++ b/revisions.pl.in Fri Mar 13 16:18:43 2009 +0100 @@ -46,9 +46,6 @@ // LLVM version string, for use in -version output #define LLVM_REV_STR $llvm_rev_str$llvm_date -// LLVM svn revision number, used to adapt to changes in LLVM -// (Is 0 if LLVM is not an SVN trunk version) -#define LLVM_REV $llvm_rev_nr // LDC version string, for use in -version output #define LDC_REV "rev. $ldc_rev" @@ -63,3 +60,21 @@ print $revh $out; close $revh; } + +$out = qq!#ifndef LDC_LLVM_VERSION_H +#define LDC_LLVM_VERSION_H + +// LLVM svn revision number, used to adapt to changes in LLVM +// (Is 0 if LLVM is not an SVN trunk version) +#define LLVM_REV $llvm_rev_nr + +#endif // LDC_LLVM_VERSION_H\n!; + +$old = ""; +open $revh, "llvm-version.h" and $old = join "", <$revh>; + +if ($old ne $out) { + open $revh, ">llvm-version.h" or die "cannot create llvm-version.h: $!"; + print $revh $out; + close $revh; +}