From b38480dc4e080bedbdd1ecefbdabf6c646ff72cf Mon Sep 17 00:00:00 2001 From: Bruce Richardson Date: Fri, 29 Jan 2021 16:48:23 +0000 Subject: [PATCH] devtools: remove check-includes script The check-includes script allowed checking header files in a given directory to ensure that each header compiled alone without requiring any other header inclusions. With header checking now being done by the chkincs app in the build system this script can be removed. Signed-off-by: Bruce Richardson --- MAINTAINERS | 1 - devtools/check-includes.sh | 259 ------------------------- doc/guides/rel_notes/release_21_02.rst | 4 + 3 files changed, 4 insertions(+), 260 deletions(-) delete mode 100755 devtools/check-includes.sh diff --git a/MAINTAINERS b/MAINTAINERS index ec203143c3..3f8b6515c3 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -81,7 +81,6 @@ F: devtools/check-dup-includes.sh F: devtools/check-maintainers.sh F: devtools/check-forbidden-tokens.awk F: devtools/check-git-log.sh -F: devtools/check-includes.sh F: devtools/check-spdx-tag.sh F: devtools/check-symbol-maps.sh F: devtools/checkpatches.sh diff --git a/devtools/check-includes.sh b/devtools/check-includes.sh deleted file mode 100755 index 940cf0eb2a..0000000000 --- a/devtools/check-includes.sh +++ /dev/null @@ -1,259 +0,0 @@ -#!/bin/sh -e -# SPDX-License-Identifier: BSD-3-Clause -# Copyright 2016 6WIND S.A. - -# This script checks that header files in a given directory do not miss -# dependencies when included on their own, do not conflict and accept being -# compiled with the strictest possible flags. -# -# Files are looked up in the directory provided as the first argument, -# otherwise build/include by default. -# -# Recognized environment variables: -# -# VERBOSE=1 is the same as -v. -# -# QUIET=1 is the same as -q. -# -# SUMMARY=1 is the same as -s. -# -# CC, CPPFLAGS, CFLAGS, CXX, CXXFLAGS are taken into account. -# -# PEDANTIC_CFLAGS, PEDANTIC_CXXFLAGS and PEDANTIC_CPPFLAGS provide strict -# C/C++ compilation flags. -# -# IGNORE contains a list of globbing patterns matching files (relative to the -# include directory) to avoid. It is set by default to known DPDK headers -# which must not be included on their own. -# -# IGNORE_CXX provides additional files for C++. - -while getopts hqvs arg; do - case $arg in - h) - cat < /dev/null - -[ "$VERBOSE" = 1 ] && -output () -{ - local CCV - local CXXV - - shift - CCV=$CC - CXXV=$CXX - CC="echo $CC" CXX="echo $CXX" "$@" - CC=$CCV - CXX=$CXXV - - "$@" -} || -output () -{ - - printf ' %s\n' "$1" - shift - "$@" -} - -trap 'rm -f "$temp_cc" "$temp_cxx"' EXIT - -compile_cc () -{ - ${CC} -I"$include_dir" \ - ${PEDANTIC_CPPFLAGS} ${CPPFLAGS} \ - ${PEDANTIC_CFLAGS} ${CFLAGS} \ - -c -o /dev/null "${temp_cc}" -} - -compile_cxx () -{ - ${CXX} -I"$include_dir" \ - ${PEDANTIC_CPPFLAGS} ${CPPFLAGS} \ - ${PEDANTIC_CXXFLAGS} ${CXXFLAGS} \ - -c -o /dev/null "${temp_cxx}" -} - -ignore () -{ - file="$1" - shift - while [ $# -ne 0 ]; do - case "$file" in - $1) - return 0 - ;; - esac - shift - done - return 1 -} - -# Check C/C++ compilation for each header file. - -while read -r path -do - file=${path#$include_dir} - file=${file##/} - if ignore "$file" $IGNORE; then - output "SKIP $file" : - continue - fi - if printf "\ -#include <%s> - -int main(void) -{ - return 0; -} -" "$file" > "$temp_cc" && - output "CC $file" compile_cc - then - pass_cc="$pass_cc $file" - else - failures_cc=$(($failures_cc + 1)) - fi - if ignore "$file" $IGNORE_CXX; then - output "SKIP CXX $file" : - continue - fi - if printf "\ -#include <%s> - -int main() -{ -} -" "$file" > "$temp_cxx" && - output "CXX $file" compile_cxx - then - pass_cxx="$pass_cxx $file" - else - failures_cxx=$(($failures_cxx + 1)) - fi -done < "$temp_cc" && -for file in $pass_cc; do - printf "\ -#include <%s> -" "$file" >> $temp_cc -done -if printf "\ -int main(void) -{ - return 0; -} -" >> "$temp_cc" && - output "CC (all includes that did not fail)" compile_cc -then - : -else - failures_cc=$(($failures_cc + 1)) -fi - -# Check C++ compilation with all includes. - -: > "$temp_cxx" && -for file in $pass_cxx; do - printf "\ -#include <%s> -" "$file" >> $temp_cxx -done -if printf "\ -int main() -{ -} -" >> "$temp_cxx" && - output "CXX (all includes that did not fail)" compile_cxx -then - : -else - failures_cxx=$(($failures_cxx + 1)) -fi - -# Report results. - -if [ "$SUMMARY" = 1 ]; then - printf "\ -Summary: - %u failure(s) for C using '%s'. - %u failure(s) for C++ using '%s'. -" $failures_cc "$CC" $failures_cxx "$CXX" 1>&2 -fi - -# Exit with nonzero status if there are failures. - -[ $failures_cc -eq 0 ] && -[ $failures_cxx -eq 0 ] diff --git a/doc/guides/rel_notes/release_21_02.rst b/doc/guides/rel_notes/release_21_02.rst index 29046a6f7d..9e0f4c9150 100644 --- a/doc/guides/rel_notes/release_21_02.rst +++ b/doc/guides/rel_notes/release_21_02.rst @@ -176,6 +176,10 @@ Removed Items PCI device IDs ``0x16c8, 0x16c9, 0x16ca, 0x16ce, 0x16cf, 0x16df, 0x16d0,`` ``0x16d1, 0x16d2, 0x16d4, 0x16d5, 0x16e7, 0x16e8, 0x16e9`` has been removed. +* The ``check-includes.sh`` script for checking DPDK header files has been + removed, being replaced by the ``check_includes`` build option described + above. + API Changes ----------- -- 2.20.1