53 lines
1.3 KiB
Plaintext
53 lines
1.3 KiB
Plaintext
|
# This file introduces a templates for calling write_vcsrevision.py.
|
||
|
#
|
||
|
# Parameters:
|
||
|
#
|
||
|
# header (required) [string]
|
||
|
#
|
||
|
# names (optional) [list of strings]
|
||
|
# Writes "$foo_REVISION" and "$foo_REPOSITORY" for each foo in names.
|
||
|
# Defaults to [ "LLVM" ]
|
||
|
|
||
|
declare_args() {
|
||
|
# If this is set to true, VCSRevision.h is updated after every git commit.
|
||
|
# That's technically correct, but results in rebuilds after every commit.
|
||
|
# If it's false (default), VCSRevision.h will not contain a revision.
|
||
|
llvm_append_vc_rev = false
|
||
|
}
|
||
|
|
||
|
template("write_vcsrevision") {
|
||
|
assert(defined(invoker.header), "must set 'header' in $target_name")
|
||
|
|
||
|
action(target_name) {
|
||
|
script = "//llvm/utils/gn/build/write_vcsrevision.py"
|
||
|
header = invoker.header
|
||
|
if (defined(invoker.names)) {
|
||
|
names = invoker.names
|
||
|
} else {
|
||
|
names = [ "LLVM" ]
|
||
|
}
|
||
|
|
||
|
args = [ rebase_path(header, root_build_dir) ]
|
||
|
if (llvm_append_vc_rev) {
|
||
|
depfile = "$header.d"
|
||
|
args += [
|
||
|
"--write-git-rev",
|
||
|
"-d",
|
||
|
rebase_path(depfile, root_build_dir),
|
||
|
]
|
||
|
}
|
||
|
|
||
|
foreach(name, names) {
|
||
|
args += [ "--name=$name" ]
|
||
|
}
|
||
|
|
||
|
outputs = [ header ]
|
||
|
|
||
|
forward_variables_from(invoker,
|
||
|
[
|
||
|
"public_configs",
|
||
|
"visibility",
|
||
|
])
|
||
|
}
|
||
|
}
|