/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _TOOLS_CONFIG_H
#define _TOOLS_CONFIG_H
/* Subset of include/linux/kconfig.h */
#define __ARG_PLACEHOLDER_1 0 ,
#define __take_second_arg(__ignored, val, ...) val
/*
* Helper macros to use CONFIG_ options in C / CPP expressions . Note that
* these only work with boolean and tristate options .
*/
/*
* Getting something that works in C and CPP for an arg that may or may
* not be defined is tricky . Here , if we have " # define CONFIG_BOOGER 1 "
* we match on the placeholder define , insert the " 0 , " for arg1 and generate
* the triplet ( 0 , 1 , 0 ) . Then the last step cherry picks the 2 nd arg ( a one ) .
* When CONFIG_BOOGER is not defined , we generate a ( . . . 1 , 0 ) pair , and when
* the last step cherry picks the 2 nd arg , we get a zero .
*/
#define __is_defined(x) ___is_defined(x)
#define ___is_defined(val) ____is_defined(__ARG_PLACEHOLDER_## val)
#define ____is_defined(arg1_or_junk) __take_second_arg(arg1_or_junk 1 , 0 )
/*
* IS_BUILTIN ( CONFIG_FOO ) evaluates to 1 if CONFIG_FOO is set to ' y ' , 0
* otherwise . For boolean options , this is equivalent to
* IS_ENABLED ( CONFIG_FOO ) .
*/
#define IS_BUILTIN(option) __is_defined(option)
#endif /* _TOOLS_CONFIG_H */
Messung V0.5 in Prozent C=89 H=77 G=83
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-10-12)
¤
*© Formatika GbR, Deutschland