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.