On Sun, 1 Jul 2012 19:48:58 -0400
Richard Yao <r...@cs.stonybrook.edu> 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.

Reply via email to