summaryrefslogtreecommitdiffstats
path: root/usr.bin/make
diff options
context:
space:
mode:
authorrmh <rmh@FreeBSD.org>2012-01-20 18:55:56 +0000
committerrmh <rmh@FreeBSD.org>2012-01-20 18:55:56 +0000
commit6aecdb4cd57cadd8365b973c0a3d819d09f66da4 (patch)
treed8d2260c2fab35332a38876eb0be83ab9a4fc657 /usr.bin/make
parentb1f7eef0fbd73e973decd4e9576090ee97dcaa61 (diff)
downloadFreeBSD-src-6aecdb4cd57cadd8365b973c0a3d819d09f66da4.zip
FreeBSD-src-6aecdb4cd57cadd8365b973c0a3d819d09f66da4.tar.gz
Map foreign architecture names to FreeBSD naming convention.
Approved by: kib (mentor)
Diffstat (limited to 'usr.bin/make')
-rw-r--r--usr.bin/make/main.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/usr.bin/make/main.c b/usr.bin/make/main.c
index fe5ae58..8079cc9 100644
--- a/usr.bin/make/main.c
+++ b/usr.bin/make/main.c
@@ -146,6 +146,14 @@ uint32_t warn_nocmd; /* command line no-warning flags */
time_t now; /* Time at start of make */
struct GNode *DEFAULT; /* .DEFAULT node */
+static struct {
+ const char *foreign_name;
+ const char *freebsd_name;
+} arch_aliases[] = {
+ { "x86_64", "amd64" },
+ { "mipsel", "mips" },
+};
+
/**
* Exit with usage message.
*/
@@ -939,10 +947,19 @@ main(int argc, char **argv)
*/
if ((machine = getenv("MACHINE")) == NULL) {
static struct utsname utsname;
+ unsigned int i;
if (uname(&utsname) == -1)
err(2, "uname");
machine = utsname.machine;
+
+ /* Canonicalize non-FreeBSD naming conventions */
+ for (i = 0; i < sizeof(arch_aliases)
+ / sizeof(arch_aliases[0]); i++)
+ if (!strcmp(machine, arch_aliases[i].foreign_name)) {
+ machine = arch_aliases[i].freebsd_name;
+ break;
+ }
}
if ((machine_arch = getenv("MACHINE_ARCH")) == NULL) {
OpenPOWER on IntegriCloud