make/project.xml

Sat, 11 Jan 2025 12:56:54 +0100

author
Mike Becker <universe@uap-core.de>
date
Sat, 11 Jan 2025 12:56:54 +0100
changeset 1122
49ab92de9a13
parent 1064
f3b04cd60776
permissions
-rw-r--r--

add more escape sequences to unescape function

and change the name of token_start to more clearly express what it actually is
(the start of the currently parsed PART of the token)

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 <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 !!
1064
f3b04cd60776 change coverage tool from gcov to gcovr
Mike Becker <universe@uap-core.de>
parents: 990
diff changeset
17 root_dir=${root_dir}
f3b04cd60776 change coverage tool from gcov to gcovr
Mike Becker <universe@uap-core.de>
parents: 990
diff changeset
18 build_dir=${root_dir}/build
f3b04cd60776 change coverage tool from gcov to gcovr
Mike Becker <universe@uap-core.de>
parents: 990
diff changeset
19 docs_dir=${root_dir}/build/docs
f3b04cd60776 change coverage tool from gcov to gcovr
Mike Becker <universe@uap-core.de>
parents: 990
diff changeset
20 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
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>
1064
f3b04cd60776 change coverage tool from gcov to gcovr
Mike Becker <universe@uap-core.de>
parents: 990
diff changeset
86 <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
87 </dependency>
772
4586a84c0c0b add coverage feature - relates to #342
Mike Becker <universe@uap-core.de>
parents: 766
diff changeset
88
990
f708863e7ec6 automatically disable szmul builtin when testing with coverage
Mike Becker <universe@uap-core.de>
parents: 988
diff changeset
89 <dependency name="no_coverage">
f708863e7ec6 automatically disable szmul builtin when testing with coverage
Mike Becker <universe@uap-core.de>
parents: 988
diff changeset
90 <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
91 </dependency>
f708863e7ec6 automatically disable szmul builtin when testing with coverage
Mike Becker <universe@uap-core.de>
parents: 988
diff changeset
92
797
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
93 <target>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
94 <option arg="with-docs">
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
95 <value str="all">
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
96 <dependencies>pandoc,doxygen</dependencies>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
97 <make>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
98 # Documentation
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
99 WITH_DOCS_API=yes
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
100 WITH_DOCS_HTML=yes
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
101 </make>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
102 </value>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
103 <value str="html">
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
104 <dependencies>pandoc</dependencies>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
105 <make>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
106 # Documentation
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
107 WITH_DOCS_HTML=yes
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
108 </make>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
109 </value>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
110 <value str="api">
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
111 <dependencies>doxygen</dependencies>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
112 <make>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
113 # Documentation
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
114 WITH_DOCS_API=yes
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
115 </make>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
116 </value>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
117 <value str="none"/>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
118 <default value="all"/>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
119 <default value="html"/>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
120 <default value="api"/>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
121 <default value="none"/>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
122 </option>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
123 <feature name="coverage">
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
124 <dependencies>coverage</dependencies>
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
125 </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
126 <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
127 <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
128 <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
129 <make>
15b3ca7ee33f make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents: 987
diff changeset
130 # 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
131 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
132 </make>
15b3ca7ee33f make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents: 987
diff changeset
133 </feature>
987
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 982
diff changeset
134 <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
135 <dependencies>no_coverage</dependencies>
987
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 982
diff changeset
136 <desc>use custom implementation, instead</desc>
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 982
diff changeset
137 <disabled>
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 982
diff changeset
138 <define name="CX_NO_SZMUL_BUILTIN"/>
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 982
diff changeset
139 </disabled>
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 982
diff changeset
140 </feature>
797
e0300c2c4e95 use that recent uwproj trims indents in project.xml
Mike Becker <universe@uap-core.de>
parents: 788
diff changeset
141 <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
142 </target>
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
143 </project>

mercurial