coverage.sh: Add Windows MinGW cross-compilation
This commit is contained in:
parent
3fb1ec4334
commit
bfa1152c8e
@ -16,7 +16,12 @@ _get_build_dir() {
|
|||||||
libbsd_part=__libbsd
|
libbsd_part=__libbsd
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "build__${version}__unicode_${unicode_enabled}__xml_context_${xml_context}${libbsd_part}"
|
local mingw_part=
|
||||||
|
if ${with_mingw}; then
|
||||||
|
mingw_part=__windows
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "build__${version}__unicode_${unicode_enabled}__xml_context_${xml_context}${libbsd_part}${mingw_part}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -38,6 +43,7 @@ _configure() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
${with_libbsd} && configure_args+=( --with-libbsd )
|
${with_libbsd} && configure_args+=( --with-libbsd )
|
||||||
|
${with_mingw} && configure_args+=( --host=i686-w64-mingw32 )
|
||||||
|
|
||||||
(
|
(
|
||||||
set -x
|
set -x
|
||||||
@ -56,6 +62,21 @@ _copy_to() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
_copy_missing_mingw_libaries() {
|
||||||
|
# These extra files are copied because
|
||||||
|
# * coverage GCC fflags make them needed
|
||||||
|
# * With WINEDLLPATH Wine look for .dll.so in these folders, not .dll
|
||||||
|
local target="$1"
|
||||||
|
local mingw_dll_dir="$(dirname "$(ls -1 /usr/lib*/gcc/i686-w64-mingw32/*/libgcc_s_sjlj-1.dll | head -n1)")"
|
||||||
|
for dll in libgcc_s_sjlj-1.dll libstdc++-6.dll; do
|
||||||
|
(
|
||||||
|
set -x
|
||||||
|
ln -s "${mingw_dll_dir}"/${dll} "${target}"/${dll}
|
||||||
|
)
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
_run() {
|
_run() {
|
||||||
local source_dir="$1"
|
local source_dir="$1"
|
||||||
local build_dir="$2"
|
local build_dir="$2"
|
||||||
@ -75,11 +96,18 @@ _run() {
|
|||||||
CFLAGS="${BASE_FLAGS}" \
|
CFLAGS="${BASE_FLAGS}" \
|
||||||
CXXFLAGS="${BASE_FLAGS}"
|
CXXFLAGS="${BASE_FLAGS}"
|
||||||
|
|
||||||
|
(
|
||||||
set -x
|
set -x
|
||||||
make buildlib &> build.log
|
make buildlib &> build.log
|
||||||
|
|
||||||
lcov -c -d "${capture_dir}" -i -o "${coverage_info}-zero" &> run.log
|
lcov -c -d "${capture_dir}" -i -o "${coverage_info}-zero" &> run.log
|
||||||
|
)
|
||||||
|
|
||||||
|
if ${with_mingw}; then
|
||||||
|
_copy_missing_mingw_libaries .libs
|
||||||
|
fi
|
||||||
|
|
||||||
|
set -x
|
||||||
make check run-xmltest
|
make check run-xmltest
|
||||||
|
|
||||||
lcov -c -d "${capture_dir}" -o "${coverage_info}-test" &>> run.log
|
lcov -c -d "${capture_dir}" -o "${coverage_info}-test" &>> run.log
|
||||||
@ -156,11 +184,13 @@ _main() {
|
|||||||
|
|
||||||
# All combinations:
|
# All combinations:
|
||||||
with_libbsd=false
|
with_libbsd=false
|
||||||
|
for with_mingw in true false ; do
|
||||||
for unicode_enabled in false ; do
|
for unicode_enabled in false ; do
|
||||||
for xml_context in 0 1024 ; do
|
for xml_context in 0 1024 ; do
|
||||||
_build_case
|
_build_case
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
done
|
||||||
|
|
||||||
# Single cases:
|
# Single cases:
|
||||||
with_libbsd=true _build_case
|
with_libbsd=true _build_case
|
||||||
|
Loading…
Reference in New Issue
Block a user