lkml.org 
[lkml]   [2021]   [Jan]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH bpf-next v2] samples/bpf: Update README.rst and Makefile for manually compiling LLVM and clang
    Date
    The current llvm/clang build procedure in samples/bpf/README.rst is
    out of date. See below that the links are not accessible any more.

    $ git clone http://llvm.org/git/llvm.git
    Cloning into 'llvm'...
    fatal: unable to access 'http://llvm.org/git/llvm.git/': Maximum (20) redirects followed
    $ git clone --depth 1 http://llvm.org/git/clang.git
    Cloning into 'clang'...
    fatal: unable to access 'http://llvm.org/git/clang.git/': Maximum (20) redirects followed

    The llvm community has adopted new ways to build the compiler. There are
    different ways to build llvm/clang, the Clang Getting Started page [1] has
    one way. As Yonghong said, it is better to just copy the build procedure
    in Documentation/bpf/bpf_devel_QA.rst to keep consistent.

    I verified the procedure and it is proved to be feasible, so we should
    update README.rst to reflect the reality. At the same time, update the
    related comment in Makefile.

    [1] https://clang.llvm.org/get_started.html

    Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
    Acked-by: Yonghong Song <yhs@fb.com>
    ---

    v2: Update the commit message suggested by Yonghong,
    thank you very much.

    samples/bpf/Makefile | 2 +-
    samples/bpf/README.rst | 17 ++++++++++-------
    2 files changed, 11 insertions(+), 8 deletions(-)

    diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile
    index 26fc96c..d061446 100644
    --- a/samples/bpf/Makefile
    +++ b/samples/bpf/Makefile
    @@ -208,7 +208,7 @@ TPROGLDLIBS_xdpsock += -pthread -lcap
    TPROGLDLIBS_xsk_fwd += -pthread

    # Allows pointing LLC/CLANG to a LLVM backend with bpf support, redefine on cmdline:
    -# make M=samples/bpf/ LLC=~/git/llvm/build/bin/llc CLANG=~/git/llvm/build/bin/clang
    +# make M=samples/bpf LLC=~/git/llvm-project/llvm/build/bin/llc CLANG=~/git/llvm-project/llvm/build/bin/clang
    LLC ?= llc
    CLANG ?= clang
    OPT ?= opt
    diff --git a/samples/bpf/README.rst b/samples/bpf/README.rst
    index dd34b2d..d1be438 100644
    --- a/samples/bpf/README.rst
    +++ b/samples/bpf/README.rst
    @@ -65,17 +65,20 @@ To generate a smaller llc binary one can use::
    Quick sniplet for manually compiling LLVM and clang
    (build dependencies are cmake and gcc-c++)::

    - $ git clone http://llvm.org/git/llvm.git
    - $ cd llvm/tools
    - $ git clone --depth 1 http://llvm.org/git/clang.git
    - $ cd ..; mkdir build; cd build
    - $ cmake .. -DLLVM_TARGETS_TO_BUILD="BPF;X86"
    - $ make -j $(getconf _NPROCESSORS_ONLN)
    + $ git clone https://github.com/llvm/llvm-project.git
    + $ mkdir -p llvm-project/llvm/build/install
    + $ cd llvm-project/llvm/build
    + $ cmake .. -G "Ninja" -DLLVM_TARGETS_TO_BUILD="BPF;X86" \
    + -DLLVM_ENABLE_PROJECTS="clang" \
    + -DBUILD_SHARED_LIBS=OFF \
    + -DCMAKE_BUILD_TYPE=Release \
    + -DLLVM_BUILD_RUNTIME=OFF
    + $ ninja

    It is also possible to point make to the newly compiled 'llc' or
    'clang' command via redefining LLC or CLANG on the make command line::

    - make M=samples/bpf LLC=~/git/llvm/build/bin/llc CLANG=~/git/llvm/build/bin/clang
    + make M=samples/bpf LLC=~/git/llvm-project/llvm/build/bin/llc CLANG=~/git/llvm-project/llvm/build/bin/clang

    Cross compiling samples
    -----------------------
    --
    2.1.0
    \
     
     \ /
      Last update: 2021-01-19 08:59    [W:2.487 / U:0.468 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site