blob: ad0dccec92c7f6e527464c7020746b3dc81c04bf [file] [log] [blame] [edit]
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
_realname=tinyxml
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=2.6.2
pkgrel=5
pkgdesc="Simple, small, C++ XML parser that can be easily integrated into other programs (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32')
url="http://www.grinninglizard.com/tinyxml"
license=("zlib")
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc")
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs")
options=('strip' 'staticlibs')
source=("https://downloads.sourceforge.net/tinyxml/tinyxml_${pkgver//./_}.tar.gz"
"entity.patch"
"tinyxml-2.5.3-stl.patch"
"tinyxml.pc")
sha256sums=('15bdfdcec58a7da30adc87ac2b078e4417dbe5392f3afb719f9ba6d062645593'
'ef493209b0a51160171fd834a7ecdddd02679463b85fb89a2ea254213e47f99b'
'3baf2c4dbc2c8f54a151dac8860113d2f549174f83ed85d552b094dfaebb52af'
'60bcff16486698f4d2f076f5a3c6e5566e098e3d0d30f1bdbbe7012d3d36c095')
prepare() {
cd "${srcdir}/tinyxml"
patch -p0 -i "${srcdir}"/entity.patch
patch -p1 -i "${srcdir}"/tinyxml-2.5.3-stl.patch
}
build() {
mkdir -p "${srcdir}/build-${MINGW_CHOST}"
cp -r "${srcdir}/tinyxml/"* "${srcdir}/build-${MINGW_CHOST}"
cd "${srcdir}/build-${MINGW_CHOST}"
for file in $(ls *.cpp | grep -v xmltest); do
g++ -c -Wall -Wno-unknown-pragmas -Wno-format -O3 ${file}
done
ar rcs libtinyxml.a $(ls *.o)
g++ -shared -o libtinyxml-0.dll -Xlinker --out-implib -Xlinker libtinyxml.dll.a $(ls *.o)
}
package() {
cd "${srcdir}/build-${MINGW_CHOST}"
install -Dm644 libtinyxml.a "${pkgdir}${MINGW_PREFIX}/lib/libtinyxml.a"
install -Dm644 libtinyxml-0.dll "${pkgdir}${MINGW_PREFIX}/bin/libtinyxml-0.dll"
install -m644 libtinyxml.dll.a "${pkgdir}${MINGW_PREFIX}/lib/"
install -Dm644 "${srcdir}/tinyxml.pc" "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig/tinyxml.pc"
install -Dm644 tinyxml.h "${pkgdir}${MINGW_PREFIX}/include/tinyxml.h"
install -m644 tinystr.h "${pkgdir}${MINGW_PREFIX}/include/"
sed -i "s,@PREFIX@,${MINGW_PREFIX}," "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig/tinyxml.pc"
find "${pkgdir}${MINGW_PREFIX}" -name '*.def' -o -name '*.exp' | xargs -rtl1 rm
}