Incorrect command line handling when launching Cygwin program from Windows
Andrey Repin
anrdaemon@yandex.ru
Sat Aug 9 11:35:07 GMT 2025
Greetings, Old, Oliver!
>> NO - its entire purpose is interfacing with Cygwin and other POSIX sosftware,
>> including on other systems, from MS cmd if users insist, but according to POSIX
>> rules! We now have only limited support for some non-POSIX text files.
> I understand. The command line parsing really isn't supposed to offer an
> interface for Windows software, but rather "accidentally" works for that
> purpose in most cases. Thanks for clearing that up. I'll let my manager
> know that anything that goes wrong here is simply because we insist on
> being unreasonable (not like I didn't say that before).
> Sadly, calling Cygwin binaries from Windows software is somewhat of a
> "tradition" in our company. It's all over the place starting with our
> classic build procedure:
> 1. Fire up a batch script to unpack a Cygwin environment and launch a
> shell script in a Bash within the unpacked Cygwin.
> 2. Shell script only really calls Make with its given arguments. I'm
> guessing that's to ensure the path variable and other environment
> variables are set.
> 3. The Cygwin Make instance then launches sub-Makes, but those are
> spawned from several versions (going back all the way to 3.x) of
> MinGW Make that are checked into version control, just like the
> tarball of the Cygwin env.
> 4. The MinGW sub-Makes are then calling the unpacked Canadian cross-
> toolchain hosted in Cygwin (also checked in as tarball). Notice,
> we're building on a Windows system for a Linux target.
> It's Win32 (cmd) -> Cygwin (bash) -> Cygwin (make) -> Win32 (make)
->> (Win32 (cmd) ->) Cygwin (gcc).
> I've always wondered why they had to do quoting in their Makefiles in
> such a weird way.
> Well, here's to hoping the CMake project system + MinGW toolchains will
> be such a resounding success, it'll convince everyone here to stop
> misusing Cygwin.
If I were you, I'd first removed that hop out of Cygwin.
AFAIK, Cygwin provides a mingw cross-compiler, so there's no real need to go
out of your way.
Also, as a side-note, "unpacking" Cygwin could lead to unexpected and
hard-to-diagnoze errors due to sudden changes in DLL space layout.
--
With best regards,
Andrey Repin
Saturday, August 9, 2025 14:32:21
Sorry for my terrible english...
More information about the Cygwin
mailing list