On Sun, 1 Jul 2012 19:48:58 -0400
Richard Yao <[email protected]> wrote:
> I want to add freebsd_get_cpuarch() to freebsd.eclass. This will give
> us a platform-independent way of generating MACHINE_CPUARCH, which
> will make building FreeBSD components on other platforms (i.e. Linux
> and Prefix) easier.
>
> --- freebsd.eclass.old 2012-07-01 19:15:56.157277000 -0400
> +++ freebsd.eclass 2012-07-01 19:44:08.093698000 -0400
> @@ -58,6 +58,24 @@ freebsd_get_bmake() {
> echo "${bmake}"
> }
>
> +freebsd_get_cpuarch() {
> + local arch=$(uname -m)
> + case $(uname -m) in
> + x86_64)
> + return 'amd64';;
> + arm*)
> + return 'arm';;
> + i?86)
> + return 'i386';;
> + ppc*)
> + return 'powerpc';;
> + mips*)
> + return 'mips';;
> + sparc*)
> + return 'sparc';;
> + *)
> + return arch;
> + esac
> +}
> +
> freebsd_do_patches() {
> if [[ ${#PATCHES[@]} -gt 1 ]] ; then
> for x in "${PATCHES[@]}"; do
>
> Does anyone have any objections?
>
hu? yes, as already pointed out, uname is not reliable when
cross-compiling. You should use CHOST, and then you get tc-arch-kernel.
See freebsd-lib ebuild for how it is handled.
A.