]> granicus.if.org Git - libvpx/blob - build/make/msvs_common.sh
Merge "vp10: merge keyframe/interframe uvintramode/partition probabilities."
[libvpx] / build / make / msvs_common.sh
1 #!/bin/bash
2 ##
3 ##  Copyright (c) 2014 The WebM project authors. All Rights Reserved.
4 ##
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
7 ##  tree. An additional intellectual property rights grant can be found
8 ##  in the file PATENTS.  All contributing project authors may
9 ##  be found in the AUTHORS file in the root of the source tree.
10 ##
11
12 if [ "$(uname -o 2>/dev/null)" = "Cygwin" ] \
13    && cygpath --help >/dev/null 2>&1; then
14     FIXPATH='cygpath -m'
15 else
16     FIXPATH='echo_path'
17 fi
18
19 die() {
20     echo "${self_basename}: $@" >&2
21     exit 1
22 }
23
24 die_unknown(){
25     echo "Unknown option \"$1\"." >&2
26     echo "See ${self_basename} --help for available options." >&2
27     exit 1
28 }
29
30 echo_path() {
31     for path; do
32         echo "$path"
33     done
34 }
35
36 # Output one, possibly changed based on the system, path per line.
37 fix_path() {
38     $FIXPATH "$@"
39 }
40
41 # Corrects the paths in file_list in one pass for efficiency.
42 fix_file_list() {
43     # TODO(jzern): this could be more generic and take the array as a param.
44     files=$(fix_path "${file_list[@]}")
45     local IFS=$'\n'
46     file_list=($files)
47 }
48
49 generate_uuid() {
50     local hex="0123456789ABCDEF"
51     local i
52     local uuid=""
53     local j
54     #93995380-89BD-4b04-88EB-625FBE52EBFB
55     for ((i=0; i<32; i++)); do
56         (( j = $RANDOM % 16 ))
57         uuid="${uuid}${hex:$j:1}"
58     done
59     echo "${uuid:0:8}-${uuid:8:4}-${uuid:12:4}-${uuid:16:4}-${uuid:20:12}"
60 }
61
62 indent1="    "
63 indent=""
64 indent_push() {
65     indent="${indent}${indent1}"
66 }
67 indent_pop() {
68     indent="${indent%${indent1}}"
69 }
70
71 tag_attributes() {
72     for opt in "$@"; do
73         optval="${opt#*=}"
74         [ -n "${optval}" ] ||
75             die "Missing attribute value in '$opt' while generating $tag tag"
76         echo "${indent}${opt%%=*}=\"${optval}\""
77     done
78 }
79
80 open_tag() {
81     local tag=$1
82     shift
83     if [ $# -ne 0 ]; then
84         echo "${indent}<${tag}"
85         indent_push
86         tag_attributes "$@"
87         echo "${indent}>"
88     else
89         echo "${indent}<${tag}>"
90         indent_push
91     fi
92 }
93
94 close_tag() {
95     local tag=$1
96     indent_pop
97     echo "${indent}</${tag}>"
98 }
99
100 tag() {
101     local tag=$1
102     shift
103     if [ $# -ne 0 ]; then
104         echo "${indent}<${tag}"
105         indent_push
106         tag_attributes "$@"
107         indent_pop
108         echo "${indent}/>"
109     else
110         echo "${indent}<${tag}/>"
111     fi
112 }
113