lkml.org 
[lkml]   [2019]   [Sep]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH bpf-next 11/11] samples: bpf: makefile: add sysroot support
    Date
    Basically it only enables that was added by previous couple fixes.
    For sure, just make tools/include to be included after sysroot
    headers.

    export ARCH=arm
    export CROSS_COMPILE=arm-linux-gnueabihf-
    make samples/bpf/ SYSROOT="path/to/sysroot"

    Sysroot contains correct libs installed and its headers ofc.
    Useful when working with NFC or virtual machine.

    Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
    ---
    samples/bpf/Makefile | 5 +++++
    samples/bpf/README.rst | 10 ++++++++++
    2 files changed, 15 insertions(+)

    diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile
    index 4edc5232cfc1..68ba78d1dbbe 100644
    --- a/samples/bpf/Makefile
    +++ b/samples/bpf/Makefile
    @@ -177,6 +177,11 @@ ifeq ($(ARCH), arm)
    CLANG_EXTRA_CFLAGS := $(D_OPTIONS)
    endif

    +ifdef SYSROOT
    +ccflags-y += --sysroot=${SYSROOT}
    +PROGS_LDFLAGS := -L${SYSROOT}/usr/lib
    +endif
    +
    ccflags-y += -I$(objtree)/usr/include
    ccflags-y += -I$(srctree)/tools/lib/bpf/
    ccflags-y += -I$(srctree)/tools/testing/selftests/bpf/
    diff --git a/samples/bpf/README.rst b/samples/bpf/README.rst
    index 5f27e4faca50..786d0ab98e8a 100644
    --- a/samples/bpf/README.rst
    +++ b/samples/bpf/README.rst
    @@ -74,3 +74,13 @@ samples for the cross target.
    export ARCH=arm64
    export CROSS_COMPILE="aarch64-linux-gnu-"
    make samples/bpf/ LLC=~/git/llvm/build/bin/llc CLANG=~/git/llvm/build/bin/clang
    +
    +If need to use environment of target board (headers and libs), the SYSROOT
    +also can be set, pointing on FS of target board:
    +
    +export ARCH=arm64
    +export CROSS_COMPILE="aarch64-linux-gnu-"
    +make samples/bpf/ SYSROOT=~/some_sdk/linux-devkit/sysroots/aarch64-linux-gnu
    +
    +Setting LLC and CLANG is not necessarily if it's installed on HOST and have
    +in its targets appropriate arch triple (usually it has several arches).
    --
    2.17.1
    \
     
     \ /
      Last update: 2019-09-10 12:39    [W:2.293 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site