| Index: third_party/libvpx/source/libvpx/build/make/gen_msvs_proj.sh
|
| diff --git a/third_party/libvpx/source/libvpx/build/make/gen_msvs_proj.sh b/third_party/libvpx/source/libvpx/build/make/gen_msvs_proj.sh
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..dcce78255d4757be676dafd4d6dfee60dd0cd26c
|
| --- /dev/null
|
| +++ b/third_party/libvpx/source/libvpx/build/make/gen_msvs_proj.sh
|
| @@ -0,0 +1,486 @@
|
| +#!/bin/bash
|
| +##
|
| +## Copyright (c) 2010 The WebM project authors. All Rights Reserved.
|
| +##
|
| +## Use of this source code is governed by a BSD-style license
|
| +## that can be found in the LICENSE file in the root of the source
|
| +## tree. An additional intellectual property rights grant can be found
|
| +## in the file PATENTS. All contributing project authors may
|
| +## be found in the AUTHORS file in the root of the source tree.
|
| +##
|
| +
|
| +self=$0
|
| +self_basename=${self##*/}
|
| +self_dirname=$(dirname "$0")
|
| +
|
| +. "$self_dirname/msvs_common.sh"|| exit 127
|
| +
|
| +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
|
| + --dll Generate a project for creating a dll
|
| + --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,9) of visual studio to generate for
|
| + --src-path-bare=dir Path to root of source tree
|
| + -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
|
| +}
|
| +
|
| +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]
|
| +
|
| + objf=$(echo ${f%.*}.obj \
|
| + | sed -e "s,$src_path_bare,," \
|
| + -e 's/^[\./]\+//g' -e 's,[:/ ],_,g')
|
| + 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) -o \$(IntDir)\\$objf" \
|
| + Outputs="\$(IntDir)\\$objf" \
|
| +
|
| + close_tag FileConfiguration
|
| + done
|
| + done
|
| + fi
|
| + if [ "$pat" == "c" ] || \
|
| + [ "$pat" == "cc" ] || [ "$pat" == "cpp" ]; then
|
| + for plat in "${platforms[@]}"; do
|
| + for cfg in Debug Release; do
|
| + open_tag FileConfiguration \
|
| + Name="${cfg}|${plat}" \
|
| +
|
| + tag Tool \
|
| + Name="VCCLCompilerTool" \
|
| + ObjectFile="\$(IntDir)\\$objf" \
|
| +
|
| + 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"
|
| + ;;
|
| + --dll) proj_kind="dll"
|
| + ;;
|
| + --lib) proj_kind="lib"
|
| + ;;
|
| + --src-path-bare=*)
|
| + src_path_bare=$(fix_path "$optval")
|
| + src_path_bare=${src_path_bare%/}
|
| + ;;
|
| + --static-crt) use_static_runtime=true
|
| + ;;
|
| + --ver=*)
|
| + vs_ver="$optval"
|
| + case "$optval" in
|
| + [789])
|
| + ;;
|
| + *) die Unrecognized Visual Studio Version in $opt
|
| + ;;
|
| + esac
|
| + ;;
|
| + -I*)
|
| + opt=${opt##-I}
|
| + opt=$(fix_path "$opt")
|
| + opt="${opt%/}"
|
| + incs="${incs}${incs:+;}"${opt}""
|
| + yasmincs="${yasmincs} -I"${opt}""
|
| + ;;
|
| + -D*) defines="${defines}${defines:+;}${opt##-D}"
|
| + ;;
|
| + -L*) # fudge . to $(OutDir)
|
| + if [ "${opt##-L}" == "." ]; then
|
| + libdirs="${libdirs}${libdirs:+;}"\$(OutDir)""
|
| + else
|
| + # Also try directories for this platform/configuration
|
| + opt=${opt##-L}
|
| + opt=$(fix_path "$opt")
|
| + libdirs="${libdirs}${libdirs:+;}"${opt}""
|
| + libdirs="${libdirs}${libdirs:+;}"${opt}/\$(PlatformName)/\$(ConfigurationName)""
|
| + libdirs="${libdirs}${libdirs:+;}"${opt}/\$(PlatformName)""
|
| + fi
|
| + ;;
|
| + -l*) libs="${libs}${libs:+ }${opt##-l}.lib"
|
| + ;;
|
| + -*) die_unknown $opt
|
| + ;;
|
| + *)
|
| + # The paths in file_list are fixed outside of the loop.
|
| + file_list[${#file_list[@]}]="$opt"
|
| + case "$opt" in
|
| + *.asm) uses_asm=true
|
| + ;;
|
| + esac
|
| + ;;
|
| + esac
|
| +done
|
| +
|
| +# Make one call to fix_path for file_list to improve performance.
|
| +fix_file_list
|
| +
|
| +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
|
| + warn_64bit='Detect64BitPortabilityProblems=true'
|
| + ;;
|
| + 8) vs_ver_id="8.00"
|
| + asm_use_custom_step=$uses_asm
|
| + warn_64bit='Detect64BitPortabilityProblems=true'
|
| + ;;
|
| + 9) vs_ver_id="9.00"
|
| + asm_use_custom_step=$uses_asm
|
| + warn_64bit='Detect64BitPortabilityProblems=false'
|
| + ;;
|
| +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"
|
| + ;;
|
| + *) die "Unsupported target $target!"
|
| +esac
|
| +
|
| +# List of all platforms supported for this target
|
| +case "$target" in
|
| + x86_64*)
|
| + platforms[0]="x64"
|
| + asm_Debug_cmdline="yasm -Xvc -g cv8 -f win64 ${yasmincs} "\$(InputPath)""
|
| + asm_Release_cmdline="yasm -Xvc -f win64 ${yasmincs} "\$(InputPath)""
|
| + ;;
|
| + x86*)
|
| + platforms[0]="Win32"
|
| + asm_Debug_cmdline="yasm -Xvc -g cv8 -f win32 ${yasmincs} "\$(InputPath)""
|
| + asm_Release_cmdline="yasm -Xvc -f win32 ${yasmincs} "\$(InputPath)""
|
| + ;;
|
| + *) die "Unsupported target $target!"
|
| + ;;
|
| +esac
|
| +
|
| +generate_vcproj() {
|
| + case "$proj_kind" in
|
| + exe) vs_ConfigurationType=1
|
| + ;;
|
| + dll) vs_ConfigurationType=2
|
| + ;;
|
| + *) 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 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" \
|
| +
|
| + case "$target" in
|
| + x86*)
|
| + case "$name" in
|
| + vpx)
|
| + tag Tool \
|
| + Name="VCCLCompilerTool" \
|
| + Optimization="0" \
|
| + AdditionalIncludeDirectories="$incs" \
|
| + PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;$defines" \
|
| + RuntimeLibrary="$debug_runtime" \
|
| + UsePrecompiledHeader="0" \
|
| + WarningLevel="3" \
|
| + DebugInformationFormat="2" \
|
| + $warn_64bit \
|
| +
|
| + $uses_asm && tag Tool Name="YASM" IncludePaths="$incs" Debug="true"
|
| + ;;
|
| + *)
|
| + tag Tool \
|
| + Name="VCCLCompilerTool" \
|
| + Optimization="0" \
|
| + AdditionalIncludeDirectories="$incs" \
|
| + PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;$defines" \
|
| + RuntimeLibrary="$debug_runtime" \
|
| + UsePrecompiledHeader="0" \
|
| + WarningLevel="3" \
|
| + DebugInformationFormat="2" \
|
| + $warn_64bit \
|
| +
|
| + $uses_asm && tag Tool Name="YASM" IncludePaths="$incs" Debug="true"
|
| + ;;
|
| + esac
|
| + ;;
|
| + esac
|
| +
|
| + case "$proj_kind" in
|
| + exe)
|
| + case "$target" in
|
| + x86*)
|
| + case "$name" in
|
| + *)
|
| + tag Tool \
|
| + Name="VCLinkerTool" \
|
| + AdditionalDependencies="$debug_libs \$(NoInherit)" \
|
| + AdditionalLibraryDirectories="$libdirs" \
|
| + GenerateDebugInformation="true" \
|
| + ProgramDatabaseFile="\$(OutDir)/${name}.pdb" \
|
| + ;;
|
| + esac
|
| + ;;
|
| + esac
|
| + ;;
|
| + lib)
|
| + case "$target" in
|
| + x86*)
|
| + 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
|
| +
|
| + 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" \
|
| +
|
| + case "$target" in
|
| + x86*)
|
| + case "$name" in
|
| + vpx)
|
| + tag Tool \
|
| + Name="VCCLCompilerTool" \
|
| + Optimization="2" \
|
| + FavorSizeorSpeed="1" \
|
| + AdditionalIncludeDirectories="$incs" \
|
| + PreprocessorDefinitions="WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;$defines" \
|
| + RuntimeLibrary="$release_runtime" \
|
| + UsePrecompiledHeader="0" \
|
| + WarningLevel="3" \
|
| + DebugInformationFormat="0" \
|
| + $warn_64bit \
|
| +
|
| + $uses_asm && tag Tool Name="YASM" IncludePaths="$incs"
|
| + ;;
|
| + *)
|
| + tag Tool \
|
| + Name="VCCLCompilerTool" \
|
| + AdditionalIncludeDirectories="$incs" \
|
| + Optimization="2" \
|
| + FavorSizeorSpeed="1" \
|
| + PreprocessorDefinitions="WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;$defines" \
|
| + RuntimeLibrary="$release_runtime" \
|
| + UsePrecompiledHeader="0" \
|
| + WarningLevel="3" \
|
| + DebugInformationFormat="0" \
|
| + $warn_64bit \
|
| +
|
| + $uses_asm && tag Tool Name="YASM" IncludePaths="$incs"
|
| + ;;
|
| + esac
|
| + ;;
|
| + esac
|
| +
|
| + case "$proj_kind" in
|
| + exe)
|
| + case "$target" in
|
| + x86*)
|
| + case "$name" in
|
| + *)
|
| + tag Tool \
|
| + Name="VCLinkerTool" \
|
| + AdditionalDependencies="$libs \$(NoInherit)" \
|
| + AdditionalLibraryDirectories="$libdirs" \
|
| +
|
| + ;;
|
| + esac
|
| + ;;
|
| + esac
|
| + ;;
|
| + lib)
|
| + case "$target" in
|
| + x86*)
|
| + 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
|
| +
|
| + close_tag Configuration
|
| + done
|
| + close_tag Configurations
|
| +
|
| + open_tag Files
|
| + generate_filter srcs "Source Files" "c;cc;cpp;def;odl;idl;hpj;bat;asm;asmx"
|
| + generate_filter hdrs "Header Files" "h;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>
|
| +-->
|
|
|