From 483eb2f56657e8e7f419ab1a4fab8dce9ade8609 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 20:24:20 +0200 Subject: Adding upstream version 14.2.21. Signed-off-by: Daniel Baumann --- src/boost/tools/build/test/ndebug.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/boost/tools/build/test/ndebug.py (limited to 'src/boost/tools/build/test/ndebug.py') diff --git a/src/boost/tools/build/test/ndebug.py b/src/boost/tools/build/test/ndebug.py new file mode 100644 index 00000000..87fbc6c6 --- /dev/null +++ b/src/boost/tools/build/test/ndebug.py @@ -0,0 +1,33 @@ +#!/usr/bin/python + +# Copyright 2003 Vladimir Prus +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) + +# Test that building with optimization brings NDEBUG define, and, more +# importantly, that dependency targets are built with NDEBUG as well, even if +# they are not directly requested. + +import BoostBuild + +t = BoostBuild.Tester(use_test_config=False) + +t.write("jamroot.jam", "exe hello : hello.cpp lib//lib1 ;") +t.write("hello.cpp", """\ +#ifdef NDEBUG +void foo(); +int main() { foo(); } +#endif +""") +t.write("lib/jamfile.jam", "lib lib1 : lib1.cpp ;") +t.write("lib/lib1.cpp", """\ +#ifdef NDEBUG +void foo() {} +#endif +""") + +# 'release' builds should get the NDEBUG define. We use static linking to avoid +# messing with imports/exports on Windows. +t.run_build_system(["link=static", "release"]) + +t.cleanup() -- cgit v1.2.3