diff options
| author | David Drysdale <drysdale@google.com> | 2016-03-10 14:24:26 +0000 |
|---|---|---|
| committer | David Drysdale <drysdale@google.com> | 2016-03-10 14:33:32 +0000 |
| commit | 064e1a65a5ce848434e9ceef500d03f7bde65249 (patch) | |
| tree | 3a9b9a5400d1ff123d84a23a3391c667c38d6de8 /sysgen | |
| parent | 98cd0cc66d1cf22e99e096d51da39969a5bfc6d5 (diff) | |
sysgen: Cope with non-inline kernel build
When regenerating system call tables, cope with a local kernel tree where
the kernel has been built into a separate directory (with `make O=...`) rather
than inline.
So:
- LINUX makefile var / -linux command line option give location of source tree
- LINUXBLD makefile var / -linuxbld command line option gives location of
built kernel
Diffstat (limited to 'sysgen')
| -rw-r--r-- | sysgen/fetch.go | 9 | ||||
| -rw-r--r-- | sysgen/sysgen.go | 6 |
2 files changed, 10 insertions, 5 deletions
diff --git a/sysgen/fetch.go b/sysgen/fetch.go index ad7cd58d1..0c43d3d7d 100644 --- a/sysgen/fetch.go +++ b/sysgen/fetch.go @@ -43,13 +43,14 @@ func fetchValues(arch string, vals []string, includes []string, defines map[stri "-D__KERNEL__", "-DKBUILD_MODNAME=\"-\"", "-I" + *flagLinux + "/arch/" + arch + "/include", - "-I" + *flagLinux + "/arch/" + arch + "/include/generated/uapi", - "-I" + *flagLinux + "/arch/" + arch + "/include/generated", + "-I" + *flagLinuxBld + "/arch/" + arch + "/include/generated/uapi", + "-I" + *flagLinuxBld + "/arch/" + arch + "/include/generated", + "-I" + *flagLinuxBld + "/include", "-I" + *flagLinux + "/include", "-I" + *flagLinux + "/arch/" + arch + "/include/uapi", - "-I" + *flagLinux + "/arch/" + arch + "/include/generated/uapi", + "-I" + *flagLinuxBld + "/arch/" + arch + "/include/generated/uapi", "-I" + *flagLinux + "/include/uapi", - "-I" + *flagLinux + "/include/generated/uapi", + "-I" + *flagLinuxBld + "/include/generated/uapi", "-I" + *flagLinux, "-include", *flagLinux + "/include/linux/kconfig.h", }...) diff --git a/sysgen/sysgen.go b/sysgen/sysgen.go index 7f5979c65..f52e12ab7 100644 --- a/sysgen/sysgen.go +++ b/sysgen/sysgen.go @@ -17,7 +17,8 @@ import ( ) var ( - flagLinux = flag.String("linux", "", "path to linux kernel checkout") + flagLinux = flag.String("linux", "", "path to linux kernel source checkout") + flagLinuxBld = flag.String("linuxbld", "", "path to linux kernel build directory") ) func main() { @@ -25,6 +26,9 @@ func main() { if *flagLinux == "" { failf("provide path to linux kernel checkout via -linux flag (or make generate LINUX= flag)") } + if *flagLinuxBld == "" { + flagLinuxBld = flagLinux + } if len(flag.Args()) == 0 { failf("usage: sysgen -linux=linux_checkout input_file") } |
