| OLD | NEW |
| 1 #!/bin/bash | 1 #!/bin/bash |
| 2 ## | 2 ## |
| 3 ## Copyright (c) 2013 The WebM project authors. All Rights Reserved. | 3 ## Copyright (c) 2013 The WebM project authors. All Rights Reserved. |
| 4 ## | 4 ## |
| 5 ## Use of this source code is governed by a BSD-style license | 5 ## Use of this source code is governed by a BSD-style license |
| 6 ## that can be found in the LICENSE file in the root of the source | 6 ## that can be found in the LICENSE file in the root of the source |
| 7 ## tree. An additional intellectual property rights grant can be found | 7 ## tree. An additional intellectual property rights grant can be found |
| 8 ## in the file PATENTS. All contributing project authors may | 8 ## in the file PATENTS. All contributing project authors may |
| 9 ## be found in the AUTHORS file in the root of the source tree. | 9 ## be found in the AUTHORS file in the root of the source tree. |
| 10 ## | 10 ## |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 | 21 |
| 22 This script generates a Visual Studio project file from a list of source | 22 This script generates a Visual Studio project file from a list of source |
| 23 code files. | 23 code files. |
| 24 | 24 |
| 25 Options: | 25 Options: |
| 26 --help Print this message | 26 --help Print this message |
| 27 --exe Generate a project for building an Application | 27 --exe Generate a project for building an Application |
| 28 --lib Generate a project for creating a static library | 28 --lib Generate a project for creating a static library |
| 29 --dll Generate a project for creating a dll | 29 --dll Generate a project for creating a dll |
| 30 --static-crt Use the static C runtime (/MT) | 30 --static-crt Use the static C runtime (/MT) |
| 31 --enable-werror Treat warnings as errors (/WX) |
| 31 --target=isa-os-cc Target specifier (required) | 32 --target=isa-os-cc Target specifier (required) |
| 32 --out=filename Write output to a file [stdout] | 33 --out=filename Write output to a file [stdout] |
| 33 --name=project_name Name of the project (required) | 34 --name=project_name Name of the project (required) |
| 34 --proj-guid=GUID GUID to use for the project | 35 --proj-guid=GUID GUID to use for the project |
| 35 --module-def=filename File containing export definitions (for DLLs) | 36 --module-def=filename File containing export definitions (for DLLs) |
| 36 --ver=version Version (10,11,12) of visual studio to generate
for | 37 --ver=version Version (10,11,12) of visual studio to generate
for |
| 37 --src-path-bare=dir Path to root of source tree | 38 --src-path-bare=dir Path to root of source tree |
| 38 -Ipath/to/include Additional include directories | 39 -Ipath/to/include Additional include directories |
| 39 -DFLAG[=value] Preprocessor macros to define | 40 -DFLAG[=value] Preprocessor macros to define |
| 40 -Lpath/to/lib Additional library search paths | 41 -Lpath/to/lib Additional library search paths |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 166 for cfg in Debug Release; do | 167 for cfg in Debug Release; do |
| 167 tag_content Message "Assembling %(Filename)%(Extensi
on)" \ | 168 tag_content Message "Assembling %(Filename)%(Extensi
on)" \ |
| 168 Condition="'\$(Configuration)|\$(Platform)'=='$c
fg|$plat'" | 169 Condition="'\$(Configuration)|\$(Platform)'=='$c
fg|$plat'" |
| 169 tag_content Command "$(eval echo \$asm_${cfg}_cmdlin
e) -o \$(IntDir)$objf" \ | 170 tag_content Command "$(eval echo \$asm_${cfg}_cmdlin
e) -o \$(IntDir)$objf" \ |
| 170 Condition="'\$(Configuration)|\$(Platform)'=='$c
fg|$plat'" | 171 Condition="'\$(Configuration)|\$(Platform)'=='$c
fg|$plat'" |
| 171 tag_content Outputs "\$(IntDir)$objf" \ | 172 tag_content Outputs "\$(IntDir)$objf" \ |
| 172 Condition="'\$(Configuration)|\$(Platform)'=='$c
fg|$plat'" | 173 Condition="'\$(Configuration)|\$(Platform)'=='$c
fg|$plat'" |
| 173 done | 174 done |
| 174 done | 175 done |
| 175 close_tag CustomBuild | 176 close_tag CustomBuild |
| 176 elif [ "$pat" == "c" ] || [ "$pat" == "cc" ] ; then | 177 elif [ "$pat" == "c" ] || \ |
| 178 [ "$pat" == "cc" ] || [ "$pat" == "cpp" ]; then |
| 177 open_tag ClCompile \ | 179 open_tag ClCompile \ |
| 178 Include=".\\$f" | 180 Include=".\\$f" |
| 179 # Separate file names with Condition? | 181 # Separate file names with Condition? |
| 180 tag_content ObjectFileName "\$(IntDir)$objf" | 182 tag_content ObjectFileName "\$(IntDir)$objf" |
| 181 # Check for AVX and turn it on to avoid warnings. | 183 # Check for AVX and turn it on to avoid warnings. |
| 182 if [[ $f =~ avx.?\.c$ ]]; then | 184 if [[ $f =~ avx.?\.c$ ]]; then |
| 183 tag_content AdditionalOptions "/arch:AVX" | 185 tag_content AdditionalOptions "/arch:AVX" |
| 184 fi | 186 fi |
| 185 close_tag ClCompile | 187 close_tag ClCompile |
| 186 elif [ "$pat" == "h" ] ; then | 188 elif [ "$pat" == "h" ] ; then |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 226 --exe) proj_kind="exe" | 228 --exe) proj_kind="exe" |
| 227 ;; | 229 ;; |
| 228 --dll) proj_kind="dll" | 230 --dll) proj_kind="dll" |
| 229 ;; | 231 ;; |
| 230 --lib) proj_kind="lib" | 232 --lib) proj_kind="lib" |
| 231 ;; | 233 ;; |
| 232 --src-path-bare=*) src_path_bare="$optval" | 234 --src-path-bare=*) src_path_bare="$optval" |
| 233 ;; | 235 ;; |
| 234 --static-crt) use_static_runtime=true | 236 --static-crt) use_static_runtime=true |
| 235 ;; | 237 ;; |
| 238 --enable-werror) werror=true |
| 239 ;; |
| 236 --ver=*) | 240 --ver=*) |
| 237 vs_ver="$optval" | 241 vs_ver="$optval" |
| 238 case "$optval" in | 242 case "$optval" in |
| 239 10|11|12) | 243 10|11|12) |
| 240 ;; | 244 ;; |
| 241 *) die Unrecognized Visual Studio Version in $opt | 245 *) die Unrecognized Visual Studio Version in $opt |
| 242 ;; | 246 ;; |
| 243 esac | 247 esac |
| 244 ;; | 248 ;; |
| 245 -I*) | 249 -I*) |
| (...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 485 ;; | 489 ;; |
| 486 *) | 490 *) |
| 487 extradefines=";$defines" | 491 extradefines=";$defines" |
| 488 ;; | 492 ;; |
| 489 esac | 493 esac |
| 490 tag_content Optimization $opt | 494 tag_content Optimization $opt |
| 491 tag_content AdditionalIncludeDirectories "$incs;%(AdditionalIncludeD
irectories)" | 495 tag_content AdditionalIncludeDirectories "$incs;%(AdditionalIncludeD
irectories)" |
| 492 tag_content PreprocessorDefinitions "WIN32;$debug;_CRT_SECURE_NO_WAR
NINGS;_CRT_SECURE_NO_DEPRECATE$extradefines;%(PreprocessorDefinitions)" | 496 tag_content PreprocessorDefinitions "WIN32;$debug;_CRT_SECURE_NO_WAR
NINGS;_CRT_SECURE_NO_DEPRECATE$extradefines;%(PreprocessorDefinitions)" |
| 493 tag_content RuntimeLibrary $runtime | 497 tag_content RuntimeLibrary $runtime |
| 494 tag_content WarningLevel Level3 | 498 tag_content WarningLevel Level3 |
| 495 # DebugInformationFormat | 499 if ${werror:-false}; then |
| 500 tag_content TreatWarningAsError true |
| 501 fi |
| 496 close_tag ClCompile | 502 close_tag ClCompile |
| 497 case "$proj_kind" in | 503 case "$proj_kind" in |
| 498 exe) | 504 exe) |
| 499 open_tag Link | 505 open_tag Link |
| 500 if [ "$name" != "obj_int_extract" ]; then | 506 if [ "$name" != "obj_int_extract" ]; then |
| 501 tag_content AdditionalDependencies "$curlibs" | 507 tag_content AdditionalDependencies "$curlibs" |
| 502 tag_content AdditionalLibraryDirectories "$libdirs;%(Additio
nalLibraryDirectories)" | 508 tag_content AdditionalLibraryDirectories "$libdirs;%(Additio
nalLibraryDirectories)" |
| 503 fi | 509 fi |
| 504 tag_content GenerateDebugInformation true | 510 tag_content GenerateDebugInformation true |
| 505 close_tag Link | 511 close_tag Link |
| 506 ;; | 512 ;; |
| 507 dll) | 513 dll) |
| 508 open_tag Link | 514 open_tag Link |
| 509 tag_content GenerateDebugInformation true | 515 tag_content GenerateDebugInformation true |
| 510 tag_content ModuleDefinitionFile $module_def | 516 tag_content ModuleDefinitionFile $module_def |
| 511 close_tag Link | 517 close_tag Link |
| 512 ;; | 518 ;; |
| 513 lib) | 519 lib) |
| 514 ;; | 520 ;; |
| 515 esac | 521 esac |
| 516 close_tag ItemDefinitionGroup | 522 close_tag ItemDefinitionGroup |
| 517 done | 523 done |
| 518 | 524 |
| 519 done | 525 done |
| 520 | 526 |
| 521 open_tag ItemGroup | 527 open_tag ItemGroup |
| 522 generate_filter "Source Files" "c;cc;def;odl;idl;hpj;bat;asm;asmx;s" | 528 generate_filter "Source Files" "c;cc;cpp;def;odl;idl;hpj;bat;asm;asmx;s" |
| 523 close_tag ItemGroup | 529 close_tag ItemGroup |
| 524 open_tag ItemGroup | 530 open_tag ItemGroup |
| 525 generate_filter "Header Files" "h;hm;inl;inc;xsd" | 531 generate_filter "Header Files" "h;hm;inl;inc;xsd" |
| 526 close_tag ItemGroup | 532 close_tag ItemGroup |
| 527 open_tag ItemGroup | 533 open_tag ItemGroup |
| 528 generate_filter "Build Files" "mk" | 534 generate_filter "Build Files" "mk" |
| 529 close_tag ItemGroup | 535 close_tag ItemGroup |
| 530 open_tag ItemGroup | 536 open_tag ItemGroup |
| 531 generate_filter "References" "vcxproj" | 537 generate_filter "References" "vcxproj" |
| 532 close_tag ItemGroup | 538 close_tag ItemGroup |
| (...skipping 15 matching lines...) Expand all Loading... |
| 548 } | 554 } |
| 549 | 555 |
| 550 # This regexp doesn't catch most of the strings in the vcxproj format, | 556 # This regexp doesn't catch most of the strings in the vcxproj format, |
| 551 # since they're like <tag>path</tag> instead of <tag attr="path" /> | 557 # since they're like <tag>path</tag> instead of <tag attr="path" /> |
| 552 # as previously. It still seems to work ok despite this. | 558 # as previously. It still seems to work ok despite this. |
| 553 generate_vcxproj | | 559 generate_vcxproj | |
| 554 sed -e '/"/s;\([^ "]\)/;\1\\;g' | | 560 sed -e '/"/s;\([^ "]\)/;\1\\;g' | |
| 555 sed -e '/xmlns/s;\\;/;g' > ${outfile} | 561 sed -e '/xmlns/s;\\;/;g' > ${outfile} |
| 556 | 562 |
| 557 exit | 563 exit |
| OLD | NEW |