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

Side by Side Diff: third_party/libvpx_new/lint_config.sh

Issue 1734613003: Move libvpx_new to libvpx (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 9 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
OLDNEW
(Empty)
1 #!/bin/bash -e
2 #
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
5 # found in the LICENSE file.
6
7 # This script is used to compare vpx_config.h and vpx_config.asm to
8 # verify the two files match.
9 #
10 # Arguments:
11 #
12 # -h - C Header file.
13 # -a - ASM file.
14 # -p - Print the options if correct.
15 # -o - Output file.
16 #
17 # Usage:
18 #
19 # # Compare the two configuration files and output the final results.
20 # ./lint_config.sh -h vpx_config.h -a vpx_config.asm -o libvpx.config -p
21
22 export LC_ALL=C
23 print_final="no"
24
25 while getopts "h:a:o:p" flag
26 do
27 if [ "$flag" = "h" ]; then
28 header_file=$OPTARG
29 elif [ "$flag" = "a" ]; then
30 asm_file=$OPTARG
31 elif [ "$flag" = "o" ]; then
32 out_file=$OPTARG
33 elif [ "$flag" = "p" ]; then
34 print_final="yes"
35 fi
36 done
37
38 if [ -z "$header_file" ]; then
39 echo "Header file not specified."
40 false
41 exit
42 fi
43
44 if [ -z "$asm_file" ]; then
45 echo "ASM file not specified."
46 false
47 exit
48 fi
49
50 # Concat header file and assembly file and select those ended with 0 or 1.
51 combined_config="$(cat $header_file $asm_file | grep -E ' +[01] *$')"
52
53 # Extra filtering for known exceptions.
54 combined_config="$(echo "$combined_config" | grep -v DO1STROUNDING)"
55
56 # Remove all spaces.
57 combined_config="$(echo "$combined_config" | sed 's/[ \t]//g')"
58
59 # Remove #define in the header file.
60 combined_config="$(echo "$combined_config" | sed 's/.*define//')"
61
62 # Remove equ in the ASM file.
63 combined_config="$(echo "$combined_config" | sed 's/\.equ//')" # gas style
64 combined_config="$(echo "$combined_config" | sed 's/equ//')" # rvds style
65
66 # Remove %define in YASM ASM files.
67 combined_config="$(echo "$combined_config" | sed 's/%define\s *//')" # yasm styl e
68
69 # Remove useless comma in gas style assembly file.
70 combined_config="$(echo "$combined_config" | sed 's/,//')"
71
72 # Substitute 0 with =no.
73 combined_config="$(echo "$combined_config" | sed 's/0$/=no/')"
74
75 # Substitute 1 with =yes.
76 combined_config="$(echo "$combined_config" | sed 's/1$/=yes/')"
77
78 # Find the mismatch variables.
79 odd_config="$(echo "$combined_config" | sort | uniq -u)"
80 odd_vars="$(echo "$odd_config" | sed 's/=.*//' | uniq)"
81
82 for var in $odd_vars; do
83 echo "Error: Configuration mismatch for $var."
84 echo "Header file: $header_file"
85 echo "$(cat -n $header_file | grep "$var[ \t]")"
86 echo "Assembly file: $asm_file"
87 echo "$(cat -n $asm_file | grep "$var[ \t]")"
88 echo ""
89 done
90
91 if [ -n "$odd_vars" ]; then
92 false
93 exit
94 fi
95
96 if [ "$print_final" = "no" ]; then
97 exit
98 fi
99
100 # Do some additional filter to make libvpx happy.
101 combined_config="$(echo "$combined_config" | grep -v ARCH_X86=no)"
102 combined_config="$(echo "$combined_config" | grep -v ARCH_X86_64=no)"
103
104 # Print out the unique configurations.
105 if [ -n "$out_file" ]; then
106 echo "$combined_config" | sort | uniq > $out_file
107 else
108 echo "$combined_config" | sort | uniq
109 fi
OLDNEW
« no previous file with comments | « third_party/libvpx_new/libvpx_srcs_x86_intrinsics.gypi ('k') | third_party/libvpx_new/run_perl.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698