On Fri, Apr 12, 2013 at 12:41 AM, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > On Thu, 2013-04-11 at 23:41 -0700, Luis R. Rodriguez wrote: >> From: "Luis R. Rodriguez" <mcgrof@xxxxxxxxxxxxxxxx> >> >> Drivers may do header sharing in their subsystems by >> not using a full include path. There are different ways >> folks append the include path, one strategy is to use >> srctree as follows: >> >> ccflags-y += -I$(srctree)/drivers/media/dvb-core/ > > We also have a patch for net/wireless/Makefile because of this > (patches/collateral-evolutions/network/35-fix-makefile-includes/net_wireless_Makefile.patch > > --- a/net/wireless/Makefile > +++ b/net/wireless/Makefile > @@ -20,6 +20,6 @@ CFLAGS_trace.o := -I$(src) > ccflags-y += -D__CHECK_ENDIAN__ > > $(obj)/regdb.c: $(src)/db.txt $(src)/genregdb.awk > - @$(AWK) -f $(srctree)/$(src)/genregdb.awk < $< > $@ > + @$(AWK) -f $(src)/genregdb.awk < $< > $@ > > clean-files := regdb.c > >> The above gets fixed by the kernel through addtree which >> prefixes -I with $(srctree) if it was not set. To take >> advantage of the kernel's srctree but not break the build >> we must lead it back in to the scripts/Makefile.build, >> we do this by using our own scripts/Makefile.build that >> points back to the kernel's. >> --- >> >> Note: this breaks the kernel's build scripts that rely on >> srctree so ideally we'd want to modify instead addtree but >> I can't figure out how. Thoughts? > > Yeah I was going to say ... does this actually work? It also relies on > the kernel's Makefile.build existing in all versions of the kernel, is > that actually true? Just curious. I tried ckmake --allyesconfig and its looked actually fine for the older kernels, for the newer ones it started messing up due to some perl script that was being looked up via srctree. > I don't see a good way to solve these things other than patching them, > unfortunately. So what if we had instead of obj-m backport-m ? We might have to reinvent a lot of the while but all I think we'd need is to add a backport_addtree for the header hack. > An alternative might be to have the gentree script replace "$(srctree)" > with "$(backport-sourcetree)" in the copied Makefiles, and then just set > that variable? Sexy. Thanks Python. Luis -- To unsubscribe from this list: send the line "unsubscribe backports" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html