Android builds a version of bison which is unusable outside the tree.
Since the bison is invoked in the KBUILD_OUTPUT dir, the error is
generated:
bison: external/bison/data/m4sugar/m4sugar.m4: cannot open: No such file or directory
To workaround it, add a symlink to the external dir so that bison can
get the expected m4 file.
KERNEL_ARCH_CHANGED := $(if $(filter 0,$(shell grep -s ^$(if $(filter x86,$(TARGET_KERNEL_ARCH)),\#.)CONFIG_64BIT $(KERNEL_DOTCONFIG_FILE) | wc -l)),FORCE)
$(KERNEL_DOTCONFIG_FILE): $(KERNEL_CONFIG_FILE) $(wildcard $(TARGET_KERNEL_DIFFCONFIG)) $(KERNEL_ARCH_CHANGED)
$(hide) mkdir -p $(@D) && cat $(wildcard $^) > $@
+ $(hide) ln -sf ../../../../../../external $(@D)
$(mk_kernel) oldnoconfig
# bison is needed to build kernel and external modules from source