#1109 Work in Progress on MinGW/32 daily build.

This commit is contained in:
Robin Mills 2016-09-18 11:03:00 +00:00
parent 290b0d52c3
commit 30dcfc9185

View File

@ -107,32 +107,39 @@ testBuild()
mingw)
if [ ! -z "$RECURSIVE" ]; then
# we are already in MinGW/bash, so build
##################
# dont use cmake as I can't get it to work!
# Reasons:
# even although gcc is on the path, we must tell it not to use /c/MinGW/bin/gcc)
# It's using the wrong headers. Needs /c/Qt/Qt5.6.0/Tools/mingw492_32/i686-w64-mingw32/include
# cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=$dist -DEXIV2_ENABLE_NLS=OFF \
# -DCMAKE_C_COMPILER=$(which gcc) -DCMAKE_CXX_COMPILER=$(which g++) \
# "-DCMAKE_CXX_FLAGS=-std=c++98 -I/c/Qt/Qt5.6.0/Tools/mingw492_32/i686-w64-mingw32/include"
# $exiv2
# even so, it errors instantly on:
# In file included from c:/Qt/Qt5.6.0/Tools/mingw492_32/i686-w64-mingw32/include/stddef.h:7:0,
# from c:/Qt/Qt5.6.0/Tools/mingw492_32/lib/gcc/i686-w64-mingw32/4.9.2/include/stddef.h:1,
# from C:/MinGW/msys/1.0/home/rmills/gnu/exiv2/trunk/xmpsdk/include/XMP_Const.h:14,
# from C:/MinGW/msys/1.0/home/rmills/gnu/exiv2/trunk/xmpsdk/src/XMPCore_Impl.hpp:13,
# from C:/MinGW/msys/1.0/home/rmills/gnu/exiv2/trunk/xmpsdk/src/ExpatAdapter.cpp:10:
# c:/Qt/Qt5.6.0/Tools/mingw492_32/i686-w64-mingw32/include/crtdefs.h:26:9: error: 'size_t' does not name a type
# typedef size_t rsize_t;
# Building cmake itself required setting CC CXX CXXFLAGS and LDFLAGS
# AND editing a system file in Qt with an erroneous #pragma error NTDDI_VERSION and _WIN32_WINNT
# In file included from c:/Qt/Qt5.6.0/Tools/mingw492_32/i686-w64-mingw32/include/windows.h:10:0,
# from c:/Users/rmills/gnu/cmake/cmake-3.6.2/Utilities/cmlibarchive/libarchive/archive_windows.h:74,
# from c:/Users/rmills/gnu/cmake/cmake-3.6.2/Utilities/cmlibarchive/libarchive/archive_platform.h:60,
# from c:/Users/rmills/gnu/cmake/cmake-3.6.2/Utilities/cmlibarchive/libarchive/xxhash.c:35:
# c:/Qt/Qt5.6.0/Tools/mingw492_32/i686-w64-mingw32/include/sdkddkver.h:186:2: error: #error NTDDI_VERSION and _WIN32_WINNT mismatch!
# My work-around was to comment off the #error statement!
##################
##
# dont use cmake as I can't get it to work
# cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=$dist -DEXIV2_ENABLE_NLS=OFF -DCMAKE_C_COMPILER=$(which gcc) -DCMAKE_CXX_COMPILER=$(which g++) $exiv2
##
##################
#
# Reasons why I can't get cmake to work:
#
# 1) Even although gcc is on the path, we must tell cmake not to use /c/MinGW/bin/gcc)
# 2) It's using the wrong headers. Needs /c/Qt/Qt5.6.0/Tools/mingw492_32/i686-w64-mingw32/include
# cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=$dist -DEXIV2_ENABLE_NLS=OFF \
# -DCMAKE_C_COMPILER=$(which gcc) -DCMAKE_CXX_COMPILER=$(which g++) \
# "-DCMAKE_CXX_FLAGS=-std=c++98 -I/c/Qt/Qt5.6.0/Tools/mingw492_32/i686-w64-mingw32/include"
# $exiv2
# 3) even so, it errors instantly on:
# In file included from c:/Qt/Qt5.6.0/Tools/mingw492_32/i686-w64-mingw32/include/stddef.h:7:0,
# from c:/Qt/Qt5.6.0/Tools/mingw492_32/lib/gcc/i686-w64-mingw32/4.9.2/include/stddef.h:1,
# from C:/MinGW/msys/1.0/home/rmills/gnu/exiv2/trunk/xmpsdk/include/XMP_Const.h:14,
# from C:/MinGW/msys/1.0/home/rmills/gnu/exiv2/trunk/xmpsdk/src/XMPCore_Impl.hpp:13,
# from C:/MinGW/msys/1.0/home/rmills/gnu/exiv2/trunk/xmpsdk/src/ExpatAdapter.cpp:10:
# c:/Qt/Qt5.6.0/Tools/mingw492_32/i686-w64-mingw32/include/crtdefs.h:26:9: error: 'size_t' does not name a type
# typedef size_t rsize_t;
# 4) Building cmake itself required setting CC CXX CXXFLAGS and LDFLAGS
# AND editing a system file in Qt with an erroneous #pragma error NTDDI_VERSION and _WIN32_WINNT
# In file included from c:/Qt/Qt5.6.0/Tools/mingw492_32/i686-w64-mingw32/include/windows.h:10:0,
# from c:/Users/rmills/gnu/cmake/cmake-3.6.2/Utilities/cmlibarchive/libarchive/archive_windows.h:74,
# from c:/Users/rmills/gnu/cmake/cmake-3.6.2/Utilities/cmlibarchive/libarchive/archive_platform.h:60,
# from c:/Users/rmills/gnu/cmake/cmake-3.6.2/Utilities/cmlibarchive/libarchive/xxhash.c:35:
# c:/Qt/Qt5.6.0/Tools/mingw492_32/i686-w64-mingw32/include/sdkddkver.h:186:2: error: #error NTDDI_VERSION and _WIN32_WINNT mismatch!
# My work-around was to comment off the #error statement!
##################
##
# build with autotools
@ -141,8 +148,16 @@ testBuild()
./configure --prefix=/usr/local
make
# install and copy the build to the dist
# install and make the samples
make install
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
make samples
mkdir -p "$dist/samples"
cp samples/* "$dist/samples"
mkdir -p "$dist/bin"
cp bin/*.exe "$dist/bin"
# copy bin lib include to dist
for d in bin lib include; do
mkdir -p "$dist/$d"
@ -156,13 +171,9 @@ testBuild()
mkdir -p "$dist/share/man/man1/"
cp -R /usr/local/share/man/man1/*exiv2* "$dist/share/man/man1/"
mkdir -p "$dist/samples"
export "PATH=$dist/bin/:$PATH"
# run the test suite
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
make samples
cp bin/*.exe "$dist/bin/"
make tests
make tests | tee "$dist/logs/test.log"
else
# recursively invoke MinGW/bash with appropriate tool chain
export RECURSIVE=1
@ -242,8 +253,6 @@ if [ "$result" == "0" ]; then
# add documentation and samples to dist
cat contrib/buildserver/dailyReadMe.txt | sed -E -e "s/__BUILD__/$zip/" > "$build/dist/ReadMe.txt"
mkdir -p "$build/dist/samples/"
cp samples/exifprint.cpp "$build/dist/samples/"
# create the bundle
pushd "$build" > /dev/null