Annotation of embedaddon/sqlite3/publish.sh, revision 1.1

1.1     ! misho       1: #!/bin/sh
        !             2: #
        !             3: # This script is used to compile SQLite and package everything up
        !             4: # so that it is ready to move to the SQLite website.
        !             5: #
        !             6: 
        !             7: # Set srcdir to the name of the directory that contains the publish.sh
        !             8: # script.
        !             9: #
        !            10: srcdir=`echo "$0" | sed 's%\(^.*\)/[^/][^/]*$%\1%'`
        !            11: 
        !            12: # Get the makefile.
        !            13: #
        !            14: cp $srcdir/Makefile.linux-gcc ./Makefile
        !            15: chmod +x $srcdir/install-sh
        !            16: 
        !            17: # Get the current version number - needed to help build filenames
        !            18: #
        !            19: VERS=`cat $srcdir/VERSION`
        !            20: VERSW=`sed 's/\./_/g' $srcdir/VERSION`
        !            21: echo "VERSIONS: $VERS $VERSW"
        !            22: 
        !            23: # Start by building an sqlite shell for linux.
        !            24: #
        !            25: make clean
        !            26: make sqlite3.c
        !            27: CFLAGS="-Os -DSQLITE_ENABLE_FTS3=0 -DSQLITE_ENABLE_RTREE=0"
        !            28: CFLAGS="$CFLAGS -DSQLITE_THREADSAFE=0"
        !            29: echo '***** '"COMPILING sqlite3-$VERS.bin..."
        !            30: gcc $CFLAGS -Itsrc sqlite3.c tsrc/shell.c -o sqlite3 -ldl
        !            31: strip sqlite3
        !            32: mv sqlite3 sqlite3-$VERS.bin
        !            33: gzip sqlite3-$VERS.bin
        !            34: chmod 644 sqlite3-$VERS.bin.gz
        !            35: mv sqlite3-$VERS.bin.gz doc
        !            36: 
        !            37: # Build the sqlite.so and tclsqlite.so shared libraries
        !            38: # under Linux
        !            39: #
        !            40: TCLDIR=/home/drh/tcltk/846/linux/846linux
        !            41: TCLSTUBLIB=$TCLDIR/libtclstub8.4g.a
        !            42: CFLAGS="-Os -DSQLITE_ENABLE_FTS3=3 -DSQLITE_ENABLE_RTREE=1"
        !            43: CFLAGS="$CFLAGS -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1"
        !            44: CFLAGS="$CFLAGS -DSQLITE_ENABLE_COLUMN_METADATA=1"
        !            45: echo '***** BUILDING shared libraries for linux'
        !            46: gcc $CFLAGS -shared tclsqlite3.c $TCLSTUBLIB -o tclsqlite3.so -lpthread
        !            47: strip tclsqlite3.so
        !            48: chmod 644 tclsqlite3.so
        !            49: mv tclsqlite3.so tclsqlite-$VERS.so
        !            50: gzip tclsqlite-$VERS.so
        !            51: mv tclsqlite-$VERS.so.gz doc
        !            52: gcc $CFLAGS -shared sqlite3.c -o sqlite3.so -lpthread
        !            53: strip sqlite3.so
        !            54: chmod 644 sqlite3.so
        !            55: mv sqlite3.so sqlite-$VERS.so
        !            56: gzip sqlite-$VERS.so
        !            57: mv sqlite-$VERS.so.gz doc
        !            58: 
        !            59: 
        !            60: # Build the tclsqlite3.dll and sqlite3.dll shared libraries.
        !            61: #
        !            62: . $srcdir/mkdll.sh
        !            63: echo '***** PACKAGING shared libraries for windows'
        !            64: echo zip doc/tclsqlite-$VERSW.zip tclsqlite3.dll
        !            65: zip doc/tclsqlite-$VERSW.zip tclsqlite3.dll
        !            66: echo zip doc/sqlitedll-$VERSW.zip sqlite3.dll sqlite3.def
        !            67: zip doc/sqlitedll-$VERSW.zip sqlite3.dll sqlite3.def
        !            68: 
        !            69: # Build the sqlite.exe executable for windows.
        !            70: #
        !            71: OPTS='-DSTATIC_BUILD=1 -DNDEBUG=1 -DSQLITE_THREADSAFE=0'
        !            72: OPTS="$OPTS -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_RTREE=1"
        !            73: i386-mingw32msvc-gcc -Os $OPTS -Itsrc -I$TCLDIR sqlite3.c tsrc/shell.c \
        !            74:       -o sqlite3.exe
        !            75: zip doc/sqlite-$VERSW.zip sqlite3.exe
        !            76: 
        !            77: # Build a source archive useful for windows.
        !            78: #
        !            79: make target_source
        !            80: cd tsrc
        !            81: echo '***** BUILDING preprocessed source archives'
        !            82: rm fts[12]* icu*
        !            83: rm -f ../doc/sqlite-source-$VERSW.zip
        !            84: zip ../doc/sqlite-source-$VERSW.zip *
        !            85: cd ..
        !            86: cp tsrc/sqlite3.h tsrc/sqlite3ext.h .
        !            87: cp tsrc/shell.c .
        !            88: pwd
        !            89: zip doc/sqlite-amalgamation-$VERSW.zip sqlite3.c sqlite3.h sqlite3ext.h shell.c sqlite3.def
        !            90: 
        !            91: # Construct a tarball of the source tree
        !            92: #
        !            93: echo '***** BUILDING source archive'
        !            94: ORIGIN=`pwd`
        !            95: cd $srcdir
        !            96: chmod +x configure
        !            97: cd ..
        !            98: mv sqlite sqlite-$VERS
        !            99: EXCLUDE=`find sqlite-$VERS -print | egrep '(www/|art/|doc/|contrib/|_FOSSIL_)' | sed 's,^, --exclude ,'`
        !           100: echo "tar czf $ORIGIN/doc/sqlite-$VERS.tar.gz $EXCLUDE sqlite-$VERS"
        !           101: tar czf $ORIGIN/doc/sqlite-$VERS.tar.gz $EXCLUDE sqlite-$VERS
        !           102: mv sqlite-$VERS sqlite
        !           103: cd $ORIGIN
        !           104: 
        !           105: #
        !           106: # Build RPMS (binary) and Source RPM
        !           107: #
        !           108: 
        !           109: # Make sure we are properly setup to build RPMs
        !           110: #
        !           111: echo "%HOME %{expand:%%(cd; pwd)}" > $HOME/.rpmmacros
        !           112: echo "%_topdir %{HOME}/rpm" >> $HOME/.rpmmacros
        !           113: mkdir $HOME/rpm
        !           114: mkdir $HOME/rpm/BUILD
        !           115: mkdir $HOME/rpm/SOURCES
        !           116: mkdir $HOME/rpm/RPMS
        !           117: mkdir $HOME/rpm/SRPMS
        !           118: mkdir $HOME/rpm/SPECS
        !           119: 
        !           120: # create the spec file from the template
        !           121: sed s/SQLITE_VERSION/$VERS/g $srcdir/spec.template > $HOME/rpm/SPECS/sqlite.spec
        !           122: 
        !           123: # copy the source tarball to the rpm directory
        !           124: cp doc/sqlite-$VERS.tar.gz $HOME/rpm/SOURCES/.
        !           125: 
        !           126: # build all the rpms
        !           127: rpm -ba $HOME/rpm/SPECS/sqlite.spec >& rpm-$vers.log
        !           128: 
        !           129: # copy the RPMs into the build directory.
        !           130: mv $HOME/rpm/RPMS/i386/sqlite*-$vers*.rpm doc
        !           131: mv $HOME/rpm/SRPMS/sqlite-$vers*.rpm doc
        !           132: 
        !           133: # Build the website
        !           134: #
        !           135: #cp $srcdir/../historical/* doc
        !           136: #make doc
        !           137: #cd doc
        !           138: #chmod 644 *.gz

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>