[mingw-sqlite] Added win64 support

epienbro epienbro at fedoraproject.org
Sat Mar 10 20:05:38 UTC 2012


commit 70cf12832eacfde3b3c0439f4cdb5024ea2543f1
Author: Erik van Pienbroek <epienbro at fedoraproject.org>
Date:   Sat Mar 10 21:05:35 2012 +0100

    Added win64 support

 mingw-sqlite.spec |  107 ++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 89 insertions(+), 18 deletions(-)
---
diff --git a/mingw-sqlite.spec b/mingw-sqlite.spec
index 7e95ba8..b1f38b3 100644
--- a/mingw-sqlite.spec
+++ b/mingw-sqlite.spec
@@ -1,6 +1,4 @@
-%global __strip %{mingw32_strip}
-%global __objdump %{mingw32_objdump}
-%define __debug_install_post %{mingw32_debug_install_post}
+%?mingw_package_header
 
 %global name1 sqlite
 
@@ -11,9 +9,12 @@
 %bcond_with tcl
 %global tclversion 8.5
 
+%global mingw_build_win32 1
+%global mingw_build_win64 1
+
 Name:           mingw-%{name1}
 Version:        %{rpmver}
-Release:        4%{?dist}
+Release:        5%{?dist}
 Summary:        MinGW Windows port of sqlite embeddable SQL database engine
 
 License:        Public Domain
@@ -32,13 +33,20 @@ Patch2:         sqlite-3.7.7.1-stupid-openfiles-test.patch
 # Patches for MinGW port.
 Patch1000:      mingw32-sqlite-3.7.9-no-undefined.patch
 
-BuildRequires:  mingw32-filesystem
+BuildRequires:  mingw32-filesystem >= 95
 BuildRequires:  mingw32-gcc
 BuildRequires:  mingw32-binutils
-
 BuildRequires:  mingw32-pdcurses
 BuildRequires:  mingw32-readline
-BuildRequires:  mingw32-termcap >= 1.3.1-3
+BuildRequires:  mingw32-termcap
+
+BuildRequires:  mingw64-filesystem >= 95
+BuildRequires:  mingw64-gcc
+BuildRequires:  mingw64-binutils
+#BuildRequires:  mingw64-pdcurses
+BuildRequires:  mingw64-readline
+BuildRequires:  mingw64-termcap
+
 
 BuildRequires:  autoconf
 BuildRequires:  libtool
@@ -63,6 +71,7 @@ This package contains cross-compiled libraries and development tools
 for Windows.
 
 
+# Win32
 %package -n mingw32-%{name1}
 Summary:        MinGW Windows port of sqlite embeddable SQL database engine
 Requires:       pkgconfig
@@ -79,7 +88,6 @@ are named to permit each to be installed on a single host
 This package contains cross-compiled libraries and development tools
 for Windows.
 
-
 %package -n mingw32-%{name1}-static
 Summary:        Static version of MinGW Windows port of sqlite library
 Requires:       mingw32-%{name1} = %{version}-%{release}
@@ -96,8 +104,41 @@ are named to permit each to be installed on a single host
 
 This package contains static cross-compiled library
 
+# Win64
+%package -n mingw64-%{name1}
+Summary:        MinGW Windows port of sqlite embeddable SQL database engine
+Requires:       pkgconfig
 
-%{?mingw32_debug_package}
+%description -n mingw64-%{name1}
+SQLite is a C library that implements an SQL database engine. A large
+subset of SQL92 is supported. A complete database is stored in a
+single disk file. The API is designed for convenience and ease of use.
+Applications that link against SQLite can enjoy the power and
+flexibility of an SQL database without the administrative hassles of
+supporting a separate database server.  Version 2 and version 3 binaries
+are named to permit each to be installed on a single host
+
+This package contains cross-compiled libraries and development tools
+for Windows.
+
+%package -n mingw64-%{name1}-static
+Summary:        Static version of MinGW Windows port of sqlite library
+Requires:       mingw64-%{name1} = %{version}-%{release}
+Group:          Development/Libraries
+
+%description -n mingw64-%{name1}-static
+SQLite is a C library that implements an SQL database engine. A large
+subset of SQL92 is supported. A complete database is stored in a
+single disk file. The API is designed for convenience and ease of use.
+Applications that link against SQLite can enjoy the power and
+flexibility of an SQL database without the administrative hassles of
+supporting a separate database server.  Version 2 and version 3 binaries
+are named to permit each to be installed on a single host
+
+This package contains static cross-compiled library
+
+
+%?mingw_debug_package
 
 
 %prep
@@ -123,35 +164,44 @@ libtoolize --force
 export config_TARGET_EXEEXT=.exe
 # add compile flags to enable rtree, fts3
 export MINGW32_CFLAGS="%{mingw32_cflags} -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_DISABLE_DIRSYNC=1 -DSQLITE_ENABLE_FTS3=3 -DSQLITE_ENABLE_RTREE=1 -fno-strict-aliasing"
+export MINGW64_CFLAGS="%{mingw64_cflags} -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_DISABLE_DIRSYNC=1 -DSQLITE_ENABLE_FTS3=3 -DSQLITE_ENABLE_RTREE=1 -fno-strict-aliasing"
 
-%{mingw32_configure} %{!?with_tcl:--disable-tcl} \
-           --enable-threadsafe \
-           --enable-threads-override-locks \
-           --enable-load-extension
+%mingw_configure %{!?with_tcl:--disable-tcl} --enable-threadsafe --enable-threads-override-locks --enable-load-extension
 
 # -lc hack
-sed -e s,build_libtool_need_lc=yes,build_libtool_need_lc=no, < libtool > libtool.x
-mv libtool.x libtool
-chmod a+x libtool
+for i in build_win32 build_win64 ; do
+    pushd $i
+    sed -e s,build_libtool_need_lc=yes,build_libtool_need_lc=no, < libtool > libtool.x
+    mv libtool.x libtool
+    chmod a+x libtool
+    popd
+done
 
-make
+%mingw_make %{?_smp_mflags}
 
 
 %install
-make DESTDIR=$RPM_BUILD_ROOT install
+%mingw_make_install DESTDIR=$RPM_BUILD_ROOT
 
 chmod 0644 $RPM_BUILD_ROOT%{mingw32_libdir}/libsqlite3.dll.a
+chmod 0644 $RPM_BUILD_ROOT%{mingw64_libdir}/libsqlite3.dll.a
 
 mv $RPM_BUILD_ROOT%{mingw32_libdir}/libsqlite3-0.dll $RPM_BUILD_ROOT%{mingw32_bindir}/
+mv $RPM_BUILD_ROOT%{mingw64_libdir}/libsqlite3-0.dll $RPM_BUILD_ROOT%{mingw64_bindir}/
 
 %if %{with tcl}
 install -d -m755 $RPM_BUILD_ROOT%{mingw32_datadir}/tcl%{tclversion}/sqlite3/
 mv $RPM_BUILD_ROOT%{_datadir}/tcl%{tclversion}/sqlite3/pkgIndex.tcl $RPM_BUILD_ROOT%{mingw32_datadir}/tcl%{tclversion}/sqlite3/
+
+install -d -m755 $RPM_BUILD_ROOT%{mingw64_datadir}/tcl%{tclversion}/sqlite3/
+mv $RPM_BUILD_ROOT%{_datadir}/tcl%{tclversion}/sqlite3/pkgIndex.tcl $RPM_BUILD_ROOT%{mingw64_datadir}/tcl%{tclversion}/sqlite3/
 %endif
 
 # Drop all .la files
 find $RPM_BUILD_ROOT -name "*.la" -delete
 
+
+# Win32
 %files -n mingw32-%{name1}
 %doc README VERSION
 %{mingw32_bindir}/sqlite3.exe
@@ -168,7 +218,28 @@ find $RPM_BUILD_ROOT -name "*.la" -delete
 %files -n mingw32-%{name1}-static
 %{mingw32_libdir}/libsqlite3.a
 
+# Win64
+%files -n mingw64-%{name1}
+%doc README VERSION
+%{mingw64_bindir}/sqlite3.exe
+%{mingw64_bindir}/libsqlite3-0.dll
+%{mingw64_libdir}/libsqlite3.dll.a
+%{mingw64_includedir}/sqlite3.h
+%{mingw64_includedir}/sqlite3ext.h
+%{mingw64_libdir}/pkgconfig/sqlite3.pc
+%if %{with tcl}
+%{mingw64_datadir}/tcl%{tclversion}/sqlite3/
+%{mingw64_datadir}/tcl%{tclversion}/sqlite3/pkgIndex.tcl
+%endif
+
+%files -n mingw64-%{name1}-static
+%{mingw64_libdir}/libsqlite3.a
+
+
 %changelog
+* Sat Mar 10 2012 Erik van Pienbroek <epienbro at fedoraproject.org> - 3.7.9-5
+- Added win64 support
+
 * Fri Mar 09 2012 Erik van Pienbroek <epienbro at fedoraproject.org> - 3.7.9-4
 - Dropped .la files
 


More information about the mingw mailing list