Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp281037imm; Fri, 5 Oct 2018 03:49:57 -0700 (PDT) X-Google-Smtp-Source: ACcGV63/B+ivVa5agykfDcyGfiDESN3L0EaDm3S6h2bfIXDWYdBZ4YxCv4/uzw7lwBC/Z16MkXQB X-Received: by 2002:a63:da17:: with SMTP id c23-v6mr9898811pgh.23.1538736597225; Fri, 05 Oct 2018 03:49:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538736597; cv=none; d=google.com; s=arc-20160816; b=0ygKhT9nD3s5aNDY4a3AYxkBf+pb4rns8nifTUC5znBp1+wcmJSLQTLK7zpJz1FmV2 FGyzzvtOj7jaZAGIYDCpgjnv1qY+W+aQ2euQpImIsoZV+ueu/CNCNbMLbDkXaJOOA4dq cMbvsKUMCN8HDWaJFXeOYCrYfaqpFnM7oApTfH96ynoDsKa7KgfVujR6fJ8wSeIcp8e2 s+uLZ4J6N+qV26/KfFn9SFshSH1QrGdxXk2wRZoBd0DkhibcA/0Z+jY83R9WqMpY+tWg VJ3sUXcjqhIrZlsrN7ap1VVXscElJA3IUx3/SRftTdKyHP+fvzUmjJrJb0lHJHIU6OvN SpWQ== 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 :in-reply-to:references:mime-version:dkim-signature:dkim-filter; bh=ezK4SHU5ec3fuzJgQK3+9lbjhWJ/Z71IxBOweH5jZ+k=; b=E8wyNTipjb2XSQIT8c3xUE1158LHdGWp8LzPz1N3HK8f6ZXDqtZJmpAEvWvQY4ERj4 69djSgZMc8Mqg+jOf0MLkyVsYyUuQOc0doC4mS9/qWt8daQq3VWh4i8PfVaHUR89eswI YweAfXnMQI/JuSSDiPZMefNItAnwZ7+SKIUDrMFcNHdS8sQJtQ3SMvEybekGzxpzpOhA C/CToUvqLCe9rfvnjpLJbK/cCUoxkN5ki2NYPXl7lAMRaqTsyhweWb/JvUWA/8Ywlft4 RRoeFVQbRW+7ZpJhwqg7Wo+AQBGF34zE13fOotON5b569IxiyrnJosAgyPuhnApywQzd s7Eg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=OZGUoIDg; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v11-v6si8064721pgj.276.2018.10.05.03.49.40; Fri, 05 Oct 2018 03:49:57 -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=@nifty.com header.s=dec2015msa header.b=OZGUoIDg; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727804AbeJERrk (ORCPT + 99 others); Fri, 5 Oct 2018 13:47:40 -0400 Received: from conssluserg-05.nifty.com ([210.131.2.90]:49878 "EHLO conssluserg-05.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727616AbeJERrk (ORCPT ); Fri, 5 Oct 2018 13:47:40 -0400 Received: from mail-ua1-f42.google.com (mail-ua1-f42.google.com [209.85.222.42]) (authenticated) by conssluserg-05.nifty.com with ESMTP id w95AnAd8015519; Fri, 5 Oct 2018 19:49:11 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-05.nifty.com w95AnAd8015519 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1538736551; bh=ezK4SHU5ec3fuzJgQK3+9lbjhWJ/Z71IxBOweH5jZ+k=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=OZGUoIDgs0j36ImcIcMDPGiWoVNS+JpTUOCBBlbaQ6kU6O5emBGZie+7Ds/ZhSg+K B7wVoEr5HXsrVCm94r0oToM5iILIKdkCy9kiV1GUtMPugdRYDQH/bHaojONf873L9E HI0fFnkWJWPj8qlVIkT1mod0KsmiYTo32ySHISVz/zBJmp5lKr4xZ+b57+Vr2TnTrK VZhy1KoXue9Rc7vLo7kJun/tEyeU1W1D1GqoZSSwpsDrS7KIAa3vUl7V3WT4Di9pMn yj/5aX/Jn+oVt5U6AkiPyFKVYtEh6qr4QO+zE0nVaJbma3D4P41L4stIxVVUaAnXqx vZxE2PQMc0VaQ== X-Nifty-SrcIP: [209.85.222.42] Received: by mail-ua1-f42.google.com with SMTP id r15-v6so4539959uao.1; Fri, 05 Oct 2018 03:49:11 -0700 (PDT) X-Gm-Message-State: ABuFfojJm+tUo9GjGgF+VOpNJcilSXzkA+1ioWO83AXjnzswOvzxYsLJ kYxXVKEJESYW08E38ZAxiPE7isZxtF3NvhkKcpo= X-Received: by 2002:ab0:6607:: with SMTP id r7mr3481413uam.6.1538736550161; Fri, 05 Oct 2018 03:49:10 -0700 (PDT) MIME-Version: 1.0 References: <20181004200249.GL5238@garbanzo.do-not-panic.com> In-Reply-To: <20181004200249.GL5238@garbanzo.do-not-panic.com> From: Masahiro Yamada Date: Fri, 5 Oct 2018 19:48:34 +0900 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [ANN] init-kconfig - easy way to embrace Linux's kconfig To: "Luis R. Rodriguez" Cc: Linux Kernel Mailing List , Linux Kbuild mailing list , Randy Dunlap , Sam Ravnborg , Petr Vorel , Steven Rostedt , Johannes Berg , Valentin Rothberg , Vegard Nossum , nbd@nbd.name, kconfig-sat@googlegroups.com 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 Hi, On Fri, Oct 5, 2018 at 5:03 AM Luis Chamberlain wrote: > > Every now and then a project is born, and they decide to use Linux's > kconfig to enable configuration of their project. As it stands we *know* > kconfig is now used in at least over 12 different projects [0]. I myself > added kconfig to one as well years ago. Even research reveals that > kconfig has become one of the leading industrial variability modeling > languages [1] [2]. > > What is often difficult to do though is to start off using kconfig and > integrating it into a project. Or updating / syncing to the latest > kconfig from upstream Linux. > > I had yet another need to use kconfig for another small project so > decided to make a clean template others can use and help keep it in sync. > This is a passive fork which aims to keep in sync with the Linux > kernel's latest kconfig to make it easier to keep up to date and to > enable new projects to use and embrace kconfig on their own. The goal > is *not* to fork kconfig and evolve it separately, but rather keep in > sync with the evolution of kconfig on Linux to make it easier for > projects to use kconfig and also update their own kconfig when needed. Syncing kconfig files is easy since the files are collected in the single place, scripts/kconfig/. It is true you need some efforts to introduce Kconfig in your project, but once established, it is just a matter of copying files under scripts/kconfig. Copying stuff directly from Linux would be as easy as doing so from your init-kconfig. > This may also be useful if folks want to test R&D code on a smaller > compartamentalized codebase. > > If you find this useful and you'd like to help keep it in sync, send > patches my way as the kernel's kconfig evolves. The code is up on > gitlab [3]. > > Do we want to document this option on Linux in case folks want to try > and embrace kconfig on their own for other projects? > > [0] http://www.eng.uwaterloo.ca/~shshe/kconfig_semantics.pdf > [1] http://gsd.uwaterloo.ca/sites/default/files/vm-2013-berger.pdf > [2] http://gsd.uwaterloo.ca/sites/default/files/ase241-berger_0.pdf > [3] https://gitlab.com/mcgrof/init-kconfig > > Luis Looks like init-kconfig is trying to build some objects as demo. obj-y = main.o obj-$(CONFIG_FOO) += foo.o obj-$(CONFIG_BAR) += bar.o obj-$(CONFIG_BAZ) += baz.o obj-$(CONFIG_ALPHA) += alpha/ FWIW, this is something I played with some time ago. Kbuild Skeleton https://github.com/masahir0y/kbuild_skeleton It consists of some core Makefiles and Kconfig. From the time-stamp, it is already 6 years too old. I am not sure if it is useful for people, if so, it is pretty easy to sync up with the latest Linux. -- Best Regards Masahiro Yamada