Added what I call virtual io to tinycc this way we can make a monolitic executable or library that contains all needed to compile programs, truly tinycc portable.

Tested under linux exec the "mk-it" shell script and you'll end up with a portable tinycc executable that doesn't depend on anything else.
This commit is contained in:
mingodad
2013-01-11 00:04:38 +00:00
parent 0a8c7d143e
commit 59e18aee0e
12 changed files with 903 additions and 62 deletions

View File

@ -1638,9 +1638,9 @@ static int pe_load_dll(TCCState *s1, const char *dllname, FILE *fp)
}
/* ------------------------------------------------------------- */
ST_FUNC int pe_load_file(struct TCCState *s1, const char *filename, int fd)
ST_FUNC int pe_load_file(struct TCCState *s1, const char *filename, vio_fd fd)
{
FILE *fp = fdopen(dup(fd), "rb");
FILE *fp = fdopen(dup(fd.fd), "rb");
int ret = -1;
char buf[10];
if (fp) {