From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755279AbbCXRhg (ORCPT ); Tue, 24 Mar 2015 13:37:36 -0400 Received: from mail-wi0-f176.google.com ([209.85.212.176]:37772 "EHLO mail-wi0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755207AbbCXRhb (ORCPT ); Tue, 24 Mar 2015 13:37:31 -0400 Message-ID: <5511A0D6.5030606@suse.cz> Date: Tue, 24 Mar 2015 18:37:26 +0100 From: Jiri Slaby User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: David Herrmann CC: Greg Kroah-Hartman , Arnd Bergmann , "Eric W. Biederman" , One Thousand Gnomes , Tom Gundersen , Jiri Kosina , Andy Lutomirski , Linux API , linux-kernel , Daniel Mack , Djalal Harouni , Michal Marek , linux-kbuild@vger.kernel.org Subject: Re: [PATCH 13/14] kdbus: add walk-through user space example References: <1425906560-13798-1-git-send-email-gregkh@linuxfoundation.org> <1425906560-13798-14-git-send-email-gregkh@linuxfoundation.org> <551194C8.4070707@suse.cz> In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Ccing kbuild fellows (see the very bottom). On 03/24/2015, 06:15 PM, David Herrmann wrote: > Hi > > On Tue, Mar 24, 2015 at 5:46 PM, Jiri Slaby wrote: >> On 03/09/2015, 02:09 PM, Greg Kroah-Hartman wrote: >>> --- /dev/null >>> +++ b/samples/kdbus/Makefile >>> @@ -0,0 +1,10 @@ >>> +# kbuild trick to avoid linker error. Can be omitted if a module is built. >>> +obj- := dummy.o >>> + >>> +hostprogs-y += kdbus-workers >>> + >>> +always := $(hostprogs-y) >> >> Errr, no. Not only it causes build failures (even with KDBUS=n), it >> definitely should not be built for everyone. > > It's only built if CONFIG_SAMPLES is set, right? Yes, but I build other samples selected with separate CONFIG_ options like CONFIG_SAMPLE_LIVEPATCH. So this guy should have its own CONFIG_ option too, because I (and likely others) don't want to build it. All of the samples should be protected at least by their respective kernel CONFIG_ option IMO. > What build-failures does it cause? linux/kdbus.h is not optional based > on CONFIG_KDBUS, so the samples should build just fine. Can you tell > me what kind of errors you get? The kbuild-robots didn't report > anything so far. The output is this: In file included from samples/kdbus/kdbus-workers.c:79:0: /home/latest/linux/samples/kdbus/kdbus-api.h:5:25: fatal error: linux/kdbus.h: No such file or directory #include ^ compilation terminated. I now know that I have to install_headers *if* I want to build the sample. But I don't want to build it in the first place. (So the config option above should be all we need.) >> And why is it a host prog? It's a sample prog for the kernel I am >> building, i.e. for the destination arch, like all the other samples. > > It's modeled after the other user-space examples in ./samples/, which > all use hostprogs (see samples/{bpf,hidraw,seccomp,uhid}/Makefile). I > have no idea how to build programs that run on the target > architecture. Documentation/kbuild/makefiles.txt doesn't list it, > which is, I guess, the reason why everyone used hostprogs so far. And > given that autotools calls the target architecture "--host", I > actually thought this is what hostprogs does.. apparently that's not > the case, sorry. Oh, it's cut&paste, I see. This does not look correct though. The hack inclusive. Host progs are intended to be run on the host where the kernel is built. During the compilation or such (like x/menuconfig). Quite misleading naming if you are used to the autotools one. thanks, -- js suse labs