From: Michael Meissner Date: Tue, 20 Dec 1994 14:31:20 +0000 (+0000) Subject: Build libgcc.a X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f70f60db2c6c1d3149477e24db4caed9d78fd905;p=gcc.git Build libgcc.a From-SVN: r8674 --- diff --git a/gcc/config/msdos/configur.bat b/gcc/config/msdos/configur.bat index 3e202e8d509..f8a99586e1e 100644 --- a/gcc/config/msdos/configur.bat +++ b/gcc/config/msdos/configur.bat @@ -12,7 +12,7 @@ update config\i386\i386.md md update config\i386\i386.c aux-output.c echo # Makefile generated by "configure.bat"> Makefile -echo all.dos: cccp cc1 cc1obj xgcc s-objlist >> Makefile +echo all.dos: cccp cc1 cc1obj xgcc libgcc.a s-objlist >> Makefile sed -f config/msdos/top.sed Makefile.in >> Makefile set LANG= diff --git a/gcc/config/msdos/libgcc.mak b/gcc/config/msdos/libgcc.mak new file mode 100644 index 00000000000..5f480b152d3 --- /dev/null +++ b/gcc/config/msdos/libgcc.mak @@ -0,0 +1,14 @@ +# Build libgcc.a + +libgcc.a : libgcc1.c libgcc2.c mklibgcc + ./mklibgcc -c + ./mklibgcc '$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES)' libgcc1.c $(LIB1FUNCS) + ./mklibgcc '$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES)' libgcc2.c $(LIB2FUNCS) + -command /c mklibnow.bat + -command /c del libgcc.a + ar rvs libgcc.a lgcctmp/*.o + +mklibgcc : config/msdos/mklibgcc.c + gcc $(CFLAGS) $^ -o $@ + + diff --git a/gcc/config/msdos/mklibgcc.c b/gcc/config/msdos/mklibgcc.c new file mode 100644 index 00000000000..705b3d5c404 --- /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