Ooops, Yes DIRENT is needed. I sent you an incomplete diff. Enclosed are the right ones. This new build_w32.bat allows both tcc and cl to compile dirent. You can replace c11 by c99 if you like. I generally use c11 which sometimes checks about deprecated uses.
Tcc supports loadable libraries (.dll on Windows and .so on linux). If you never heard about tcc before, I invite you to give a try and see the phenomenal compiler speed. It makes you think you have an interpreter which of course dramatically boost your development cycle. It even support on-the-fly compilation with shee-band #!/usr/local/tcc. This way you can make shell scripts in C. Compiling a working Linux kernel is a matter of sec (see https://github.com/seyko2/tccboot) Execution speed of this one pass compiler is fair: 30 to 50% slower than gcc or cl. This is my main C compiler I use daily for C devel (no C++). When code works, I polish the binaries with cl or gcc with all possible optims for my OpenLisp Lisp compiler. This a must have on RPi for example. > Would you like me to send you the form to fill to start the legal paperwork? For sure, I'll be glad to do so. -----Original Message----- From: Eli Zaretskii [mailto:[email protected]] Sent: Friday, January 24, 2020 08:25 To: [email protected]; Paul Smith Cc: [email protected] Subject: Re: [Tinycc-devel] I want to port make on Windows using tcc compiler > From: "Christian Jullien" <[email protected]> > Cc: <[email protected]> > Date: Wed, 22 Jan 2020 20:57:37 +0100 > > Ok here are the patches: Thanks. A few questions and comments below. > :: Find a compiler. Visual Studio requires a lot of effort to locate :-/. > %COMPILER% >nul 2>&1 > @@ -172,6 +182,7 @@ > set OUTDIR=.\GccRel > set LNKOUT=./GccRel > set OPTS=-O2 > +set DIRENT=N What is this part about? Is it needed, and if so, why? > +:TccCompile > +:: TCC Compile > +echo on > +%COMPILER% -mthreads -Wall -std=c11 %OPTS% -I%OUTDIR%/src -I./src Why are you using -std=c11 here? this is unlike all the other compilations, which use C99. > +:TccLink > +:: TCC Link > +echo on > +echo %GUILELIBS% -lkernel32 -luser32 -lgdi32 -lcomdlg32 -ladvapi32 > -lshell32 -lole32 -loleaut32 -lodbc32 -lodbccp32 >>%OUTDIR%\link.sc > +%COMPILER% -mthreads %OPTS% -o %LNKOUT%/%MAKE%.exe @%LNKOUT%/link.sc Does this build the import library? And in general, does the tcc build support loadable modules? Last, but not least: a contribution this large will need you to sign legal papers assigning the copyright to the FSF. Would you like me to send you the form to fill to start the legal paperwork? Paul, any comments? The changes look reasonable to me, FWIW.
config.h.W32.patch
Description: Binary data
build_w32.bat.patch
Description: Binary data
