aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore4
-rw-r--r--README-GIT4
-rw-r--r--odb/buildfile6
-rw-r--r--odb/version-build2.hxx0
4 files changed, 10 insertions, 4 deletions
diff --git a/.gitignore b/.gitignore
index b25a6a2..a06aa4b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -29,7 +29,3 @@
# Generated .gitignore files.
#
.gitignore
-
-# Temporarily here because of auto-generated odb/.gitignore.
-#
-odb/version-build2.hxx
diff --git a/README-GIT b/README-GIT
new file mode 100644
index 0000000..5375489
--- /dev/null
+++ b/README-GIT
@@ -0,0 +1,4 @@
+The checked out odb/version-build2.hxx will be overwritten during the build
+process but these changes should be ignored. To do this automatically, run:
+
+git update-index --assume-unchanged odb/version-build2.hxx
diff --git a/odb/buildfile b/odb/buildfile
index fb7a732..fe010e6 100644
--- a/odb/buildfile
+++ b/odb/buildfile
@@ -11,7 +11,13 @@ lib{odb}: {hxx ixx txx cxx}{* -version-build2} \
details/shared-ptr/{hxx ixx txx cxx}{*} \
details/win32/{hxx}{windows}
+# Include the generated version header into the distribution (so that we don't
+# pick up an installed one) and don't remove it when cleaning in src (so that
+# clean results in a state identical to distributed).
+#
hxx{version-build2}: in{version-build2} $src_root/file{manifest}
+hxx{version-build2}: dist = true
+hxx{version-build2}: clean = ($src_root != $out_root)
# For pre-releases use the complete version to make sure they cannot be used
# in place of another pre-release or the final version.
diff --git a/odb/version-build2.hxx b/odb/version-build2.hxx
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/odb/version-build2.hxx