• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright Rene Rivera 2011-2019
2# Distributed under the Boost Software License, Version 1.0.
3# (See accompanying file LICENSE_1_0.txt or copy at
4# http://www.boost.org/LICENSE_1_0.txt)
5
6import ../tools/check/predef : require check : predef-require predef-check ;
7import path ;
8
9# This deals with the unfortunate aspect of a Boost monolithic release
10# not having the modular include dirs. This is a kludge that just removes
11# the direct depdndency to the header if it can't find it.
12local PREDEF_H = $(BOOST_PREDEF_INCLUDE)/boost/predef.h ;
13if ! [ path.exists $(PREDEF_H) ]
14{
15    PREDEF_H = ;
16}
17
18project
19    :   requirements
20        <include>$(BOOST_PREDEF_INCLUDE)
21        # Add explicit dependency since we don't have header scanner for
22        # .m and .mm files.
23        <dependency>$(PREDEF_H)
24    ;
25
26using testing ;
27
28test-suite predef :
29    [ run info_as_cpp.cpp : : : <test-info>always_show_run_output ]
30    [ run info_as_c.c : : : <test-info>always_show_run_output ]
31    [ run info_as_objcpp.mm : : : <test-info>always_show_run_output ]
32    [ run info_as_objc.m : : : <test-info>always_show_run_output ]
33    [ run version.cpp ]
34    [ run make.cpp ]
35    [ compile macos_endian.c : [ predef-require "BOOST_OS_MACOS" : cpp ] ]
36    [ compile macos_vs_bsd.c : [ predef-require "BOOST_OS_MACOS" : cpp ] ]
37    [ run check_value.cpp : : : <test-info>always_show_run_output
38        [ predef-check "BOOST_COMP_CLANG > 0.0.0" "BOOST_OS_LINUX == 0" : : <cxxflags>-DCHECK_VALUE=true ] ]
39    [ run workaround.cpp ]
40    [ compile workaround_strict_config.cpp ]
41    [ run tested_at.cpp ]
42    [ compile-fail tested_at_outdated.cpp : <test-info>always_show_run_output ]
43	[ compile platform_windows.cpp ]
44    ;
45
46# Minimal testing done for predef for CI. Since
47# we don't have many we can just do all of them.
48alias minimal : predef ;
49
50# Full testing target for regular regression tests.
51alias full : predef ;
52
53# Extra's target. Nothing for Predef.
54alias extra ;
55
56explicit minimal ;
57explicit extra ;
58