[dpdk-dev] mk: Quote $(KERNELCC) to allow ccache builds

Message ID 20150924094328.5a2ea3c8@miho (mailing list archive)
State Accepted, archived
Headers

Commit Message

Simon Kagstrom Sept. 24, 2015, 7:43 a.m. UTC
  Otherwise building with KERNELCC="ccache gcc" will fail:

 == Build lib/librte_eal/linuxapp/igb_uio
 /usr/src/linux-headers-3.13.0-63-generic/arch/x86/Makefile:98: stack protector enabled but no compiler support
 /usr/src/linux-headers-3.13.0-63-generic/arch/x86/Makefile:113: CONFIG_X86_X32 enabled but no binutils support
 ccache: invalid option -- 'p'
 Usage:
     ccache [options]
     ccache compiler [compiler options]
     compiler [compiler options]          (via symbolic link)

 Options:
     -c, --cleanup         delete old files and recalculate size counters
                           (normally not needed as this is done automatically)
     -C, --clear           clear the cache completely
     -F, --max-files=N     set maximum number of files in cache to N (use 0 for
                           no limit)
     -M, --max-size=SIZE   set maximum size of cache to SIZE (use 0 for no
                           limit; available suffixes: G, M and K; default
                           suffix: G)
     -s, --show-stats      show statistics summary
     -z, --zero-stats      zero statistics counters

     -h, --help            print this help text
     -V, --version         print version and copyright information

Signed-off-by: Simon Kagstrom <simon.kagstrom@netinsight.net>
---
 mk/rte.module.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Simon Kagstrom Oct. 13, 2015, 12:10 p.m. UTC | #1
Ping?

This is one of three outstanding DPDK patches I have which hasn't seen
any activitiy in a while. Is there a list of pending applies somewhere
to monitor activity?

// Simon

On Thu, 24 Sep 2015 09:43:28 +0200
Simon Kagstrom <simon.kagstrom@netinsight.net> wrote:

> Otherwise building with KERNELCC="ccache gcc" will fail:
> 
>  == Build lib/librte_eal/linuxapp/igb_uio
>  /usr/src/linux-headers-3.13.0-63-generic/arch/x86/Makefile:98: stack protector enabled but no compiler support
>  /usr/src/linux-headers-3.13.0-63-generic/arch/x86/Makefile:113: CONFIG_X86_X32 enabled but no binutils support
>  ccache: invalid option -- 'p'
>  Usage:
>      ccache [options]
>      ccache compiler [compiler options]
>      compiler [compiler options]          (via symbolic link)
> 
>  Options:
>      -c, --cleanup         delete old files and recalculate size counters
>                            (normally not needed as this is done automatically)
>      -C, --clear           clear the cache completely
>      -F, --max-files=N     set maximum number of files in cache to N (use 0 for
>                            no limit)
>      -M, --max-size=SIZE   set maximum size of cache to SIZE (use 0 for no
>                            limit; available suffixes: G, M and K; default
>                            suffix: G)
>      -s, --show-stats      show statistics summary
>      -z, --zero-stats      zero statistics counters
> 
>      -h, --help            print this help text
>      -V, --version         print version and copyright information
> 
> Signed-off-by: Simon Kagstrom <simon.kagstrom@netinsight.net>
> ---
>  mk/rte.module.mk | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/mk/rte.module.mk b/mk/rte.module.mk
> index 7bf77c1..53ed4fe 100644
> --- a/mk/rte.module.mk
> +++ b/mk/rte.module.mk
> @@ -78,7 +78,7 @@ build: _postbuild
>  $(MODULE).ko: $(SRCS_LINKS)
>  	@if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi
>  	@$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) \
> -		CC=$(KERNELCC) CROSS_COMPILE=$(CROSS) V=$(if $V,1,0)
> +		CC="$(KERNELCC)" CROSS_COMPILE=$(CROSS) V=$(if $V,1,0)
>  
>  # install module in $(RTE_OUTPUT)/kmod
>  $(RTE_OUTPUT)/kmod/$(MODULE).ko: $(MODULE).ko
  
Olivier Matz Oct. 13, 2015, 12:26 p.m. UTC | #2
Hi Simon,

Sorry for not having answered before.

On 10/13/2015 02:10 PM, Simon Kagstrom wrote:
> Ping?
> 
> This is one of three outstanding DPDK patches I have which hasn't seen
> any activitiy in a while. Is there a list of pending applies somewhere
> to monitor activity?

There is the patchwork tool:
http://dpdk.org/dev/patchwork/project/dpdk/list/

>> Otherwise building with KERNELCC="ccache gcc" will fail:
>>
>>  == Build lib/librte_eal/linuxapp/igb_uio
>>  /usr/src/linux-headers-3.13.0-63-generic/arch/x86/Makefile:98: stack protector enabled but no compiler support
>>  /usr/src/linux-headers-3.13.0-63-generic/arch/x86/Makefile:113: CONFIG_X86_X32 enabled but no binutils support
>>  ccache: invalid option -- 'p'
>>  Usage:
>>      ccache [options]
>>      ccache compiler [compiler options]
>>      compiler [compiler options]          (via symbolic link)
>>
>>  Options:
>>      -c, --cleanup         delete old files and recalculate size counters
>>                            (normally not needed as this is done automatically)
>>      -C, --clear           clear the cache completely
>>      -F, --max-files=N     set maximum number of files in cache to N (use 0 for
>>                            no limit)
>>      -M, --max-size=SIZE   set maximum size of cache to SIZE (use 0 for no
>>                            limit; available suffixes: G, M and K; default
>>                            suffix: G)
>>      -s, --show-stats      show statistics summary
>>      -z, --zero-stats      zero statistics counters
>>
>>      -h, --help            print this help text
>>      -V, --version         print version and copyright information
>>
>> Signed-off-by: Simon Kagstrom <simon.kagstrom@netinsight.net>

Acked-by: Olivier Matz <olivier.matz@6wind.com>
  
Simon Kagstrom Oct. 13, 2015, 12:39 p.m. UTC | #3
On 2015-10-13 14:26, Olivier MATZ wrote:
> Sorry for not having answered before.

Thanks for looking at it now though!

>> This is one of three outstanding DPDK patches I have which hasn't seen
>> any activitiy in a while. Is there a list of pending applies somewhere
>> to monitor activity?
> 
> There is the patchwork tool:
> http://dpdk.org/dev/patchwork/project/dpdk/list/

Thanks! I knew about it, but forgot to look there. It would be nice to
have tags to signify e.g., for-v2.2, candidate-v2.2 etc. like you can
have on github to easier see where patches are going, but perhaps
patchwork doesn't work that way.


Is the process to ping old patches like this on the mailing list? Two of
the patches (this one included) I have outstanding are build fixes for
use in our build environment, so it would be nice to them upstreamed.

// Simon
  
Thomas Monjalon Oct. 13, 2015, 12:45 p.m. UTC | #4
2015-10-13 14:39, Simon Kågström:
> On 2015-10-13 14:26, Olivier MATZ wrote:
> > There is the patchwork tool:
> > http://dpdk.org/dev/patchwork/project/dpdk/list/
> 
> Thanks! I knew about it, but forgot to look there. It would be nice to
> have tags to signify e.g., for-v2.2, candidate-v2.2 etc. like you can
> have on github to easier see where patches are going, but perhaps
> patchwork doesn't work that way.

No it's not needed currently because every patches in this mailing-list
target an integration in the main branch for the next release.
Exceptions must be notified.

> Is the process to ping old patches like this on the mailing list?

Yes it is the responsibility of the developer and the maintainer to get
reviews. Please check in the MAINTAINERS file who to contact.

> Two of the patches (this one included) I have outstanding are build fixes
> for use in our build environment, so it would be nice to them upstreamed.

Waiting for integration of your patches, maybe you have some free time to
help other developers by making reviews ;)

Thanks
  
Simon Kagstrom Oct. 13, 2015, 12:54 p.m. UTC | #5
On 2015-10-13 14:45, Thomas Monjalon wrote:
> 2015-10-13 14:39, Simon Kågström:
>> Two of the patches (this one included) I have outstanding are build fixes
>> for use in our build environment, so it would be nice to them upstreamed.
> 
> Waiting for integration of your patches, maybe you have some free time to
> help other developers by making reviews ;)

Waiting for integration is not my only work-task :-)

Anyway, I have too superficial knowledge about DPDK to chime in with
relevant comments in most cases, but I'll comment if I feel I can
contribute.

// Simon
  
Thomas Monjalon Oct. 25, 2015, 5:31 p.m. UTC | #6
> >> Signed-off-by: Simon Kagstrom <simon.kagstrom@netinsight.net>
> 
> Acked-by: Olivier Matz <olivier.matz@6wind.com>

Applied, thanks
  

Patch

diff --git a/mk/rte.module.mk b/mk/rte.module.mk
index 7bf77c1..53ed4fe 100644
--- a/mk/rte.module.mk
+++ b/mk/rte.module.mk
@@ -78,7 +78,7 @@  build: _postbuild
 $(MODULE).ko: $(SRCS_LINKS)
 	@if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi
 	@$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) \
-		CC=$(KERNELCC) CROSS_COMPILE=$(CROSS) V=$(if $V,1,0)
+		CC="$(KERNELCC)" CROSS_COMPILE=$(CROSS) V=$(if $V,1,0)
 
 # install module in $(RTE_OUTPUT)/kmod
 $(RTE_OUTPUT)/kmod/$(MODULE).ko: $(MODULE).ko