summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authorJames Zern <jzern@google.com>2016-06-29 23:07:15 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2016-06-29 23:07:16 +0000
commit3a6a81fc9adace4e31522215ab9baa2bdc7d0079 (patch)
treec19031ed301193d4a0202cf6b44471bffb1d0cd5 /build
parentb458f42966a6d3dc22917be433f48cd74fe702cc (diff)
parent0a64929f19cc1ce89f993aa5c9d61a29679eb961 (diff)
downloadlibvpx-3a6a81fc9adace4e31522215ab9baa2bdc7d0079.tar
libvpx-3a6a81fc9adace4e31522215ab9baa2bdc7d0079.tar.gz
libvpx-3a6a81fc9adace4e31522215ab9baa2bdc7d0079.tar.bz2
libvpx-3a6a81fc9adace4e31522215ab9baa2bdc7d0079.zip
Merge changes I9433d858,Iafd05637,If08ce6ca
* changes: tests: remove redundant round() definition remove visual studio < 2010 workarounds configure: remove old visual studio support (<2010)
Diffstat (limited to 'build')
-rw-r--r--build/make/Makefile1
-rwxr-xr-xbuild/make/gen_msvs_proj.sh490
-rwxr-xr-xbuild/make/gen_msvs_sln.sh85
3 files changed, 9 insertions, 567 deletions
diff --git a/build/make/Makefile b/build/make/Makefile
index 3e8c02490..dfb7e4b7a 100644
--- a/build/make/Makefile
+++ b/build/make/Makefile
@@ -418,7 +418,6 @@ ifneq ($(call enabled,DIST-SRCS),)
DIST-SRCS-yes += build/make/gen_asm_deps.sh
DIST-SRCS-yes += build/make/Makefile
DIST-SRCS-$(CONFIG_MSVS) += build/make/gen_msvs_def.sh
- DIST-SRCS-$(CONFIG_MSVS) += build/make/gen_msvs_proj.sh
DIST-SRCS-$(CONFIG_MSVS) += build/make/gen_msvs_sln.sh
DIST-SRCS-$(CONFIG_MSVS) += build/make/gen_msvs_vcxproj.sh
DIST-SRCS-$(CONFIG_MSVS) += build/make/msvs_common.sh
diff --git a/build/make/gen_msvs_proj.sh b/build/make/gen_msvs_proj.sh
deleted file mode 100755
index 2b91fbfbc..000000000
--- a/build/make/gen_msvs_proj.sh
+++ /dev/null
@@ -1,490 +0,0 @@
-#!/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
- # Avoid object file name collisions, i.e. vpx_config.c and
- # vpx_config.asm produce the same object file without
- # this additional suffix.
- objf=${objf%.obj}_asm.obj
- 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:+;}&quot;${opt}&quot;"
- yasmincs="${yasmincs} -I&quot;${opt}&quot;"
- ;;
- -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
- opt=${opt##-L}
- opt=$(fix_path "$opt")
- libdirs="${libdirs}${libdirs:+;}&quot;${opt}&quot;"
- libdirs="${libdirs}${libdirs:+;}&quot;${opt}/\$(PlatformName)/\$(ConfigurationName)&quot;"
- libdirs="${libdirs}${libdirs:+;}&quot;${opt}/\$(PlatformName)&quot;"
- 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 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} &quot;\$(InputPath)&quot;"
- asm_Release_cmdline="yasm -Xvc -f win64 ${yasmincs} &quot;\$(InputPath)&quot;"
- ;;
- x86*)
- platforms[0]="Win32"
- asm_Debug_cmdline="yasm -Xvc -g cv8 -f win32 ${yasmincs} &quot;\$(InputPath)&quot;"
- asm_Release_cmdline="yasm -Xvc -f win32 ${yasmincs} &quot;\$(InputPath)&quot;"
- ;;
- *) 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>
--->
diff --git a/build/make/gen_msvs_sln.sh b/build/make/gen_msvs_sln.sh
index 664b404c9..7d5f46810 100755
--- a/build/make/gen_msvs_sln.sh
+++ b/build/make/gen_msvs_sln.sh
@@ -55,16 +55,11 @@ indent_pop() {
parse_project() {
local file=$1
- if [ "$sfx" = "vcproj" ]; then
- local name=`grep Name "$file" | awk 'BEGIN {FS="\""}{if (NR==1) print $2}'`
- local guid=`grep ProjectGUID "$file" | awk 'BEGIN {FS="\""}{if (NR==1) print $2}'`
- else
- local name=`grep RootNamespace "$file" | sed 's,.*<.*>\(.*\)</.*>.*,\1,'`
- local guid=`grep ProjectGuid "$file" | sed 's,.*<.*>\(.*\)</.*>.*,\1,'`
- fi
+ local name=`grep RootNamespace "$file" | sed 's,.*<.*>\(.*\)</.*>.*,\1,'`
+ local guid=`grep ProjectGuid "$file" | sed 's,.*<.*>\(.*\)</.*>.*,\1,'`
# save the project GUID to a varaible, normalizing to the basename of the
- # vcproj file without the extension
+ # vcxproj file without the extension
local var
var=${file##*/}
var=${var%%.${sfx}}
@@ -72,13 +67,8 @@ parse_project() {
eval "${var}_name=$name"
eval "${var}_guid=$guid"
- if [ "$sfx" = "vcproj" ]; then
- cur_config_list=`grep -A1 '<Configuration' $file |
- grep Name | cut -d\" -f2`
- else
- cur_config_list=`grep -B1 'Label="Configuration"' $file |
- grep Condition | cut -d\' -f4`
- fi
+ cur_config_list=`grep -B1 'Label="Configuration"' $file |
+ grep Condition | cut -d\' -f4`
new_config_list=$(for i in $config_list $cur_config_list; do
echo $i
done | sort | uniq)
@@ -103,25 +93,6 @@ process_project() {
eval "${var}_guid=$guid"
echo "Project(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"$name\", \"$file\", \"$guid\""
- indent_push
-
- eval "local deps=\"\${${var}_deps}\""
- if [ -n "$deps" ] && [ "$sfx" = "vcproj" ]; then
- echo "${indent}ProjectSection(ProjectDependencies) = postProject"
- indent_push
-
- for dep in $deps; do
- eval "local dep_guid=\${${dep}_guid}"
- [ -z "${dep_guid}" ] && die "Unknown GUID for $dep (dependency of $var)"
- echo "${indent}$dep_guid = $dep_guid"
- done
-
- indent_pop
- echo "${indent}EndProjectSection"
-
- fi
-
- indent_pop
echo "EndProject"
}
@@ -191,11 +162,7 @@ process_makefile() {
IFS=$'\r'$'\n'
local TAB=$'\t'
cat <<EOF
-ifeq (\$(CONFIG_VS_VERSION),7)
-MSBUILD_TOOL := devenv.com
-else
MSBUILD_TOOL := msbuild.exe
-endif
found_devenv := \$(shell which \$(MSBUILD_TOOL) >/dev/null 2>&1 && echo yes)
.nodevenv.once:
${TAB}@echo " * \$(MSBUILD_TOOL) not found in path."
@@ -204,7 +171,7 @@ ${TAB}@echo " * You will have to build all configurations manually using the"
${TAB}@echo " * Visual Studio IDE. To allow make to build them automatically,"
${TAB}@echo " * add the Common7/IDE directory of your Visual Studio"
${TAB}@echo " * installation to your path, eg:"
-${TAB}@echo " * C:\Program Files\Microsoft Visual Studio 8\Common7\IDE"
+${TAB}@echo " * C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE"
${TAB}@echo " * "
${TAB}@touch \$@
CLEAN-OBJS += \$(if \$(found_devenv),,.nodevenv.once)
@@ -221,16 +188,9 @@ clean::
${TAB}rm -rf "$platform"/"$config"
.PHONY: $nows_sln_config
ifneq (\$(found_devenv),)
- ifeq (\$(CONFIG_VS_VERSION),7)
-$nows_sln_config: $outfile
-${TAB}\$(MSBUILD_TOOL) $outfile -build "$config"
-
- else
$nows_sln_config: $outfile
${TAB}\$(MSBUILD_TOOL) $outfile -m -t:Build \\
${TAB}${TAB}-p:Configuration="$config" -p:Platform="$platform"
-
- endif
else
$nows_sln_config: $outfile .nodevenv.once
${TAB}@echo " * Skipping build of $sln_config (\$(MSBUILD_TOOL) not in path)."
@@ -255,23 +215,12 @@ for opt in "$@"; do
;;
--ver=*) vs_ver="$optval"
case $optval in
- [789]|10|11|12|14)
+ 10|11|12|14)
;;
*) die Unrecognized Visual Studio Version in $opt
;;
esac
;;
- --ver=*) vs_ver="$optval"
- case $optval in
- 7) sln_vers="8.00"
- sln_vers_str="Visual Studio .NET 2003"
- ;;
- [89])
- ;;
- *) die "Unrecognized Visual Studio Version '$optval' in $opt"
- ;;
- esac
- ;;
--target=*) target="${optval}"
;;
-*) die_unknown $opt
@@ -281,16 +230,7 @@ for opt in "$@"; do
done
outfile=${outfile:-/dev/stdout}
mkoutfile=${mkoutfile:-/dev/stdout}
-case "${vs_ver:-8}" in
- 7) sln_vers="8.00"
- sln_vers_str="Visual Studio .NET 2003"
- ;;
- 8) sln_vers="9.00"
- sln_vers_str="Visual Studio 2005"
- ;;
- 9) sln_vers="10.00"
- sln_vers_str="Visual Studio 2008"
- ;;
+case "${vs_ver:-10}" in
10) sln_vers="11.00"
sln_vers_str="Visual Studio 2010"
;;
@@ -304,14 +244,7 @@ case "${vs_ver:-8}" in
sln_vers_str="Visual Studio 2015"
;;
esac
-case "${vs_ver:-8}" in
- [789])
- sfx=vcproj
- ;;
- 10|11|12|14)
- sfx=vcxproj
- ;;
-esac
+sfx=vcxproj
for f in "${file_list[@]}"; do
parse_project $f