diff options
| author | rajdakin <rajdakin@gmail.com> | 2024-09-07 20:53:51 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-07 20:53:51 +0200 |
| commit | f30d75ae5dba339bfc95229894b22fd73e3fdc14 (patch) | |
| tree | 5cd75da181f43a7aaf29cab121069d9dba85aa2d /wrapperhelper/src/main.c | |
| parent | e087e7782ca9b2ce6c8ec99706a352b1c6ca12bc (diff) | |
| download | box64-f30d75ae5dba339bfc95229894b22fd73e3fdc14.tar.gz box64-f30d75ae5dba339bfc95229894b22fd73e3fdc14.zip | |
[WRAPPERHELPER] General improvements (#1804)
* [WRAPPERHELPER] Automatic headers detection, various bug fixes, added some cast support * [WRAPPERHELPER] Keep comments untouched
Diffstat (limited to 'wrapperhelper/src/main.c')
| -rw-r--r-- | wrapperhelper/src/main.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/wrapperhelper/src/main.c b/wrapperhelper/src/main.c index ffe09146..1b5b2db2 100644 --- a/wrapperhelper/src/main.c +++ b/wrapperhelper/src/main.c @@ -12,12 +12,13 @@ static void help(char *arg0) { printf("Usage: %s --help\n" - " %s [--prepare|--preproc|--proc] <filename_in>\n" - " %s <filename_in> <filename_reqs> <filename_out>\n" + " %s {-I/path/to/include}* [--prepare|--preproc|--proc] <filename_in>\n" + " %s {-I/path/to/include}* <filename_in> <filename_reqs> <filename_out>\n" "\n" " --prepare Dump all preprocessor tokens (prepare phase)\n" " --preproc Dump all processor tokens (preprocessor phase)\n" " --proc Dump all typedefs, declarations and constants (processor phase)\n" + " -I Add a path to the list of system includes\n" "\n" " <filename_in> Parsing file\n" " <filename_reqs> Reference file (example: wrappedlibc_private.h)\n" @@ -53,11 +54,14 @@ int main(int argc, char **argv) { ms = MAIN_PREPROC; } else if (!strcmp(argv[i], "--proc")) { ms = MAIN_PROC; + } else if (!strcmp(argv[i], "-pthread")) { + // Ignore } else if (!strcmp(argv[i], "-I") && (i + 1 < argc)) { if (!vector_push(charp, paths, argv[i + 1])) { printf("Error: failed to add path to buffer\n"); return 2; } + ++i; } else if ((argv[i][0] == '-') && (argv[i][1] == 'I') && (argv[i][2] != '\0')) { if (!vector_push(charp, paths, argv[i] + 2)) { printf("Error: failed to add path to buffer\n"); @@ -127,31 +131,31 @@ int main(int argc, char **argv) { del_str2kw(); return 2; } - VECTOR(requests) *reqs = requests_from_file(ref_file, ref); + VECTOR(references) *reqs = references_from_file(ref_file, ref); if (!reqs) { file_del(content); del_machines(); del_str2kw(); return 2; } - // vector_for(requests, req, reqs) request_print(req); - if (!solve_requests(reqs, content->decl_map)) { + // vector_for(references, req, reqs) request_print(req); + if (!solve_references(reqs, content->decl_map)) { printf("Warning: failed to solve all default requests\n"); } - // vector_for(requests, req, reqs) request_print(req); - //vector_for(requests, req, reqs) request_print_check(req); + // vector_for(references, req, reqs) request_print(req); + //vector_for(references, req, reqs) request_print_check(req); FILE *out = fopen(out_file, "w"); if (!out) { err(2, "Error: failed to open %s", ref_file); file_del(content); - vector_del(requests, reqs); + vector_del(references, reqs); del_machines(); del_str2kw(); return 2; } - output_from_requests(out, reqs); + output_from_references(out, reqs); fclose(out); - vector_del(requests, reqs); + vector_del(references, reqs); file_del(content); del_machines(); del_str2kw(); |