tools/testing/selftests/mm/check_config.sh

Source file repositories/reference/linux-study-clean/tools/testing/selftests/mm/check_config.sh

File Facts

System
Linux kernel
Corpus path
tools/testing/selftests/mm/check_config.sh
Extension
.sh
Size
909 bytes
Lines
31
Domain
Support Tooling And Documentation
Bucket
tools
Inferred role
Support Tooling And Documentation: tools
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
#
# Probe for libraries and create header files to record the results. Both C
# header files and Makefile include fragments are created.

OUTPUT_H_FILE=local_config.h
OUTPUT_MKFILE=local_config.mk

tmpname=$(mktemp)
tmpfile_c=${tmpname}.c
tmpfile_o=${tmpname}.o

# liburing
echo "#include <sys/types.h>"        > $tmpfile_c
echo "#include <liburing.h>"        >> $tmpfile_c
echo "int func(void) { return 0; }" >> $tmpfile_c

$CC $CFLAGS -c $tmpfile_c -o $tmpfile_o >/dev/null 2>&1

if [ -f $tmpfile_o ]; then
    echo "#define LOCAL_CONFIG_HAVE_LIBURING 1"  > $OUTPUT_H_FILE
    echo "IOURING_EXTRA_LIBS = -luring"          > $OUTPUT_MKFILE
else
    echo "// No liburing support found"          > $OUTPUT_H_FILE
    echo "# No liburing support found, so:"      > $OUTPUT_MKFILE
    echo "IOURING_EXTRA_LIBS = "                >> $OUTPUT_MKFILE
fi

rm ${tmpname}.*

Annotation

Implementation Notes