Index: source/libvpx/build/make/gen_msvs_proj.sh |
=================================================================== |
--- source/libvpx/build/make/gen_msvs_proj.sh (revision 172621) |
+++ source/libvpx/build/make/gen_msvs_proj.sh (working copy) |
@@ -26,6 +26,7 @@ |
--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] |
@@ -142,7 +143,9 @@ |
if [ "${f##*.}" == "$pat" ]; then |
unset file_list[i] |
+ objf=$(echo ${f%.*}.obj | sed -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 |
@@ -152,14 +155,27 @@ |
tag Tool \ |
Name="VCCustomBuildTool" \ |
Description="Assembling \$(InputFileName)" \ |
- CommandLine="$(eval echo \$asm_${cfg}_cmdline)" \ |
- Outputs="\$(InputName).obj" \ |
+ CommandLine="$(eval echo \$asm_${cfg}_cmdline) -o \$(IntDir)$objf" \ |
+ Outputs="\$(IntDir)$objf" \ |
close_tag FileConfiguration |
done |
done |
fi |
+ if [ "$pat" == "c" ] || [ "$pat" == "cc" ] ; 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 |
@@ -190,6 +206,8 @@ |
;; |
--exe) proj_kind="exe" |
;; |
+ --dll) proj_kind="dll" |
+ ;; |
--lib) proj_kind="lib" |
;; |
--src-path-bare=*) src_path_bare="$optval" |
@@ -244,8 +262,10 @@ |
asm_use_custom_step=$uses_asm |
;; |
8) vs_ver_id="8.00" |
+ asm_use_custom_step=$uses_asm |
;; |
9) vs_ver_id="9.00" |
+ asm_use_custom_step=$uses_asm |
;; |
esac |
@@ -284,10 +304,11 @@ |
case "$target" in |
x86_64*) |
platforms[0]="x64" |
+ asm_Debug_cmdline="yasm -Xvc -g cv8 -f \$(PlatformName) ${yasmincs} "\$(InputPath)"" |
+ asm_Release_cmdline="yasm -Xvc -f \$(PlatformName) ${yasmincs} "\$(InputPath)"" |
;; |
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)"" |
;; |
@@ -299,6 +320,8 @@ |
case "$proj_kind" in |
exe) vs_ConfigurationType=1 |
;; |
+ dll) vs_ConfigurationType=2 |
+ ;; |
*) vs_ConfigurationType=4 |
;; |
esac |
@@ -318,13 +341,6 @@ |
done |
close_tag Platforms |
- open_tag ToolFiles |
- case "$target" in |
- x86*) $uses_asm && tag ToolFile RelativePath="$self_dirname/../x86-msvs/yasm.rules" |
- ;; |
- esac |
- close_tag ToolFiles |
- |
open_tag Configurations |
for plat in "${platforms[@]}"; do |
plat_no_ws=`echo $plat | sed 's/[^A-Za-z0-9_]/_/g'` |