make-w32
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Tinycc-devel] I want to port make on Windows using tcc compiler


From: Christian Jullien
Subject: RE: [Tinycc-devel] I want to port make on Windows using tcc compiler
Date: Fri, 24 Jan 2020 09:13:12 +0100

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:address@hidden] 
Sent: Friday, January 24, 2020 08:25
To: address@hidden; Paul Smith
Cc: address@hidden
Subject: Re: [Tinycc-devel] I want to port make on Windows using tcc
compiler

> From: "Christian Jullien" <address@hidden>
> Cc: <address@hidden>
> 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.

Attachment: config.h.W32.patch
Description: Binary data

Attachment: build_w32.bat.patch
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]