diff options
author | Mike Pall <mike> | 2012-09-24 16:55:10 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2012-09-24 16:55:10 +0200 |
commit | 2ff4afeb4f7d73eb0bd90092866cfdb4e8caa2f3 (patch) | |
tree | 293e605a6c9b10cded67b28dc2724bf6f2326022 /src | |
parent | 2ba16862c72ba67ab8708f7737944974044ea699 (diff) | |
download | luajit-2ff4afeb4f7d73eb0bd90092866cfdb4e8caa2f3.tar.gz luajit-2ff4afeb4f7d73eb0bd90092866cfdb4e8caa2f3.tar.bz2 luajit-2ff4afeb4f7d73eb0bd90092866cfdb4e8caa2f3.zip |
Allow conditional inclusion of builtin library functions.
Diffstat (limited to 'src')
-rw-r--r-- | src/host/buildvm_lib.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/host/buildvm_lib.c b/src/host/buildvm_lib.c index 3231d3ad..8e10fec1 100644 --- a/src/host/buildvm_lib.c +++ b/src/host/buildvm_lib.c | |||
@@ -317,6 +317,27 @@ void emit_lib(BuildCtx *ctx) | |||
317 | regfunc = REGFUNC_OK; | 317 | regfunc = REGFUNC_OK; |
318 | while (fgets(buf, sizeof(buf), fp) != NULL) { | 318 | while (fgets(buf, sizeof(buf), fp) != NULL) { |
319 | char *p; | 319 | char *p; |
320 | /* Simplistic pre-processor. Only handles top-level #if/#endif. */ | ||
321 | if (buf[0] == '#' && buf[1] == 'i' && buf[2] == 'f') { | ||
322 | int ok = 1; | ||
323 | if (!strcmp(buf, "#if LJ_52\n")) | ||
324 | ok = LJ_52; | ||
325 | else if (!strcmp(buf, "#if LJ_HASJIT\n")) | ||
326 | ok = LJ_HASJIT; | ||
327 | else if (!strcmp(buf, "#if LJ_HASFFI\n")) | ||
328 | ok = LJ_HASFFI; | ||
329 | if (!ok) { | ||
330 | int lvl = 1; | ||
331 | while (fgets(buf, sizeof(buf), fp) != NULL) { | ||
332 | if (buf[0] == '#' && buf[1] == 'e' && buf[2] == 'n') { | ||
333 | if (--lvl == 0) break; | ||
334 | } else if (buf[0] == '#' && buf[1] == 'i' && buf[2] == 'f') { | ||
335 | lvl++; | ||
336 | } | ||
337 | } | ||
338 | continue; | ||
339 | } | ||
340 | } | ||
320 | for (p = buf; (p = strstr(p, LIBDEF_PREFIX)) != NULL; ) { | 341 | for (p = buf; (p = strstr(p, LIBDEF_PREFIX)) != NULL; ) { |
321 | const LibDefHandler *ldh; | 342 | const LibDefHandler *ldh; |
322 | p += sizeof(LIBDEF_PREFIX)-1; | 343 | p += sizeof(LIBDEF_PREFIX)-1; |