From 7467d92e08a06e5aa0317761ddd725c6fb81289b Mon Sep 17 00:00:00 2001 From: Erik van Pienbroek Date: Mar 10 2012 21:23:39 +0000 Subject: Added win64 support --- diff --git a/mingw-libxml2.spec b/mingw-libxml2.spec index e6edb82..c4be53b 100644 --- a/mingw-libxml2.spec +++ b/mingw-libxml2.spec @@ -1,10 +1,11 @@ -%global __strip %{mingw32_strip} -%global __objdump %{mingw32_objdump} -%define __debug_install_post %{mingw32_debug_install_post} +%?mingw_package_header + +%global mingw_build_win32 1 +%global mingw_build_win64 1 Name: mingw-libxml2 Version: 2.7.8 -Release: 6%{?dist} +Release: 7%{?dist} Summary: MinGW Windows libxml2 XML processing library License: MIT @@ -24,20 +25,26 @@ Patch1002: libxml2-gnome-bug-561340-fix.patch BuildArch: noarch -BuildRequires: mingw32-filesystem +BuildRequires: mingw32-filesystem >= 95 BuildRequires: mingw32-gcc BuildRequires: mingw32-binutils - -BuildRequires: mingw32-dlfcn BuildRequires: mingw32-gettext BuildRequires: mingw32-win-iconv BuildRequires: mingw32-zlib +BuildRequires: mingw64-filesystem >= 95 +BuildRequires: mingw64-gcc +BuildRequires: mingw64-binutils +BuildRequires: mingw64-gettext +BuildRequires: mingw64-win-iconv +BuildRequires: mingw64-zlib + %description MinGW Windows libxml2 XML processing library. +# Win32 %package -n mingw32-libxml2 Summary: MinGW Windows libxml2 XML processing library Requires: pkgconfig @@ -45,7 +52,6 @@ Requires: pkgconfig %description -n mingw32-libxml2 MinGW Windows libxml2 XML processing library. - %package -n mingw32-libxml2-static Summary: Static version of the MinGW Windows XML processing library Requires: mingw32-libxml2 = %{version}-%{release} @@ -54,8 +60,24 @@ Group: Development/Libraries %description -n mingw32-libxml2-static Static version of the MinGW Windows XML processing library. +# Win64 +%package -n mingw64-libxml2 +Summary: MinGW Windows libxml2 XML processing library +Requires: pkgconfig + +%description -n mingw64-libxml2 +MinGW Windows libxml2 XML processing library. + +%package -n mingw64-libxml2-static +Summary: Static version of the MinGW Windows XML processing library +Requires: mingw64-libxml2 = %{version}-%{release} +Group: Development/Libraries + +%description -n mingw64-libxml2-static +Static version of the MinGW Windows XML processing library. + -%{?mingw32_debug_package} +%?mingw_debug_package %prep @@ -69,29 +91,26 @@ Static version of the MinGW Windows XML processing library. %build # LibXML2 can't build static and shared libraries in one go, so we # build LibXML2 twice here -mkdir build_static -pushd build_static - LDFLAGS="-no-undefined" \ - %{mingw32_configure} --without-python --with-modules --enable-static --disable-shared --with-threads=win32 CFLAGS="$CFLAGS -DLIBXML_STATIC_FOR_DLL" - make %{?_smp_mflags} -popd +export LDFLAGS="-no-undefined" +export CFLAGS="$CFLAGS -DLIBXML_STATIC_FOR_DLL" +MINGW_BUILDDIR_SUFFIX=static %mingw_configure --without-python --with-modules --enable-static --disable-shared --with-threads=win32 +unset CFLAGS +MINGW_BUILDDIR_SUFFIX=shared %mingw_configure --without-python --with-modules --disable-static --enable-shared --with-threads=win32 -mkdir build_shared -pushd build_shared - LDFLAGS="-no-undefined" \ - %{mingw32_configure} --without-python --with-modules --disable-static --enable-shared --with-threads=win32 - make %{?_smp_mflags} -popd +MINGW_BUILDDIR_SUFFIX=static %mingw_make %{?_smp_mflags} +MINGW_BUILDDIR_SUFFIX=shared %mingw_make %{?_smp_mflags} %install # First install all the files belonging to the shared build -make -C build_shared DESTDIR=$RPM_BUILD_ROOT install +MINGW_BUILDDIR_SUFFIX=shared %mingw_make_install DESTDIR=$RPM_BUILD_ROOT # Install all the files from the static build in a seperate folder # and move the static libraries to the right location -make -C build_static DESTDIR=$RPM_BUILD_ROOT/build_static install +MINGW_BUILDDIR_SUFFIX=static %mingw_make_install DESTDIR=$RPM_BUILD_ROOT/build_static + mv $RPM_BUILD_ROOT/build_static%{mingw32_libdir}/*.a $RPM_BUILD_ROOT%{mingw32_libdir} +mv $RPM_BUILD_ROOT/build_static%{mingw64_libdir}/*.a $RPM_BUILD_ROOT%{mingw64_libdir} # Drop the folder which was temporary used for installing the static bits rm -rf $RPM_BUILD_ROOT/build_static @@ -101,10 +120,15 @@ rm -rf $RPM_BUILD_ROOT%{mingw32_mandir} rm -rf $RPM_BUILD_ROOT%{mingw32_docdir} rm -rf $RPM_BUILD_ROOT%{mingw32_datadir}/gtk-doc/ +rm -rf $RPM_BUILD_ROOT%{mingw64_mandir} +rm -rf $RPM_BUILD_ROOT%{mingw64_docdir} +rm -rf $RPM_BUILD_ROOT%{mingw64_datadir}/gtk-doc/ + # Drop all .la files find $RPM_BUILD_ROOT -name "*.la" -delete +# Win32 %files -n mingw32-libxml2 %{mingw32_bindir}/libxml2-2.dll %{mingw32_bindir}/xml2-config @@ -116,12 +140,29 @@ find $RPM_BUILD_ROOT -name "*.la" -delete %{mingw32_includedir}/libxml2 %{mingw32_datadir}/aclocal/* - %files -n mingw32-libxml2-static %{mingw32_libdir}/libxml2.a +# Win64 +%files -n mingw64-libxml2 +%{mingw64_bindir}/libxml2-2.dll +%{mingw64_bindir}/xml2-config +%{mingw64_bindir}/xmlcatalog.exe +%{mingw64_bindir}/xmllint.exe +%{mingw64_libdir}/libxml2.dll.a +%{mingw64_libdir}/pkgconfig/libxml-2.0.pc +%{mingw64_libdir}/xml2Conf.sh +%{mingw64_includedir}/libxml2 +%{mingw64_datadir}/aclocal/* + +%files -n mingw64-libxml2-static +%{mingw64_libdir}/libxml2.a + %changelog +* Sat Mar 10 2012 Erik van Pienbroek - 2.7.8-7 +- Added win64 support + * Fri Mar 09 2012 Erik van Pienbroek - 2.7.8-6 - Dropped .la files