Lines Matching +full:build +full:- +full:linux +full:- +full:gcc

1 [![Run Linux CI tasks](https://github.com/libexpat/libexpat/actions/workflows/linux.yml/badge.svg)](https://github.com/libexpat/libexpat/actions/workflows/linux.yml)
2 [![Packaging status](https://repology.org/badge/tiny-repos/expat.svg)](https://repology.org/metapackage/expat/versions)
17 [XML 1.0 Fourth Edition](https://www.w3.org/TR/2006/REC-xml-20060816/), started by
19 Expat is a stream-oriented XML parser. This means that you register
27 - GNU GCC >=4.5 (for use from C) or GNU GCC >=4.8.1 (for use from C++)
28 - LLVM Clang >=3.5
29 - Microsoft Visual Studio >=17.0/2022
30 (the oldest version supported by the [official GitHub Actions Windows images](https://github.com/actions/runner-images))
33 [`expat-win32bin-*.*.*.{exe,zip}` download](https://github.com/libexpat/libexpat/releases),
34 which includes both pre-compiled libraries and executables, and source code for
37 Expat is [free software](https://www.gnu.org/philosophy/free-sw.en.html).
45 ## Using libexpat in your CMake-Based Project
73 - libexpat >=2.2.8 where packaging uses the CMake build system
75 - libexpat >=2.3.0 where packaging uses the GNU Autotools build system
76 on Linux
78 - libexpat >=2.4.0 where packaging uses the GNU Autotools build system
104 - Use of the `FetchContent` module with *non-release* SHA1s or `master`
106 - Pinning to a specific commit is great for robust CI.
107 - Pinning to a specific commit needs updating every time there is a new
139 If you are building Expat from a check-out from the
157 To build Expat from a source distribution, you first run the
165 can discover by running configure with the `--help` option). But the
174 ./configure --prefix=/home/me/mystuff
177 Another interesting option is to enable 64-bit integer support for
178 line and column numbers and the over-all byte index:
181 ./configure CPPFLAGS=-DXML_LARGE_SIZE
186 a Linux distribution — but rather for builds with special requirements.
188 After running the configure script, the `make` command will build
195 information in UTF-16 encoding rather than the default UTF-8, follow
197 Please note that we configure with `--without-xmlwf` as xmlwf does not
200 1. Mass-patch `Makefile.am` files to use `libexpatw.la` for a library name:
202 `find . -name Makefile.am -exec sed
203 -e 's,libexpat\.la,libexpatw.la,'
204 -e 's,libexpat_la,libexpatw_la,'
205 -i.bak {} +`
207 1. Run `automake` to re-write `Makefile.in` files:<br/>
210 1. For UTF-16 output as unsigned short (and version/error strings as char),
212 `./configure CPPFLAGS=-DXML_UNICODE --without-xmlwf`<br/>
213 For UTF-16 output as `wchar_t` (incl. version/error strings), run:<br/>
214 `./configure CFLAGS="-g -O2 -fshort-wchar" CPPFLAGS=-DXML_UNICODE_WCHAR_T
215 --without-xmlwf`
216 <br/>Note: The latter requires libc compiled with `-fshort-wchar`, as well.
228 overrides the in-makefile set `DESTDIR`, because variable-setting priority is
231 1. in-makefile
234 Note: This only applies to the Expat library itself, building UTF-16 versions
248 The CMake build system is still *experimental* and may replace the primary
249 build system based on GNU Autotools at some point when it is ready.
254 For an idea of the available (non-advanced) options for building with CMake:
257 # rm -f CMakeCache.txt ; cmake -D_EXPAT_HELP=ON -LH . | grep -B1 ':.*=' | sed 's,^--$,,'
258 // Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ...
265 DOCBOOK_TO_MAN:FILEPATH=/usr/bin/docbook2x-man
267 // Build man page for xmlwf
270 // Build the examples for expat library
273 // Build fuzzers for the expat library
276 // Build pkg-config file
279 // Build the tests for expat library
282 // Build the xmlwf tool for expat library
294 // Build fuzzers via OSS-Fuzz for the expat library
297 // Build a shared expat library