From aeaff94ec1dba0096d7b943ad7c963d9d574d922 Mon Sep 17 00:00:00 2001 From: "Steven G. Messervey" Date: Wed, 15 Apr 2015 22:56:21 -0400 Subject: implement #pragma comment(lib,...) --- libtcc.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'libtcc.c') diff --git a/libtcc.c b/libtcc.c index 6f88989..de19a64 100644 --- a/libtcc.c +++ b/libtcc.c @@ -829,13 +829,31 @@ static int tcc_compile(TCCState *s1) LIBTCCAPI int tcc_compile_string(TCCState *s, const char *str) { + int i; int len, ret; len = strlen(str); tcc_open_bf(s, "", len); memcpy(file->buffer, str, len); + + len = s->nb_files; ret = tcc_compile(s); tcc_close(); + + /* habdle #pragma comment(lib,) */ + for(i = len; i < s->nb_files; i++) { + /* int filetype = *(unsigned char *)s->files[i]; */ + const char *filename = s->files[i] + 1; + if (filename[0] == '-' && filename[1] == 'l') { + if (tcc_add_library(s, filename + 2) < 0) { + tcc_warning("cannot find '%s'", filename+2); + ret++; + } + } + tcc_free(s->files[i]); + } + s->nb_files = len; + return ret; } -- cgit v1.3.1