aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/a_targ.c
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2026-03-20 22:35:49 +0100
committerlemon <lsof@mailbox.org>2026-03-20 22:36:24 +0100
commita49b92988ceb810c8e6044d44f855616b4d6e5ab (patch)
tree0848511760a4ecc9fe3049343349ab9846ad090b /src/a_targ.c
parent31032275a618f74865bdc877b569eae2227e79b4 (diff)
driver: only depend on ld for linking (todo)
Diffstat (limited to 'src/a_targ.c')
-rw-r--r--src/a_targ.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/a_targ.c b/src/a_targ.c
index fab23e9..1513bc6 100644
--- a/src/a_targ.c
+++ b/src/a_targ.c
@@ -67,18 +67,14 @@ parsetriple(TargTriple *trg, const char *str)
return 1;
}
-#include "hostconfig.h" /* run ./configure */
-
-void
-targ_init(const char *starg)
+bool
+targ_init(const char *starg, const TargTriple *dfault)
{
const struct Targ *t = NULL;
uchar *sizes = targ_primsizes, *align = targ_primalign;
if (!starg) {
- target.arch = HOST_ARCH;
- target.os = HOST_OS;
- target.abi = HOST_ABI;
+ target = *dfault;
} else if (!parsetriple(&target, starg)) {
fatal(NULL, "unrecognized target: %s", starg);
}
@@ -91,7 +87,7 @@ targ_init(const char *starg)
break;
}
}
- if (!t) fatal(NULL, "unsupported target: %s", starg ? starg : HOST_TRIPLE);
+ if (!t) return 0;
sizes[TYBOOL] = sizes[TYCHAR] = sizes[TYSCHAR] = sizes[TYUCHAR] = 1;
sizes[TYSHORT] = sizes[TYUSHORT] = 2;
@@ -123,4 +119,6 @@ targ_init(const char *starg)
targ_64bit = t->ptrsize == 8;
mctarg = t->mctarg;
targ_arch = ISx86_64;
+
+ return 1;
}