From 5cca87b421f81d22af3f3557500292bbe8a08134 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Sat, 23 Mar 2019 09:18:13 +0200 Subject: Release version 2.5.0-b.13+1 Relax cross-compilation test for ODB_GXX_NAME determination. --- manifest | 2 +- odb/buildfile | 18 ++++++++++++++---- 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} -- cgit v1.1