diff mbox series

[FFmpeg-devel] configure: move ranlib -D test after setting defaults

Message ID 20220214130007.2781962-1-adrian.ratiu@collabora.com
State New
Headers show
Series [FFmpeg-devel] configure: move ranlib -D test after setting defaults | expand

Checks

Context Check Description
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_ppc success Make finished
andriy/make_fate_ppc success Make fate finished
andriy/make_aarch64_jetson success Make finished
andriy/make_fate_aarch64_jetson success Make fate finished
andriy/make_armv7_RPi4 success Make finished
andriy/make_fate_armv7_RPi4 success Make fate finished

Commit Message

Adrian Ratiu Feb. 14, 2022, 1 p.m. UTC
In Gentoo and ChromeOS we want to allow pure LLVM builds without
using GNU tools, so we block any unwanted mixed GNU/LLVM usages
(GNU tools are still kept around in our chroots for projects
like glibc which cannot yet be built otherwise).

The default ${cross_prefix}${ranlib_default} points to GNU and
fails, so move the test a bit later - after the defaults are
set and the proper values get overriden - such that ffmpeg
configure calls the llvm-ranlib we desire. [1]

[1] https://gitweb.gentoo.org/repo/gentoo.git/tree/media-video/ffmpeg/ffmpeg-4.4.1-r1.ebuild?id=7a34377e3277a6a0e2eedd40e90452a44c55f1e6#n477

Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
---
 configure | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Comments

Martin Storsjö March 10, 2022, 1:09 p.m. UTC | #1
On Mon, 14 Feb 2022, Adrian Ratiu wrote:

> In Gentoo and ChromeOS we want to allow pure LLVM builds without
> using GNU tools, so we block any unwanted mixed GNU/LLVM usages
> (GNU tools are still kept around in our chroots for projects
> like glibc which cannot yet be built otherwise).
>
> The default ${cross_prefix}${ranlib_default} points to GNU and
> fails, so move the test a bit later - after the defaults are
> set and the proper values get overriden - such that ffmpeg
> configure calls the llvm-ranlib we desire. [1]
>
> [1] https://gitweb.gentoo.org/repo/gentoo.git/tree/media-video/ffmpeg/ffmpeg-4.4.1-r1.ebuild?id=7a34377e3277a6a0e2eedd40e90452a44c55f1e6#n477
>
> Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
> ---
> configure | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/configure b/configure
> index a251e27723..61c150959e 100755
> --- a/configure
> +++ b/configure
> @@ -4416,11 +4416,7 @@ cc_default="${cross_prefix}${cc_default}"
> cxx_default="${cross_prefix}${cxx_default}"
> nm_default="${cross_prefix}${nm_default}"
> pkg_config_default="${cross_prefix}${pkg_config_default}"
> -if ${cross_prefix}${ranlib_default} 2>&1 | grep -q "\-D "; then
> -    ranlib_default="${cross_prefix}${ranlib_default} -D"
> -else
> -    ranlib_default="${cross_prefix}${ranlib_default}"
> -fi
> +ranlib_default="${cross_prefix}${ranlib_default}"
> strip_default="${cross_prefix}${strip_default}"
> windres_default="${cross_prefix}${windres_default}"
>
> @@ -4453,6 +4449,10 @@ set_default arch cc cxx doxygen pkg_config ranlib strip sysinclude \
> enabled cross_compile || host_cc_default=$cc
> set_default host_cc
>
> +if ${ranlib} 2>&1 | grep -q "\-D "; then
> +    ranlib="${ranlib} -D"
> +fi
> +
> pkg_config_fail_message=""
> if ! $pkg_config --version >/dev/null 2>&1; then
>     warn "$pkg_config not found, library detection may fail."
> -- 
> 2.35.0

I noticed this patch which doesn't seem to have gotten any feedback. This 
patch seems sensible to me; I'll try to go ahead and test it and will push 
it if I don't see any issue with it.

// Martin
diff mbox series

Patch

diff --git a/configure b/configure
index a251e27723..61c150959e 100755
--- a/configure
+++ b/configure
@@ -4416,11 +4416,7 @@  cc_default="${cross_prefix}${cc_default}"
 cxx_default="${cross_prefix}${cxx_default}"
 nm_default="${cross_prefix}${nm_default}"
 pkg_config_default="${cross_prefix}${pkg_config_default}"
-if ${cross_prefix}${ranlib_default} 2>&1 | grep -q "\-D "; then
-    ranlib_default="${cross_prefix}${ranlib_default} -D"
-else
-    ranlib_default="${cross_prefix}${ranlib_default}"
-fi
+ranlib_default="${cross_prefix}${ranlib_default}"
 strip_default="${cross_prefix}${strip_default}"
 windres_default="${cross_prefix}${windres_default}"
 
@@ -4453,6 +4449,10 @@  set_default arch cc cxx doxygen pkg_config ranlib strip sysinclude \
 enabled cross_compile || host_cc_default=$cc
 set_default host_cc
 
+if ${ranlib} 2>&1 | grep -q "\-D "; then
+    ranlib="${ranlib} -D"
+fi
+
 pkg_config_fail_message=""
 if ! $pkg_config --version >/dev/null 2>&1; then
     warn "$pkg_config not found, library detection may fail."