Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.arch.embedded > #30942

Re: Makefile or IDE?

From David Brown <david.brown@hesbynett.no>
Newsgroups comp.arch.embedded
Subject Re: Makefile or IDE?
Date 2021-12-04 22:17 +0100
Organization A noiseless patient Spider
Message-ID <soglu6$bm9$1@dont-email.me> (permalink)
References <soabn8$b4e$1@dont-email.me> <cPf*AdQAy@news.chiark.greenend.org.uk> <soe26m$78i$1@reader1.panix.com> <7ugnqgpgu34hb8gvhsglse4e49dj5anhjd@4ax.com>

Show all headers | View raw


On 04/12/2021 20:53, George Neuner wrote:
> On Fri, 3 Dec 2021 21:28:54 -0000 (UTC), Grant Edwards
> <invalid@invalid.invalid> wrote:
> 
>> On 2021-12-03, Theo <theom+news@chiark.greenend.org.uk> wrote:
>>
>>> [*] Powershell and WSL have been trying to improve this.  But I've not seen
>>> any build flows that make much use of them, beyond simply taking Linux flows
>>> and running them in WSL.
>>
>> I always had good luck using Cygwin and gnu "make" on Windows to run
>> various Win32 .exe command line compilers (e.g. IAR). I (thankfully)
>> haven't needed to do that for several years now...
> 
> The problem with Cygwin is it doesn't play well with native Windows
> GCC (MingW et al).  
> 
> Cygwin compilers produce executables that depend on the /enormous/
> Cygwin library. You can statically link the library or ship the DLL
> (or an installer that downloads it) with your program, but by doing so
> your programs falls under GPL - the terms of which are not acceptable
> to some developers.
> 
> And the Cygwin environment is ... less than stable. Any update to
> Windows can break it.
> 

I concur with that.  Cygwin made sense long ago, but for the past couple
of decades the mingw-based alternatives have been more appropriate for
most uses of *nix stuff on Windows.  In particular, Cygwin is a thick
compatibility layer that has its own filesystem, process management, and
other features to fill in the gaps where Windows doesn't fulfil the
POSIX standards (or does so in a way that plays badly with the rest of
Windows).  Very often, the changes needed in open-source or
*nix-heritage software to make them more Windows-friendly are small.  A
common example is changing old-style "fork + exec" paths to "spawn"
calls which are more modern and more efficient (even on *nix).  With
such small changes, programs can be compiled on thin compatibility
layers like mingw instead, with the result being a lot faster, smoother,
better integrated with Windows, and without that special tier of
DLL-hell reserved for cygwin1.dll and its friends.

So the earliest gcc versions I built and used on Windows, gcc 2.95 for
the m68k IIRC, had to be built with Cygwin.  By the time I was using gcc
4+, perhaps earlier, it was all mingw-based and I have rarely looked at
Cygwin since.

I strongly recommend msys2, with mingw-64, as the way to handle *nix
programs on Windows.  You can install and use as much as you want - it's
fine to take most simple programs and use them independently on other
Windows systems with no or a minimum of dll's.  (If the program relies
on many external files, it will need the msys2 file tree.)  You can use
msys2 bash if you like, or not if you don't like.  The mingw-64 gcc has
a modern, complete and efficient C library instead of the horrendous
MSVCCRT dll.  Most Windows ports of *nix software is made with either
older mingw or newer mingw-64.

I can understand using Cygwin simply because you've always used Cygwin,
or if you really need fuller POSIX compatibility.  But these days, WSL
is probably a better option if that's what you need.

Back to comp.arch.embedded | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Makefile or IDE? pozz <pozzugno@gmail.com> - 2021-12-02 12:46 +0100
  Re: Makefile or IDE? Grant Edwards <invalid@invalid.invalid> - 2021-12-02 15:22 +0000
    Re: Makefile or IDE? pozz <pozzugno@gmail.com> - 2021-12-02 17:34 +0100
      Re: Makefile or IDE? Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2021-12-03 13:15 +0200
  Re: Makefile or IDE? Don Y <blockedofcourse@foo.invalid> - 2021-12-02 09:48 -0700
  Re: Makefile or IDE? Stefan Reuther <stefan.news@arcor.de> - 2021-12-02 17:34 +0100
    Re: Makefile or IDE? pozz <pozzugno@gmail.com> - 2021-12-03 11:49 +0100
      Re: Makefile or IDE? Stefan Reuther <stefan.news@arcor.de> - 2021-12-03 18:27 +0100
    Re: Makefile or IDE? George Neuner <gneuner2@comcast.net> - 2021-12-04 14:37 -0500
  Re: Makefile or IDE? Theo <theom+news@chiark.greenend.org.uk> - 2021-12-03 20:51 +0000
    Re: Makefile or IDE? Grant Edwards <invalid@invalid.invalid> - 2021-12-03 21:28 +0000
      Re: Makefile or IDE? George Neuner <gneuner2@comcast.net> - 2021-12-04 14:53 -0500
        Re: Makefile or IDE? David Brown <david.brown@hesbynett.no> - 2021-12-04 22:17 +0100
          Re: Makefile or IDE? Stefan Reuther <stefan.news@arcor.de> - 2021-12-05 11:02 +0100
            Re: Makefile or IDE? David Brown <david.brown@hesbynett.no> - 2021-12-05 13:16 +0100
        Re: Makefile or IDE? Grant Edwards <invalid@invalid.invalid> - 2021-12-06 13:52 +0000
          Re: Makefile or IDE? chris <chris-nospam@tridac.net> - 2021-12-17 17:19 +0000
  Re: Makefile or IDE? pozz <pozzugno@gmail.com> - 2021-12-03 23:48 +0100
    Re: Makefile or IDE? Stefan Reuther <stefan.news@arcor.de> - 2021-12-04 10:31 +0100
      Re: Makefile or IDE? pozz <pozzugno@gmail.com> - 2021-12-04 16:23 +0100
        Re: Makefile or IDE? David Brown <david.brown@hesbynett.no> - 2021-12-04 17:41 +0100
          Re: Makefile or IDE? Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2021-12-04 18:49 +0200
            Re: Makefile or IDE? David Brown <david.brown@hesbynett.no> - 2021-12-04 18:23 +0100
              Re: Makefile or IDE? Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2021-12-04 21:25 +0200
                Re: Makefile or IDE? David Brown <david.brown@hesbynett.no> - 2021-12-04 22:20 +0100
                Re: Makefile or IDE? Grant Edwards <invalid@invalid.invalid> - 2021-12-06 13:51 +0000
                Re: Makefile or IDE? David Brown <david.brown@hesbynett.no> - 2021-12-06 16:33 +0100
                Re: Makefile or IDE? Grant Edwards <invalid@invalid.invalid> - 2021-12-06 16:02 +0000
          Re: Makefile or IDE? pozz <pozzugno@gmail.com> - 2021-12-09 11:54 +0100
            Re: Makefile or IDE? Hans-Bernhard Bröker <HBBroeker@t-online.de> - 2021-12-10 18:35 +0100
              Re: Makefile or IDE? David Brown <david.brown@hesbynett.no> - 2021-12-10 19:44 +0100
                Re: Makefile or IDE? pozz <pozzugno@gmail.com> - 2021-12-11 16:18 +0100
                Re: Makefile or IDE? David Brown <david.brown@hesbynett.no> - 2021-12-11 17:06 +0100
                Re: Makefile or IDE? Grant Edwards <invalid@invalid.invalid> - 2021-12-11 16:57 +0000
                Re: Makefile or IDE? Hans-Bernhard Bröker <HBBroeker@t-online.de> - 2021-12-11 18:53 +0100
                Re: Makefile or IDE? David Brown <david.brown@hesbynett.no> - 2021-12-12 14:15 +0100
              Re: Makefile or IDE? Stefan Reuther <stefan.news@arcor.de> - 2021-12-11 10:01 +0100
                Re: Makefile or IDE? Hans-Bernhard Bröker <HBBroeker@t-online.de> - 2021-12-11 18:47 +0100
                Re: Makefile or IDE? Stefan Reuther <stefan.news@arcor.de> - 2021-12-12 11:27 +0100
        Re: Makefile or IDE? Stefan Reuther <stefan.news@arcor.de> - 2021-12-05 11:11 +0100
          Re: Makefile or IDE? David Brown <david.brown@hesbynett.no> - 2021-12-05 13:21 +0100
  Re: Makefile or IDE? Dave Nadler <drn@nadler.com> - 2021-12-06 15:45 -0500
  Re: Makefile or IDE? pozz <pozzugno@gmail.com> - 2021-12-09 10:43 +0100
  Re: Makefile or IDE? Johann Klammer <klammerj@NOSPAM.a1.net> - 2021-12-10 09:30 +0100
  Re: Makefile or IDE? chris <chris-nospam@tridac.net> - 2021-12-17 17:27 +0000
    Re: Makefile or IDE? StateMachineCOM <statemachineguru@gmail.com> - 2021-12-20 17:18 -0800
      Re: Makefile or IDE? chris <chris-nospam@tridac.net> - 2021-12-21 16:45 +0000
      Re: Makefile or IDE? Jim Jackson <jj@franjam.org.uk> - 2021-12-21 17:40 +0000
        Re: Makefile or IDE? StateMachineCOM <statemachineguru@gmail.com> - 2021-12-21 10:55 -0800

csiph-web