Skip to content

Commit f11e406

Browse files
committed
Merge commit 'e1bcffea180d6cc0651757bb64284a763e0e2239'
2 parents 1fc3575 + e1bcffe commit f11e406

File tree

432 files changed

+9590
-3632
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

432 files changed

+9590
-3632
lines changed

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
/result/** -text
2+
/test/** -text

.gitlab-ci.yml

Lines changed: 239 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
1-
default:
1+
.test:
22
# The image was generated with the following Dockerfile. It is also used
33
# for libxslt, that's why we need git and libgcrypt-dev.
44
#
5-
# FROM ubuntu:19.04
5+
# FROM ubuntu:20.04
6+
# ENV DEBIAN_FRONTEND=noninteractive
67
# RUN apt-get update && \
78
# apt-get upgrade -y && \
89
# apt-get install -y --no-install-recommends \
910
# curl git ca-certificates \
1011
# autoconf automake libtool pkg-config \
1112
# make gcc clang llvm \
12-
# python-dev zlib1g-dev liblzma-dev libgcrypt-dev
13+
# zlib1g-dev liblzma-dev libgcrypt-dev \
14+
# python-dev python3-dev \
15+
# cmake
1316
# WORKDIR /tests
1417
# RUN curl https://www.w3.org/XML/Test/xmlts20080827.tar.gz |tar xz
1518
image: registry.gitlab.gnome.org/gnome/libxml2
16-
17-
.test:
1819
script:
1920
- |
2021
ln -s /tests/xmlconf
@@ -27,18 +28,250 @@ gcc:
2728
variables:
2829
CFLAGS: "-O2 -std=c89 -D_XOPEN_SOURCE=700"
2930

31+
gcc:python3:
32+
extends: .test
33+
only:
34+
- schedules
35+
variables:
36+
CONFIG: "--with-python=/usr/bin/python3"
37+
CFLAGS: "-O2"
38+
3039
clang:asan:
3140
extends: .test
3241
variables:
3342
CONFIG: "--without-python"
3443
CC: clang
35-
CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize=pointer-overflow -fno-sanitize-recover=all -Wno-error=cast-align"
44+
CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=address,undefined,unsigned-integer-overflow -fno-sanitize-recover=all -Wno-error=cast-align"
45+
# LeakSanitizer requires SYS_CAP_PTRACE
46+
ASAN_OPTIONS: "detect_leaks=0"
3647
UBSAN_OPTIONS: "print_stacktrace=1"
3748

3849
clang:msan:
3950
extends: .test
51+
only:
52+
- schedules
4053
variables:
4154
CONFIG: "--without-python --without-zlib --without-lzma"
4255
CC: clang
4356
CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=memory -Wno-error=cast-align"
4457

58+
.cmake:linux:
59+
image: registry.gitlab.gnome.org/gnome/libxml2
60+
script:
61+
- cmake -DBUILD_SHARED_LIBS=$BUILD_SHARED_LIBS -DCMAKE_INSTALL_PREFIX=libxml2-install -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLIBXML2_XMLCONF_WORKING_DIR=/tests -S . -B libxml2-build
62+
- cmake --build libxml2-build --target install
63+
- mkdir -p libxml2-install/share/libxml2
64+
- cp Copyright libxml2-install/share/libxml2
65+
- cd libxml2-build
66+
- ctest -VV
67+
after_script:
68+
- cd libxml2-install
69+
- tar -czf ../libxml2-$CI_COMMIT_SHORT_SHA-$CC-$SUFFIX.tar.gz *
70+
artifacts:
71+
paths:
72+
- libxml2-$CI_COMMIT_SHORT_SHA-$CC-$SUFFIX.tar.gz
73+
expire_in: 1 day
74+
75+
cmake:linux:gcc:shared:
76+
extends: .cmake:linux
77+
only:
78+
- schedules
79+
variables:
80+
BUILD_SHARED_LIBS: "ON"
81+
CC: gcc
82+
SUFFIX: shared
83+
84+
cmake:linux:gcc:static:
85+
extends: .cmake:linux
86+
only:
87+
- schedules
88+
variables:
89+
BUILD_SHARED_LIBS: "OFF"
90+
CC: gcc
91+
SUFFIX: static
92+
93+
cmake:linux:clang:shared:
94+
extends: .cmake:linux
95+
only:
96+
- schedules
97+
variables:
98+
BUILD_SHARED_LIBS: "ON"
99+
CC: clang
100+
SUFFIX: shared
101+
102+
cmake:linux:clang:static:
103+
extends: .cmake:linux
104+
only:
105+
- schedules
106+
variables:
107+
BUILD_SHARED_LIBS: "OFF"
108+
CC: clang
109+
SUFFIX: static
110+
111+
.cmake:mingw:
112+
tags:
113+
- win32-ps
114+
before_script:
115+
- "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12"
116+
- $Env:Path="C:\msys64\$Env:MINGW_PATH\bin;C:\msys64\usr\bin;$Env:Path"
117+
- pacman --noconfirm -Syu
118+
- pacman --noconfirm -S
119+
$Env:MINGW_PACKAGE_PREFIX-cmake
120+
$Env:MINGW_PACKAGE_PREFIX-libiconv
121+
$Env:MINGW_PACKAGE_PREFIX-ninja
122+
$Env:MINGW_PACKAGE_PREFIX-python
123+
$Env:MINGW_PACKAGE_PREFIX-python2
124+
$Env:MINGW_PACKAGE_PREFIX-xz
125+
$Env:MINGW_PACKAGE_PREFIX-zlib
126+
- if (-not (Test-Path 7za.exe)) {
127+
Invoke-WebRequest -Uri https://www.7-zip.org/a/7z1900-extra.7z -OutFile 7z1900-extra.7z ;
128+
cmake -E tar xf 7z1900-extra.7z 7za.exe
129+
}
130+
- if (-not (Test-Path libxml2-build/xmlconf)) {
131+
Invoke-WebRequest -Uri https://www.w3.org/XML/Test/xmlts20080827.tar.gz -OutFile xmlts20080827.tar.gz ;
132+
.\7za.exe x xmlts20080827.tar.gz -olibxml2-build
133+
}
134+
script:
135+
- cmake -G Ninja -DBUILD_SHARED_LIBS="$Env:BUILD_SHARED_LIBS" -DCMAKE_INSTALL_PREFIX=libxml2-install -DCMAKE_BUILD_TYPE=RelWithDebInfo -S . -B libxml2-build
136+
- cmake --build libxml2-build --target install
137+
- New-Item -ItemType Directory libxml2-install\share\libxml2
138+
- Copy-Item Copyright libxml2-install\share\libxml2
139+
- cd libxml2-build
140+
- ctest -VV
141+
after_script:
142+
- .\7za.exe a libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:MINGW_PACKAGE_PREFIX-$Env:SUFFIX.7z .\libxml2-install\*
143+
cache:
144+
key: "$MINGW_PACKAGE_PREFIX"
145+
paths:
146+
- libxml2-build/xmlconf/
147+
- 7za.exe
148+
artifacts:
149+
paths:
150+
- libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:MINGW_PACKAGE_PREFIX-$Env:SUFFIX.7z
151+
expire_in: 1 day
152+
153+
cmake:mingw:w64-i686:shared:
154+
extends: .cmake:mingw
155+
only:
156+
- schedules
157+
variables:
158+
BUILD_SHARED_LIBS: "ON"
159+
MINGW_PACKAGE_PREFIX: mingw-w64-i686
160+
MINGW_PATH: mingw32
161+
SUFFIX: shared
162+
163+
cmake:mingw:w64-i686:static:
164+
extends: .cmake:mingw
165+
only:
166+
- schedules
167+
variables:
168+
BUILD_SHARED_LIBS: "OFF"
169+
MINGW_PACKAGE_PREFIX: mingw-w64-i686
170+
MINGW_PATH: mingw32
171+
SUFFIX: static
172+
173+
cmake:mingw:w64-x86_64:shared:
174+
extends: .cmake:mingw
175+
variables:
176+
BUILD_SHARED_LIBS: "ON"
177+
MINGW_PACKAGE_PREFIX: mingw-w64-x86_64
178+
MINGW_PATH: mingw64
179+
SUFFIX: shared
180+
181+
cmake:mingw:w64-x86_64:static:
182+
extends: .cmake:mingw
183+
only:
184+
- schedules
185+
variables:
186+
BUILD_SHARED_LIBS: "OFF"
187+
MINGW_PACKAGE_PREFIX: mingw-w64-x86_64
188+
MINGW_PATH: mingw64
189+
SUFFIX: static
190+
191+
.cmake:msvc:
192+
tags:
193+
- win32-ps
194+
variables:
195+
CMAKE_VERSION: 3.19.4
196+
before_script:
197+
- "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12"
198+
- if (-not (Test-Path cmake-$Env:CMAKE_VERSION-win64-x64)) {
199+
Invoke-WebRequest -Uri http://github.com/Kitware/CMake/releases/download/v$Env:CMAKE_VERSION/cmake-$Env:CMAKE_VERSION-win64-x64.zip -OutFile cmake-$Env:CMAKE_VERSION-win64-x64.zip ;
200+
Expand-Archive cmake-$Env:CMAKE_VERSION-win64-x64.zip -DestinationPath .
201+
}
202+
- $Env:Path="$Env:CI_PROJECT_DIR\cmake-$Env:CMAKE_VERSION-win64-x64\bin;$Env:Path"
203+
- if (-not (Test-Path 7za.exe)) {
204+
Invoke-WebRequest -Uri https://www.7-zip.org/a/7z1900-extra.7z -OutFile 7z1900-extra.7z ;
205+
cmake -E tar xf 7z1900-extra.7z 7za.exe
206+
}
207+
- if (-not (Test-Path libxml2-build/xmlconf)) {
208+
Invoke-WebRequest -Uri https://www.w3.org/XML/Test/xmlts20080827.tar.gz -OutFile xmlts20080827.tar.gz ;
209+
.\7za.exe x xmlts20080827.tar.gz -olibxml2-build
210+
}
211+
script:
212+
- cmake -DBUILD_SHARED_LIBS="$Env:BUILD_SHARED_LIBS" -DCMAKE_INSTALL_PREFIX=libxml2-install -DLIBXML2_WITH_ICONV=OFF -DLIBXML2_WITH_LZMA=OFF -DLIBXML2_WITH_PYTHON=OFF -DLIBXML2_WITH_ZLIB=OFF -S . -B libxml2-build
213+
- cmake --build libxml2-build --config Debug --target install
214+
- cmake --build libxml2-build --config Release --target install
215+
- New-Item -ItemType Directory libxml2-install\share\libxml2
216+
- Copy-Item Copyright libxml2-install\share\libxml2
217+
- cd libxml2-build
218+
- ctest -C Debug -VV
219+
- ctest -C Release -VV
220+
after_script:
221+
- .\7za.exe a libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:CMAKE_GENERATOR_TOOLSET-$Env:CMAKE_GENERATOR_PLATFORM-$Env:SUFFIX.7z .\libxml2-install\*
222+
cache:
223+
key: "msvc"
224+
paths:
225+
- cmake-$Env:CMAKE_VERSION-win64-x64/
226+
- libxml2-build/xmlconf/
227+
- 7za.exe
228+
artifacts:
229+
paths:
230+
- libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:CMAKE_GENERATOR_TOOLSET-$Env:CMAKE_GENERATOR_PLATFORM-$Env:SUFFIX.7z
231+
expire_in: 1 day
232+
233+
.cmake:msvc:v141:
234+
extends: .cmake:msvc
235+
variables:
236+
CMAKE_GENERATOR: Visual Studio 15 2017
237+
CMAKE_GENERATOR_TOOLSET: v141
238+
239+
.cmake:msvc:v141:x64:
240+
extends: .cmake:msvc:v141
241+
variables:
242+
CMAKE_GENERATOR_PLATFORM: x64
243+
244+
cmake:msvc:v141:x64:shared:
245+
extends: .cmake:msvc:v141:x64
246+
variables:
247+
BUILD_SHARED_LIBS: "ON"
248+
SUFFIX: shared
249+
250+
cmake:msvc:v141:x64:static:
251+
extends: .cmake:msvc:v141:x64
252+
only:
253+
- schedules
254+
variables:
255+
BUILD_SHARED_LIBS: "OFF"
256+
SUFFIX: static
257+
258+
.cmake:msvc:v141:x86:
259+
extends: .cmake:msvc:v141
260+
only:
261+
- schedules
262+
variables:
263+
CMAKE_GENERATOR_PLATFORM: Win32
264+
265+
cmake:msvc:v141:x86:shared:
266+
extends: .cmake:msvc:v141:x86
267+
only:
268+
- schedules
269+
variables:
270+
BUILD_SHARED_LIBS: "ON"
271+
SUFFIX: shared
272+
273+
cmake:msvc:v141:x86:static:
274+
extends: .cmake:msvc:v141:x86
275+
variables:
276+
BUILD_SHARED_LIBS: "OFF"
277+
SUFFIX: static

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ matrix:
1616
sudo: required
1717
dist: trusty
1818
env: CONFIG="--without-python"
19-
CFLAGS="-O2 -g -fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize=float-divide-by-zero,pointer-overflow -fno-sanitize-recover=all -Werror -Wno-error=cast-align"
19+
CFLAGS="-O2 -g -fno-omit-frame-pointer -fsanitize=address,undefined,unsigned-integer-overflow -fno-sanitize-recover=all -Werror -Wno-error=cast-align"
2020
UBSAN_OPTIONS=print_stacktrace=1
2121
script: sh autogen.sh $CONFIG && make -j2 V=1 && make check
2222
git:

0 commit comments

Comments
 (0)