All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexei Starovoitov <alexei.starovoitov@gmail.com>
To: Jesper Dangaard Brouer <brouer@redhat.com>
Cc: netdev@vger.kernel.org, linux-kbuild@vger.kernel.org,
	bblanco@plumgrid.com, naveen.n.rao@linux.vnet.ibm.com,
	borkmann@iogearbox.net
Subject: Re: [net-next PATCH V2 5/5] samples/bpf: like LLC also verify and allow redefining CLANG command
Date: Tue, 26 Apr 2016 10:36:10 -0700	[thread overview]
Message-ID: <20160426173608.GF42777@ast-mbp.thefacebook.com> (raw)
In-Reply-To: <20160426162732.22962.73140.stgit@firesoul>

On Tue, Apr 26, 2016 at 06:27:32PM +0200, Jesper Dangaard Brouer wrote:
> Users are likely to manually compile both LLVM 'llc' and 'clang'
> tools.  Thus, also allow redefining CLANG and verify command exist.
> 
> Makefile implementation wise, the target that verify the command have
> been generalized.
> 
> Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
> ---
>  samples/bpf/Makefile   |   23 +++++++++++++----------
>  samples/bpf/README.rst |    6 +++---
>  2 files changed, 16 insertions(+), 13 deletions(-)
> 
> diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile
> index dd63521832d8..c02ea9d2a248 100644
> --- a/samples/bpf/Makefile
> +++ b/samples/bpf/Makefile
> @@ -81,9 +81,10 @@ HOSTLOADLIBES_spintest += -lelf
>  HOSTLOADLIBES_map_perf_test += -lelf -lrt
>  HOSTLOADLIBES_test_overhead += -lelf -lrt
>  
> -# Allows pointing LLC to a LLVM backend with bpf support, redefine on cmdline:
> -#  make samples/bpf/ LLC=~/git/llvm/build/bin/llc
> +# Allows pointing LLC/CLANG to a LLVM backend with bpf support, redefine on cmdline:
> +#  make samples/bpf/ LLC=~/git/llvm/build/bin/llc CLANG=~/git/llvm/build/bin/clang
>  LLC ?= llc
> +CLANG ?= clang
>  
>  # Trick to allow make to be run from this directory
>  all:
> @@ -94,15 +95,17 @@ clean:
>  	@rm -f *~
>  
>  # Verify LLVM compiler is available and bpf target is supported
> -.PHONY: verify_cmd_llc verify_target_bpf
> +.PHONY: verify_cmd_llc verify_target_bpf $(CLANG) $(LLC)
>  
> -verify_cmd_llc:
> -	@if ! (which "${LLC}" > /dev/null 2>&1); then \
> -		echo "*** ERROR: Cannot find LLVM tool 'llc' (${LLC})" ;\
> -		exit 1; \
> -	else true; fi
> +verify_cmds: $(CLANG) $(LLC)
> +	@for TOOL in $^ ; do \
> +		if ! (which "$${TOOL}" > /dev/null 2>&1); then \
> +			echo "*** ERROR: Cannot find LLVM tool $${TOOL}" ;\
> +			exit 1; \
> +		else true; fi; \
> +	done
>  
> -verify_target_bpf: verify_cmd_llc
> +verify_target_bpf: verify_cmds
>  	@if ! (${LLC} -march=bpf -mattr=help > /dev/null 2>&1); then \
>  		echo "*** ERROR: LLVM (${LLC}) does not support 'bpf' target" ;\
>  		echo "   NOTICE: LLVM version >= 3.7.1 required" ;\

If I read the patch correctly, it only checks that any version
of clang is available and llc supports -march=bpf.
That's correct.
There is no need to build the latest clang most of the time.
clang 3.4 and 3.5 are fine to compile samples/bpf/
since llvm ir is mostly compatible with llc from 3.7 or 3.8

Acked-by: Alexei Starovoitov <ast@kernel.org>

  reply	other threads:[~2016-04-26 17:36 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-26 16:27 [net-next PATCH V2 0/5] samples/bpf: Improve user experience Jesper Dangaard Brouer
2016-04-26 16:27 ` Jesper Dangaard Brouer
2016-04-26 16:27 ` [net-next PATCH V2 1/5] samples/bpf: add back functionality to redefine LLC command Jesper Dangaard Brouer
2016-04-26 17:28   ` Alexei Starovoitov
2016-04-26 16:27 ` [net-next PATCH V2 2/5] samples/bpf: Makefile verify LLVM compiler avail and bpf target is supported Jesper Dangaard Brouer
2016-04-26 17:28   ` Alexei Starovoitov
2016-04-27 13:52   ` David Laight
2016-04-26 16:27 ` [net-next PATCH V2 3/5] samples/bpf: add a README file to get users started Jesper Dangaard Brouer
2016-04-26 17:31   ` Alexei Starovoitov
2016-04-27  6:30     ` Jesper Dangaard Brouer
2016-04-26 16:27 ` [net-next PATCH V2 4/5] samples/bpf: allow make to be run from samples/bpf/ directory Jesper Dangaard Brouer
2016-04-26 17:31   ` Alexei Starovoitov
2016-04-26 16:27 ` [net-next PATCH V2 5/5] samples/bpf: like LLC also verify and allow redefining CLANG command Jesper Dangaard Brouer
2016-04-26 17:36   ` Alexei Starovoitov [this message]
2016-04-27  6:45     ` Jesper Dangaard Brouer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160426173608.GF42777@ast-mbp.thefacebook.com \
    --to=alexei.starovoitov@gmail.com \
    --cc=bblanco@plumgrid.com \
    --cc=borkmann@iogearbox.net \
    --cc=brouer@redhat.com \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=naveen.n.rao@linux.vnet.ibm.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.