diff mbox series

[3/3] lame: don't use -march=native when building with clang

Message ID 20250922172025.184116-3-ross.burton@arm.com
State New
Headers show
Series [1/3] vte: skip gobject-introspection with clang on armv7 | expand

Commit Message

Ross Burton Sept. 22, 2025, 5:20 p.m. UTC
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>
---
 meta/recipes-multimedia/lame/lame/clang.patch | 99 +++++++++++++++++++
 meta/recipes-multimedia/lame/lame_3.100.bb    |  1 +
 2 files changed, 100 insertions(+)
 create mode 100644 meta/recipes-multimedia/lame/lame/clang.patch
diff mbox series

Patch

diff --git a/meta/recipes-multimedia/lame/lame/clang.patch b/meta/recipes-multimedia/lame/lame/clang.patch
new file mode 100644
index 00000000000..116000c577b
--- /dev/null
+++ b/meta/recipes-multimedia/lame/lame/clang.patch
@@ -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
diff --git a/meta/recipes-multimedia/lame/lame_3.100.bb b/meta/recipes-multimedia/lame/lame_3.100.bb
index efaf3b9817a..42689df3511 100644
--- a/meta/recipes-multimedia/lame/lame_3.100.bb
+++ b/meta/recipes-multimedia/lame/lame_3.100.bb
@@ -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"