make/project.xml

Sun, 15 Dec 2024 16:28:05 +0100

author
Mike Becker <universe@uap-core.de>
date
Sun, 15 Dec 2024 16:28:05 +0100
changeset 1022
2911c1f4a570
parent 990
f708863e7ec6
permissions
-rw-r--r--

add shortcut to binary search when array size is one

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