浏览代码

lame: 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.

(From OE-Core rev: d6f0e26ccf19872e1f4eebb346d76c7bff87ba2a)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton 3 周之前
父节点
当前提交
917d6652fc
共有 2 个文件被更改,包括 100 次插入0 次删除
  1. 99 0
      meta/recipes-multimedia/lame/lame/clang.patch
  2. 1 0
      meta/recipes-multimedia/lame/lame_3.100.bb

+ 99 - 0
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

+ 1 - 0
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"