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

Side by Side Diff: generate_gypi.sh

Issue 442023002: [MIPS64] Adding build support for MIPS64 to libvpx in Chromium (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libvpx.git@master
Patch Set: Update change after libvpx pull from upstream. Created 6 years, 3 months 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
« no previous file with comments | « no previous file | 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 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 function make_clean { 232 function make_clean {
233 make clean > /dev/null 233 make clean > /dev/null
234 rm -f libvpx_srcs.txt 234 rm -f libvpx_srcs.txt
235 } 235 }
236 236
237 # Lint a pair of vpx_config.h and vpx_config.asm to make sure they match. 237 # Lint a pair of vpx_config.h and vpx_config.asm to make sure they match.
238 # $1 - Header file directory. 238 # $1 - Header file directory.
239 function lint_config { 239 function lint_config {
240 # mips does not contain any assembly so the header does not need to be 240 # mips does not contain any assembly so the header does not need to be
241 # compared to the asm. 241 # compared to the asm.
242 if [[ "$1" != *mipsel ]]; then 242 if [[ "$1" != *mipsel && "$1" != *mips64el ]]; then
243 $BASE_DIR/lint_config.sh \ 243 $BASE_DIR/lint_config.sh \
244 -h $BASE_DIR/$LIBVPX_CONFIG_DIR/$1/vpx_config.h \ 244 -h $BASE_DIR/$LIBVPX_CONFIG_DIR/$1/vpx_config.h \
245 -a $BASE_DIR/$LIBVPX_CONFIG_DIR/$1/vpx_config.asm 245 -a $BASE_DIR/$LIBVPX_CONFIG_DIR/$1/vpx_config.asm
246 fi 246 fi
247 } 247 }
248 248
249 # Print the configuration. 249 # Print the configuration.
250 # $1 - Header file directory. 250 # $1 - Header file directory.
251 function print_config { 251 function print_config {
252 $BASE_DIR/lint_config.sh -p \ 252 $BASE_DIR/lint_config.sh -p \
(...skipping 16 matching lines...) Expand all
269 echo "$combined_config" | sort | uniq 269 echo "$combined_config" | sort | uniq
270 } 270 }
271 271
272 # Generate *_rtcd.h files. 272 # Generate *_rtcd.h files.
273 # $1 - Header file directory. 273 # $1 - Header file directory.
274 # $2 - Architecture. 274 # $2 - Architecture.
275 function gen_rtcd_header { 275 function gen_rtcd_header {
276 echo "Generate $LIBVPX_CONFIG_DIR/$1/*_rtcd.h files." 276 echo "Generate $LIBVPX_CONFIG_DIR/$1/*_rtcd.h files."
277 277
278 rm -rf $BASE_DIR/$TEMP_DIR/libvpx.config 278 rm -rf $BASE_DIR/$TEMP_DIR/libvpx.config
279 if [ "$2" = "mipsel" ]; then 279 if [[ "$2" == "mipsel" || "$2" == "mips64el" ]]; then
280 print_config_basic $1 > $BASE_DIR/$TEMP_DIR/libvpx.config 280 print_config_basic $1 > $BASE_DIR/$TEMP_DIR/libvpx.config
281 else 281 else
282 $BASE_DIR/lint_config.sh -p \ 282 $BASE_DIR/lint_config.sh -p \
283 -h $BASE_DIR/$LIBVPX_CONFIG_DIR/$1/vpx_config.h \ 283 -h $BASE_DIR/$LIBVPX_CONFIG_DIR/$1/vpx_config.h \
284 -a $BASE_DIR/$LIBVPX_CONFIG_DIR/$1/vpx_config.asm \ 284 -a $BASE_DIR/$LIBVPX_CONFIG_DIR/$1/vpx_config.asm \
285 -o $BASE_DIR/$TEMP_DIR/libvpx.config 285 -o $BASE_DIR/$TEMP_DIR/libvpx.config
286 fi 286 fi
287 287
288 $BASE_DIR/$LIBVPX_SRC_DIR/build/make/rtcd.pl \ 288 $BASE_DIR/$LIBVPX_SRC_DIR/build/make/rtcd.pl \
289 --arch=$2 \ 289 --arch=$2 \
(...skipping 23 matching lines...) Expand all
313 } 313 }
314 314
315 # Generate Config files. "--enable-external-build" must be set to skip 315 # Generate Config files. "--enable-external-build" must be set to skip
316 # detection of capabilities on specific targets. 316 # detection of capabilities on specific targets.
317 # $1 - Header file directory. 317 # $1 - Header file directory.
318 # $2 - Config command line. 318 # $2 - Config command line.
319 function gen_config_files { 319 function gen_config_files {
320 ./configure $2 > /dev/null 320 ./configure $2 > /dev/null
321 321
322 # Generate vpx_config.asm. Do not create one for mips. 322 # Generate vpx_config.asm. Do not create one for mips.
323 if [[ "$1" != *mipsel ]]; then 323 if [[ "$1" != *mipsel && "$1" != *mips64el ]]; then
324 if [[ "$1" == *x64* ]] || [[ "$1" == *ia32* ]]; then 324 if [[ "$1" == *x64* ]] || [[ "$1" == *ia32* ]]; then
325 egrep "#define [A-Z0-9_]+ [01]" vpx_config.h | awk '{print $2 " equ " $3}' > vpx_config.asm 325 egrep "#define [A-Z0-9_]+ [01]" vpx_config.h | awk '{print $2 " equ " $3}' > vpx_config.asm
326 else 326 else
327 egrep "#define [A-Z0-9_]+ [01]" vpx_config.h | awk '{print $2 " EQU " $3}' | perl $BASE_DIR/$LIBVPX_SRC_DIR/build/make/ads2gas.pl > vpx_config.asm 327 egrep "#define [A-Z0-9_]+ [01]" vpx_config.h | awk '{print $2 " EQU " $3}' | perl $BASE_DIR/$LIBVPX_SRC_DIR/build/make/ads2gas.pl > vpx_config.asm
328 fi 328 fi
329 fi 329 fi
330 330
331 cp vpx_config.* $BASE_DIR/$LIBVPX_CONFIG_DIR/$1 331 cp vpx_config.* $BASE_DIR/$LIBVPX_CONFIG_DIR/$1
332 make_clean 332 make_clean
333 rm -rf vpx_config.* 333 rm -rf vpx_config.*
334 } 334 }
335 335
336 echo "Create temporary directory." 336 echo "Create temporary directory."
337 TEMP_DIR="$LIBVPX_SRC_DIR.temp" 337 TEMP_DIR="$LIBVPX_SRC_DIR.temp"
338 rm -rf $TEMP_DIR 338 rm -rf $TEMP_DIR
339 cp -R $LIBVPX_SRC_DIR $TEMP_DIR 339 cp -R $LIBVPX_SRC_DIR $TEMP_DIR
340 cd $TEMP_DIR 340 cd $TEMP_DIR
341 341
342 echo "Generate Config Files" 342 echo "Generate Config Files"
343 # TODO(joeyparrish) Enable AVX2 when broader VS2013 support is available 343 # TODO(joeyparrish) Enable AVX2 when broader VS2013 support is available
344 all_platforms="--enable-external-build --enable-postproc --disable-install-srcs --enable-multi-res-encoding --enable-temporal-denoising --disable-unit-tests --d isable-install-docs --disable-examples --disable-avx2" 344 all_platforms="--enable-external-build --enable-postproc --disable-install-srcs --enable-multi-res-encoding --enable-temporal-denoising --disable-unit-tests --d isable-install-docs --disable-examples --disable-avx2"
345 gen_config_files linux/ia32 "--target=x86-linux-gcc --disable-ccache --enable-pi c --enable-realtime-only ${all_platforms}" 345 gen_config_files linux/ia32 "--target=x86-linux-gcc --disable-ccache --enable-pi c --enable-realtime-only ${all_platforms}"
346 gen_config_files linux/x64 "--target=x86_64-linux-gcc --disable-ccache --enable- pic --enable-realtime-only ${all_platforms}" 346 gen_config_files linux/x64 "--target=x86_64-linux-gcc --disable-ccache --enable- pic --enable-realtime-only ${all_platforms}"
347 gen_config_files linux/arm "--target=armv6-linux-gcc --enable-pic --enable-realt ime-only --disable-install-bins --disable-install-libs --disable-edsp ${all_plat forms}" 347 gen_config_files linux/arm "--target=armv6-linux-gcc --enable-pic --enable-realt ime-only --disable-install-bins --disable-install-libs --disable-edsp ${all_plat forms}"
348 gen_config_files linux/arm-neon "--target=armv7-linux-gcc --enable-pic --enable- realtime-only --disable-edsp ${all_platforms}" 348 gen_config_files linux/arm-neon "--target=armv7-linux-gcc --enable-pic --enable- realtime-only --disable-edsp ${all_platforms}"
349 gen_config_files linux/arm-neon-cpu-detect "--target=armv7-linux-gcc --enable-pi c --enable-realtime-only --enable-runtime-cpu-detect --disable-edsp ${all_platfo rms}" 349 gen_config_files linux/arm-neon-cpu-detect "--target=armv7-linux-gcc --enable-pi c --enable-realtime-only --enable-runtime-cpu-detect --disable-edsp ${all_platfo rms}"
350 gen_config_files linux/arm64 "--force-target=armv8-linux-gcc --enable-pic --enab le-realtime-only --disable-edsp ${all_platforms}" 350 gen_config_files linux/arm64 "--force-target=armv8-linux-gcc --enable-pic --enab le-realtime-only --disable-edsp ${all_platforms}"
351 gen_config_files linux/mipsel "--target=mips32-linux-gcc --disable-fast-unaligne d ${all_platforms}" 351 gen_config_files linux/mipsel "--target=mips32-linux-gcc --disable-fast-unaligne d ${all_platforms}"
352 gen_config_files linux/mips64el "--target=mips64-linux-gcc --disable-fast-unalig ned ${all_platforms}"
352 gen_config_files linux/generic "--target=generic-gnu --enable-pic --enable-realt ime-only ${all_platforms}" 353 gen_config_files linux/generic "--target=generic-gnu --enable-pic --enable-realt ime-only ${all_platforms}"
353 gen_config_files win/ia32 "--target=x86-win32-vs12 --enable-realtime-only ${all_ platforms}" 354 gen_config_files win/ia32 "--target=x86-win32-vs12 --enable-realtime-only ${all_ platforms}"
354 gen_config_files win/x64 "--target=x86_64-win64-vs12 --enable-realtime-only ${al l_platforms}" 355 gen_config_files win/x64 "--target=x86_64-win64-vs12 --enable-realtime-only ${al l_platforms}"
355 gen_config_files mac/ia32 "--target=x86-darwin9-gcc --enable-pic --enable-realti me-only ${all_platforms}" 356 gen_config_files mac/ia32 "--target=x86-darwin9-gcc --enable-pic --enable-realti me-only ${all_platforms}"
356 gen_config_files mac/x64 "--target=x86_64-darwin9-gcc --enable-pic --enable-real time-only ${all_platforms}" 357 gen_config_files mac/x64 "--target=x86_64-darwin9-gcc --enable-pic --enable-real time-only ${all_platforms}"
357 gen_config_files nacl "--target=generic-gnu --enable-pic --enable-realtime-only ${all_platforms}" 358 gen_config_files nacl "--target=generic-gnu --enable-pic --enable-realtime-only ${all_platforms}"
358 359
359 echo "Remove temporary directory." 360 echo "Remove temporary directory."
360 cd $BASE_DIR 361 cd $BASE_DIR
361 rm -rf $TEMP_DIR 362 rm -rf $TEMP_DIR
362 363
363 echo "Lint libvpx configuration." 364 echo "Lint libvpx configuration."
364 lint_config linux/ia32 365 lint_config linux/ia32
365 lint_config linux/x64 366 lint_config linux/x64
366 lint_config linux/arm 367 lint_config linux/arm
367 lint_config linux/arm-neon 368 lint_config linux/arm-neon
368 lint_config linux/arm-neon-cpu-detect 369 lint_config linux/arm-neon-cpu-detect
369 lint_config linux/arm64 370 lint_config linux/arm64
370 lint_config linux/mipsel 371 lint_config linux/mipsel
372 lint_config linux/mips64el
371 lint_config linux/generic 373 lint_config linux/generic
372 lint_config win/ia32 374 lint_config win/ia32
373 lint_config win/x64 375 lint_config win/x64
374 lint_config mac/ia32 376 lint_config mac/ia32
375 lint_config mac/x64 377 lint_config mac/x64
376 lint_config nacl 378 lint_config nacl
377 379
378 echo "Create temporary directory." 380 echo "Create temporary directory."
379 TEMP_DIR="$LIBVPX_SRC_DIR.temp" 381 TEMP_DIR="$LIBVPX_SRC_DIR.temp"
380 rm -rf $TEMP_DIR 382 rm -rf $TEMP_DIR
381 cp -R $LIBVPX_SRC_DIR $TEMP_DIR 383 cp -R $LIBVPX_SRC_DIR $TEMP_DIR
382 cd $TEMP_DIR 384 cd $TEMP_DIR
383 385
384 gen_rtcd_header linux/ia32 x86 386 gen_rtcd_header linux/ia32 x86
385 gen_rtcd_header linux/x64 x86_64 387 gen_rtcd_header linux/x64 x86_64
386 gen_rtcd_header linux/arm armv6 388 gen_rtcd_header linux/arm armv6
387 gen_rtcd_header linux/arm-neon armv7 389 gen_rtcd_header linux/arm-neon armv7
388 gen_rtcd_header linux/arm-neon-cpu-detect armv7 390 gen_rtcd_header linux/arm-neon-cpu-detect armv7
389 gen_rtcd_header linux/arm64 armv8 391 gen_rtcd_header linux/arm64 armv8
390 gen_rtcd_header linux/mipsel mipsel 392 gen_rtcd_header linux/mipsel mipsel
393 gen_rtcd_header linux/mips64el mips64el
391 gen_rtcd_header linux/generic generic 394 gen_rtcd_header linux/generic generic
392 gen_rtcd_header win/ia32 x86 395 gen_rtcd_header win/ia32 x86
393 gen_rtcd_header win/x64 x86_64 396 gen_rtcd_header win/x64 x86_64
394 gen_rtcd_header mac/ia32 x86 397 gen_rtcd_header mac/ia32 x86
395 gen_rtcd_header mac/x64 x86_64 398 gen_rtcd_header mac/x64 x86_64
396 gen_rtcd_header nacl nacl 399 gen_rtcd_header nacl nacl
397 400
398 echo "Prepare Makefile." 401 echo "Prepare Makefile."
399 ./configure --target=generic-gnu > /dev/null 402 ./configure --target=generic-gnu > /dev/null
400 make_clean 403 make_clean
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
437 make_clean 440 make_clean
438 make libvpx_srcs.txt target=libs $config > /dev/null 441 make libvpx_srcs.txt target=libs $config > /dev/null
439 convert_srcs_to_gypi libvpx_srcs.txt libvpx_srcs_arm64 442 convert_srcs_to_gypi libvpx_srcs.txt libvpx_srcs_arm64
440 443
441 echo "Generate MIPS source list." 444 echo "Generate MIPS source list."
442 config=$(print_config_basic linux/mipsel) 445 config=$(print_config_basic linux/mipsel)
443 make_clean 446 make_clean
444 make libvpx_srcs.txt target=libs $config > /dev/null 447 make libvpx_srcs.txt target=libs $config > /dev/null
445 convert_srcs_to_gypi libvpx_srcs.txt libvpx_srcs_mips 448 convert_srcs_to_gypi libvpx_srcs.txt libvpx_srcs_mips
446 449
450 echo "MIPS64 source list is identical to MIPS source list. No need to generate i t."
451
447 echo "Generate NaCl source list." 452 echo "Generate NaCl source list."
448 config=$(print_config_basic nacl) 453 config=$(print_config_basic nacl)
449 make_clean 454 make_clean
450 make libvpx_srcs.txt target=libs $config > /dev/null 455 make libvpx_srcs.txt target=libs $config > /dev/null
451 convert_srcs_to_gypi libvpx_srcs.txt libvpx_srcs_nacl 456 convert_srcs_to_gypi libvpx_srcs.txt libvpx_srcs_nacl
452 457
453 echo "Generate GENERIC source list." 458 echo "Generate GENERIC source list."
454 config=$(print_config_basic linux/generic) 459 config=$(print_config_basic linux/generic)
455 make_clean 460 make_clean
456 make libvpx_srcs.txt target=libs $config > /dev/null 461 make libvpx_srcs.txt target=libs $config > /dev/null
457 convert_srcs_to_gypi libvpx_srcs.txt libvpx_srcs_generic 462 convert_srcs_to_gypi libvpx_srcs.txt libvpx_srcs_generic
458 463
459 echo "Remove temporary directory." 464 echo "Remove temporary directory."
460 cd $BASE_DIR 465 cd $BASE_DIR
461 rm -rf $TEMP_DIR 466 rm -rf $TEMP_DIR
462 467
463 # TODO(fgalligan): Is "--disable-fast-unaligned" needed on mipsel? 468 # TODO(fgalligan): Is "--disable-fast-unaligned" needed on mipsel?
464 # TODO(fgalligan): Can we turn on "--enable-realtime-only" for mipsel? 469 # TODO(fgalligan): Can we turn on "--enable-realtime-only" for mipsel?
OLDNEW
« no previous file with comments | « no previous file | libvpx.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698