aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-ti/ipc/ti-ipc/0001-Add-kernel-build-dir.patch
blob: 71d5b2be7db195cfc00d3250b8a381bd41a488a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
From c3ada6bf49e6fcf7bc49e5bf09754f384838ca6a Mon Sep 17 00:00:00 2001
From: Denys Dmytriyenko <denys@ti.com>
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 <denys@ti.com>

---
 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) <kd/include/generated/uapi/linux/version.h>
+#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) <kd/include/linux/m.h>