s_win32_dsp
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:3k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. #!/bin/sh -
  2. # $Id: s_win32_dsp,v 1.3 2000/12/02 04:36:47 dda Exp $
  3. #
  4. # Build Windows/32 .dsp files.
  5. . RELEASE
  6. BUILDDIR=../build_win32
  7. SRCFILES=srcfiles.in
  8. create_dsp()
  9. {
  10.     projname="$1"       # name of the .dsp file
  11.     match="$2"          # the string used to egrep the $sources file
  12.     sources="$3"        # a modified version of $SRCFILES to facilitate matches
  13.     dsptemplate="$4"    # overall template file for the .dsp
  14.     srctemplate="$5"    # template file for the src file fragments
  15.     dspoutput=$BUILDDIR/$projname.dsp
  16.     echo "Building $dspoutput"
  17.     rm -f $dspoutput.insert
  18.     for srcpath in `egrep "$match" $sources | sed -e 's/[  ].*//'`
  19.     do
  20.         # take the path name and break it up, converting / to \.
  21.         # so many backslashes needed because of shell quoting and
  22.         # sed quoting -- we'll end up with two backslashes for every
  23.         # forward slash, but we need that when feeding that to the
  24.         # later sed command.
  25.         set - `echo $srcpath | sed -e 's;(.*)/;../\1 ;' 
  26.             -e 's;../build_win32;.;' 
  27.             -e 's;/;\\\\;g'`
  28. srcdir="$1"
  29. srcfile="$2"
  30.         sed -e "s/@srcdir@/$srcdir/g" 
  31.             -e "s/@srcfile@/$srcfile/g" 
  32.             < $srctemplate >> $dspoutput.insert
  33.     done
  34.     sed -e "/@SOURCE_FILES@/r$dspoutput.insert" 
  35.         -e "/@SOURCE_FILES@/d" 
  36.         -e "s/@project_name@/$projname/g" 
  37.         -e "s/@DB_VERSION_MAJOR@/$DB_VERSION_MAJOR/g" 
  38.         -e "s/@DB_VERSION_MINOR@/$DB_VERSION_MINOR/g" 
  39.       < $dsptemplate > $dspoutput.new
  40.     rm -f $dspoutput $dspoutput.insert
  41.     mv $dspoutput.new $dspoutput
  42. }
  43. TMPA=/tmp/swin32dsp$$a
  44. trap "rm -f $TMPA; exit 1" 1 2 3 15 
  45. # create a copy of the srcfiles with comments and 'skip' lines removed.
  46. # add a space at the end of each list of modules so that each module
  47. # can be unambiguously matched e.g. ' dynamic '
  48. #
  49. sed -e "s/#.*$//" 
  50.     -e "/^[  ]*$/d" 
  51.     -e "s/[  ][  ]*/ /" 
  52.     -e "s/[  ]*$//" 
  53.     -e "/ skip$/d" 
  54.     -e "s/$/ /" < $SRCFILES > $TMPA
  55. # get a list of all modules mentioned
  56. #
  57. MODULES="`sed -e 's/^[^ ]* //' < $TMPA 
  58.     | tr ' ' '12' | sort | uniq`"
  59. for module in $MODULES
  60. do
  61.     case "$module" in
  62.     dynamic )
  63.         create_dsp db_dll " $module " $TMPA 
  64. $BUILDDIR/dynamic_dsp.src $BUILDDIR/srcfile_dsp.src
  65.         ;;
  66.     java )
  67.         create_dsp db_java " $module " $TMPA 
  68. $BUILDDIR/java_dsp.src $BUILDDIR/srcfile_dsp.src
  69.         ;;
  70.     tcl )
  71.         create_dsp db_tcl " $module " $TMPA 
  72. $BUILDDIR/tcl_dsp.src $BUILDDIR/srcfile_dsp.src
  73.         ;;
  74.     static )
  75.         create_dsp db_static " $module " $TMPA 
  76. $BUILDDIR/static_dsp.src $BUILDDIR/srcfile_dsp.src
  77.         ;;
  78.     app=* )
  79. appname=`echo $module | sed -e 's/^app=//'`
  80.         create_dsp $appname " $module " $TMPA 
  81. $BUILDDIR/app_dsp.src $BUILDDIR/srcfile_dsp.src
  82.         ;;
  83.     * )
  84.         echo "s_win32_dsp: module name $module in $SRCFILES is unknown type"
  85.         ;;
  86.     esac
  87. done
  88. rm -f $TMPA