]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/tools/build/test/bzip2.py
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / tools / build / test / bzip2.py
CommitLineData
7c673cae
FG
1#!/usr/bin/python
2
3# Copyright (C) 2013 Steven Watanabe
4# Distributed under the Boost Software License, Version 1.0.
1e59de90
TL
5# (See accompanying file LICENSE.txt or copy at
6# https://www.bfgroup.xyz/b2/LICENSE.txt)
7c673cae
FG
7
8import BoostBuild
9import MockToolset
10
11t = BoostBuild.Tester(arguments=['toolset=mock', '--ignore-site-config', '--user-config='], pass_toolset=0)
12
13MockToolset.create(t)
14
15# Build from source
16t.write("bzip2/bzlib.h", 'bzip2')
17t.write("bzip2/blocksort.c", 'blocksort')
18
19t.write("Jamroot.jam", """
20path-constant here : . ;
21using bzip2 : : <source>$(here)/bzip2 ;
22alias bzip2 : /bzip2//bzip2 : : <link>static <link>shared ;
23""")
24
25MockToolset.set_expected(t, '''
26source_file('blocksort.c', 'blocksort')
27action('-c -x c -I./bzip2 -o $blocksort.o $blocksort.c')
28action('--dll $blocksort.o -o $bz2.so')
29action('--archive $blocksort.o -o $bz2.a')
30''')
31
32t.run_build_system()
33t.expect_addition('bin/standalone/bzip2/mock/debug/bz2.dll')
34t.expect_addition('bin/standalone/bzip2/mock/debug/link-static/bz2.lib')
35
36t.rm('bzip2')
37
38# Generic definitions that aren't configuration specific
39common_stuff = '''
40source_file('test.cpp', 'test.cpp')
41source_file('main.cpp', 'int main() {}')
42source_file('bzlib.h.cpp', '#include <bzlib.h>\\n')
43action('-c -x c++ $main.cpp -o $main.o')
44'''
45t.write('test.cpp', 'test.cpp')
46
47# Default initialization - static library
48t.rm('bin')
49t.write("Jamroot.jam", """
50path-constant here : . ;
51using bzip2 ;
52exe test : test.cpp /bzip2//bzip2 : : <link>static <link>shared ;
53""")
54
55MockToolset.set_expected(t, common_stuff + '''
56action('$main.o --static-lib=bz2 -o $config.exe')
57action('-c -x c++ $bzlib.h.cpp -o $bzlib.h.o')
58action('-c -x c++ $test.cpp -o $test.o')
59action('$test.o --static-lib=bz2 -o $test')
60''')
61t.run_build_system()
62t.expect_addition('bin/mock/debug/test.exe')
63t.expect_addition('bin/mock/debug/link-static/test.exe')
64
65# Default initialization - shared library
66t.rm('bin')
67t.write("Jamroot.jam", """
68path-constant here : . ;
69using bzip2 ;
70exe test : test.cpp /bzip2//bzip2 : : <link>static <link>shared ;
71""")
72
73MockToolset.set_expected(t, common_stuff + '''
74action('$main.o --shared-lib=bz2 -o $config.exe')
75action('-c -x c++ $bzlib.h.cpp -o $bzlib.h.o')
76action('-c -x c++ $test.cpp -o $test.o')
77action('$test.o --shared-lib=bz2 -o $test')
78''')
79t.run_build_system()
80t.expect_addition('bin/mock/debug/test.exe')
81t.expect_addition('bin/mock/debug/link-static/test.exe')
82
83# Initialization in explicit location - static library
84t.rm('bin')
85t.write("Jamroot.jam", """
86path-constant here : . ;
87using bzip2 : : <name>mybzlib <include>$(here)/bzip2 <search>$(here)/bzip2 ;
88exe test : test.cpp /bzip2//bzip2 : : <link>static <link>shared ;
89""")
90
91t.write('bzip2/bzlib.h', 'bzip2')
92
93MockToolset.set_expected(t, common_stuff + '''
94action('$main.o -L./bzip2 --static-lib=mybzlib -o $config.exe')
95action('-c -x c++ $test.cpp -I./bzip2 -o $test.o')
96action('$test.o -L./bzip2 --static-lib=mybzlib -o $test')
97''')
98t.run_build_system()
99t.expect_addition('bin/mock/debug/test.exe')
100t.expect_addition('bin/mock/debug/link-static/test.exe')
101
102# Initialization in explicit location - shared library
103t.rm('bin')
104t.write("Jamroot.jam", """
105path-constant here : . ;
106using bzip2 : : <name>mybzlib <include>$(here)/bzip2 <search>$(here)/bzip2 ;
107exe test : test.cpp /bzip2//bzip2 : : <link>static <link>shared ;
108""")
109
110MockToolset.set_expected(t, common_stuff + '''
111action('$main.o -L./bzip2 --shared-lib=mybzlib -o $config.exe')
112action('-c -x c++ $test.cpp -I./bzip2 -o $test.o')
113action('$test.o -L./bzip2 --shared-lib=mybzlib -o $test')
114''')
115t.run_build_system()
116t.expect_addition('bin/mock/debug/test.exe')
117t.expect_addition('bin/mock/debug/link-static/test.exe')
118
119t.cleanup()