Fri, 23 May 2025 12:44:24 +0200
make test-compile depend on both static and shared
the shared lib is not needed for the tests,
but when run with coverage, gcov will be confused
when outdated line information is available from
a previous shared build
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1 | <?xml version="1.0" encoding="UTF-8"?> |
987
53e22f112b11
add configure option for szmul
Mike Becker <universe@uap-core.de>
parents:
982
diff
changeset
|
2 | <project version="0.3" xmlns="http://unixwork.de/uwproj"> |
797
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
3 | <config> |
1064
f3b04cd60776
change coverage tool from gcov to gcovr
Mike Becker <universe@uap-core.de>
parents:
990
diff
changeset
|
4 | <var name="root_dir" exec="true">pwd</var> |
797
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
5 | <var name="DOXYGEN" exec="true">command -v doxygen</var> |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
6 | </config> |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
7 | |
797
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
8 | <dependency> |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
9 | <make> |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
10 | # library version |
1280
60123b3db06e
start development of UCX 3.2
Mike Becker <universe@uap-core.de>
parents:
1140
diff
changeset
|
11 | VERSION=3.2.0 |
60123b3db06e
start development of UCX 3.2
Mike Becker <universe@uap-core.de>
parents:
1140
diff
changeset
|
12 | LIBVERSION=5.1.0 |
825
3f324ea53152
be honest at least in the lib version
Mike Becker <universe@uap-core.de>
parents:
815
diff
changeset
|
13 | LIBVERSION_MAJOR=5 |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
14 | |
797
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
15 | # build directory structure !! do not change or override !! |
1064
f3b04cd60776
change coverage tool from gcov to gcovr
Mike Becker <universe@uap-core.de>
parents:
990
diff
changeset
|
16 | root_dir=${root_dir} |
f3b04cd60776
change coverage tool from gcov to gcovr
Mike Becker <universe@uap-core.de>
parents:
990
diff
changeset
|
17 | build_dir=${root_dir}/build |
f3b04cd60776
change coverage tool from gcov to gcovr
Mike Becker <universe@uap-core.de>
parents:
990
diff
changeset
|
18 | docs_dir=${root_dir}/build/docs |
f3b04cd60776
change coverage tool from gcov to gcovr
Mike Becker <universe@uap-core.de>
parents:
990
diff
changeset
|
19 | dist_dir=${root_dir}/dist |
797
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
20 | </make> |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
21 | </dependency> |
842
b48cbfa109d4
add -lm to ldflags on Solaris
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
825
diff
changeset
|
22 | |
b48cbfa109d4
add -lm to ldflags on Solaris
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
825
diff
changeset
|
23 | <dependency platform="solaris"> |
b48cbfa109d4
add -lm to ldflags on Solaris
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
825
diff
changeset
|
24 | <ldflags>-lm</ldflags> |
b48cbfa109d4
add -lm to ldflags on Solaris
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
825
diff
changeset
|
25 | </dependency> |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
26 | |
797
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
27 | <dependency name="file-tools"> |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
28 | <make> |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
29 | MKDIR=/bin/mkdir -p |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
30 | RMFILE=/bin/rm -f |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
31 | RMDIR=/bin/rm -f -R |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
32 | COPYFILE=/bin/cp -f |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
33 | COPYALL=/bin/cp -f -R |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
34 | SYMLINK=/bin/ln -s |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
35 | </make> |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
36 | </dependency> |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
37 | |
797
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
38 | <dependency name="c" platform="mingw"> |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
39 | <lang>c</lang> |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
40 | <make> |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
41 | AR=ar |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
42 | ARFLAGS=r |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
43 | STLIB_EXT=.lib |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
44 | SHLIB_EXT=.dll |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
45 | </make> |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
46 | </dependency> |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
47 | |
797
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
48 | <dependency name="c" platform="macos"> |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
49 | <lang>c</lang> |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
50 | <make> |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
51 | AR=ar |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
52 | ARFLAGS=r |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
53 | STLIB_EXT=.a |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
54 | SHLIB_EXT=.dylib |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
55 | </make> |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
56 | </dependency> |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
57 | |
797
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
58 | <dependency name="c" platform="unix"> |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
59 | <lang>c</lang> |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
60 | <make> |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
61 | AR=ar |
982
7a88b8a05ae1
add -c flag to ARFLAGS to suppress diagnostic message on stderr
Mike Becker <universe@uap-core.de>
parents:
979
diff
changeset
|
62 | ARFLAGS=cr |
797
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
63 | STLIB_EXT=.a |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
64 | SHLIB_EXT=.so |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
65 | </make> |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
66 | </dependency> |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
67 | |
988
15b3ca7ee33f
make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents:
987
diff
changeset
|
68 | <dependency name="cxx"> |
15b3ca7ee33f
make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents:
987
diff
changeset
|
69 | <lang>cpp</lang> |
15b3ca7ee33f
make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents:
987
diff
changeset
|
70 | </dependency> |
15b3ca7ee33f
make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents:
987
diff
changeset
|
71 | |
797
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
72 | <dependency name="doxygen"> |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
73 | <test>test -n "$DOXYGEN"</test> |
979
bbae1ebf309b
fix broken docs target after uwproj update
Mike Becker <universe@uap-core.de>
parents:
960
diff
changeset
|
74 | <make>DOXYGEN=$DOXYGEN</make> |
797
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
75 | </dependency> |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
76 | |
960
a8a5f3dd5c3d
test coverage does not really work with clang
Mike Becker <universe@uap-core.de>
parents:
842
diff
changeset
|
77 | <dependency name="coverage" toolchain="gcc"> |
797
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
78 | <cflags>\${COVERAGE_CFLAGS}</cflags> |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
79 | <ldflags>\${COVERAGE_LDFLAGS}</ldflags> |
1064
f3b04cd60776
change coverage tool from gcov to gcovr
Mike Becker <universe@uap-core.de>
parents:
990
diff
changeset
|
80 | <test>command -v gcovr</test> |
797
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
81 | </dependency> |
772
4586a84c0c0b
add coverage feature - relates to #342
Mike Becker <universe@uap-core.de>
parents:
766
diff
changeset
|
82 | |
1320
f76b70a72614
add an option to enable address sanitizer
Mike Becker <universe@uap-core.de>
parents:
1280
diff
changeset
|
83 | <dependency name="asan" toolchain="gnuc"> |
f76b70a72614
add an option to enable address sanitizer
Mike Becker <universe@uap-core.de>
parents:
1280
diff
changeset
|
84 | <cflags>-fsanitize=address</cflags> |
f76b70a72614
add an option to enable address sanitizer
Mike Becker <universe@uap-core.de>
parents:
1280
diff
changeset
|
85 | <ldflags>-fsanitize=address</ldflags> |
f76b70a72614
add an option to enable address sanitizer
Mike Becker <universe@uap-core.de>
parents:
1280
diff
changeset
|
86 | </dependency> |
f76b70a72614
add an option to enable address sanitizer
Mike Becker <universe@uap-core.de>
parents:
1280
diff
changeset
|
87 | |
990
f708863e7ec6
automatically disable szmul builtin when testing with coverage
Mike Becker <universe@uap-core.de>
parents:
988
diff
changeset
|
88 | <dependency name="no_coverage"> |
f708863e7ec6
automatically disable szmul builtin when testing with coverage
Mike Becker <universe@uap-core.de>
parents:
988
diff
changeset
|
89 | <test>test -z "$FEATURE_COVERAGE"</test> |
f708863e7ec6
automatically disable szmul builtin when testing with coverage
Mike Becker <universe@uap-core.de>
parents:
988
diff
changeset
|
90 | </dependency> |
f708863e7ec6
automatically disable szmul builtin when testing with coverage
Mike Becker <universe@uap-core.de>
parents:
988
diff
changeset
|
91 | |
797
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
92 | <target> |
1140
88a9ee79c102
start overhauling the entire web documentation
Mike Becker <universe@uap-core.de>
parents:
1064
diff
changeset
|
93 | <feature name="api-docs"> |
88a9ee79c102
start overhauling the entire web documentation
Mike Becker <universe@uap-core.de>
parents:
1064
diff
changeset
|
94 | <dependencies>doxygen</dependencies> |
1320
f76b70a72614
add an option to enable address sanitizer
Mike Becker <universe@uap-core.de>
parents:
1280
diff
changeset
|
95 | <desc>run Doxygen during build</desc> |
1140
88a9ee79c102
start overhauling the entire web documentation
Mike Becker <universe@uap-core.de>
parents:
1064
diff
changeset
|
96 | <make> |
88a9ee79c102
start overhauling the entire web documentation
Mike Becker <universe@uap-core.de>
parents:
1064
diff
changeset
|
97 | # Documentation |
88a9ee79c102
start overhauling the entire web documentation
Mike Becker <universe@uap-core.de>
parents:
1064
diff
changeset
|
98 | WITH_API_DOCS=yes |
88a9ee79c102
start overhauling the entire web documentation
Mike Becker <universe@uap-core.de>
parents:
1064
diff
changeset
|
99 | </make> |
88a9ee79c102
start overhauling the entire web documentation
Mike Becker <universe@uap-core.de>
parents:
1064
diff
changeset
|
100 | </feature> |
797
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
101 | <feature name="coverage"> |
1320
f76b70a72614
add an option to enable address sanitizer
Mike Becker <universe@uap-core.de>
parents:
1280
diff
changeset
|
102 | <desc>test coverage with gcov</desc> |
797
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
103 | <dependencies>coverage</dependencies> |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
104 | </feature> |
1320
f76b70a72614
add an option to enable address sanitizer
Mike Becker <universe@uap-core.de>
parents:
1280
diff
changeset
|
105 | <feature name="asan"> |
f76b70a72614
add an option to enable address sanitizer
Mike Becker <universe@uap-core.de>
parents:
1280
diff
changeset
|
106 | <desc>address sanitizer</desc> |
f76b70a72614
add an option to enable address sanitizer
Mike Becker <universe@uap-core.de>
parents:
1280
diff
changeset
|
107 | <dependencies>asan</dependencies> |
f76b70a72614
add an option to enable address sanitizer
Mike Becker <universe@uap-core.de>
parents:
1280
diff
changeset
|
108 | </feature> |
988
15b3ca7ee33f
make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents:
987
diff
changeset
|
109 | <feature name="cxx-tests" default="true"> |
15b3ca7ee33f
make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents:
987
diff
changeset
|
110 | <dependencies>cxx</dependencies> |
15b3ca7ee33f
make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents:
987
diff
changeset
|
111 | <desc>the check-cxx makefile target</desc> |
15b3ca7ee33f
make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents:
987
diff
changeset
|
112 | <make> |
15b3ca7ee33f
make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents:
987
diff
changeset
|
113 | # Enable the check-cxx target |
15b3ca7ee33f
make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents:
987
diff
changeset
|
114 | WITH_CXX_TEST=yes |
15b3ca7ee33f
make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents:
987
diff
changeset
|
115 | </make> |
15b3ca7ee33f
make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents:
987
diff
changeset
|
116 | </feature> |
987
53e22f112b11
add configure option for szmul
Mike Becker <universe@uap-core.de>
parents:
982
diff
changeset
|
117 | <feature name="szmul-builtin" default="true"> |
990
f708863e7ec6
automatically disable szmul builtin when testing with coverage
Mike Becker <universe@uap-core.de>
parents:
988
diff
changeset
|
118 | <dependencies>no_coverage</dependencies> |
987
53e22f112b11
add configure option for szmul
Mike Becker <universe@uap-core.de>
parents:
982
diff
changeset
|
119 | <desc>use custom implementation, instead</desc> |
53e22f112b11
add configure option for szmul
Mike Becker <universe@uap-core.de>
parents:
982
diff
changeset
|
120 | <disabled> |
53e22f112b11
add configure option for szmul
Mike Becker <universe@uap-core.de>
parents:
982
diff
changeset
|
121 | <define name="CX_NO_SZMUL_BUILTIN"/> |
53e22f112b11
add configure option for szmul
Mike Becker <universe@uap-core.de>
parents:
982
diff
changeset
|
122 | </disabled> |
53e22f112b11
add configure option for szmul
Mike Becker <universe@uap-core.de>
parents:
982
diff
changeset
|
123 | </feature> |
797
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
124 | <dependencies>c,file-tools</dependencies> |
e0300c2c4e95
use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents:
788
diff
changeset
|
125 | </target> |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
126 | </project> |