92 lines
2.4 KiB
INI

#
# Sqlite 3.x.x.x Version 1.
#
# This configuration file configure's, make's and install's Sqlite
#
%if %{release} == %{nil}
%define release 1
%endif
Name: sqlite-%{sqlite_version}-%{_host}-%{release}
Summary: SQLite is an in-process library that implements a
self-contained, serverless, zero-configuration,
transactional SQL database engine.
Version: %{sqlite_version}
Release: %{release}
URL: https://www.sqlite.org/
#
# Sqlite Source
#
%source set sqlite \
https://www.sqlite.org/%{sqlite_src_year}/sqlite-autoconf-%{sqlite_src_version}.tar.gz
#
# Prepare the source code.
#
%prep
build_top=$(pwd)
source_dir_sqlite="sqlite-autoconf-%{sqlite_src_version}"
%source setup sqlite -q -n sqlite-autoconf-%{sqlite_src_version}
%patch setup sqlite -p1
cd ${build_top}
%build
build_top=$(pwd)
%{build_directory}
mkdir -p ${build_dir}
cd ${build_dir}
%{host_build_flags}
# RTEMS-specific SQLite configuration options.
# See also
# - https://sqlite.org/wal.html#noshm
# - https://sqlite.org/malloc.html
#
# Many other compile-time options may be passed in via CFLAGS.
# See also https://sqlite.org/compile.html
#
# RTEMS filesystems do not support POSIX advisory file locks. Applications
# must choose an appropriate SQLite VFS which avoids them, such as unix-none
# (no locking at all: Application logic must avoid collisions) or
# unix-dotfile. This step must be performed at application startup time.
# See also https://sqlite.org/c3ref/vfs_find.html
#
CFLAGS="${CFLAGS} -DSQLITE_MAX_MMAP_SIZE=0 -DSQLITE_DEFAULT_LOCKING_MODE=1 -DSQLITE_ENABLE_MEMSYS5"
../${source_dir_sqlite}/configure \
--host=%{_host} \
--prefix=%{_prefix} \
--bindir=%{_bindir} \
--exec_prefix=%{_exec_prefix} \
--includedir=%{_includedir} \
--libdir=%{_libdir} \
--libexecdir=%{_libexecdir} \
--mandir=%{_mandir} \
--infodir=%{_infodir} \
--datadir=%{_datadir} \
--disable-largefile \
--disable-readline
%{__make} %{?_smp_mflags} sqlite3.h libsqlite3.la
cd ${build_top}
%install
build_top=$(pwd)
%{__rmdir} $SB_BUILD_ROOT
cd ${build_dir}
# Warning: The unusual install targets avoid attempting to compile and link
# the SQLite3 command-line shell. The SQLite3 shell is not supported by
# RTEMS.
%{__make} DESTDIR=$SB_BUILD_ROOT install-data install-libLTLIBRARIES
cd ${build_top}