1#!/bin/sh 2# This script is used to build the amalgamation autoconf package. 3# It assumes the following: 4# 5# 1. The files "sqlite3.c", "sqlite3.h", "sqlite3ext.h", "shell.c", 6# and "sqlite3rc.h" are available in the current directory. 7# 8# 2. Variable $TOP is set to the full path of the root directory 9# of the SQLite source tree. 10# 11# 3. There is nothing of value in the ./mkpkg_tmp_dir directory. 12# This is important, as the script executes "rm -rf ./mkpkg_tmp_dir". 13# 14 15 16# Bail out of the script if any command returns a non-zero exit 17# status. Or if the script tries to use an unset variable. These 18# may fail for old /bin/sh interpreters. 19# 20set -e 21set -u 22 23TMPSPACE=./mkpkg_tmp_dir 24VERSION=`cat $TOP/VERSION` 25HASH=`sed 's/^\(..........\).*/\1/' $TOP/manifest.uuid` 26DATETIME=`grep '^D' $TOP/manifest | sed -e 's/[^0-9]//g' -e 's/\(............\).*/\1/'` 27 28# If this script is given an argument of --snapshot, then generate a 29# snapshot tarball named for the current checkout SHA1 hash, rather than 30# the version number. 31# 32if test "$#" -ge 1 -a x$1 != x--snapshot 33then 34 # Set global variable $ARTIFACT to the "3xxyyzz" string incorporated 35 # into artifact filenames. And $VERSION2 to the "3.x.y[.z]" form. 36 xx=`echo $VERSION|sed 's/3\.\([0-9]*\)\..*/\1/'` 37 yy=`echo $VERSION|sed 's/3\.[^.]*\.\([0-9]*\).*/\1/'` 38 zz=0 39 set +e 40 zz=`echo $VERSION|sed 's/3\.[^.]*\.[^.]*\.\([0-9]*\).*/\1/'|grep -v '\.'` 41 set -e 42 TARBALLNAME=`printf "sqlite-autoconf-3%.2d%.2d%.2d" $xx $yy $zz` 43else 44 TARBALLNAME=sqlite-snapshot-$DATETIME 45fi 46 47rm -rf $TMPSPACE 48cp -R $TOP/autoconf $TMPSPACE 49cp sqlite3.c $TMPSPACE 50cp sqlite3.h $TMPSPACE 51cp sqlite3ext.h $TMPSPACE 52cp sqlite3rc.h $TMPSPACE 53cp $TOP/sqlite3.1 $TMPSPACE 54cp $TOP/sqlite3.pc.in $TMPSPACE 55cp shell.c $TMPSPACE 56cp $TOP/src/sqlite3.rc $TMPSPACE 57cp $TOP/tool/Replace.cs $TMPSPACE 58 59cat $TMPSPACE/configure.ac | 60sed "s/--SQLITE-VERSION--/$VERSION/" > $TMPSPACE/tmp 61mv $TMPSPACE/tmp $TMPSPACE/configure.ac 62 63cd $TMPSPACE 64autoreconf -i 65#libtoolize 66#aclocal 67#autoconf 68#automake --add-missing 69 70mkdir -p tea/generic 71echo "#ifdef USE_SYSTEM_SQLITE" > tea/generic/tclsqlite3.c 72echo "# include <sqlite3.h>" >> tea/generic/tclsqlite3.c 73echo "#else" >> tea/generic/tclsqlite3.c 74echo "#include \"sqlite3.c\"" >> tea/generic/tclsqlite3.c 75echo "#endif" >> tea/generic/tclsqlite3.c 76cat $TOP/src/tclsqlite.c >> tea/generic/tclsqlite3.c 77 78cat tea/configure.ac | 79 sed "s/AC_INIT(\[sqlite\], .*)/AC_INIT([sqlite], [$VERSION])/" > tmp 80mv tmp tea/configure.ac 81 82cd tea 83autoconf 84rm -rf autom4te.cache 85 86cd ../ 87./configure && make dist 88tar -xzf sqlite-$VERSION.tar.gz 89mv sqlite-$VERSION $TARBALLNAME 90tar -czf $TARBALLNAME.tar.gz $TARBALLNAME 91mv $TARBALLNAME.tar.gz .. 92cd .. 93ls -l $TARBALLNAME.tar.gz 94