]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
lame: don't use -march=native when building with clang
authorRoss Burton <ross.burton@arm.com>
Wed, 24 Sep 2025 12:07:35 +0000 (13:07 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 25 Sep 2025 09:56:55 +0000 (10:56 +0100)
Because of a logic error, lame's configure always passes -march=native
when building with clang.

This is a terrible idea in general as it's not often your build machine
and target hardware aligns, and leads to some amusing errors:

  unknown target CPU 'neoverse-n1'
  note: valid target CPU values are: i386, i486, ...

Move the HAVE_CLANG block up into the FULL_OPTIMIZATION case, alongside
HAVE_GCC.  This option is never enabled (as it's basically "use native")
so resolves the build failure.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-multimedia/lame/lame/clang.patch [new file with mode: 0644]
meta/recipes-multimedia/lame/lame_3.100.bb

diff --git a/meta/recipes-multimedia/lame/lame/clang.patch b/meta/recipes-multimedia/lame/lame/clang.patch
new file mode 100644 (file)
index 0000000..116000c
--- /dev/null
@@ -0,0 +1,99 @@
+Don't use -march=native when building with clang
+
+Because of a logic error, lame's configure always passes -march=native
+when building with clang.
+
+This is a terrible idea in general as it's not often your build machine
+and target hardware aligns, and leads to some amusing errors:
+
+       unknown target CPU 'neoverse-n1'
+       note: valid target CPU values are: i386, i486, ...
+
+Move the HAVE_CLANG block up into the FULL_OPTIMIZATION case, alongside
+HAVE_GCC.  This option is never enabled (as it's basically "use native")
+so resolves the build failure.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git i/configure.in w/configure.in
+index 5e43179..d51b017 100644
+--- i/configure.in
++++ w/configure.in
+@@ -960,45 +960,43 @@ if test "x$HAVE_GCC" = "xyes" -o "x$HAVE_CLANG" = "xyes"; then
+                               ;;
+                       esac
+               fi
++
++              if test "x${HAVE_CLANG}" = "xyes"; then
++                      case "${CLANG_VERSION}" in
++                      3.[89]*|[45].*)
++                              OPTIMIZATION="-Ofast"
++                              ;;
++                      *)
++                              OPTIMIZATION="-O3"
++                              ;;
++                      esac
++
++                      # generic CPU specific options
++                      case ${host_cpu} in
++                      *486)
++                              OPTIMIZATION="${OPTIMIZATION} -march=i486"
++                              ;;
++                      *586)
++                              OPTIMIZATION="${OPTIMIZATION} -march=i586 \
++                                      -mtune=native"
++                              ;;
++                      *686)
++                              OPTIMIZATION="${OPTIMIZATION} -march=i686 \
++                                      -mtune=native"
++                              ;;
++                      *86)
++                              OPTIMIZATION="${OPTIMIZATION} -march=native \
++                                      -mtune=native"
++                              ;;
++                      esac
++
++              fi
+               ;;
+       *)
+               AC_MSG_ERROR(bad value �${CONFIG_EXPOPT}� for expopt option)
+               ;;
+       esac
+-
+-      if test "x${HAVE_CLANG}" = "xyes"; then
+-              case "${CLANG_VERSION}" in
+-              3.[89]*|[45].*)
+-                      OPTIMIZATION="-Ofast"
+-                      ;;
+-              *)
+-                      OPTIMIZATION="-O3"
+-                      ;;
+-              esac
+-
+-              # generic CPU specific options
+-              case ${host_cpu} in
+-              *486)
+-                      OPTIMIZATION="${OPTIMIZATION} -march=i486"
+-                      ;;
+-              *586)
+-                      OPTIMIZATION="${OPTIMIZATION} -march=i586 \
+-                              -mtune=native"
+-                      ;;
+-              *686)
+-                      OPTIMIZATION="${OPTIMIZATION} -march=i686 \
+-                              -mtune=native"
+-                      ;;
+-              *86)
+-                      OPTIMIZATION="${OPTIMIZATION} -march=native \
+-                              -mtune=native"
+-                      ;;
+-              esac
+-
+-      fi
+-
+-
+       if test "${expopt_msg_result_printed}" = "no" ; then
+               AC_MSG_RESULT(${CONFIG_EXPOPT})
+       fi
index efaf3b9817ae02e80d004c27939958296ab13142..42689df3511c1c61ed7377343216151816d7bcdd 100644 (file)
@@ -12,6 +12,7 @@ DEPENDS = "ncurses gettext-native"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/lame/lame-${PV}.tar.gz \
            file://no-gtk1.patch \
+           file://clang.patch \
            "
 
 SRC_URI[sha256sum] = "ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e"