On Fri, 06 Aug 2004 12:24:46 -0500, Corwin Burgess wrote:

> Has any Linux user compile the sqlite
> library with threadsafe defined?

 I used the following shell script with 2.8.13. The important step is
 the 'sed' call to modify the Makefile before actually running 'make'.

---------------------------------------------------------------------
#!/bin/sh

cd sqlite || exit 1
if [ -s Makefile.in ] ; then
        # clean up to get a fresh compile
        [ -s Makefile ] && make clean

        # we want the apps using sqlite to link it statically to avoid
        # messing around with additional *.so libraries at runtime:
        ./configure \
                --mandir=/usr/share/man \
                --enable-shared=NO --disable-shared \
                --enable-static=YES \
                --enable-threads=POSIX \
                --enable-tempdb-in-ram | \
        tee config.$(date +'%Y%m%d-%h%M%s')

        # unfortunately with Linux we've to use 'sed' to compile 'sqlite'
        # threadsafe and w/o DEBUGging overhead, and the binary 'stripped':
        sed -e 's#^TCC = \([A-Za-z]*\) #TCC = \1 -DTHREADSAFE=1 -DNDEBUG=1 #g' \
                -e 's#^LIBREADLINE = \([A-Za-z]*\)#LIBREADLINE = \1 -s #g' \
                Makefile > Makefile.tmp
        [ -s Makefile.tmp ] && mv -f Makefile.tmp Makefile

        # intentionally missing 'e': the 'mak' sh-script simply pipes the ..
        mak     # .. output of 'make' through 'tee' to produce a logfile

        # finally create and tidy up HTML documentation
        make doc
        for f in doc/*html; do tidy -cmiq $f ; done
        (cd doc ; ln -sf ../www/a*gif .)        # another missing' in the Makefile
fi
#_EoF_
---------------------------------------------------------------------


 Hih!

-- 
        Matthias

Reply via email to