Path: ...!news.roellig-ltd.de!open-news-network.org!weretis.net!feeder8.news.weretis.net!newsfeed.bofh.team!paganini.bofh.team!not-for-mail From: antispam@fricas.org (Waldek Hebisch) Newsgroups: comp.lang.c Subject: Re: Python recompile Date: Tue, 11 Mar 2025 01:33:18 -0000 (UTC) Organization: To protect and to server Message-ID: References: <20250304092827.708@kylheku.com> <871pv861ht.fsf@nosuchdomain.example.com> <20250308192940.00001351@yahoo.com> Injection-Date: Tue, 11 Mar 2025 01:33:18 -0000 (UTC) Injection-Info: paganini.bofh.team; logging-data="3723612"; posting-host="WwiNTD3IIceGeoS5hCc4+A.user.paganini.bofh.team"; mail-complaints-to="usenet@bofh.team"; posting-account="9dIQLXBM7WM9KzA+yjdR4A"; User-Agent: tin/2.6.2-20221225 ("Pittyvaich") (Linux/6.1.0-9-amd64 (x86_64)) X-Notice: Filtered by postfilter v. 0.9.3 Bytes: 6414 Lines: 108 bart wrote: > On 10/03/2025 10:58, Waldek Hebisch wrote: >> bart wrote: >>> >>> I think nobody does. There's always been some sort of mystique >>> surrounding 'gcc' on Windows. >>> >>> 'MinGW' supposedly 'Minimalist Gnu on Windows'. In that case I wouldn't >>> like to see the full-scale one.. >> >> "Minimalist" is not about size of the compiler. Rather, it is >> about possible support routines. For "hosted implementation" C >> mandates presence of C library and there is a lot of functions >> not in C standard, but included in libraries of C compilers. >> There is also question of operating system support, complicated >> by fact that Windows is different than other systems. Cygwin >> solved those issues by offering Posix emulation and a sizable >> collection os libraries. MinGW is minimalist in the sense >> that it provides very little own libraries and mainly uses >> what is provide by Windows. > > I still don't get this stuff. > > I get the impression that a port of gcc to Windows is not simply about > building C programs, but building C programs that use a lot of features > from Linux. You apparently do not get fact that people want tools to automate various routine tasks. And people do not want to reinvent the wheel, they prefer to use code written by others. Folks at Bell Labs had several good ideas and shared them with others. Those ideas are not limited to Linux or Unix, you can look at old "Software tools in ..." books to understand what I am talking about. MinGW _distribution_ bundles several tools. This allows you to compile programs when build process uses those tools. You can also use the tools for your purpose. Aparently you have very strong "not invented here" syndrom and insist on usig your own tools. That is fine, as long as you keep this to yourselfs. But refusing other folks right to use tools they want to use is not fair. Or, to put it differently, when you refuse the tools _you_ need to do by hand needed work. You may be able to extract from work of others something that fits your taste (like list of files to compile), but that is your business. > If so, then that's the wrong approach. There are various lesser > compilers which know nothing about mingw or posix of anything of the > sort. (For example, lccwin32, DMC, PellesC, I think Tiny C; I can't > speak for MSVC.) You may be able to do some things using just a C compiler. But requesting people to do other things by hand is as wise as requesting them to code in assembler (assembler may be converted to binary faster than C, and with enough effort resulting binary will run faster than result of C compilation :). Another thing are libraries and bigger applications. Some folks want "true Windows look and feel", some say that proper Windows DLL must be compiled by MSVC (otherwise is lack some features that they consider essential). But there are people who had to or wanted to use Windows, but also wanted to use Unix applications. Cygwin was addressed to such folks: it allows you to compile substantial Unix application so that it runs on Windows. If you have no interest in such applications, than fine, Cygwin is probably not for you. Today WSL may be better for such a goal, but in the past Cygwin provided easiest way to port Unix application to Windows. If easy port was the goal and application was substantial, then Cygwin usually was right choice. >> To put it differenly, you could compile program in one computer >> and get relatively small program which runs OK on different >> Windows machines because libraries it needs are already present. >> This is quite different compared to Cygwin, where you need to >> install Cygwin libraries before normal Cygwin program can run >> (I write about normal programs because actual compiler in >> Cygwin and Mingw used to be the same and with some tweaks one >> could use Cygwin compiler to produce MinGW execuatbles). >> > > I'm not interested in whatever Cygwin or Mingw are about. Oh, so you do not want to know. In such case why you started discussing it? > If I were to > use libraries not part of the OS, then it would be ones like SDL2 to get > interesting things done. Not try and emulate bits of Linux that I'd > never heard of. I mentioned one case: about 90% of code in "my" library was provided in fact by other libraries. So using code provided by other saved me a lot of work, turning something that otherwise could be multiyear job into reasonably small effort. To use the libraries I had to work out build process, thanks to tools it was very easy. Also, speed of library was major concern and using 'gcc' (as opposed to Borland C that I used earlier) gave me substantial speedup. And yes, the libraries I used were purely computational (data came from a file and output was to a file). MinGW bundle is a good way to build such libraries. Having only a C compiler may be too little. -- Waldek Hebisch