The musl headers contain defines which are incompatible with kernel builds.
For example alltypes.h contain a __BIG_ENDIAN define. This will force
various kernel functions/macros to be build in a way which requires the
target system to be big endian. But if the target system is actually little
endian, these function will then not perform there intended tasks. The
actual (hard to debug) effects can vary between minor problems and fatal
errors.
This is port of the fix from OpenWrt's commit
9ac47ee46918 ("build: use
-nostdinc and -isystem in NOSTDINC_FLAGS for out-of-tree kernel modules")
Fixes: 17cd1793bbec ("ovpn-dco: Add package")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
endef
NOSTDINC_FLAGS += \
+ $(KERNEL_NOSTDINC_FLAGS) \
-I$(PKG_BUILD_DIR)/include \
-include $(PKG_BUILD_DIR)/linux-compat.h