From c3ada6bf49e6fcf7bc49e5bf09754f384838ca6a Mon Sep 17 00:00:00 2001 From: Denys Dmytriyenko Date: Mon, 27 Jul 2015 11:51:52 -0400 Subject: [PATCH] Add kernel build dir We build kernel outside of the source directory and the generated version.h file ends up being in a separate directory from the rest of kernel headers. Use another variable to point to the kernel build artifacts. Signed-off-by: Denys Dmytriyenko --- configure.ac | 6 ++++++ ipc-linux.mak | 3 +++ linux/src/mm/Makefile.am | 2 +- packages/ti/ipc/mm/MmRpc.c | 4 ++++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 4d4a559..84ac78b 100644 --- a/configure.ac +++ b/configure.ac @@ -71,6 +71,7 @@ AC_SUBST([AM_LDFLAGS]) AC_ARG_VAR(PLATFORM, Platform to build. Options are: 'OMAPL138' 'OMAP54XX' '66AK2E' 'TCI6630' 'TCI6636' 'TCI6638' '66AK2G' 'DRA7XX' and 'AM65XX'. If not defined all platforms will be built.) AC_ARG_VAR(CMEM_INSTALL_DIR, Installation path directory to the CMEM libraries) AC_ARG_VAR(KERNEL_INSTALL_DIR, Installation path to the Linux kernel.) +AC_ARG_VAR(KERNEL_BUILD_DIR, Path to the Linux kernel build artifacts.) AC_ARG_VAR(AF_RPMSG, Address Family used by the RPMSG driver) AC_ARG_VAR(DRM_PREFIX, Installation location to the DRM library.) @@ -113,6 +114,7 @@ AS_IF([test "x$PLATFORM" = "x"], [CMEM_INSTALL_DIR=]) AC_SUBST([PLATFORM]) AC_SUBST([CMEM_INSTALL_DIR]) AC_SUBST([KERNEL_INSTALL_DIR]) +AC_SUBST([KERNEL_BUILD_DIR]) AC_SUBST([AF_RPMSG]) AC_SUBST([DRM_PREFIX]) @@ -130,6 +132,7 @@ AM_CONDITIONAL([AM65XX], [test "x$PLATFORM" = "xAM65XX"]) AM_CONDITIONAL([CMEM], [test "x$CMEM_INSTALL_DIR" != "x"]) AM_CONDITIONAL([KDIR], [test "x$KERNEL_INSTALL_DIR" != "x"]) AM_CONDITIONAL([KERNEL_INSTALL_DIR], [test -n "$KERNEL_INSTALL_DIR"]) +AM_CONDITIONAL([KERNEL_BUILD_DIR], [test -n "$KERNEL_BUILD_DIR"]) AM_CONDITIONAL([DRM], [test "x$DRM_PREFIX" != "x"]) AM_CONDITIONAL([AF_RPMSG], [test -n "$AF_RPMSG"]) @@ -160,6 +163,9 @@ You have configured to build for the '${PLATFORM}' platform Your KERNEL installation directory is set to: '${KERNEL_INSTALL_DIR}' +Your KERNEL build artifacts directory is set to: + '${KERNEL_BUILD_DIR}' + Your DRM installation directory is set to: '${DRM_PREFIX}' diff --git a/ipc-linux.mak b/ipc-linux.mak index 58a9cea..4e543ff 100644 --- a/ipc-linux.mak +++ b/ipc-linux.mak @@ -60,6 +60,7 @@ config: PLATFORM=$(PLATFORM) \ CMEM_INSTALL_DIR=$(CMEM_INSTALL_DIR) \ KERNEL_INSTALL_DIR=$(KERNEL_INSTALL_DIR) \ + KERNEL_BUILD_DIR=$(KERNEL_BUILD_DIR) \ DRM_PREFIX=$(DRM_PREFIX) \ AF_RPMSG=$(AF_RPMSG) @@ -72,6 +73,7 @@ config-static: PLATFORM=$(PLATFORM) \ CMEM_INSTALL_DIR=$(CMEM_INSTALL_DIR) \ KERNEL_INSTALL_DIR=$(KERNEL_INSTALL_DIR) \ + KERNEL_BUILD_DIR=$(KERNEL_BUILD_DIR) \ DRM_PREFIX=$(DRM_PREFIX) \ AF_RPMSG=$(AF_RPMSG) @@ -84,5 +86,6 @@ config-shared: PLATFORM=$(PLATFORM) \ CMEM_INSTALL_DIR=$(CMEM_INSTALL_DIR) \ KERNEL_INSTALL_DIR=$(KERNEL_INSTALL_DIR) \ + KERNEL_BUILD_DIR=$(KERNEL_BUILD_DIR) \ DRM_PREFIX=$(DRM_PREFIX) \ AF_RPMSG=$(AF_RPMSG) diff --git a/linux/src/mm/Makefile.am b/linux/src/mm/Makefile.am index 59aa312..8fb51a3 100644 --- a/linux/src/mm/Makefile.am +++ b/linux/src/mm/Makefile.am @@ -32,7 +32,7 @@ ## # additional include paths necessary to compile the library -AM_CFLAGS = -Wall @AM_CFLAGS@ -DKERNEL_INSTALL_DIR="$(KERNEL_INSTALL_DIR)" +AM_CFLAGS = -Wall @AM_CFLAGS@ -DKERNEL_INSTALL_DIR="$(KERNEL_INSTALL_DIR)" -DKERNEL_BUILD_DIR="$(KERNEL_BUILD_DIR)" ############################################################################### # THE LIBRARIES TO BUILD diff --git a/packages/ti/ipc/mm/MmRpc.c b/packages/ti/ipc/mm/MmRpc.c index 2df7420..797e100 100644 --- a/packages/ti/ipc/mm/MmRpc.c +++ b/packages/ti/ipc/mm/MmRpc.c @@ -56,7 +56,11 @@ #endif #define linux_version_include(kd) +#if defined(KERNEL_BUILD_DIR) +#include linux_version_include(KERNEL_BUILD_DIR) +#else #include linux_version_include(KERNEL_INSTALL_DIR) +#endif #if LINUX_VERSION_CODE < KERNEL_VERSION(3,14,0) #define linux_include(kd,m)