lkml.org 
[lkml]   [2006]   [Aug]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: 2.6.18-rc3-mm1: O= builds broken
    On Sun, Aug 06, 2006 at 10:23:21AM +0200, Adrian Bunk wrote:
    > <-- snip -->
    >
    > $ make O=/home/bunk/linux/kernel-2.6/out/full/ oldconfig
    > HOSTCC scripts/basic/fixdep
    > HOSTCC scripts/basic/docproc
    > GEN /home/bunk/linux/kernel-2.6/out/full/Makefile
    > HOSTCC scripts/kconfig/conf.o
    > HOSTCC scripts/kconfig/kxgettext.o
    > HOSTCC scripts/kconfig/lxdialog/checklist.o
    > /home/bunk/linux/kernel-2.6/linux-2.6.18-rc3-mm1/scripts/kconfig/lxdialog/checklist.c:325:
    > fatal error: opening dependency file
    > scripts/kconfig/lxdialog/.checklist.o.d: No such file or directory
    > compilation terminated.
    > make[2]: *** [scripts/kconfig/lxdialog/checklist.o] Error 1
    > make[1]: *** [oldconfig] Error 2
    > make: *** [oldconfig] Error 2
    > $
    >
    If the lxdialog directory is missing then kbuild barfs out.
    Fixed by followign patch that is already pushed out to my kbuild.git
    tree. Thanks for the reports (all senders added to to:).

    Sam

    commit a886c8972f22033e720405ce4c4fed941b5eb406
    Author: Sam Ravnborg <sam@mars.ravnborg.org>
    Date: Mon Aug 7 21:55:33 2006 +0200

    kbuild: create output directory for hostprogs with O=.. build

    hostprogs-y only supported creating output directory for the final
    program. Extend this to also cover the situation where a .o
    file (used when host program is made from compositie objects) is
    locate in another directory.
    First user of this is the built-in lxdialog that.

    Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

    diff --git a/scripts/Makefile.host b/scripts/Makefile.host
    index 18ecd4d..aa208e8 100644
    --- a/scripts/Makefile.host
    +++ b/scripts/Makefile.host
    @@ -32,11 +32,6 @@ # Note: Shared libraries consisting of C

    __hostprogs := $(sort $(hostprogs-y)$(hostprogs-m))

    -# hostprogs-y := tools/build may have been specified. Retreive directory
    -host-objdirs := $(foreach f,$(__hostprogs), $(if $(dir $(f)),$(dir $(f))))
    -host-objdirs := $(strip $(sort $(filter-out ./,$(host-objdirs))))
    -
    -
    # C code
    # Executables compiled from a single .c file
    host-csingle := $(foreach m,$(__hostprogs),$(if $($(m)-objs),,$(m)))
    @@ -65,6 +60,21 @@ host-cobjs := $(filter-out %.so,$(host-c
    #Object (.o) files used by the shared libaries
    host-cshobjs := $(sort $(foreach m,$(host-cshlib),$($(m:.so=-objs))))

    +# output directory for programs/.o files
    +# hostprogs-y := tools/build may have been specified. Retreive directory
    +host-objdirs := $(foreach f,$(__hostprogs), $(if $(dir $(f)),$(dir $(f))))
    +# directory of .o files from prog-objs notation
    +host-objdirs += $(foreach f,$(host-cmulti), \
    + $(foreach m,$($(f)-objs), \
    + $(if $(dir $(m)),$(dir $(m)))))
    +# directory of .o files from prog-cxxobjs notation
    +host-objdirs += $(foreach f,$(host-cxxmulti), \
    + $(foreach m,$($(f)-cxxobjs), \
    + $(if $(dir $(m)),$(dir $(m)))))
    +
    +host-objdirs := $(strip $(sort $(filter-out ./,$(host-objdirs))))
    +
    +
    __hostprogs := $(addprefix $(obj)/,$(__hostprogs))
    host-csingle := $(addprefix $(obj)/,$(host-csingle))
    host-cmulti := $(addprefix $(obj)/,$(host-cmulti))
    @@ -75,6 +85,7 @@ host-cshlib := $(addprefix $(obj)/,$(hos
    host-cshobjs := $(addprefix $(obj)/,$(host-cshobjs))
    host-objdirs := $(addprefix $(obj)/,$(host-objdirs))

    +$(warning host-objdirs=$(host-objdirs))
    obj-dirs += $(host-objdirs)

    #####
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-08-07 22:03    [W:0.024 / U:4.628 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site