• Paul Burton's avatar
    MIPS: Fix generic-board-config.sh for builds using O= · e1270575
    Paul Burton authored
    When configuring the kernel using one of the generic MIPS defconfig
    targets, the generic-board-config.sh script is used to check
    requirements listed in board config fragments against a reference config
    in order to determine which board config fragments to merge into the
    final config.
    
    When specifying O= to configure in a directory other than the kernel
    source directory, this generic-board-config.sh script is invoked in the
    directory that we are configuring in (ie. the directory that O equals),
    and the path to the reference config is relative to the current
    directory. The script then changes the current directory to the source
    tree, which unfortunately breaks later access to the reference file
    since its path is relative to a directory that is no longer the current
    working directory. This results in configuration failing with errors
    such as:
    
      $ make ARCH=mips O=tmp 32r2_defconfig
      make[1]: Entering directory '/home/pburton/src/linux/tmp'
      Using ../arch/mips/configs/generic_defconfig as base
      Merging ../arch/mips/configs/generic/32r2.config
      Merging ../arch/mips/configs/generic/eb.config
      grep: ./.config.32r2_defconfig: No such file or directory
      grep: ./.config.32r2_defconfig: No such file or directory
      The base file '.config' does not exist.  Exit.
      make[1]: *** [arch/mips/Makefile:505: 32r2_defconfig] Error 1
      make[1]: Leaving directory '/home/pburton/src/linux-ingenic/tmp'
      make: *** [Makefile:145: sub-make] Error 2
    
    Fix this by avoiding changing the working directory in
    generic-board-config.sh, instead using full paths to files under
    $(srctree)/ where necessary.
    Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
    Fixes: 27e0d4b0 ("MIPS: generic: Allow filtering enabled boards by requirements")
    Cc: linux-mips@linux-mips.org
    Cc: kbuild test robot <fengguang.wu@intel.com>
    Cc: kbuild-all@01.org
    Patchwork: https://patchwork.linux-mips.org/patch/17231/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    e1270575
generic-board-config.sh 2.6 KB