Home | History | Annotate | Line # | Download | only in dspgen
      1 # $NetBSD: gen_workspace.sh,v 1.3 2008/02/26 21:46:38 rafal Exp $
      2 #
      3 # Copyright (c) 1999, 2000 Christopher G. Demetriou.  All rights reserved.
      4 #
      5 # Redistribution and use in source and binary forms, with or without
      6 # modification, are permitted provided that the following conditions
      7 # are met:
      8 # 1. Redistributions of source code must retain the above copyright
      9 #    notice, this list of conditions and the following disclaimer.
     10 # 2. Redistributions in binary form must reproduce the above copyright
     11 #    notice, this list of conditions and the following disclaimer in the
     12 #    documentation and/or other materials provided with the distribution.
     13 # 3. All advertising materials mentioning features or use of this software
     14 #    must display the following acknowledgement:
     15 #      This product includes software developed by Christopher G. Demetriou
     16 #      for the NetBSD Project.
     17 # 4. The name of the author may not be used to endorse or promote products
     18 #    derived from this software without specific prior written permission
     19 #
     20 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     21 # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     22 # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     23 # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     24 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     25 # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     26 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     27 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     28 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     29 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     30 
     31 AWK=awk
     32 if [ `uname` = SunOS ]; then
     33 	AWK=nawk
     34 fi
     35 
     36 vc_ver=$1
     37 shift
     38 WORKSPACE_FILE=$1
     39 shift
     40 SORTED_PROJECTS=`(for project in $*; do
     41 			echo $project
     42 		done) | sort`
     43 
     44 (
     45 case $vc_ver in
     46 "vc5")
     47     echo "Microsoft Developer Studio Workspace File, Format Version 5.00"
     48     suffix=dsp
     49     ;;
     50 "vc6")
     51     echo "Microsoft Developer Studio Workspace File, Format Version 6.00"
     52     suffix=dsp
     53     ;;
     54 "evc3"|"evc4")
     55     echo "Microsoft eMbedded Visual Tools Workspace File, Format Version 3.00"
     56     suffix=vcp
     57     ;;
     58 *)
     59     echo "Unsupported Visual C++ version." 1>&2
     60     exit 1
     61 esac
     62 
     63 cat << __EOF__
     64 # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
     65 
     66 ###############################################################################
     67 __EOF__
     68 
     69 for project in $SORTED_PROJECTS; do
     70 	echo ""
     71 	echo "Project: \"$project\"=.\\$project\\$project.$suffix - Package Owner=<4>"
     72 	echo ""
     73 	echo "Package=<5>"
     74 	echo "{{{"
     75 	echo "}}}"
     76 	echo ""
     77 	echo "Package=<4>"
     78 	echo "{{{"
     79 	for libdep in `( . $project/$project.config; echo $LIBDEP_LIST )`; do
     80 		echo "    Begin Project Dependency"
     81 		echo "    Project_Dep_Name $libdep"
     82 		echo "    End Project Dependency"
     83 	done
     84 	echo "}}}"
     85 	echo ""
     86 	echo "###############################################################################"
     87 done
     88 
     89 cat << __EOF__
     90 
     91 Global:
     92 
     93 Package=<5>
     94 {{{
     95 }}}
     96 
     97 Package=<3>
     98 {{{
     99 }}}
    100 
    101 ###############################################################################
    102 
    103 __EOF__
    104 ) | awk ' { printf "%s\r\n", $0 }' > ${WORKSPACE_FILE}
    105