Messages in this thread | | | Date | Tue, 19 Jan 2021 13:58:15 -0800 | From | Fangrui Song <> | Subject | Re: [PATCH bpf-next v2] samples/bpf: Update README.rst and Makefile for manually compiling LLVM and clang |
| |
On 2021-01-19, Tiezhu Yang wrote: >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
llvm-project/llvm/build/install is not used.
>+ $ cd llvm-project/llvm/build >+ $ cmake .. -G "Ninja" -DLLVM_TARGETS_TO_BUILD="BPF;X86" \ >+ -DLLVM_ENABLE_PROJECTS="clang" \ >+ -DBUILD_SHARED_LIBS=OFF \
-DBUILD_SHARED_LIBS=OFF is the default. It can be omitted.
>+ -DCMAKE_BUILD_TYPE=Release \ >+ -DLLVM_BUILD_RUNTIME=OFF
-DLLVM_BUILD_RUNTIME=OFF can be omitted if none of compiler-rt/libc++/libc++abi is built.
>+ $ 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 > >-- >You received this message because you are subscribed to the Google Groups "Clang Built Linux" group. >To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-linux+unsubscribe@googlegroups.com. >To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/1611042978-21473-1-git-send-email-yangtiezhu%40loongson.cn.
| |