From 7fde0c7f2b0c41300d38187140cc5a5c952e224b Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 5 Jun 2019 14:53:38 +0200 Subject: Redo dual hxx/mxx header handling --- build/root.build | 2 +- libbutl/buildfile | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/build/root.build b/build/root.build index 8e824e2..7842948 100644 --- a/build/root.build +++ b/build/root.build @@ -6,7 +6,7 @@ cxx.std = latest using cxx -hxx{*}: extension = mxx # We also have .hxx; see libbutl/buildfile. +hxx{*}: extension = hxx # We also have .mxx; see libbutl/buildfile. ixx{*}: extension = ixx txx{*}: extension = txx cxx{*}: extension = cxx diff --git a/libbutl/buildfile b/libbutl/buildfile index feb2f96..a0b789a 100644 --- a/libbutl/buildfile +++ b/libbutl/buildfile @@ -7,14 +7,14 @@ # dismantled. We, however, kept some of the changes in anticipation that they # would be useful when attempting to modularize using the merged modules # semantics. Specifically, there are currently headers with both .mxx and .hxx -# extensions and the code is littered if the #if __cpp_[lib_]modules_ts -# blocks. +# extensions and the code is littered with the `#if __cpp_[lib_]modules_ts` +# blocks. Note that it's important for the auto-generated header support +# that the default extension for hxx{} is .hxx. # -# @@ If/when going back to using mxx{}, make sure to cleanup explicit .hxx. +# @@ If/when going back to using mxx{}, make sure to cleanup explicit .mxx. # -lib{butl}: {hxx ixx txx cxx}{** -uuid-* +uuid-io -win32-utility} \ - hxx{**.hxx -uuid-*.hxx +uuid-io.hxx -win32-utility.hxx \ - -version.hxx} hxx{version} +lib{butl}: {hxx ixx txx cxx}{** -uuid-* +uuid-io -win32-utility -version} \ + hxx{**.mxx} {hxx}{version} tclass = $cxx.target.class tsys = $cxx.target.system @@ -28,7 +28,7 @@ mingw = ($tsys == 'mingw32') # Exclude these from compilation on non-Windows targets. # -lib{butl}: hxx{win32-utility.hxx} cxx{win32-utility}: include = $windows +lib{butl}: {hxx cxx}{win32-utility}: include = $windows # Our C-files are included into sha256.cxx (sha256c.c) and timestamp.cxx # (strptime.c timelocal.h timelocal.c), so treat them as files exclude from @@ -56,8 +56,8 @@ elif $freebsd # 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.hxx}: in{version} $src_root/manifest -hxx{version.hxx}: +hxx{version}: in{version} $src_root/manifest +hxx{version}: { dist = true clean = ($src_root != $out_root) -- cgit v1.1