make/project.xml

Sun, 22 Dec 2024 22:10:04 +0100

author
Mike Becker <universe@uap-core.de>
date
Sun, 22 Dec 2024 22:10:04 +0100
changeset 1047
40aad3f0bc9e
parent 990
f708863e7ec6
permissions
-rw-r--r--

don't trust that size_t always has word width

it should be the case on all platforms supported by UCX, but it's not strictly defined in POSIX that it must be the case

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>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
4 <var name="src_dir" exec="true">pwd</var>
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 <var name="PANDOC" exec="true">command -v pandoc</var>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
7 </config>
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
8
797
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
9 <dependency>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
10 <make>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
11 # library version
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
12 VERSION=3.1.0
825
3f324ea53152 be honest at least in the lib version
Mike Becker <universe@uap-core.de>
parents: 815
diff changeset
13 LIBVERSION=5.0.0
3f324ea53152 be honest at least in the lib version
Mike Becker <universe@uap-core.de>
parents: 815
diff changeset
14 LIBVERSION_MAJOR=5
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
15
797
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
16 # build directory structure !! do not change or override !!
979
bbae1ebf309b fix broken docs target after uwproj update
Mike Becker <universe@uap-core.de>
parents: 960
diff changeset
17 src_dir=${src_dir}
797
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
18 build_dir=${src_dir}/build
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
19 docs_dir=${src_dir}/build/docs
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
20 dist_dir=${src_dir}/dist
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
21 </make>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
22 </dependency>
842
b48cbfa109d4 add -lm to ldflags on Solaris
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 825
diff changeset
23
b48cbfa109d4 add -lm to ldflags on Solaris
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 825
diff changeset
24 <dependency platform="solaris">
b48cbfa109d4 add -lm to ldflags on Solaris
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 825
diff changeset
25 <ldflags>-lm</ldflags>
b48cbfa109d4 add -lm to ldflags on Solaris
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 825
diff changeset
26 </dependency>
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
27
797
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
28 <dependency name="file-tools">
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
29 <make>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
30 MKDIR=/bin/mkdir -p
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
31 RMFILE=/bin/rm -f
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
32 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
33 COPYFILE=/bin/cp -f
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
34 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
35 SYMLINK=/bin/ln -s
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
36 </make>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
37 </dependency>
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
38
797
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
39 <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
40 <lang>c</lang>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
41 <make>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
42 AR=ar
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
43 ARFLAGS=r
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
44 STLIB_EXT=.lib
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
45 SHLIB_EXT=.dll
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
46 </make>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
47 </dependency>
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
48
797
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
49 <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
50 <lang>c</lang>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
51 <make>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
52 AR=ar
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
53 ARFLAGS=r
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
54 STLIB_EXT=.a
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
55 SHLIB_EXT=.dylib
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
56 </make>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
57 </dependency>
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
58
797
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
59 <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
60 <lang>c</lang>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
61 <make>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
62 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
63 ARFLAGS=cr
797
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
64 STLIB_EXT=.a
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
65 SHLIB_EXT=.so
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
66 </make>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
67 </dependency>
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
68
988
15b3ca7ee33f make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents: 987
diff changeset
69 <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
70 <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
71 </dependency>
15b3ca7ee33f make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents: 987
diff changeset
72
797
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
73 <dependency name="doxygen">
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
74 <test>test -n "$DOXYGEN"</test>
979
bbae1ebf309b fix broken docs target after uwproj update
Mike Becker <universe@uap-core.de>
parents: 960
diff changeset
75 <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
76 </dependency>
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
77
797
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
78 <dependency name="pandoc">
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
79 <test>test -n "$PANDOC"</test>
979
bbae1ebf309b fix broken docs target after uwproj update
Mike Becker <universe@uap-core.de>
parents: 960
diff changeset
80 <make>PANDOC=$PANDOC</make>
797
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
81 </dependency>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
82
960
a8a5f3dd5c3d test coverage does not really work with clang
Mike Becker <universe@uap-core.de>
parents: 842
diff changeset
83 <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
84 <cflags>\${COVERAGE_CFLAGS}</cflags>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
85 <ldflags>\${COVERAGE_LDFLAGS}</ldflags>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
86 </dependency>
772
4586a84c0c0b add coverage feature - relates to #342
Mike Becker <universe@uap-core.de>
parents: 766
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>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
93 <option arg="with-docs">
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
94 <value str="all">
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
95 <dependencies>pandoc,doxygen</dependencies>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
96 <make>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
97 # Documentation
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
98 WITH_DOCS_API=yes
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
99 WITH_DOCS_HTML=yes
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
100 </make>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
101 </value>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
102 <value str="html">
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
103 <dependencies>pandoc</dependencies>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
104 <make>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
105 # Documentation
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
106 WITH_DOCS_HTML=yes
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
107 </make>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
108 </value>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
109 <value str="api">
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
110 <dependencies>doxygen</dependencies>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
111 <make>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
112 # Documentation
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
113 WITH_DOCS_API=yes
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
114 </make>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
115 </value>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
116 <value str="none"/>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
117 <default value="all"/>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
118 <default value="html"/>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
119 <default value="api"/>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
120 <default value="none"/>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
121 </option>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
122 <feature name="coverage">
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
123 <dependencies>coverage</dependencies>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
124 </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
125 <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
126 <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
127 <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
128 <make>
15b3ca7ee33f make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents: 987
diff changeset
129 # 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
130 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
131 </make>
15b3ca7ee33f make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents: 987
diff changeset
132 </feature>
987
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 982
diff changeset
133 <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
134 <dependencies>no_coverage</dependencies>
987
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 982
diff changeset
135 <desc>use custom implementation, instead</desc>
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 982
diff changeset
136 <disabled>
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 982
diff changeset
137 <define name="CX_NO_SZMUL_BUILTIN"/>
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 982
diff changeset
138 </disabled>
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 982
diff changeset
139 </feature>
797
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
140 <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
141 </target>
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
142 </project>

mercurial