From be8b04496302184c6e8f04d6179f9c3afc50aeb6 Mon Sep 17 00:00:00 2001 From: YamaArashi Date: Wed, 6 Jan 2016 01:47:28 -0800 Subject: initial commit --- gcc/config/msdos/mklibgcc.c | 98 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100755 gcc/config/msdos/mklibgcc.c (limited to 'gcc/config/msdos/mklibgcc.c') diff --git a/gcc/config/msdos/mklibgcc.c b/gcc/config/msdos/mklibgcc.c new file mode 100755 index 0000000..705b3d5 --- /dev/null +++ b/gcc/config/msdos/mklibgcc.c @@ -0,0 +1,98 @@ +#include +#include +#include + +char *skips[] = { + "__main", + "_ctors", + "_exit", + "_ctor_list", + "_dtor_list", + 0 +}; + +int +do_clean() +{ + DIR *dir; + struct dirent *de; + remove("mklibnow.bat"); + + dir = opendir("lgcctmp"); + if (!dir) + return 0; + while ((de=readdir(dir))) + { + char buf[30]; + if (de->d_name[0] == '.') + continue; + sprintf(buf, "lgcctmp/%s", de->d_name); + unlink(buf); + } + closedir(dir); + return 0; +} + +int +main(int argc, char **argv) +{ + char *cc = argv[1]; + char *csrc=argv[2]; + int i; + FILE *batfile; + FILE *cfile; + + if (argc > 1 && strcmp(argv[1], "-c")==0) + return do_clean(); + + mkdir("lgcctmp", 0755); + + batfile = fopen("mklibnow.bat", "a"); + if (!batfile) + { + perror("mklibnow.bat"); + return 1; + } + fprintf(batfile, "@echo off\n"); + + for (i=3; i