mariadb/bdb/dist/s_win32_dsp
kent@mysql.com c6002966be mysql-test-run.pl:
Removed -c from /bin/sh call
make_win_src_distribution.sh:
  Copy all content in mysql-test
make_win_binary_distribution.sh, make_binary_distribution.sh:
  Add Perl version of mysql-test-run to package
s_win32_dsp, s_win32, s_vxworks, s_test, s_readme, s_java, s_javah:
  Bug #6209 changes for building Berkeley DB from BitKeeper on Solaris
2005-03-09 01:34:22 +01:00

109 lines
3.4 KiB
Bash

#!/bin/sh -
# $Id: s_win32_dsp,v 1.8 2002/03/26 23:37:55 bostic Exp $
#
# Build Windows/32 .dsp files.
. ./RELEASE
BUILDDIR=../build_win32
SRCFILES=srcfiles.in
create_dsp()
{
projname="$1" # name of the .dsp file
match="$2" # the string used to egrep the $sources file
sources="$3" # a modified version of $SRCFILES to facilitate matches
dsptemplate="$4" # overall template file for the .dsp
srctemplate="$5" # template file for the src file fragments
dspoutput=$BUILDDIR/$projname.dsp
rm -f $dspoutput.insert
for srcpath in `egrep "$match" $sources | sed -e 's/[ ].*//'`
do
# take the path name and break it up, converting / to \\.
# so many backslashes needed because of shell quoting and
# sed quoting -- we'll end up with two backslashes for every
# forward slash, but we need that when feeding that to the
# later sed command.
set - `echo $srcpath | sed -e 's;\(.*\)/;../\\1 ;' \
-e 's;../build_win32;.;' \
-e 's;/;\\\\\\\\;g'`
srcdir="$1"
srcfile="$2"
sed -e "s/@srcdir@/$srcdir/g" \
-e "s/@srcfile@/$srcfile/g" \
< $srctemplate >> $dspoutput.insert
done
# We need exactly one space after the 'r' modifier
# See 5.9 in http://www.student.northpark.edu/pemente/sed/sedfaq.txt
sed -e "/@SOURCE_FILES@/r $dspoutput.insert" \
-e "/@SOURCE_FILES@/d" \
-e "s/@project_name@/$projname/g" \
-e "s/@DB_VERSION_MAJOR@/$DB_VERSION_MAJOR/g" \
-e "s/@DB_VERSION_MINOR@/$DB_VERSION_MINOR/g" \
< $dsptemplate > $dspoutput.new
# Set the file mode to 644 because the VC++ IDE needs a writeable file
# in our development environment.
cmp $dspoutput.new $dspoutput > /dev/null 2>&1 ||
(echo "Building $dspoutput" && rm -f $dspoutput &&
cp $dspoutput.new $dspoutput && chmod 664 $dspoutput)
rm -f $dspoutput.insert $dspoutput.new
}
TMPA=/tmp/swin32dsp$$a
trap "rm -f $TMPA; exit 1" 1 2 3 15
# create a copy of the srcfiles with comments and empty lines removed.
# add a space at the end of each list of modules so that each module
# can be unambiguously matched e.g. ' dynamic '
sed -e "s/#.*$//" \
-e "/^[ ]*$/d" \
-e "s/[ ][ ]*/ /" \
-e "s/[ ]*$//" \
-e "/[ ]/!d" \
-e "s/$/ /" < $SRCFILES > $TMPA
# get a list of all modules mentioned
#
MODULES="`sed -e 's/^[^ ]* //' < $TMPA \
| tr ' ' '\012' | sort | uniq`"
for module in $MODULES
do
case "$module" in
dynamic )
create_dsp db_dll " $module " $TMPA \
$BUILDDIR/dynamic_dsp.src $BUILDDIR/srcfile_dsp.src
;;
java )
create_dsp db_java " $module " $TMPA \
$BUILDDIR/java_dsp.src $BUILDDIR/srcfile_dsp.src
;;
tcl )
create_dsp db_tcl " $module " $TMPA \
$BUILDDIR/tcl_dsp.src $BUILDDIR/srcfile_dsp.src
;;
testutil )
create_dsp db_test " $module " $TMPA \
$BUILDDIR/db_test.src $BUILDDIR/srcfile_dsp.src
;;
static )
create_dsp db_static " $module " $TMPA \
$BUILDDIR/static_dsp.src $BUILDDIR/srcfile_dsp.src
;;
app=* )
appname=`echo $module | sed -e 's/^app=//'`
create_dsp $appname " $module " $TMPA \
$BUILDDIR/app_dsp.src $BUILDDIR/srcfile_dsp.src
;;
vx )
;;
* )
echo "s_win32_dsp: module name $module in $SRCFILES is unknown type"
;;
esac
done
rm -f $TMPA