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

Unified Diff: third_party/libvpx_new/lint_config.sh

Issue 1323333002: Copy libvpx from DEPS to src (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update include order and rebase Created 5 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 side-by-side diff with in-line comments
Download patch
« 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 »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/libvpx_new/lint_config.sh
diff --git a/third_party/libvpx_new/lint_config.sh b/third_party/libvpx_new/lint_config.sh
new file mode 100755
index 0000000000000000000000000000000000000000..d57e4518fde8c3213e6c7608918ddb69ad7a8680
--- /dev/null
+++ b/third_party/libvpx_new/lint_config.sh
@@ -0,0 +1,109 @@
+#!/bin/bash -e
+#
+# Copyright (c) 2012 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This script is used to compare vpx_config.h and vpx_config.asm to
+# verify the two files match.
+#
+# Arguments:
+#
+# -h - C Header file.
+# -a - ASM file.
+# -p - Print the options if correct.
+# -o - Output file.
+#
+# Usage:
+#
+# # Compare the two configuration files and output the final results.
+# ./lint_config.sh -h vpx_config.h -a vpx_config.asm -o libvpx.config -p
+
+export LC_ALL=C
+print_final="no"
+
+while getopts "h:a:o:p" flag
+do
+ if [ "$flag" = "h" ]; then
+ header_file=$OPTARG
+ elif [ "$flag" = "a" ]; then
+ asm_file=$OPTARG
+ elif [ "$flag" = "o" ]; then
+ out_file=$OPTARG
+ elif [ "$flag" = "p" ]; then
+ print_final="yes"
+ fi
+done
+
+if [ -z "$header_file" ]; then
+ echo "Header file not specified."
+ false
+ exit
+fi
+
+if [ -z "$asm_file" ]; then
+ echo "ASM file not specified."
+ false
+ exit
+fi
+
+# Concat header file and assembly file and select those ended with 0 or 1.
+combined_config="$(cat $header_file $asm_file | grep -E ' +[01] *$')"
+
+# Extra filtering for known exceptions.
+combined_config="$(echo "$combined_config" | grep -v DO1STROUNDING)"
+
+# Remove all spaces.
+combined_config="$(echo "$combined_config" | sed 's/[ \t]//g')"
+
+# Remove #define in the header file.
+combined_config="$(echo "$combined_config" | sed 's/.*define//')"
+
+# Remove equ in the ASM file.
+combined_config="$(echo "$combined_config" | sed 's/\.equ//')" # gas style
+combined_config="$(echo "$combined_config" | sed 's/equ//')" # rvds style
+
+# Remove %define in YASM ASM files.
+combined_config="$(echo "$combined_config" | sed 's/%define\s *//')" # yasm style
+
+# Remove useless comma in gas style assembly file.
+combined_config="$(echo "$combined_config" | sed 's/,//')"
+
+# Substitute 0 with =no.
+combined_config="$(echo "$combined_config" | sed 's/0$/=no/')"
+
+# Substitute 1 with =yes.
+combined_config="$(echo "$combined_config" | sed 's/1$/=yes/')"
+
+# Find the mismatch variables.
+odd_config="$(echo "$combined_config" | sort | uniq -u)"
+odd_vars="$(echo "$odd_config" | sed 's/=.*//' | uniq)"
+
+for var in $odd_vars; do
+ echo "Error: Configuration mismatch for $var."
+ echo "Header file: $header_file"
+ echo "$(cat -n $header_file | grep "$var[ \t]")"
+ echo "Assembly file: $asm_file"
+ echo "$(cat -n $asm_file | grep "$var[ \t]")"
+ echo ""
+done
+
+if [ -n "$odd_vars" ]; then
+ false
+ exit
+fi
+
+if [ "$print_final" = "no" ]; then
+ exit
+fi
+
+# Do some additional filter to make libvpx happy.
+combined_config="$(echo "$combined_config" | grep -v ARCH_X86=no)"
+combined_config="$(echo "$combined_config" | grep -v ARCH_X86_64=no)"
+
+# Print out the unique configurations.
+if [ -n "$out_file" ]; then
+ echo "$combined_config" | sort | uniq > $out_file
+else
+ echo "$combined_config" | sort | uniq
+fi
« 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