Merge branch 'issue-445-prepare-release' (#445)
This commit is contained in:
commit
2d58706dad
@ -3,25 +3,25 @@
|
||||
The cmake based buildsystem for expat works on Windows (cygwin, mingw, Visual
|
||||
Studio) and should work on all other platform cmake supports.
|
||||
|
||||
Assuming ~/expat-2.2.10 is the source directory of expat, add a subdirectory
|
||||
Assuming ~/expat-2.3.0 is the source directory of expat, add a subdirectory
|
||||
build and change into that directory:
|
||||
~/expat-2.2.10$ mkdir build && cd build
|
||||
~/expat-2.2.10/build$
|
||||
~/expat-2.3.0$ mkdir build && cd build
|
||||
~/expat-2.3.0/build$
|
||||
|
||||
From that directory, call cmake first, then call make, make test and
|
||||
make install in the usual way:
|
||||
~/expat-2.2.10/build$ cmake ..
|
||||
~/expat-2.3.0/build$ cmake ..
|
||||
-- The C compiler identification is GNU
|
||||
-- The CXX compiler identification is GNU
|
||||
....
|
||||
-- Configuring done
|
||||
-- Generating done
|
||||
-- Build files have been written to: /home/patrick/expat-2.2.10/build
|
||||
-- Build files have been written to: /home/patrick/expat-2.3.0/build
|
||||
|
||||
If you want to specify the install location for your files, append
|
||||
-DCMAKE_INSTALL_PREFIX=/your/install/path to the cmake call.
|
||||
|
||||
~/expat-2.2.10/build$ make && make test && make install
|
||||
~/expat-2.3.0/build$ make && make test && make install
|
||||
Scanning dependencies of target expat
|
||||
[ 5%] Building C object CMakeFiles/expat.dir/lib/xmlparse.c.o
|
||||
[ 11%] Building C object CMakeFiles/expat.dir/lib/xmlrole.c.o
|
||||
|
@ -33,7 +33,7 @@ endif()
|
||||
|
||||
project(expat
|
||||
VERSION
|
||||
2.2.10
|
||||
2.3.0
|
||||
LANGUAGES
|
||||
C
|
||||
)
|
||||
|
@ -2,7 +2,7 @@ NOTE: We are looking for help with a few things:
|
||||
https://github.com/libexpat/libexpat/labels/help%20wanted
|
||||
If you can help, please get in touch. Thanks!
|
||||
|
||||
Release x.x.xx xxx xxxxxxx xx xxxx
|
||||
Release 2.3.0 Thu March 25 2021
|
||||
Bug fixes:
|
||||
#438 When calling XML_ParseBuffer without a prior successful call to
|
||||
XML_GetBuffer as a user, no longer trigger undefined behavior
|
||||
@ -11,8 +11,8 @@ Release x.x.xx xxx xxxxxxx xx xxxx
|
||||
XML_ERROR_NO_BUFFER. Found by UBSan (UndefinedBehaviorSanitizer)
|
||||
of Clang 11 (but not Clang 9).
|
||||
#444 xmlwf: Exit status 2 was used for both:
|
||||
- invalid command-line arguments and
|
||||
- malformed input files.
|
||||
- malformed input files (documented) and
|
||||
- invalid command-line arguments (undocumented).
|
||||
The case of invalid command-line arguments now
|
||||
has its own exit status 4, resolving the ambiguity.
|
||||
|
||||
@ -20,24 +20,33 @@ Release x.x.xx xxx xxxxxxx xx xxxx
|
||||
#439 xmlwf: Add argument -k to allow continuing after
|
||||
non-fatal errors
|
||||
#439 xmlwf: Add section about exit status to the -h help output
|
||||
#422 #447 Windows: Drop support for Visual Studio <=14.0/2015
|
||||
#422 #426 #447 Windows: Drop support for Visual Studio <=14.0/2015
|
||||
#434 Windows: CMake: Detect unsupported Visual Studio at
|
||||
configure time (rather than at compile time)
|
||||
#382 #428 testrunner: Make verbose mode (argument "-v") report
|
||||
about passed tests, and make default mode report about
|
||||
failures, as well.
|
||||
#442 CMake: Call "enable_language(CXX)" prior to tinkering
|
||||
with CMAKE_CXX_* variables
|
||||
#448 Document use of libexpat from a CMake-based project
|
||||
#451 Autotools: Install CMake files as generated by CMake 3.19.6
|
||||
so that users with "find_package(expat [..] CONFIG [..])"
|
||||
are served on distributions that are *not* using the CMake
|
||||
build system inside for libexpat packaging
|
||||
#436 #437 Autotools: Drop obsolescent macro AC_HEADER_STDC
|
||||
#450 #452 Autotools: Resolve use of obsolete macro AC_CONFIG_HEADER
|
||||
Version info bumped from 7:12:6 to 8:0:7
|
||||
#441 Address compiler warnings
|
||||
#443 Version info bumped from 7:12:6 to 8:0:7
|
||||
due to addition of error code XML_ERROR_NO_BUFFER
|
||||
(see https://verbump.de/ for what these numbers do)
|
||||
|
||||
Infrastructure:
|
||||
#435 #446 Replace Travis CI by GitHub Actions
|
||||
|
||||
Special thanks to:
|
||||
Alexander Richardson
|
||||
Oleksandr Popovych
|
||||
Thomas Beutlich
|
||||
Tim Bray
|
||||
and
|
||||
Clang LeakSan, Clang 11 UBSan and the Clang team
|
||||
@ -86,7 +95,7 @@ Release 2.2.10 Sat October 3 2020
|
||||
#354 #355 ..
|
||||
#356 #412 Address compiler warnings
|
||||
#368 #369 Address pngcheck warnings with doc/*.png images
|
||||
Version info bumped from 7:11:6 to 7:12:6
|
||||
#425 Version info bumped from 7:11:6 to 7:12:6
|
||||
|
||||
Special thanks to:
|
||||
asavah
|
||||
|
@ -1,9 +1,9 @@
|
||||
[![Travis CI Build Status](https://travis-ci.org/libexpat/libexpat.svg?branch=master)](https://travis-ci.org/libexpat/libexpat)
|
||||
[![Run Linux Travis CI tasks](https://github.com/libexpat/libexpat/actions/workflows/linux.yml/badge.svg)](https://github.com/libexpat/libexpat/actions/workflows/linux.yml)
|
||||
[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/libexpat/libexpat?svg=true)](https://ci.appveyor.com/project/libexpat/libexpat)
|
||||
[![Packaging status](https://repology.org/badge/tiny-repos/expat.svg)](https://repology.org/metapackage/expat/versions)
|
||||
|
||||
|
||||
# Expat, Release 2.2.10
|
||||
# Expat, Release 2.3.0
|
||||
|
||||
This is Expat, a C library for parsing XML, started by
|
||||
[James Clark](https://en.wikipedia.org/wiki/James_Clark_(programmer)) in 1997.
|
||||
@ -14,13 +14,14 @@ document being parsed. A start tag is an example of the kind of
|
||||
structures for which you may register handlers.
|
||||
|
||||
Expat supports the following compilers:
|
||||
|
||||
- GNU GCC >=4.5
|
||||
- LLVM Clang >=3.5
|
||||
- Microsoft Visual Studio >=15.0/2017 (rolling `${today} minus 5 years`)
|
||||
|
||||
Windows users can use the
|
||||
[`expat_win32` package](https://sourceforge.net/projects/expat/files/expat_win32/),
|
||||
which includes both precompiled libraries and executables, and source code for
|
||||
[`expat-win32bin-*.*.*.exe` installer download](https://github.com/libexpat/libexpat/releases),
|
||||
which includes both pre-compiled libraries and executables, and source code for
|
||||
developers.
|
||||
|
||||
Expat is [free software](https://www.gnu.org/philosophy/free-sw.en.html).
|
||||
@ -30,6 +31,62 @@ contained in the file
|
||||
distributed with this package.
|
||||
This license is the same as the MIT/X Consortium license.
|
||||
|
||||
|
||||
## Using libexpat in your CMake-Based Project
|
||||
|
||||
There are two ways of using libexpat with CMake:
|
||||
|
||||
### a) Module Mode
|
||||
|
||||
This approach leverages CMake's own [module `FindEXPAT`](https://cmake.org/cmake/help/latest/module/FindEXPAT.html).
|
||||
|
||||
Notice the uppercase `EXPAT` in the following example:
|
||||
|
||||
```cmake
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
|
||||
project(hello VERSION 1.0.0)
|
||||
|
||||
find_package(EXPAT 2.2.8 MODULE REQUIRED)
|
||||
|
||||
add_executable(hello
|
||||
hello.c
|
||||
)
|
||||
|
||||
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.10")
|
||||
target_link_libraries(hello PUBLIC EXPAT::EXPAT)
|
||||
else()
|
||||
target_include_directories(hello PRIVATE ${EXPAT_INCLUDE_DIRS})
|
||||
target_link_libraries(hello PUBLIC ${EXPAT_LIBRARIES})
|
||||
endif()
|
||||
```
|
||||
|
||||
### b) Config Mode
|
||||
|
||||
This approach requires files from
|
||||
libexpat >=2.2.8 where packaging uses the CMake build system
|
||||
or
|
||||
libexpat >=2.3.0 where packaging uses the GNU Autotools build system.
|
||||
|
||||
Notice the lowercase `expat` in the following example:
|
||||
|
||||
```cmake
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
|
||||
project(hello VERSION 1.0.0)
|
||||
|
||||
find_package(expat 2.2.8 CONFIG REQUIRED char dtd ns)
|
||||
|
||||
add_executable(hello
|
||||
hello.c
|
||||
)
|
||||
|
||||
target_link_libraries(hello PUBLIC expat::expat)
|
||||
```
|
||||
|
||||
|
||||
## Buildung from a Git Clone
|
||||
|
||||
If you are building Expat from a check-out from the
|
||||
[Git repository](https://github.com/libexpat/libexpat/),
|
||||
you need to run a script that generates the configure script using the
|
||||
@ -43,6 +100,11 @@ autoconf 2.58 or newer. Run the script like this:
|
||||
Once this has been done, follow the same instructions as for building
|
||||
from a source distribution.
|
||||
|
||||
|
||||
## Buildung from a Source Distribution
|
||||
|
||||
### a) Building with the configure script (i.e. GNU Autotools)
|
||||
|
||||
To build Expat from a source distribution, you first run the
|
||||
configuration shell script in the top level distribution directory:
|
||||
|
||||
@ -132,8 +194,14 @@ A reference manual is available in the file `doc/reference.html` in this
|
||||
distribution.
|
||||
|
||||
|
||||
The CMake build system is still *experimental* and will replace the primary
|
||||
### b) Building with CMake
|
||||
|
||||
The CMake build system is still *experimental* and may replace the primary
|
||||
build system based on GNU Autotools at some point when it is ready.
|
||||
|
||||
|
||||
#### Available Options
|
||||
|
||||
For an idea of the available (non-advanced) options for building with CMake:
|
||||
|
||||
```console
|
||||
|
2
expat/cmake/autotools/.gitignore
vendored
Normal file
2
expat/cmake/autotools/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
/expat-config-version.cmake
|
||||
/expat-noconfig.cmake
|
@ -116,7 +116,7 @@ enum XML_Error {
|
||||
XML_ERROR_RESERVED_NAMESPACE_URI,
|
||||
/* Added in 2.2.1. */
|
||||
XML_ERROR_INVALID_ARGUMENT,
|
||||
/* Added in 2.2.11. */
|
||||
/* Added in 2.3.0. */
|
||||
XML_ERROR_NO_BUFFER
|
||||
};
|
||||
|
||||
@ -1016,8 +1016,8 @@ XML_GetFeatureList(void);
|
||||
See http://semver.org.
|
||||
*/
|
||||
#define XML_MAJOR_VERSION 2
|
||||
#define XML_MINOR_VERSION 2
|
||||
#define XML_MICRO_VERSION 10
|
||||
#define XML_MINOR_VERSION 3
|
||||
#define XML_MICRO_VERSION 0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* 5cd169f2942b85c05e0b1b96f9990f91ac3d07e470ad7ce906ac8590c8ed4f35 (2.2.10+)
|
||||
/* d667b5f8e56e24fdfaf5e38596d419d924a9fadceb987d81d5613ecb7ca51b0e (2.3.0+)
|
||||
__ __ _
|
||||
___\ \/ /_ __ __ _| |_
|
||||
/ _ \\ /| '_ \ / _` | __|
|
||||
@ -2333,7 +2333,7 @@ XML_ErrorString(enum XML_Error code) {
|
||||
/* Added in 2.2.5. */
|
||||
case XML_ERROR_INVALID_ARGUMENT: /* Constant added in 2.2.1, already */
|
||||
return XML_L("invalid argument");
|
||||
/* Added in 2.2.11. */
|
||||
/* Added in 2.3.0. */
|
||||
case XML_ERROR_NO_BUFFER:
|
||||
return XML_L(
|
||||
"a successful prior call to function XML_GetBuffer is required");
|
||||
|
@ -7347,7 +7347,7 @@ START_TEST(test_misc_version) {
|
||||
fail("Version mismatch");
|
||||
|
||||
#if ! defined(XML_UNICODE) || defined(XML_UNICODE_WCHAR_T)
|
||||
if (xcstrcmp(version_text, XCS("expat_2.2.10"))) /* needs bump on releases */
|
||||
if (xcstrcmp(version_text, XCS("expat_2.3.0"))) /* needs bump on releases */
|
||||
fail("XML_*_VERSION in expat.h out of sync?\n");
|
||||
#else
|
||||
/* If we have XML_UNICODE defined but not XML_UNICODE_WCHAR_T
|
||||
|
@ -4,7 +4,7 @@
|
||||
; This script was contributed by Tim Peters.
|
||||
; It was designed for Inno Setup 2.0.19 but works with later versions as well.
|
||||
|
||||
#define expatVer "2.2.10"
|
||||
#define expatVer "2.3.0"
|
||||
|
||||
[Setup]
|
||||
AppName=Expat
|
||||
|
Loading…
Reference in New Issue
Block a user