* [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).