DPDK patches and discussions
 help / color / mirror / Atom feed
* [patch] allow using standard ar from the build ini files instead of 'ar' string
@ 2022-02-28 15:54 aisha
  2022-02-28 17:06 ` Stephen Hemminger
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: aisha @ 2022-02-28 15:54 UTC (permalink / raw)
  To: dev

[-- Attachment #1: Type: text/plain, Size: 364 bytes --]

Hi,

I've attached a patch, from Gentoo, which uses the *ar* binary passed to 
meson when available, instead of 'ar', which may not be available, for 
instance when cross compiling, or having multiple gcc versions present, 
like in Gentoo.

This should not have any regressions, as when the binary is not 
available it uses the same logic as the original.

Aisha


[-- Attachment #2: dpdk-21.11-static_linker-r1.patch --]
[-- Type: text/plain, Size: 1208 bytes --]

diff --git a/buildtools/meson.build b/buildtools/meson.build
index 400b88f251..d886bfb1dc 100644
--- a/buildtools/meson.build
+++ b/buildtools/meson.build
@@ -24,15 +24,20 @@ binutils_avx512_check = (py3 + files('binutils-avx512-check.py') +
 # select library and object file format
 pmdinfo = py3 + files('gen-pmdinfo-cfile.py') + [meson.current_build_dir()]
 pmdinfogen = py3 + files('pmdinfogen.py')
+ar = ''
+if cc.get_id() == 'gcc' or host_machine.system() != 'windows'
+    ar = 'ar'
+else
+    ar = 'llvm-ar'
+endif
+ar_bin = find_program('ar', required: false)
+if ar_bin.found()
+    ar = ar_bin.full_path()
+endif
+pmdinfo += ar
 if host_machine.system() == 'windows'
-    if cc.get_id() == 'gcc'
-        pmdinfo += 'ar'
-    else
-        pmdinfo += 'llvm-ar'
-    endif
     pmdinfogen += 'coff'
 else
-    pmdinfo += 'ar'
     pmdinfogen += 'elf'
 endif
 
diff --git a/meson.build b/meson.build
index 937f6110c0..35650ab20d 100644
--- a/meson.build
+++ b/meson.build
@@ -12,7 +12,7 @@ project('DPDK', 'C',
             'default_library=static',
             'warning_level=2',
         ],
-        meson_version: '>= 0.49.2'
+        meson_version: '>= 0.55.0'
 )
 
 # check for developer mode

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [patch] allow using standard ar from the build ini files instead of 'ar' string
  2022-02-28 15:54 [patch] allow using standard ar from the build ini files instead of 'ar' string aisha
@ 2022-02-28 17:06 ` Stephen Hemminger
  2022-02-28 17:33 ` Bruce Richardson
  2022-02-28 17:54 ` Bruce Richardson
  2 siblings, 0 replies; 4+ messages in thread
From: Stephen Hemminger @ 2022-02-28 17:06 UTC (permalink / raw)
  To: aisha; +Cc: dev

On Mon, 28 Feb 2022 10:54:28 -0500
aisha <atammy.dpdk@bsd.ac> wrote:

> Hi,
> 
> I've attached a patch, from Gentoo, which uses the *ar* binary passed to 
> meson when available, instead of 'ar', which may not be available, for 
> instance when cross compiling, or having multiple gcc versions present, 
> like in Gentoo.
> 
> This should not have any regressions, as when the binary is not 
> available it uses the same logic as the original.
> 
> Aisha
> 

Please resubmit this patch with proper Signed-off-by.
Without Developer's Certificate of Origin there can be license claims.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [patch] allow using standard ar from the build ini files instead of 'ar' string
  2022-02-28 15:54 [patch] allow using standard ar from the build ini files instead of 'ar' string aisha
  2022-02-28 17:06 ` Stephen Hemminger
@ 2022-02-28 17:33 ` Bruce Richardson
  2022-02-28 17:54 ` Bruce Richardson
  2 siblings, 0 replies; 4+ messages in thread
From: Bruce Richardson @ 2022-02-28 17:33 UTC (permalink / raw)
  To: aisha; +Cc: dev

On Mon, Feb 28, 2022 at 10:54:28AM -0500, aisha wrote:
> Hi,
> 
> I've attached a patch, from Gentoo, which uses the *ar* binary passed to
> meson when available, instead of 'ar', which may not be available, for
> instance when cross compiling, or having multiple gcc versions present, like
> in Gentoo.
> 
> This should not have any regressions, as when the binary is not available it
> uses the same logic as the original.
> 
> Aisha
> 

> diff --git a/buildtools/meson.build b/buildtools/meson.build
> index 400b88f251..d886bfb1dc 100644
> --- a/buildtools/meson.build
> +++ b/buildtools/meson.build
> @@ -24,15 +24,20 @@ binutils_avx512_check = (py3 + files('binutils-avx512-check.py') +
>  # select library and object file format
>  pmdinfo = py3 + files('gen-pmdinfo-cfile.py') + [meson.current_build_dir()]
>  pmdinfogen = py3 + files('pmdinfogen.py')
> +ar = ''
> +if cc.get_id() == 'gcc' or host_machine.system() != 'windows'
> +    ar = 'ar'
> +else
> +    ar = 'llvm-ar'
> +endif
> +ar_bin = find_program('ar', required: false)
> +if ar_bin.found()
> +    ar = ar_bin.full_path()
> +endif
> +pmdinfo += ar
>  if host_machine.system() == 'windows'
> -    if cc.get_id() == 'gcc'
> -        pmdinfo += 'ar'
> -    else
> -        pmdinfo += 'llvm-ar'
> -    endif
>      pmdinfogen += 'coff'
>  else
> -    pmdinfo += 'ar'
>      pmdinfogen += 'elf'
>  endif
>  
> diff --git a/meson.build b/meson.build
> index 937f6110c0..35650ab20d 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -12,7 +12,7 @@ project('DPDK', 'C',
>              'default_library=static',
>              'warning_level=2',
>          ],
> -        meson_version: '>= 0.49.2'
> +        meson_version: '>= 0.55.0'
>  )

I don't believe this should be part of this patch, as bumping the minimum
meson version is not something we want to do just now.

/Bruce

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [patch] allow using standard ar from the build ini files instead of 'ar' string
  2022-02-28 15:54 [patch] allow using standard ar from the build ini files instead of 'ar' string aisha
  2022-02-28 17:06 ` Stephen Hemminger
  2022-02-28 17:33 ` Bruce Richardson
@ 2022-02-28 17:54 ` Bruce Richardson
  2 siblings, 0 replies; 4+ messages in thread
From: Bruce Richardson @ 2022-02-28 17:54 UTC (permalink / raw)
  To: aisha; +Cc: dev

On Mon, Feb 28, 2022 at 10:54:28AM -0500, aisha wrote:
> Hi,
> 
> I've attached a patch, from Gentoo, which uses the *ar* binary passed to
> meson when available, instead of 'ar', which may not be available, for
> instance when cross compiling, or having multiple gcc versions present, like
> in Gentoo.
> 
> This should not have any regressions, as when the binary is not available it
> uses the same logic as the original.
> 
> Aisha
> 

> diff --git a/buildtools/meson.build b/buildtools/meson.build
> index 400b88f251..d886bfb1dc 100644
> --- a/buildtools/meson.build
> +++ b/buildtools/meson.build
> @@ -24,15 +24,20 @@ binutils_avx512_check = (py3 + files('binutils-avx512-check.py') +
>  # select library and object file format
>  pmdinfo = py3 + files('gen-pmdinfo-cfile.py') + [meson.current_build_dir()]
>  pmdinfogen = py3 + files('pmdinfogen.py')
> +ar = ''
> +if cc.get_id() == 'gcc' or host_machine.system() != 'windows'

This doesn't work correctly for FreeBSD, as we want to use llvm-ar by
default there for clang builds. It should probably check explicitly for
linux instead.

> +    ar = 'ar'
> +else
> +    ar = 'llvm-ar'
> +endif
> +ar_bin = find_program('ar', required: false)
> +if ar_bin.found()
> +    ar = ar_bin.full_path()
> +endif

This here looks wrong too. Even if clang is being used as a compiler and
llvm-ar as a linker, this will still find the "ar" binary if present.

> +pmdinfo += ar
>  if host_machine.system() == 'windows'
> -    if cc.get_id() == 'gcc'
> -        pmdinfo += 'ar'
> -    else
> -        pmdinfo += 'llvm-ar'
> -    endif
>      pmdinfogen += 'coff'
>  else
> -    pmdinfo += 'ar'
>      pmdinfogen += 'elf'
>  endif
>  
> diff --git a/meson.build b/meson.build
> index 937f6110c0..35650ab20d 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -12,7 +12,7 @@ project('DPDK', 'C',
>              'default_library=static',
>              'warning_level=2',
>          ],
> -        meson_version: '>= 0.49.2'
> +        meson_version: '>= 0.55.0'
>  )
>  
>  # check for developer mode


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-02-28 17:58 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-28 15:54 [patch] allow using standard ar from the build ini files instead of 'ar' string aisha
2022-02-28 17:06 ` Stephen Hemminger
2022-02-28 17:33 ` Bruce Richardson
2022-02-28 17:54 ` Bruce Richardson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).