зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1476408 - No longer necessary to run lint_config.sh anymore; r=TD-Linux
Summary: Upstream can now code generate the rtcd interface files directly from the aom_config.h header, so we no longer have to generate an intermediate file by running lint_config.sh. This also means we can remove the code for creating a temporary directory. Reviewers: TD-Linux Tags: #secure-revision Bug #: 1476408 Differential Revision: https://phabricator.services.mozilla.com/D2357 --HG-- extra : rebase_source : 8effc0fc61403db473fc90bc3989912b46133c3e
This commit is contained in:
Родитель
81bf621fb6
Коммит
d421ba3540
|
@ -25,14 +25,6 @@ function write_license {
|
|||
echo "" >> $1
|
||||
}
|
||||
|
||||
# Print the configuration.
|
||||
# $1 - Header file directory.
|
||||
function print_config {
|
||||
$BASE_DIR/lint_config.sh -p \
|
||||
-h $BASE_DIR/$LIBAOM_CONFIG_DIR/$1/config/aom_config.h \
|
||||
-a $BASE_DIR/$LIBAOM_CONFIG_DIR/$1/config/aom_config.asm
|
||||
}
|
||||
|
||||
# Generate *_rtcd.h files.
|
||||
# $1 - Header file directory.
|
||||
# $2 - Architecture.
|
||||
|
@ -40,34 +32,28 @@ function print_config {
|
|||
function gen_rtcd_header {
|
||||
echo "Generate $LIBAOM_CONFIG_DIR/$1/*_rtcd.h files."
|
||||
|
||||
rm -rf $TEMP_DIR/libaom.config
|
||||
$BASE_DIR/lint_config.sh -p \
|
||||
-h $BASE_DIR/$LIBAOM_CONFIG_DIR/$1/config/aom_config.h \
|
||||
-a $BASE_DIR/$LIBAOM_CONFIG_DIR/$1/config/aom_config.asm \
|
||||
-o $TEMP_DIR/libaom.config
|
||||
AOM_CONFIG=$BASE_DIR/$LIBAOM_CONFIG_DIR/$1/config/aom_config.h
|
||||
|
||||
$BASE_DIR/$LIBAOM_SRC_DIR/build/make/rtcd.pl \
|
||||
--arch=$2 \
|
||||
--sym=aom_rtcd $3 \
|
||||
--config=$TEMP_DIR/libaom.config \
|
||||
--config=$AOM_CONFIG \
|
||||
$BASE_DIR/$LIBAOM_SRC_DIR/av1/common/av1_rtcd_defs.pl \
|
||||
> $BASE_DIR/$LIBAOM_CONFIG_DIR/$1/config/av1_rtcd.h
|
||||
|
||||
$BASE_DIR/$LIBAOM_SRC_DIR/build/make/rtcd.pl \
|
||||
--arch=$2 \
|
||||
--sym=aom_scale_rtcd $3 \
|
||||
--config=$TEMP_DIR/libaom.config \
|
||||
--config=$AOM_CONFIG \
|
||||
$BASE_DIR/$LIBAOM_SRC_DIR/aom_scale/aom_scale_rtcd.pl \
|
||||
> $BASE_DIR/$LIBAOM_CONFIG_DIR/$1/config/aom_scale_rtcd.h
|
||||
|
||||
$BASE_DIR/$LIBAOM_SRC_DIR/build/make/rtcd.pl \
|
||||
--arch=$2 \
|
||||
--sym=aom_dsp_rtcd $3 \
|
||||
--config=$TEMP_DIR/libaom.config \
|
||||
--config=$AOM_CONFIG \
|
||||
$BASE_DIR/$LIBAOM_SRC_DIR/aom_dsp/aom_dsp_rtcd_defs.pl \
|
||||
> $BASE_DIR/$LIBAOM_CONFIG_DIR/$1/config/aom_dsp_rtcd.h
|
||||
|
||||
rm -rf $TEMP_DIR/libaom.config
|
||||
}
|
||||
|
||||
echo "Generating config files."
|
||||
|
@ -77,15 +63,6 @@ python generate_sources_mozbuild.py
|
|||
# Copy aom_version.h once. The file is the same for all platforms.
|
||||
cp aom_version.h $BASE_DIR/$LIBAOM_CONFIG_DIR
|
||||
|
||||
echo "Remove temporary directory."
|
||||
rm -rf $TEMP_DIR
|
||||
|
||||
echo "Create temporary directory."
|
||||
TEMP_DIR="$BASE_DIR/.temp"
|
||||
rm -rf $TEMP_DIR
|
||||
cp -R $LIBAOM_SRC_DIR $TEMP_DIR
|
||||
cd $TEMP_DIR
|
||||
|
||||
gen_rtcd_header linux/x64 x86_64
|
||||
gen_rtcd_header linux/ia32 x86
|
||||
gen_rtcd_header mac/x64 x86_64
|
||||
|
@ -98,10 +75,6 @@ gen_rtcd_header linux/arm armv7
|
|||
|
||||
gen_rtcd_header generic generic
|
||||
|
||||
echo "Remove temporary directory."
|
||||
cd $BASE_DIR
|
||||
rm -rf $TEMP_DIR
|
||||
|
||||
cd $BASE_DIR/$LIBAOM_SRC_DIR
|
||||
|
||||
cd $BASE_DIR
|
||||
|
|
|
@ -1,115 +0,0 @@
|
|||
#!/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 WIDE_REFERENCE)"
|
||||
combined_config="$(echo "$combined_config" | grep -v ARCHITECTURE)"
|
||||
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
|
||||
combined_config="$(echo "$combined_config" | sed 's/\.set//')" # apple 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)"
|
||||
|
||||
# aom_dsp_rtcd_defs.h checks for definition here, not value.
|
||||
combined_config="$(echo "$combined_config" | grep -v CONFIG_EXT_PARTITION_TYPES=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
|
Загрузка…
Ссылка в новой задаче