diff --git a/recipes-ti/ipc/ti-ipc/0001-Add-kernel-build-dir.patch b/recipes-ti/ipc/ti-ipc/0001-Add-kernel-build-dir.patch new file mode 100644 index 00000000..cfa1b3b0 --- /dev/null +++ b/recipes-ti/ipc/ti-ipc/0001-Add-kernel-build-dir.patch @@ -0,0 +1,114 @@ +From f1e89940a3fbc0ffec51640f909f87419c08a17e 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 e6cb19f..22f7db2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -70,6 +70,7 @@ AC_SUBST([AM_LDFLAGS]) + AC_ARG_VAR(PLATFORM, Platform to build. Options are: 'OMAPL138' 'OMAP54XX' '66AK2E' 'TCI6630' 'TCI6636' 'TCI6638' and 'DRA7XX'. 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.) + +@@ -108,6 +109,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]) + +@@ -123,6 +125,7 @@ AM_CONDITIONAL([DRA7XX], [test "x$PLATFORM" = "xDRA7XX"]) + 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"]) + +@@ -153,6 +156,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..a174a9c 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..436b432 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 09d6b05..78adfa8 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) +-- +2.2.0 + diff --git a/recipes-ti/ipc/ti-ipc_git.bb b/recipes-ti/ipc/ti-ipc_git.bb index 5f0b8db0..065d2c64 100644 --- a/recipes-ti/ipc/ti-ipc_git.bb +++ b/recipes-ti/ipc/ti-ipc_git.bb @@ -11,6 +11,7 @@ PV = "3.36.01.11" BRANCH = "3.36" SRC_URI = "git://git.ti.com/ipc/ipcdev.git;protocol=git;branch=${BRANCH} \ file://tiipclad-daemon.sh \ + file://0001-Add-kernel-build-dir.patch \ " # Commit corresponds to 3.36.01.11 SRCREV = "2a4256289d462d93a7e00a6ffb10bd46081a9500" @@ -33,14 +34,15 @@ DAEMON_k2hk-evm = "lad_tci6638" DAEMON_k2l-evm = "lad_tci6630" DAEMON_k2e-evm = "lad_66ak2e" -inherit autotools pkgconfig update-rc.d +inherit autotools-brokensep pkgconfig update-rc.d INITSCRIPT_NAME = "tiipclad-daemon.sh" INITSCRIPT_PARAMS = "defaults 10" -EXTRA_OECONF += "PLATFORM=${PLATFORM} KERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR}" +EXTRA_OECONF += "PLATFORM=${PLATFORM} KERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR} KERNEL_BUILD_DIR=${STAGING_KERNEL_BUILDDIR}" do_configure() { + ( cd ${S}; autoreconf -f -i -s ) oe_runconf }