gen_msvs_proj.sh revision 90d3ed91ae9228e1c8bab561b6138d4cb8c1e4fd
190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber#!/bin/bash 290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber## 390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber## Copyright (c) 2010 The VP8 project authors. All Rights Reserved. 490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber## 590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber## Use of this source code is governed by a BSD-style license and patent 690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber## grant that can be found in the LICENSE file in the root of the source 790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber## tree. All contributing project authors may be found in the AUTHORS 890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber## file in the root of the source tree. 990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber## 1090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 1190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 1290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberself=$0 1390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberself_basename=${self##*/} 1490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberEOL=$'\n' 1590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 1690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubershow_help() { 1790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber cat <<EOF 1890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberUsage: ${self_basename} --name=projname [options] file1 [file2 ...] 1990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 2090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberThis script generates a Visual Studio project file from a list of source 2190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubercode files. 2290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 2390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberOptions: 2490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber --help Print this message 2590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber --exe Generate a project for building an Application 2690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber --lib Generate a project for creating a static library 2790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber --static-crt Use the static C runtime (/MT) 2890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber --target=isa-os-cc Target specifier (required) 2990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber --out=filename Write output to a file [stdout] 3090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber --name=project_name Name of the project (required) 3190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber --proj-guid=GUID GUID to use for the project 3290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber --module-def=filename File containing export definitions (for DLLs) 3390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber --ver=version Version (7,8) of visual studio to generate for 3490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber -Ipath/to/include Additional include directories 3590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber -DFLAG[=value] Preprocessor macros to define 3690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber -Lpath/to/lib Additional library search paths 3790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber -llibname Library to link against 3890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberEOF 3990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber exit 1 4090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber} 4190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 4290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberdie() { 4390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber echo "${self_basename}: $@" >&2 4490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber exit 1 4590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber} 4690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 4790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberdie_unknown(){ 4890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber echo "Unknown option \"$1\"." >&2 4990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber echo "See ${self_basename} --help for available options." >&2 5090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber exit 1 5190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber} 5290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 5390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubergenerate_uuid() { 5490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber local hex="0123456789ABCDEF" 5590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber local i 5690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber local uuid="" 5790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber local j 5890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber #93995380-89BD-4b04-88EB-625FBE52EBFB 5990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber for ((i=0; i<32; i++)); do 6090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber (( j = $RANDOM % 16 )) 6190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber uuid="${uuid}${hex:$j:1}" 6290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber done 6390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber echo "${uuid:0:8}-${uuid:8:4}-${uuid:12:4}-${uuid:16:4}-${uuid:20:12}" 6490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber} 6590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 6690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberindent1=" " 6790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberindent="" 6890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberindent_push() { 6990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber indent="${indent}${indent1}" 7090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber} 7190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberindent_pop() { 7290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber indent="${indent%${indent1}}" 7390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber} 7490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 7590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubertag_attributes() { 7690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber for opt in "$@"; do 7790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber optval="${opt#*=}" 7890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber [ -n "${optval}" ] || 7990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber die "Missing attribute value in '$opt' while generating $tag tag" 8090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber echo "${indent}${opt%%=*}=\"${optval}\"" 8190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber done 8290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber} 8390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 8490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberopen_tag() { 8590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber local tag=$1 8690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber shift 8790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber if [ $# -ne 0 ]; then 8890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber echo "${indent}<${tag}" 8990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber indent_push 9090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber tag_attributes "$@" 9190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber echo "${indent}>" 9290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber else 9390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber echo "${indent}<${tag}>" 9490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber indent_push 9590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber fi 9690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber} 9790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 9890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberclose_tag() { 9990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber local tag=$1 10090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber indent_pop 10190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber echo "${indent}</${tag}>" 10290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber} 10390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 10490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubertag() { 10590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber local tag=$1 10690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber shift 10790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber if [ $# -ne 0 ]; then 10890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber echo "${indent}<${tag}" 10990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber indent_push 11090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber tag_attributes "$@" 11190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber indent_pop 11290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber echo "${indent}/>" 11390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber else 11490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber echo "${indent}<${tag}/>" 11590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber fi 11690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber} 11790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 11890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubergenerate_filter() { 11990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber local var=$1 12090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber local name=$2 12190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber local pats=$3 12290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber local file_list_sz 12390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber local i 12490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber local f 12590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber local saveIFS="$IFS" 12690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber local pack 12790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber echo "generating filter '$name' from ${#file_list[@]} files" >&2 12890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber IFS=* 12990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 13090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber open_tag Filter \ 13190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name=$name \ 13290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Filter=$pats \ 13390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber UniqueIdentifier=`generate_uuid` 13490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 13590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber file_list_sz=${#file_list[@]} 13690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber for i in ${!file_list[@]}; do 13790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber f=${file_list[i]} 13890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber for pat in ${pats//;/$IFS}; do 13990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber if [ "${f##*.}" == "$pat" ]; then 14090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber unset file_list[i] 14190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 14290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber open_tag File RelativePath="./$f" 14390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber if [ "$pat" == "asm" ] && $asm_use_custom_step; then 14490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber for plat in "${platforms[@]}"; do 14590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber for cfg in Debug Release; do 14690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber open_tag FileConfiguration \ 14790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="${cfg}|${plat}" 14890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber tag Tool \ 14990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCCustomBuildTool" \ 15090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Description="Assembling \$(InputFileName)" \ 15190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber CommandLine="$(eval echo \$asm_${cfg}_cmdline)"\ 15290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Outputs="\$(InputName).obj" 15390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber close_tag FileConfiguration 15490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber done 15590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber done 15690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber fi 15790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 15890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber if [ "${f##*.}" == "cpp" ]; then 15990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber for plat in "${platforms[@]}"; do 16090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber for cfg in Debug Release; do 16190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber open_tag FileConfiguration \ 16290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="${cfg}|${plat}" 16390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber tag Tool \ 16490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCCLCompilerTool" \ 16590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber CompileAs="2" 16690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber close_tag FileConfiguration 16790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber done 16890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber done 16990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber fi 17090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber close_tag File 17190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 17290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber break 17390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber fi 17490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber done 17590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber done 17690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 17790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber close_tag Filter 17890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber IFS="$saveIFS" 17990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber} 18090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 18190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber# Process command line 18290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberunset target 18390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberfor opt in "$@"; do 18490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber optval="${opt#*=}" 18590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber case "$opt" in 18690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber --help|-h) show_help 18790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 18890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber --target=*) target="${optval}" 18990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 19090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber --out=*) outfile="$optval" 19190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 19290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber --name=*) name="${optval}" 19390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 19490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber --proj-guid=*) guid="${optval}" 19590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 19690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber --module-def=*) 19790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber link_opts="${link_opts} ModuleDefinitionFile=${optval}" 19890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 19990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber --exe) proj_kind="exe" 20090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 20190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber --lib) proj_kind="lib" 20290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 20390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber --static-crt) use_static_runtime=true 20490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 20590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber --ver=*) vs_ver="$optval" 20690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber case $optval in 20790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber [78]) 20890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 20990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber *) die Unrecognized Visual Studio Version in $opt 21090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 21190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber esac 21290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 21390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber -I*) opt="${opt%/}" 21490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber incs="${incs}${incs:+;}"${opt##-I}"" 21590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber yasmincs="${yasmincs} ${opt}" 21690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 21790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber -D*) defines="${defines}${defines:+;}${opt##-D}" 21890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 21990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber -L*) # fudge . to $(OutDir) 22090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber if [ "${opt##-L}" == "." ]; then 22190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber libdirs="${libdirs}${libdirs:+;}"\$(OutDir)"" 22290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber else 22390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber # Also try directories for this platform/configuration 22490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber libdirs="${libdirs}${libdirs:+;}"${opt##-L}"" 22590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber libdirs="${libdirs}${libdirs:+;}"${opt##-L}/\$(PlatformName)/\$(ConfigurationName)"" 22690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber libdirs="${libdirs}${libdirs:+;}"${opt##-L}/\$(PlatformName)"" 22790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber fi 22890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 22990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber -l*) libs="${libs}${libs:+ }${opt##-l}.lib" 23090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 23190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber -*) die_unknown $opt 23290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 23390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber *) file_list[${#file_list[@]}]="$opt" 23490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber case "$opt" in 23590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber *.asm) uses_asm=true;; 23690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber esac 23790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber esac 23890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberdone 23990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberoutfile=${outfile:-/dev/stdout} 24090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberguid=${guid:-`generate_uuid`} 24190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberasm_use_custom_step=false 24290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberuses_asm=${uses_asm:-false} 24390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubercase "${vs_ver:-8}" in 24490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 7) vs_ver_id="7.10" 24590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber asm_use_custom_step=$uses_asm 24690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 24790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 8) vs_ver_id="8.00" 24890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 24990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberesac 25090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 25190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber[ -n "$name" ] || die "Project name (--name) must be specified!" 25290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber[ -n "$target" ] || die "Target (--target) must be specified!" 25390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 25490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberif ${use_static_runtime:-false}; then 25590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber release_runtime=0 25690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber debug_runtime=1 25790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber lib_sfx=mt 25890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberelse 25990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber release_runtime=2 26090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber debug_runtime=3 26190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber lib_sfx=md 26290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberfi 26390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 26490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber# Calculate debug lib names: If a lib ends in ${lib_sfx}.lib, then rename 26590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber# it to ${lib_sfx}d.lib. This precludes linking to release libs from a 26690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber# debug exe, so this may need to be refactored later. 26790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberfor lib in ${libs}; do 26890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber if [ "$lib" != "${lib%${lib_sfx}.lib}" ]; then 26990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber lib=${lib%.lib}d.lib 27090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber fi 27190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber debug_libs="${debug_libs}${debug_libs:+ }${lib}" 27290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberdone 27390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 27490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 27590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber# List Keyword for this target 27690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubercase "$target" in 27790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber x86*) 27890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber keyword="ManagedCProj" 27990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 28090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber arm*|iwmmx*) 28190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber keyword="Win32Proj" 28290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 28390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber *) die "Unsupported target $target!" 28490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberesac 28590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 28690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber# List of all platforms supported for this target 28790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubercase "$target" in 28890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber x86_64*) 28990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber platforms[0]="x64" 29090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 29190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber x86*) 29290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber platforms[0]="Win32" 29390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber # these are only used by vs7 29490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber asm_Debug_cmdline="yasm -Xvc -g cv8 -f \$(PlatformName) ${yasmincs} \$(InputPath)" 29590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber asm_Release_cmdline="yasm -Xvc -f \$(PlatformName) ${yasmincs} \$(InputPath)" 29690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 29790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber arm*|iwmmx*) 29890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber case "${name}" in 29990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber obj_int_extract) platforms[0]="Win32" 30090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 30190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber *) platforms[0]="Pocket PC 2003 (ARMV4)" 30290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 30390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber esac 30490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 30590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber *) die "Unsupported target $target!" 30690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberesac 30790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 30890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber# List Command-line Arguments for this target 30990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubercase "$target" in 31090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber arm*|iwmmx*) 31190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber if [ "$name" == "example" ];then 31290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ARGU="--codec vp6 --flipuv --progress _bnd.vp6" 31390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber fi 31490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber if [ "$name" == "xma" ];then 31590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ARGU="--codec vp6 -h 240 -w 320 -v" 31690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber fi 31790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 31890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberesac 31990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 32090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubergenerate_vcproj() { 32190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber case "$proj_kind" in 32290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber exe) vs_ConfigurationType=1 32390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 32490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber *) vs_ConfigurationType=4 32590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 32690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber esac 32790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 32890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber echo "<?xml version=\"1.0\" encoding=\"Windows-1252\"?>" 32990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber open_tag VisualStudioProject \ 33090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ProjectType="Visual C++" \ 33190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Version="${vs_ver_id}" \ 33290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="${name}" \ 33390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ProjectGUID="{${guid}}" \ 33490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber RootNamespace="${name}" \ 33590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Keyword="${keyword}" 33690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 33790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber open_tag Platforms 33890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber for plat in "${platforms[@]}"; do 33990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber tag Platform Name="$plat" 34090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber done 34190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber close_tag Platforms 34290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 34390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber open_tag ToolFiles 34490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber case "$target" in 34590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber x86*) $uses_asm && tag DefaultToolFile FileName="yasm.rules" 34690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 34790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber arm*|iwmmx*) 34890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber if [ "$name" == "vpx_decoder" ];then 34990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber case "$target" in 35090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber armv5*) 35190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber tag DefaultToolFile FileName="armasmv5.rules" 35290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 35390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber armv6*) 35490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber tag DefaultToolFile FileName="armasmv6.rules" 35590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 35690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber iwmmxt*) 35790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber tag DefaultToolFile FileName="armasmxscale.rules" 35890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 35990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber esac 36090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber fi 36190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 36290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber esac 36390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber close_tag ToolFiles 36490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 36590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber open_tag Configurations 36690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber for plat in "${platforms[@]}"; do 36790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber plat_no_ws=`echo $plat | sed 's/[^A-Za-z0-9_]/_/g'` 36890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber open_tag Configuration \ 36990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="Debug|$plat" \ 37090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber OutputDirectory="\$(SolutionDir)$plat_no_ws/\$(ConfigurationName)" \ 37190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber IntermediateDirectory="$plat_no_ws/\$(ConfigurationName)/${name}" \ 37290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ConfigurationType="$vs_ConfigurationType" \ 37390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber CharacterSet="1" 37490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 37590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber if [ "$target" == "armv6-wince-vs8" ] || [ "$target" == "armv5te-wince-vs8" ] || [ "$target" == "iwmmxt-wince-vs8" ] || [ "$target" == "iwmmxt2-wince-vs8" ];then 37690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber case "$name" in 37790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber vpx_decoder) tag Tool \ 37890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCPreBuildEventTool" \ 37990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber CommandLine="call obj_int_extract.bat \$(ConfigurationName)" 38090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber tag Tool \ 38190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCMIDLTool" \ 38290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber TargetEnvironment="1" 38390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber tag Tool \ 38490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCCLCompilerTool" \ 38590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ExecutionBucket="7" \ 38690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Optimization="0" \ 38790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AdditionalIncludeDirectories="$incs" \ 38890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber PreprocessorDefinitions="_DEBUG;_WIN32_WCE=\$(CEVER);UNDER_CE;\$(PLATFORMDEFINES);WINCE;DEBUG;_LIB;\$(ARCHFAM);\$(_ARCHFAM_);_UNICODE;UNICODE;HAVE_CONFIG_H" \ 38990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber MinimalRebuild="true" \ 39090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber RuntimeLibrary="1" \ 39190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber BufferSecurityCheck="false" \ 39290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber UsePrecompiledHeader="0" \ 39390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber WarningLevel="3" \ 39490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber DebugInformationFormat="1" \ 39590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber CompileAs="1" 39690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber tag Tool \ 39790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCResourceCompilerTool" \ 39890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber PreprocessorDefinitions="_DEBUG;_WIN32_WCE=\$(CEVER);UNDER_CE;\$(PLATFORMDEFINES)" \ 39990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Culture="1033" \ 40090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AdditionalIncludeDirectories="\$(IntDir)" \ 40190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 40290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber example|xma) tag Tool \ 40390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCCLCompilerTool" \ 40490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ExecutionBucket="7" \ 40590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Optimization="0" \ 40690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AdditionalIncludeDirectories="$incs" \ 40790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber PreprocessorDefinitions="_DEBUG;_WIN32_WCE=\$(CEVER);UNDER_CE;\$(PLATFORMDEFINES);WINCE;DEBUG;_CONSOLE;\$(ARCHFAM);\$(_ARCHFAM_);_UNICODE;UNICODE;HAVE_CONFIG_H" \ 40890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber MinimalRebuild="true" \ 40990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber RuntimeLibrary="1" \ 41090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber BufferSecurityCheck="false" \ 41190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber UsePrecompiledHeader="0" \ 41290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber WarningLevel="3" \ 41390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber DebugInformationFormat="1" \ 41490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber CompileAs="1" 41590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber tag Tool \ 41690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCResourceCompilerTool" \ 41790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber PreprocessorDefinitions="_DEBUG;_WIN32_WCE=\$(CEVER);UNDER_CE;\$(PLATFORMDEFINES)" \ 41890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Culture="1033" \ 41990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AdditionalIncludeDirectories="\$(IntDir)" \ 42090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 42190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber obj_int_extract) tag Tool \ 42290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCCLCompilerTool" \ 42390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Optimization="0" \ 42490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AdditionalIncludeDirectories="$incs" \ 42590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber PreprocessorDefinitions="WIN32;DEBUG;_CONSOLE" \ 42690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber RuntimeLibrary="1" \ 42790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber WarningLevel="3" \ 42890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber DebugInformationFormat="1" \ 42990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 43090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber esac 43190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber fi 43290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 43390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber case "$target" in 43490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber x86*) tag Tool \ 43590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCCLCompilerTool" \ 43690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Optimization="0" \ 43790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AdditionalIncludeDirectories="$incs" \ 43890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;$defines" \ 43990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber RuntimeLibrary="$debug_runtime" \ 44090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber UsePrecompiledHeader="0" \ 44190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber WarningLevel="3" \ 44290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber DebugInformationFormat="1" \ 44390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Detect64BitPortabilityProblems="true" \ 44490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 44590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber $uses_asm && tag Tool Name="YASM" IncludePaths="$incs" Debug="1" 44690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 44790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber esac 44890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 44990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber case "$proj_kind" in 45090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber exe) 45190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber case "$target" in 45290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber x86*) tag Tool \ 45390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCLinkerTool" \ 45490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AdditionalDependencies="$debug_libs \$(NoInherit)" \ 45590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AdditionalLibraryDirectories="$libdirs" \ 45690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber GenerateDebugInformation="true" \ 45790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ProgramDatabaseFile="\$(OutDir)/${name}.pdb" \ 45890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 45990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 46090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber arm*|iwmmx*) 46190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber case "$name" in 46290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber obj_int_extract) tag Tool \ 46390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCLinkerTool" \ 46490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber OutputFile="${name}.exe" \ 46590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber GenerateDebugInformation="true" 46690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 46790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber *) tag Tool \ 46890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCLinkerTool" \ 46990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AdditionalDependencies="$debug_libs" \ 47090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber OutputFile="\$(OutDir)/${name}.exe" \ 47190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber LinkIncremental="2" \ 47290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AdditionalLibraryDirectories="${libdirs};"..\lib/$plat_no_ws"" \ 47390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber DelayLoadDLLs="\$(NOINHERIT)" \ 47490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber GenerateDebugInformation="true" \ 47590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ProgramDatabaseFile="\$(OutDir)/${name}.pdb" \ 47690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber SubSystem="9" \ 47790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber StackReserveSize="65536" \ 47890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber StackCommitSize="4096" \ 47990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber EntryPointSymbol="mainWCRTStartup" \ 48090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber TargetMachine="3" 48190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 48290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber esac 48390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 48490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber esac 48590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 48690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber lib) 48790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber case "$target" in 48890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber arm*|iwmmx*) tag Tool \ 48990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCLibrarianTool" \ 49090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AdditionalOptions=" /subsystem:windowsce,4.20 /machine:ARM" \ 49190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber OutputFile="\$(OutDir)/${name}.lib" \ 49290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 49390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber *) tag Tool \ 49490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCLibrarianTool" \ 49590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber OutputFile="\$(OutDir)/${name}${lib_sfx}d.lib" \ 49690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 49790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber esac 49890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 49990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber dll) tag Tool \ 50090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCLinkerTool" \ 50190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AdditionalDependencies="\$(NoInherit)" \ 50290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber LinkIncremental="2" \ 50390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber GenerateDebugInformation="true" \ 50490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AssemblyDebug="1" \ 50590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber TargetMachine="1" \ 50690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber $link_opts 50790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber esac 50890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 50990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber if [ "$target" == "armv6-wince-vs8" ] || [ "$target" == "armv5te-wince-vs8" ] || [ "$target" == "iwmmxt-wince-vs8" ] || [ "$target" == "iwmmxt2-wince-vs8" ];then 51090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber case "$name" in 51190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber vpx_decoder) tag DeploymentTool \ 51290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ForceDirty="-1" \ 51390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber RegisterOutput="0" 51490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 51590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber example|xma) tag DeploymentTool \ 51690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ForceDirty="-1" \ 51790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber RegisterOutput="0" 51890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber tag DebuggerTool \ 51990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Arguments="${ARGU}" 52090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 52190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber esac 52290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber fi 52390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber close_tag Configuration 52490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 52590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber open_tag Configuration \ 52690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="Release|$plat" \ 52790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber OutputDirectory="\$(SolutionDir)$plat_no_ws/\$(ConfigurationName)" \ 52890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber IntermediateDirectory="$plat_no_ws/\$(ConfigurationName)/${name}" \ 52990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ConfigurationType="$vs_ConfigurationType" \ 53090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber CharacterSet="1" \ 53190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber WholeProgramOptimization="0" 53290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 53390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber if [ "$target" == "armv6-wince-vs8" ] || [ "$target" == "armv5te-wince-vs8" ] || [ "$target" == "iwmmxt-wince-vs8" ] || [ "$target" == "iwmmxt2-wince-vs8" ];then 53490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber case "$name" in 53590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber vpx_decoder) tag Tool \ 53690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCPreBuildEventTool" \ 53790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber CommandLine="call obj_int_extract.bat \$(ConfigurationName)" 53890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber tag Tool \ 53990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCMIDLTool" \ 54090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber TargetEnvironment="1" 54190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber tag Tool \ 54290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCCLCompilerTool" \ 54390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ExecutionBucket="7" \ 54490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Optimization="2" \ 54590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber FavorSizeOrSpeed="1" \ 54690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AdditionalIncludeDirectories="$incs" \ 54790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber PreprocessorDefinitions="NDEBUG;_WIN32_WCE=\$(CEVER);UNDER_CE;\$(PLATFORMDEFINES);WINCE;_LIB;\$(ARCHFAM);\$(_ARCHFAM_);_UNICODE;UNICODE;HAVE_CONFIG_H" \ 54890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber RuntimeLibrary="0" \ 54990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber BufferSecurityCheck="false" \ 55090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber UsePrecompiledHeader="0" \ 55190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber WarningLevel="3" \ 55290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber DebugInformationFormat="0" \ 55390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber CompileAs="1" 55490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber tag Tool \ 55590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCResourceCompilerTool" \ 55690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber PreprocessorDefinitions="NDEBUG;_WIN32_WCE=\$(CEVER);UNDER_CE;\$(PLATFORMDEFINES)" \ 55790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Culture="1033" \ 55890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AdditionalIncludeDirectories="\$(IntDir)" \ 55990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 56090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber example|xma) tag Tool \ 56190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCCLCompilerTool" \ 56290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ExecutionBucket="7" \ 56390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Optimization="2" \ 56490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber FavorSizeOrSpeed="1" \ 56590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AdditionalIncludeDirectories="$incs" \ 56690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber PreprocessorDefinitions="NDEBUG;_WIN32_WCE=\$(CEVER);UNDER_CE;\$(PLATFORMDEFINES);WINCE;_CONSOLE;\$(ARCHFAM);\$(_ARCHFAM_);_UNICODE;UNICODE;HAVE_CONFIG_H" \ 56790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber RuntimeLibrary="0" \ 56890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber BufferSecurityCheck="false" \ 56990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber UsePrecompiledHeader="0" \ 57090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber WarningLevel="3" \ 57190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber DebugInformationFormat="0" \ 57290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber CompileAs="1" 57390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber tag Tool \ 57490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCResourceCompilerTool" \ 57590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber PreprocessorDefinitions="NDEBUG;_WIN32_WCE=\$(CEVER);UNDER_CE;\$(PLATFORMDEFINES)" \ 57690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Culture="1033" \ 57790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AdditionalIncludeDirectories="\$(IntDir)" \ 57890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 57990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber obj_int_extract) tag Tool \ 58090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCCLCompilerTool" \ 58190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AdditionalIncludeDirectories="$incs" \ 58290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" \ 58390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber RuntimeLibrary="0" \ 58490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber UsePrecompiledHeader="0" \ 58590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber WarningLevel="3" \ 58690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Detect64BitPortabilityProblems="true" \ 58790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber DebugInformationFormat="0" \ 58890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 58990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber esac 59090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber fi 59190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 59290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber case "$target" in 59390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber x86*) tag Tool \ 59490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCCLCompilerTool" \ 59590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AdditionalIncludeDirectories="$incs" \ 59690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber PreprocessorDefinitions="WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;$defines" \ 59790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber RuntimeLibrary="$release_runtime" \ 59890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber UsePrecompiledHeader="0" \ 59990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber WarningLevel="3" \ 60090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber DebugInformationFormat="0" \ 60190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Detect64BitPortabilityProblems="true" 60290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 60390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber $uses_asm && tag Tool Name="YASM" IncludePaths="$incs" 60490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 60590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber esac 60690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 60790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber case "$proj_kind" in 60890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber exe) 60990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber case "$target" in 61090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber x86*) tag Tool \ 61190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCLinkerTool" \ 61290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AdditionalDependencies="$libs \$(NoInherit)" \ 61390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AdditionalLibraryDirectories="$libdirs" \ 61490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 61590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber arm*|iwmmx*) 61690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber case "$name" in 61790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber obj_int_extract) tag Tool \ 61890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCLinkerTool" \ 61990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber OutputFile="${name}.exe" \ 62090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber LinkIncremental="1" \ 62190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber GenerateDebugInformation="false" \ 62290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber SubSystem="0" \ 62390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber OptimizeReferences="0" \ 62490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber EnableCOMDATFolding="0" \ 62590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber TargetMachine="0" 62690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 62790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber *) tag Tool \ 62890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCLinkerTool" \ 62990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AdditionalDependencies="$libs" \ 63090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber OutputFile="\$(OutDir)/${name}.exe" \ 63190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber LinkIncremental="1" \ 63290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AdditionalLibraryDirectories="${libdirs};"..\lib/$plat_no_ws"" \ 63390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber DelayLoadDLLs="\$(NOINHERIT)" \ 63490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber GenerateDebugInformation="true" \ 63590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ProgramDatabaseFile="\$(OutDir)/${name}.pdb" \ 63690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber SubSystem="9" \ 63790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber StackReserveSize="65536" \ 63890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber StackCommitSize="4096" \ 63990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber OptimizeReferences="2" \ 64090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber EnableCOMDATFolding="2" \ 64190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber EntryPointSymbol="mainWCRTStartup" \ 64290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber TargetMachine="3" 64390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 64490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber esac 64590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 64690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber esac 64790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 64890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber lib) 64990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber case "$target" in 65090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber arm*|iwmmx*) tag Tool \ 65190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCLibrarianTool" \ 65290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AdditionalOptions=" /subsystem:windowsce,4.20 /machine:ARM" \ 65390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber OutputFile="\$(OutDir)/${name}.lib" \ 65490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 65590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber *) tag Tool \ 65690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCLibrarianTool" \ 65790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber OutputFile="\$(OutDir)/${name}${lib_sfx}.lib" \ 65890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 65990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber esac 66090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 66190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber dll) # note differences to debug version: LinkIncremental, AssemblyDebug 66290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber tag Tool \ 66390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Name="VCLinkerTool" \ 66490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber AdditionalDependencies="\$(NoInherit)" \ 66590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber LinkIncremental="1" \ 66690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber GenerateDebugInformation="true" \ 66790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber TargetMachine="1" \ 66890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber $link_opts 66990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber esac 67090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 67190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber if [ "$target" == "armv6-wince-vs8" ] || [ "$target" == "armv5te-wince-vs8" ] || [ "$target" == "iwmmxt-wince-vs8" ] || [ "$target" == "iwmmxt2-wince-vs8" ];then 67290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber case "$name" in 67390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber vpx_decoder) tag DeploymentTool \ 67490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ForceDirty="-1" \ 67590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber RegisterOutput="0" 67690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 67790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber example|xma) tag DeploymentTool \ 67890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ForceDirty="-1" \ 67990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber RegisterOutput="0" 68090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber tag DebuggerTool \ 68190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber Arguments="${ARGU}" 68290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber ;; 68390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber esac 68490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber fi 68590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 68690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber close_tag Configuration 68790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber done 68890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber close_tag Configurations 68990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 69090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber open_tag Files 69190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber generate_filter srcs "Source Files" "cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" 69290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber generate_filter hdrs "Header Files" "h;hpp;hxx;hm;inl;inc;xsd" 69390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber generate_filter resrcs "Resource Files" "rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" 69490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber generate_filter resrcs "Build Files" "mk" 69590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber close_tag Files 69690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 69790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber tag Globals 69890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber close_tag VisualStudioProject 69990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 70090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber # This must be done from within the {} subshell 70190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber echo "Ignored files list (${#file_list[@]} items) is:" >&2 70290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber for f in "${file_list[@]}"; do 70390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber echo " $f" >&2 70490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber done 70590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber} 70690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 70790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubergenerate_vcproj | 70890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber sed -e '/"/s;\([^ "]\)/;\1\\;g' > ${outfile} 70990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 71090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberexit 71190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber<!-- 71290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberTODO: Add any files not captured by filters. 71390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber <File 71490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber RelativePath=".\ReadMe.txt" 71590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber > 71690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber </File> 71790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber--> 718