summaryrefslogtreecommitdiff
path: root/build/make/gen_msvs_proj.sh
diff options
context:
space:
mode:
authorJohn Koleszar <jkoleszar@google.com>2010-05-18 11:58:33 -0400
committerJohn Koleszar <jkoleszar@google.com>2010-05-18 11:58:33 -0400
commit0ea50ce9cb4b65eee6afa1d041fe8beb5abda667 (patch)
tree1f3b9019f28bc56fd3156f96e5a9653a983ee61b /build/make/gen_msvs_proj.sh
downloadlibvpx-0ea50ce9cb4b65eee6afa1d041fe8beb5abda667.tar.gz
Initial WebM releasev0.9.0
Diffstat (limited to 'build/make/gen_msvs_proj.sh')
-rwxr-xr-xbuild/make/gen_msvs_proj.sh717
1 files changed, 717 insertions, 0 deletions
diff --git a/build/make/gen_msvs_proj.sh b/build/make/gen_msvs_proj.sh
new file mode 100755
index 000000000..eb482a4cb
--- /dev/null
+++ b/build/make/gen_msvs_proj.sh
@@ -0,0 +1,717 @@
+#!/bin/bash
+##
+## Copyright (c) 2010 The VP8 project authors. All Rights Reserved.
+##
+## Use of this source code is governed by a BSD-style license and patent
+## grant that can be found in the LICENSE file in the root of the source
+## tree. All contributing project authors may be found in the AUTHORS
+## file in the root of the source tree.
+##
+
+
+self=$0
+self_basename=${self##*/}
+EOL=$'\n'
+
+show_help() {
+ cat <<EOF
+Usage: ${self_basename} --name=projname [options] file1 [file2 ...]
+
+This script generates a Visual Studio project file from a list of source
+code files.
+
+Options:
+ --help Print this message
+ --exe Generate a project for building an Application
+ --lib Generate a project for creating a static library
+ --static-crt Use the static C runtime (/MT)
+ --target=isa-os-cc Target specifier (required)
+ --out=filename Write output to a file [stdout]
+ --name=project_name Name of the project (required)
+ --proj-guid=GUID GUID to use for the project
+ --module-def=filename File containing export definitions (for DLLs)
+ --ver=version Version (7,8) of visual studio to generate for
+ -Ipath/to/include Additional include directories
+ -DFLAG[=value] Preprocessor macros to define
+ -Lpath/to/lib Additional library search paths
+ -llibname Library to link against
+EOF
+ exit 1
+}
+
+die() {
+ echo "${self_basename}: $@" >&2
+ exit 1
+}
+
+die_unknown(){
+ echo "Unknown option \"$1\"." >&2
+ echo "See ${self_basename} --help for available options." >&2
+ exit 1
+}
+
+generate_uuid() {
+ local hex="0123456789ABCDEF"
+ local i
+ local uuid=""
+ local j
+ #93995380-89BD-4b04-88EB-625FBE52EBFB
+ for ((i=0; i<32; i++)); do
+ (( j = $RANDOM % 16 ))
+ uuid="${uuid}${hex:$j:1}"
+ done
+ echo "${uuid:0:8}-${uuid:8:4}-${uuid:12:4}-${uuid:16:4}-${uuid:20:12}"
+}
+
+indent1=" "
+indent=""
+indent_push() {
+ indent="${indent}${indent1}"
+}
+indent_pop() {
+ indent="${indent%${indent1}}"
+}
+
+tag_attributes() {
+ for opt in "$@"; do
+ optval="${opt#*=}"
+ [ -n "${optval}" ] ||
+ die "Missing attribute value in '$opt' while generating $tag tag"
+ echo "${indent}${opt%%=*}=\"${optval}\""
+ done
+}
+
+open_tag() {
+ local tag=$1
+ shift
+ if [ $# -ne 0 ]; then
+ echo "${indent}<${tag}"
+ indent_push
+ tag_attributes "$@"
+ echo "${indent}>"
+ else
+ echo "${indent}<${tag}>"
+ indent_push
+ fi
+}
+
+close_tag() {
+ local tag=$1
+ indent_pop
+ echo "${indent}</${tag}>"
+}
+
+tag() {
+ local tag=$1
+ shift
+ if [ $# -ne 0 ]; then
+ echo "${indent}<${tag}"
+ indent_push
+ tag_attributes "$@"
+ indent_pop
+ echo "${indent}/>"
+ else
+ echo "${indent}<${tag}/>"
+ fi
+}
+
+generate_filter() {
+ local var=$1
+ local name=$2
+ local pats=$3
+ local file_list_sz
+ local i
+ local f
+ local saveIFS="$IFS"
+ local pack
+ echo "generating filter '$name' from ${#file_list[@]} files" >&2
+ IFS=*
+
+ open_tag Filter \
+ Name=$name \
+ Filter=$pats \
+ UniqueIdentifier=`generate_uuid`
+
+ file_list_sz=${#file_list[@]}
+ for i in ${!file_list[@]}; do
+ f=${file_list[i]}
+ for pat in ${pats//;/$IFS}; do
+ if [ "${f##*.}" == "$pat" ]; then
+ unset file_list[i]
+
+ open_tag File RelativePath="./$f"
+ if [ "$pat" == "asm" ] && $asm_use_custom_step; then
+ for plat in "${platforms[@]}"; do
+ for cfg in Debug Release; do
+ open_tag FileConfiguration \
+ Name="${cfg}|${plat}"
+ tag Tool \
+ Name="VCCustomBuildTool" \
+ Description="Assembling \$(InputFileName)" \
+ CommandLine="$(eval echo \$asm_${cfg}_cmdline)"\
+ Outputs="\$(InputName).obj"
+ close_tag FileConfiguration
+ done
+ done
+ fi
+
+ if [ "${f##*.}" == "cpp" ]; then
+ for plat in "${platforms[@]}"; do
+ for cfg in Debug Release; do
+ open_tag FileConfiguration \
+ Name="${cfg}|${plat}"
+ tag Tool \
+ Name="VCCLCompilerTool" \
+ CompileAs="2"
+ close_tag FileConfiguration
+ done
+ done
+ fi
+ close_tag File
+
+ break
+ fi
+ done
+ done
+
+ close_tag Filter
+ IFS="$saveIFS"
+}
+
+# Process command line
+unset target
+for opt in "$@"; do
+ optval="${opt#*=}"
+ case "$opt" in
+ --help|-h) show_help
+ ;;
+ --target=*) target="${optval}"
+ ;;
+ --out=*) outfile="$optval"
+ ;;
+ --name=*) name="${optval}"
+ ;;
+ --proj-guid=*) guid="${optval}"
+ ;;
+ --module-def=*)
+ link_opts="${link_opts} ModuleDefinitionFile=${optval}"
+ ;;
+ --exe) proj_kind="exe"
+ ;;
+ --lib) proj_kind="lib"
+ ;;
+ --static-crt) use_static_runtime=true
+ ;;
+ --ver=*) vs_ver="$optval"
+ case $optval in
+ [78])
+ ;;
+ *) die Unrecognized Visual Studio Version in $opt
+ ;;
+ esac
+ ;;
+ -I*) opt="${opt%/}"
+ incs="${incs}${incs:+;}&quot;${opt##-I}&quot;"
+ yasmincs="${yasmincs} ${opt}"
+ ;;
+ -D*) defines="${defines}${defines:+;}${opt##-D}"
+ ;;
+ -L*) # fudge . to $(OutDir)
+ if [ "${opt##-L}" == "." ]; then
+ libdirs="${libdirs}${libdirs:+;}&quot;\$(OutDir)&quot;"
+ else
+ # Also try directories for this platform/configuration
+ libdirs="${libdirs}${libdirs:+;}&quot;${opt##-L}&quot;"
+ libdirs="${libdirs}${libdirs:+;}&quot;${opt##-L}/\$(PlatformName)/\$(ConfigurationName)&quot;"
+ libdirs="${libdirs}${libdirs:+;}&quot;${opt##-L}/\$(PlatformName)&quot;"
+ fi
+ ;;
+ -l*) libs="${libs}${libs:+ }${opt##-l}.lib"
+ ;;
+ -*) die_unknown $opt
+ ;;
+ *) file_list[${#file_list[@]}]="$opt"
+ case "$opt" in
+ *.asm) uses_asm=true;;
+ esac
+ esac
+done
+outfile=${outfile:-/dev/stdout}
+guid=${guid:-`generate_uuid`}
+asm_use_custom_step=false
+uses_asm=${uses_asm:-false}
+case "${vs_ver:-8}" in
+ 7) vs_ver_id="7.10"
+ asm_use_custom_step=$uses_asm
+ ;;
+ 8) vs_ver_id="8.00"
+ ;;
+esac
+
+[ -n "$name" ] || die "Project name (--name) must be specified!"
+[ -n "$target" ] || die "Target (--target) must be specified!"
+
+if ${use_static_runtime:-false}; then
+ release_runtime=0
+ debug_runtime=1
+ lib_sfx=mt
+else
+ release_runtime=2
+ debug_runtime=3
+ lib_sfx=md
+fi
+
+# Calculate debug lib names: If a lib ends in ${lib_sfx}.lib, then rename
+# it to ${lib_sfx}d.lib. This precludes linking to release libs from a
+# debug exe, so this may need to be refactored later.
+for lib in ${libs}; do
+ if [ "$lib" != "${lib%${lib_sfx}.lib}" ]; then
+ lib=${lib%.lib}d.lib
+ fi
+ debug_libs="${debug_libs}${debug_libs:+ }${lib}"
+done
+
+
+# List Keyword for this target
+case "$target" in
+ x86*)
+ keyword="ManagedCProj"
+ ;;
+ arm*|iwmmx*)
+ keyword="Win32Proj"
+ ;;
+ *) die "Unsupported target $target!"
+esac
+
+# List of all platforms supported for this target
+case "$target" in
+ x86_64*)
+ platforms[0]="x64"
+ ;;
+ x86*)
+ platforms[0]="Win32"
+ # these are only used by vs7
+ asm_Debug_cmdline="yasm -Xvc -g cv8 -f \$(PlatformName) ${yasmincs} \$(InputPath)"
+ asm_Release_cmdline="yasm -Xvc -f \$(PlatformName) ${yasmincs} \$(InputPath)"
+ ;;
+ arm*|iwmmx*)
+ case "${name}" in
+ obj_int_extract) platforms[0]="Win32"
+ ;;
+ *) platforms[0]="Pocket PC 2003 (ARMV4)"
+ ;;
+ esac
+ ;;
+ *) die "Unsupported target $target!"
+esac
+
+# List Command-line Arguments for this target
+case "$target" in
+ arm*|iwmmx*)
+ if [ "$name" == "example" ];then
+ ARGU="--codec vp6 --flipuv --progress _bnd.vp6"
+ fi
+ if [ "$name" == "xma" ];then
+ ARGU="--codec vp6 -h 240 -w 320 -v"
+ fi
+ ;;
+esac
+
+generate_vcproj() {
+ case "$proj_kind" in
+ exe) vs_ConfigurationType=1
+ ;;
+ *) vs_ConfigurationType=4
+ ;;
+ esac
+
+ echo "<?xml version=\"1.0\" encoding=\"Windows-1252\"?>"
+ open_tag VisualStudioProject \
+ ProjectType="Visual C++" \
+ Version="${vs_ver_id}" \
+ Name="${name}" \
+ ProjectGUID="{${guid}}" \
+ RootNamespace="${name}" \
+ Keyword="${keyword}"
+
+ open_tag Platforms
+ for plat in "${platforms[@]}"; do
+ tag Platform Name="$plat"
+ done
+ close_tag Platforms
+
+ open_tag ToolFiles
+ case "$target" in
+ x86*) $uses_asm && tag DefaultToolFile FileName="yasm.rules"
+ ;;
+ arm*|iwmmx*)
+ if [ "$name" == "vpx_decoder" ];then
+ case "$target" in
+ armv5*)
+ tag DefaultToolFile FileName="armasmv5.rules"
+ ;;
+ armv6*)
+ tag DefaultToolFile FileName="armasmv6.rules"
+ ;;
+ iwmmxt*)
+ tag DefaultToolFile FileName="armasmxscale.rules"
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ close_tag ToolFiles
+
+ open_tag Configurations
+ for plat in "${platforms[@]}"; do
+ plat_no_ws=`echo $plat | sed 's/[^A-Za-z0-9_]/_/g'`
+ open_tag Configuration \
+ Name="Debug|$plat" \
+ OutputDirectory="\$(SolutionDir)$plat_no_ws/\$(ConfigurationName)" \
+ IntermediateDirectory="$plat_no_ws/\$(ConfigurationName)/${name}" \
+ ConfigurationType="$vs_ConfigurationType" \
+ CharacterSet="1"
+
+ if [ "$target" == "armv6-wince-vs8" ] || [ "$target" == "armv5te-wince-vs8" ] || [ "$target" == "iwmmxt-wince-vs8" ] || [ "$target" == "iwmmxt2-wince-vs8" ];then
+ case "$name" in
+ vpx_decoder) tag Tool \
+ Name="VCPreBuildEventTool" \
+ CommandLine="call obj_int_extract.bat \$(ConfigurationName)"
+ tag Tool \
+ Name="VCMIDLTool" \
+ TargetEnvironment="1"
+ tag Tool \
+ Name="VCCLCompilerTool" \
+ ExecutionBucket="7" \
+ Optimization="0" \
+ AdditionalIncludeDirectories="$incs" \
+ PreprocessorDefinitions="_DEBUG;_WIN32_WCE=\$(CEVER);UNDER_CE;\$(PLATFORMDEFINES);WINCE;DEBUG;_LIB;\$(ARCHFAM);\$(_ARCHFAM_);_UNICODE;UNICODE;HAVE_CONFIG_H" \
+ MinimalRebuild="true" \
+ RuntimeLibrary="1" \
+ BufferSecurityCheck="false" \
+ UsePrecompiledHeader="0" \
+ WarningLevel="3" \
+ DebugInformationFormat="1" \
+ CompileAs="1"
+ tag Tool \
+ Name="VCResourceCompilerTool" \
+ PreprocessorDefinitions="_DEBUG;_WIN32_WCE=\$(CEVER);UNDER_CE;\$(PLATFORMDEFINES)" \
+ Culture="1033" \
+ AdditionalIncludeDirectories="\$(IntDir)" \
+ ;;
+ example|xma) tag Tool \
+ Name="VCCLCompilerTool" \
+ ExecutionBucket="7" \
+ Optimization="0" \
+ AdditionalIncludeDirectories="$incs" \
+ PreprocessorDefinitions="_DEBUG;_WIN32_WCE=\$(CEVER);UNDER_CE;\$(PLATFORMDEFINES);WINCE;DEBUG;_CONSOLE;\$(ARCHFAM);\$(_ARCHFAM_);_UNICODE;UNICODE;HAVE_CONFIG_H" \
+ MinimalRebuild="true" \
+ RuntimeLibrary="1" \
+ BufferSecurityCheck="false" \
+ UsePrecompiledHeader="0" \
+ WarningLevel="3" \
+ DebugInformationFormat="1" \
+ CompileAs="1"
+ tag Tool \
+ Name="VCResourceCompilerTool" \
+ PreprocessorDefinitions="_DEBUG;_WIN32_WCE=\$(CEVER);UNDER_CE;\$(PLATFORMDEFINES)" \
+ Culture="1033" \
+ AdditionalIncludeDirectories="\$(IntDir)" \
+ ;;
+ obj_int_extract) tag Tool \
+ Name="VCCLCompilerTool" \
+ Optimization="0" \
+ AdditionalIncludeDirectories="$incs" \
+ PreprocessorDefinitions="WIN32;DEBUG;_CONSOLE" \
+ RuntimeLibrary="1" \
+ WarningLevel="3" \
+ DebugInformationFormat="1" \
+ ;;
+ esac
+ fi
+
+ case "$target" in
+ x86*) tag Tool \
+ Name="VCCLCompilerTool" \
+ Optimization="0" \
+ AdditionalIncludeDirectories="$incs" \
+ PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;$defines" \
+ RuntimeLibrary="$debug_runtime" \
+ UsePrecompiledHeader="0" \
+ WarningLevel="3" \
+ DebugInformationFormat="1" \
+ Detect64BitPortabilityProblems="true" \
+
+ $uses_asm && tag Tool Name="YASM" IncludePaths="$incs" Debug="1"
+ ;;
+ esac
+
+ case "$proj_kind" in
+ exe)
+ case "$target" in
+ x86*) tag Tool \
+ Name="VCLinkerTool" \
+ AdditionalDependencies="$debug_libs \$(NoInherit)" \
+ AdditionalLibraryDirectories="$libdirs" \
+ GenerateDebugInformation="true" \
+ ProgramDatabaseFile="\$(OutDir)/${name}.pdb" \
+
+ ;;
+ arm*|iwmmx*)
+ case "$name" in
+ obj_int_extract) tag Tool \
+ Name="VCLinkerTool" \
+ OutputFile="${name}.exe" \
+ GenerateDebugInformation="true"
+ ;;
+ *) tag Tool \
+ Name="VCLinkerTool" \
+ AdditionalDependencies="$debug_libs" \
+ OutputFile="\$(OutDir)/${name}.exe" \
+ LinkIncremental="2" \
+ AdditionalLibraryDirectories="${libdirs};&quot;..\lib/$plat_no_ws&quot;" \
+ DelayLoadDLLs="\$(NOINHERIT)" \
+ GenerateDebugInformation="true" \
+ ProgramDatabaseFile="\$(OutDir)/${name}.pdb" \
+ SubSystem="9" \
+ StackReserveSize="65536" \
+ StackCommitSize="4096" \
+ EntryPointSymbol="mainWCRTStartup" \
+ TargetMachine="3"
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ lib)
+ case "$target" in
+ arm*|iwmmx*) tag Tool \
+ Name="VCLibrarianTool" \
+ AdditionalOptions=" /subsystem:windowsce,4.20 /machine:ARM" \
+ OutputFile="\$(OutDir)/${name}.lib" \
+ ;;
+ *) tag Tool \
+ Name="VCLibrarianTool" \
+ OutputFile="\$(OutDir)/${name}${lib_sfx}d.lib" \
+ ;;
+ esac
+ ;;
+ dll) tag Tool \
+ Name="VCLinkerTool" \
+ AdditionalDependencies="\$(NoInherit)" \
+ LinkIncremental="2" \
+ GenerateDebugInformation="true" \
+ AssemblyDebug="1" \
+ TargetMachine="1" \
+ $link_opts
+ esac
+
+ if [ "$target" == "armv6-wince-vs8" ] || [ "$target" == "armv5te-wince-vs8" ] || [ "$target" == "iwmmxt-wince-vs8" ] || [ "$target" == "iwmmxt2-wince-vs8" ];then
+ case "$name" in
+ vpx_decoder) tag DeploymentTool \
+ ForceDirty="-1" \
+ RegisterOutput="0"
+ ;;
+ example|xma) tag DeploymentTool \
+ ForceDirty="-1" \
+ RegisterOutput="0"
+ tag DebuggerTool \
+ Arguments="${ARGU}"
+ ;;
+ esac
+ fi
+ close_tag Configuration
+
+ open_tag Configuration \
+ Name="Release|$plat" \
+ OutputDirectory="\$(SolutionDir)$plat_no_ws/\$(ConfigurationName)" \
+ IntermediateDirectory="$plat_no_ws/\$(ConfigurationName)/${name}" \
+ ConfigurationType="$vs_ConfigurationType" \
+ CharacterSet="1" \
+ WholeProgramOptimization="0"
+
+ if [ "$target" == "armv6-wince-vs8" ] || [ "$target" == "armv5te-wince-vs8" ] || [ "$target" == "iwmmxt-wince-vs8" ] || [ "$target" == "iwmmxt2-wince-vs8" ];then
+ case "$name" in
+ vpx_decoder) tag Tool \
+ Name="VCPreBuildEventTool" \
+ CommandLine="call obj_int_extract.bat \$(ConfigurationName)"
+ tag Tool \
+ Name="VCMIDLTool" \
+ TargetEnvironment="1"
+ tag Tool \
+ Name="VCCLCompilerTool" \
+ ExecutionBucket="7" \
+ Optimization="2" \
+ FavorSizeOrSpeed="1" \
+ AdditionalIncludeDirectories="$incs" \
+ PreprocessorDefinitions="NDEBUG;_WIN32_WCE=\$(CEVER);UNDER_CE;\$(PLATFORMDEFINES);WINCE;_LIB;\$(ARCHFAM);\$(_ARCHFAM_);_UNICODE;UNICODE;HAVE_CONFIG_H" \
+ RuntimeLibrary="0" \
+ BufferSecurityCheck="false" \
+ UsePrecompiledHeader="0" \
+ WarningLevel="3" \
+ DebugInformationFormat="0" \
+ CompileAs="1"
+ tag Tool \
+ Name="VCResourceCompilerTool" \
+ PreprocessorDefinitions="NDEBUG;_WIN32_WCE=\$(CEVER);UNDER_CE;\$(PLATFORMDEFINES)" \
+ Culture="1033" \
+ AdditionalIncludeDirectories="\$(IntDir)" \
+ ;;
+ example|xma) tag Tool \
+ Name="VCCLCompilerTool" \
+ ExecutionBucket="7" \
+ Optimization="2" \
+ FavorSizeOrSpeed="1" \
+ AdditionalIncludeDirectories="$incs" \
+ PreprocessorDefinitions="NDEBUG;_WIN32_WCE=\$(CEVER);UNDER_CE;\$(PLATFORMDEFINES);WINCE;_CONSOLE;\$(ARCHFAM);\$(_ARCHFAM_);_UNICODE;UNICODE;HAVE_CONFIG_H" \
+ RuntimeLibrary="0" \
+ BufferSecurityCheck="false" \
+ UsePrecompiledHeader="0" \
+ WarningLevel="3" \
+ DebugInformationFormat="0" \
+ CompileAs="1"
+ tag Tool \
+ Name="VCResourceCompilerTool" \
+ PreprocessorDefinitions="NDEBUG;_WIN32_WCE=\$(CEVER);UNDER_CE;\$(PLATFORMDEFINES)" \
+ Culture="1033" \
+ AdditionalIncludeDirectories="\$(IntDir)" \
+ ;;
+ obj_int_extract) tag Tool \
+ Name="VCCLCompilerTool" \
+ AdditionalIncludeDirectories="$incs" \
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" \
+ RuntimeLibrary="0" \
+ UsePrecompiledHeader="0" \
+ WarningLevel="3" \
+ Detect64BitPortabilityProblems="true" \
+ DebugInformationFormat="0" \
+ ;;
+ esac
+ fi
+
+ case "$target" in
+ x86*) tag Tool \
+ Name="VCCLCompilerTool" \
+ AdditionalIncludeDirectories="$incs" \
+ PreprocessorDefinitions="WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;$defines" \
+ RuntimeLibrary="$release_runtime" \
+ UsePrecompiledHeader="0" \
+ WarningLevel="3" \
+ DebugInformationFormat="0" \
+ Detect64BitPortabilityProblems="true"
+
+ $uses_asm && tag Tool Name="YASM" IncludePaths="$incs"
+ ;;
+ esac
+
+ case "$proj_kind" in
+ exe)
+ case "$target" in
+ x86*) tag Tool \
+ Name="VCLinkerTool" \
+ AdditionalDependencies="$libs \$(NoInherit)" \
+ AdditionalLibraryDirectories="$libdirs" \
+ ;;
+ arm*|iwmmx*)
+ case "$name" in
+ obj_int_extract) tag Tool \
+ Name="VCLinkerTool" \
+ OutputFile="${name}.exe" \
+ LinkIncremental="1" \
+ GenerateDebugInformation="false" \
+ SubSystem="0" \
+ OptimizeReferences="0" \
+ EnableCOMDATFolding="0" \
+ TargetMachine="0"
+ ;;
+ *) tag Tool \
+ Name="VCLinkerTool" \
+ AdditionalDependencies="$libs" \
+ OutputFile="\$(OutDir)/${name}.exe" \
+ LinkIncremental="1" \
+ AdditionalLibraryDirectories="${libdirs};&quot;..\lib/$plat_no_ws&quot;" \
+ DelayLoadDLLs="\$(NOINHERIT)" \
+ GenerateDebugInformation="true" \
+ ProgramDatabaseFile="\$(OutDir)/${name}.pdb" \
+ SubSystem="9" \
+ StackReserveSize="65536" \
+ StackCommitSize="4096" \
+ OptimizeReferences="2" \
+ EnableCOMDATFolding="2" \
+ EntryPointSymbol="mainWCRTStartup" \
+ TargetMachine="3"
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ lib)
+ case "$target" in
+ arm*|iwmmx*) tag Tool \
+ Name="VCLibrarianTool" \
+ AdditionalOptions=" /subsystem:windowsce,4.20 /machine:ARM" \
+ OutputFile="\$(OutDir)/${name}.lib" \
+ ;;
+ *) tag Tool \
+ Name="VCLibrarianTool" \
+ OutputFile="\$(OutDir)/${name}${lib_sfx}.lib" \
+ ;;
+ esac
+ ;;
+ dll) # note differences to debug version: LinkIncremental, AssemblyDebug
+ tag Tool \
+ Name="VCLinkerTool" \
+ AdditionalDependencies="\$(NoInherit)" \
+ LinkIncremental="1" \
+ GenerateDebugInformation="true" \
+ TargetMachine="1" \
+ $link_opts
+ esac
+
+ if [ "$target" == "armv6-wince-vs8" ] || [ "$target" == "armv5te-wince-vs8" ] || [ "$target" == "iwmmxt-wince-vs8" ] || [ "$target" == "iwmmxt2-wince-vs8" ];then
+ case "$name" in
+ vpx_decoder) tag DeploymentTool \
+ ForceDirty="-1" \
+ RegisterOutput="0"
+ ;;
+ example|xma) tag DeploymentTool \
+ ForceDirty="-1" \
+ RegisterOutput="0"
+ tag DebuggerTool \
+ Arguments="${ARGU}"
+ ;;
+ esac
+ fi
+
+ close_tag Configuration
+ done
+ close_tag Configurations
+
+ open_tag Files
+ generate_filter srcs "Source Files" "cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ generate_filter hdrs "Header Files" "h;hpp;hxx;hm;inl;inc;xsd"
+ generate_filter resrcs "Resource Files" "rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ generate_filter resrcs "Build Files" "mk"
+ close_tag Files
+
+ tag Globals
+ close_tag VisualStudioProject
+
+ # This must be done from within the {} subshell
+ echo "Ignored files list (${#file_list[@]} items) is:" >&2
+ for f in "${file_list[@]}"; do
+ echo " $f" >&2
+ done
+}
+
+generate_vcproj |
+ sed -e '/"/s;\([^ "]\)/;\1\\;g' > ${outfile}
+
+exit
+<!--
+TODO: Add any files not captured by filters.
+ <File
+ RelativePath=".\ReadMe.txt"
+ >
+ </File>
+-->