aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2019-03-23 09:18:13 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2019-03-23 09:48:35 +0200
commit5cca87b421f81d22af3f3557500292bbe8a08134 (patch)
tree4b229293c10668e4747a83d2326a53844a09f338
parentcb5e7d2117d1eba7b0688c7f561b324edba0f91f (diff)
Release version 2.5.0-b.13+1v2.5.0-b.132.5.0-b.13
Relax cross-compilation test for ODB_GXX_NAME determination.
-rw-r--r--manifest2
-rw-r--r--odb/buildfile18
2 files changed, 15 insertions, 5 deletions
diff --git a/manifest b/manifest
index 446a9f6..d85cfa4 100644
--- a/manifest
+++ b/manifest
@@ -1,6 +1,6 @@
: 1
name: odb
-version: 2.5.0-b.13
+version: 2.5.0-b.13+1
summary: ODB compiler
license: GPLv3
tags: c++, orm, database, relational, object, persistence, sql
diff --git a/odb/buildfile b/odb/buildfile
index 93267d7..46c5ab6 100644
--- a/odb/buildfile
+++ b/odb/buildfile
@@ -33,11 +33,21 @@ if ($cxx.target.class != 'windows')
#
plugin{*}: install = bin/
-# Unless cross-compiling, pass the C++ compiler's recall path as g++ name. At
-# some point we should also make it configurable.
+# Unless cross-compiling, pass the C++ compiler's recall path as the g++
+# name. At some point we should also make it configurable.
#
-gxx_name = ($cxx.target != $build.host ? g++ : $recall($cxx.path))
-gxx_name = $regex.replace($gxx_name, '\\', '\\\\') # Escape back slashes.
+# Note that we used to compare complete target triplets but that prooved too
+# strict. For example, we may be running on x86_64-apple-darwin17.7.0 while
+# the compiler is targeting x86_64-apple-darwin17.3.0.
+#
+if ($cxx.target.cpu == $build.host.cpu && \
+ $cxx.target.system == $build.host.system)
+{
+ gxx_name = $recall($cxx.path)
+ gxx_name = $regex.replace($gxx_name, '\\', '\\\\') # Escape back slashes.
+}
+else
+ gxx_name = g++
import libs = libcutl%lib{cutl}
import libs += libstudxml%lib{studxml}