Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(123)

Side by Side Diff: generate_gypi.sh

Issue 111463005: libvpx: Pull from upstream (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « README.chromium ('k') | libvpx.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/bin/bash -e 1 #!/bin/bash -e
2 # 2 #
3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 3 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 # This script is used to generate .gypi files and files in the config/platform 7 # This script is used to generate .gypi files and files in the config/platform
8 # directories needed to build libvpx. 8 # directories needed to build libvpx.
9 # Every time libvpx source code is updated just run this script. 9 # Every time libvpx source code is updated just run this script.
10 # 10 #
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 # $1 - Array name for file list. 96 # $1 - Array name for file list.
97 # $2 - Output file 97 # $2 - Output file
98 function write_special_flags { 98 function write_special_flags {
99 declare -a file_list=("${!1}") 99 declare -a file_list=("${!1}")
100 100
101 local mmx_sources=$(echo "$file_list" | grep '_mmx\.c$') 101 local mmx_sources=$(echo "$file_list" | grep '_mmx\.c$')
102 local sse2_sources=$(echo "$file_list" | grep '_sse2\.c$') 102 local sse2_sources=$(echo "$file_list" | grep '_sse2\.c$')
103 local sse3_sources=$(echo "$file_list" | grep '_sse3\.c$') 103 local sse3_sources=$(echo "$file_list" | grep '_sse3\.c$')
104 local ssse3_sources=$(echo "$file_list" | grep '_ssse3\.c$') 104 local ssse3_sources=$(echo "$file_list" | grep '_ssse3\.c$')
105 local sse4_1_sources=$(echo "$file_list" | grep '_sse4\.c$') 105 local sse4_1_sources=$(echo "$file_list" | grep '_sse4\.c$')
106 local avx_sources=$(echo "$file_list" | grep '_avx\.c$')
107 local avx2_sources=$(echo "$file_list" | grep '_avx2\.c$')
106 108
107 # Intrinsic functions and files are in flux. We can selectively generate them 109 # Intrinsic functions and files are in flux. We can selectively generate them
108 # but we can not selectively include them in libvpx.gyp. Throw some warnings 110 # but we can not selectively include them in libvpx.gyp. Throw some warnings
109 # when the expected output changes. 111 # when the expected output changes.
110 112
111 # Expect output for these: 113 # Expect output for these:
112 if [ 0 -eq ${#mmx_sources} ]; then 114 if [ 0 -eq ${#mmx_sources} ]; then
113 echo "WARNING: Comment mmx sections in libvpx.gyp" 115 echo "ERROR: Comment mmx sections in libvpx.gyp"
114 exit 1 116 exit 1
115 fi 117 fi
116 if [ 0 -eq ${#sse2_sources} ]; then 118 if [ 0 -eq ${#sse2_sources} ]; then
117 echo "WARNING: Comment sse2 sections in libvpx.gyp" 119 echo "ERROR: Comment sse2 sections in libvpx.gyp"
118 exit 1 120 exit 1
119 fi 121 fi
120 if [ 0 -eq ${#ssse3_sources} ]; then 122 if [ 0 -eq ${#ssse3_sources} ]; then
121 echo "WARNING: Comment ssse3 sections in libvpx.gyp" 123 echo "ERROR: Comment ssse3 sections in libvpx.gyp"
124 exit 1
125 fi
126 if [ 0 -eq ${#avx2_sources} ]; then
127 echo "ERROR: Comment avx2 sections in libvpx.gyp"
122 exit 1 128 exit 1
123 fi 129 fi
124 130
125 # Do not expect output for these: 131 # Do not expect output for these:
126 if [ 0 -ne ${#sse3_sources} ]; then 132 if [ 0 -ne ${#sse3_sources} ]; then
127 echo "WARNING: Uncomment sse3 sections in libvpx.gyp" 133 echo "ERROR: Uncomment sse3 sections in libvpx.gyp"
128 exit 1 134 exit 1
129 fi 135 fi
130 if [ 0 -ne ${#sse4_1_sources} ]; then 136 if [ 0 -ne ${#sse4_1_sources} ]; then
131 echo "WARNING: Uncomment sse4_1 sections in libvpx.gyp" 137 echo "ERROR: Uncomment sse4_1 sections in libvpx.gyp"
138 exit 1
139 fi
140 if [ 0 -ne ${#avx_sources} ]; then
141 echo "ERROR: Uncomment avx sections in libvpx.gyp"
132 exit 1 142 exit 1
133 fi 143 fi
134 144
135 write_gypi_header $2 145 write_gypi_header $2
136 146
137 echo " 'targets': [" >> $2 147 echo " 'targets': [" >> $2
138 148
139 write_target_definition mmx_sources[@] $2 libvpx_intrinsics_mmx mmx 149 write_target_definition mmx_sources[@] $2 libvpx_intrinsics_mmx mmx
140 write_target_definition sse2_sources[@] $2 libvpx_intrinsics_sse2 sse2 150 write_target_definition sse2_sources[@] $2 libvpx_intrinsics_sse2 sse2
141 #write_target_definition sse3_sources[@] $2 libvpx_intrinsics_sse3 sse3 151 #write_target_definition sse3_sources[@] $2 libvpx_intrinsics_sse3 sse3
142 write_target_definition ssse3_sources[@] $2 libvpx_intrinsics_ssse3 ssse3 152 write_target_definition ssse3_sources[@] $2 libvpx_intrinsics_ssse3 ssse3
143 #write_target_definition sse4_1_sources[@] $2 libvpx_intrinsics_sse4_1 sse4.1 153 #write_target_definition sse4_1_sources[@] $2 libvpx_intrinsics_sse4_1 sse4.1
154 #write_target_definition avx_sources[@] $2 libvpx_intrinsics_avx avx
155 write_target_definition avx2_sources[@] $2 libvpx_intrinsics_avx2 avx2
144 156
145 echo " ]," >> $2 157 echo " ]," >> $2
146 158
147 write_gypi_footer $2 159 write_gypi_footer $2
148 } 160 }
149 161
150 # Convert a list of source files into gypi file. 162 # Convert a list of source files into gypi file.
151 # $1 - Input file. 163 # $1 - Input file.
152 # $2 - Output gypi file base. Will generate additional .gypi files when 164 # $2 - Output gypi file base. Will generate additional .gypi files when
153 # different compilation flags are required. 165 # different compilation flags are required.
(...skipping 12 matching lines...) Expand all
166 178
167 # Not sure why vpx_config is not included. 179 # Not sure why vpx_config is not included.
168 source_list=$(echo "$source_list" | grep -v 'vpx_config\.c') 180 source_list=$(echo "$source_list" | grep -v 'vpx_config\.c')
169 181
170 # The actual ARM files end in .asm. We have rules to translate them to .S 182 # The actual ARM files end in .asm. We have rules to translate them to .S
171 source_list=$(echo "$source_list" | sed s/\.asm\.s$/.asm/) 183 source_list=$(echo "$source_list" | sed s/\.asm\.s$/.asm/)
172 184
173 # Select all x86 files ending with .c 185 # Select all x86 files ending with .c
174 local x86_intrinsic_list=$(echo "$source_list" | \ 186 local x86_intrinsic_list=$(echo "$source_list" | \
175 egrep 'vp[89]/(encoder|decoder|common)/x86/' | \ 187 egrep 'vp[89]/(encoder|decoder|common)/x86/' | \
176 egrep '(mmx|sse2|sse3|ssse3|sse4).c$') 188 egrep '(mmx|sse2|sse3|ssse3|sse4|avx|avx2).c$')
177 189
178 # Remove these files from the main list. 190 # Remove these files from the main list.
179 source_list=$(comm -23 <(echo "$source_list") <(echo "$x86_intrinsic_list")) 191 source_list=$(comm -23 <(echo "$source_list") <(echo "$x86_intrinsic_list"))
180 192
181 write_file_list source_list $BASE_DIR/$2.gypi 193 write_file_list source_list $BASE_DIR/$2.gypi
182 194
183 # All the files are in a single "element." Check if the first element has 195 # All the files are in a single "element." Check if the first element has
184 # length 0. 196 # length 0.
185 if [ 0 -ne ${#x86_intrinsic_list} ]; then 197 if [ 0 -ne ${#x86_intrinsic_list} ]; then
186 write_special_flags x86_intrinsic_list[@] $BASE_DIR/$2_intrinsics.gypi 198 write_special_flags x86_intrinsic_list[@] $BASE_DIR/$2_intrinsics.gypi
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 make_clean 400 make_clean
389 make libvpx_srcs.txt target=libs $config > /dev/null 401 make libvpx_srcs.txt target=libs $config > /dev/null
390 convert_srcs_to_gypi libvpx_srcs.txt libvpx_srcs_nacl 402 convert_srcs_to_gypi libvpx_srcs.txt libvpx_srcs_nacl
391 403
392 echo "Remove temporary directory." 404 echo "Remove temporary directory."
393 cd $BASE_DIR 405 cd $BASE_DIR
394 rm -rf $TEMP_DIR 406 rm -rf $TEMP_DIR
395 407
396 # TODO(fgalligan): Is "--disable-fast-unaligned" needed on mipsel? 408 # TODO(fgalligan): Is "--disable-fast-unaligned" needed on mipsel?
397 # TODO(fgalligan): Can we turn on "--enable-realtime-only" for mipsel? 409 # TODO(fgalligan): Can we turn on "--enable-realtime-only" for mipsel?
OLDNEW
« no previous file with comments | « README.chromium ('k') | libvpx.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698