Received: by 10.192.165.156 with SMTP id m28csp2443567imm; Sun, 15 Apr 2018 00:42:29 -0700 (PDT) X-Google-Smtp-Source: AIpwx49ON7mMG/N9RxbqnftG8yw9Sb3QLa3NzRThsxKZ2eoOzlGKzkyn0MzE9vwo34eiIB+gS3L7 X-Received: by 10.99.51.137 with SMTP id z131mr9306304pgz.386.1523778149669; Sun, 15 Apr 2018 00:42:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523778149; cv=none; d=google.com; s=arc-20160816; b=sA8ucbiNV6gDe79mFm0GOXQPILfVgQC9VqcAlCyf9wmFKoqhRm+zTkGjOFA3asJ+n1 biPouZx1JxIj2XFbt13VaczWSp1sRi/1RU7V4ApBVflb3cpIahZHSBb9TfWq/ZO3zI2K yKd5u1KXVpauiQihwAxipFvwjXZ14vKyoA+1A93+W+KaBvz/bGw0cHIQH8otwBi88qu9 gcD9mkbdbfD275cfshhkJeEgEz3CQnxFZKAejFy4T9pADvfaZmxN3z6TGdLQ7MXst+RX KHpkJzNHRJCD7Bq0JST5uixkshSoryCYA975LIdWfk4phPFl7LPlJRoR49Xf5BgnXXhm jhCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=wywjTv8eM62XYCOlzFIE1rY6Q/4sTfpCBIflLoVCi5k=; b=rKTMHcaoHwIU0a8O31dEOag+97yg4PAsit2DjPLGmdNs7PZiW+siMllSGs/VFsxmpH le80PLzOU2fxdWGQOvdw45naAkyzMZ/5xokQT20VkVOJwA78XQ6YzCBXyAlI96N3ddb8 ATMJ94dPQFbJU+/b5Mw7WdxeyhSXrfkiMp56Rq5gN+4+uaCFnAufDw3Sv93DOJ7I/Yu3 Bp1B+HBFOpGGPGsutNitOVwgy6TdbXf8Y+hmnOa4FSGVS+23UX+4WgRJPBsH5zWkamhs m6yGB/8xRc3KLSsX/xsNcp0YsOBbHcpIqRas238QZjpn6t1BLkxv+8cehhWoCZlZn0pl 2wGw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=lP5gvlNJ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q127si409812pfb.1.2018.04.15.00.42.15; Sun, 15 Apr 2018 00:42:29 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=lP5gvlNJ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751840AbeDOHlK (ORCPT + 99 others); Sun, 15 Apr 2018 03:41:10 -0400 Received: from mail-vk0-f65.google.com ([209.85.213.65]:39017 "EHLO mail-vk0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750922AbeDOHlI (ORCPT ); Sun, 15 Apr 2018 03:41:08 -0400 Received: by mail-vk0-f65.google.com with SMTP id n124so7713490vkd.6; Sun, 15 Apr 2018 00:41:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=wywjTv8eM62XYCOlzFIE1rY6Q/4sTfpCBIflLoVCi5k=; b=lP5gvlNJiWQKyu2u9EovS99B2RepLf4rJ5+6OAc7ropUiemXU+6QaXR4jGWXZpoHJn 269iry0Wmol/0eJjy7H1OjCndNJa/MdjZflvidu2fciB54lsafjDYlbGfiM16bIQZIjj Nidf+769hyrLI7f0JPNO3qajk9ndwmRNDha3flS1L8HYmOTm9B9s+weUhwh3g//mDf22 wIEvwu2w9Cd74nOzOXdy+M0B1bQyZ/nAzE8TsIhXz2haA2tKCT5VlopraVwGm+/GjeCu 9wzxqx8mP1qOZNIbrfJNrov4gyh57knyTkIzLncSUT7xFhdtG4U4p7m5SZt5vyc386DD Jf5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=wywjTv8eM62XYCOlzFIE1rY6Q/4sTfpCBIflLoVCi5k=; b=HNyjVDeQD70eu/anfP/OwW8d+fP7TGgykxGQ/dlWKOsfyCglH7Z4QMJU1kvOqqLllw 5Tzoue85AMsvXtetL47y1sIhBcoa7izwdPse9z0ZmlG31/eIjOCOzBgDkd/+LSC2HXsj gEm+Jb1T/v9CS0BncjyUiqPicp94fN8rQWu3jhKwm8wciUcLJnAFPZATSMFdyHATZFVC Z5wSEzSRNy617EO4EObOu2mCFGBQqYxRynO1YEKtOA1016V5EL/jXnTsWiqY2ELGXmXp ca+GfyWEOyNjnmx5xanlJ8sW5GWMh/mrRA6tXI3qZiFSnMxV4wfJJpQOeDBDeL4Hcjp5 4DsA== X-Gm-Message-State: ALQs6tDihrJC9IJaXNHVUDee9G1CYHbGac7OZNAFJgpABcmnaWVCiW2D uldSpFv/cJKtoDLgTfzS8lScC2t69Q+xqB6XQyYsh12t X-Received: by 10.31.55.11 with SMTP id e11mr7874808vka.192.1523778067909; Sun, 15 Apr 2018 00:41:07 -0700 (PDT) MIME-Version: 1.0 Received: by 10.103.222.15 with HTTP; Sun, 15 Apr 2018 00:41:07 -0700 (PDT) In-Reply-To: <1523595999-27433-21-git-send-email-yamada.masahiro@socionext.com> References: <1523595999-27433-1-git-send-email-yamada.masahiro@socionext.com> <1523595999-27433-21-git-send-email-yamada.masahiro@socionext.com> From: Ulf Magnusson Date: Sun, 15 Apr 2018 09:41:07 +0200 Message-ID: Subject: Re: [PATCH 20/30] kconfig: add basic helper macros to scripts/Kconfig.include To: Masahiro Yamada Cc: Linux Kbuild mailing list , Linus Torvalds , Sam Ravnborg , Nicholas Piggin , Kees Cook , Emese Revfy , X86 ML , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Apr 13, 2018 at 7:06 AM, Masahiro Yamada wrote: > Kconfig got text processing tools like we see in Make. Add Kconfig > helper macros to scripts/Kconfig.include like we collect Makefile > macros in scripts/Kbuild.include. > > Signed-off-by: Masahiro Yamada > Reviewed-by: Kees Cook > Reviewed-by: Ulf Magnusson > --- > > Changes in v3: > - Move helpers to scripts/Kconfig.include > > Changes in v2: None > > Kconfig | 2 ++ > MAINTAINERS | 1 + > scripts/Kconfig.include | 17 +++++++++++++++++ > 3 files changed, 20 insertions(+) > create mode 100644 scripts/Kconfig.include > > diff --git a/Kconfig b/Kconfig > index 5b55d87..a90d9f9 100644 > --- a/Kconfig > +++ b/Kconfig > @@ -7,4 +7,6 @@ mainmenu "Linux/$(ARCH) $(KERNELVERSION) Kernel Configuration" > > comment "Compiler: $(CC_VERSION_TEXT)" > > +source "scripts/Kconfig.include" > + > source "arch/$(SRCARCH)/Kconfig" > diff --git a/MAINTAINERS b/MAINTAINERS > index b9dab38..d962f4a 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -7624,6 +7624,7 @@ L: linux-kbuild@vger.kernel.org > S: Maintained > F: Documentation/kbuild/kconfig* > F: scripts/kconfig/ > +F: scripts/Kconfig.include > > KDUMP > M: Dave Young > diff --git a/scripts/Kconfig.include b/scripts/Kconfig.include > new file mode 100644 > index 0000000..cac7a81 > --- /dev/null > +++ b/scripts/Kconfig.include > @@ -0,0 +1,17 @@ > +# Kconfig helper macros > + > +# Convenient variables > +comma := , > +quote := " > +squote := ' > +empty := > +space := $(empty) $(empty) > + > +# y if the command exits with 0, n otherwise > +success = $(shell ($(1)) >/dev/null 2>&1 && echo y || echo n) '{ $(1); }' might work here, to avoid the extra subshell. Shaves 20-30% off the runtime here in a silly system("(true) >/dev/null 2>&1 && echo y || echo n") vs. system("{ true; } >/dev/null 2>&1 && echo y || echo n") comparison. > + > +# y if the given compiler flag is supported, n otherwise > +cc-option = $(success $(CC) -Werror $(1) -c -x c /dev/null -o /dev/null) > + > +# y if the given linker flag is supported, n otherwise > +ld-option = $(success $(LD) -v $(1)) > -- > 2.7.4 > Cheers, Ulf