Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Being overloaded is the sign of a true Debian maintainer. -- JHM on #Debian


devel / comp.lang.c / Re: Experimental C Build System

SubjectAuthor
* Experimental C Build Systembart
+* Re: Experimental C Build SystemLawrence D'Oliveiro
|+* Re: Experimental C Build SystemChris M. Thomasson
||`* Re: Experimental C Build SystemDavid Brown
|| +* Re: Experimental C Build SystemChris M. Thomasson
|| |`* Re: Experimental C Build SystemDavid Brown
|| | `- Re: Experimental C Build SystemChris M. Thomasson
|| `- Re: Experimental C Build Systembart
|`* Re: Experimental C Build Systembart
| +* Re: Experimental C Build SystemMalcolm McLean
| |`* Re: Experimental C Build Systembart
| | `* Re: Experimental C Build SystemMalcolm McLean
| |  +- Re: Experimental C Build Systembart
| |  `* Re: Experimental C Build SystemRichard Harnden
| |   `* Re: Experimental C Build Systemvallor
| |    +- Re: Experimental C Build Systemvallor
| |    +* Re: Experimental C Build Systembart
| |    |+* Re: Experimental C Build SystemDavid Brown
| |    ||+* Re: Experimental C Build Systembart
| |    |||`* Re: Experimental C Build SystemDavid Brown
| |    ||| +- Re: Experimental C Build SystemMalcolm McLean
| |    ||| `* Re: Experimental C Build Systembart
| |    |||  +* Re: Experimental C Build SystemMichael S
| |    |||  |+* Re: Experimental C Build SystemScott Lurndal
| |    |||  ||`- Re: Experimental C Build SystemChris M. Thomasson
| |    |||  |`* Re: Experimental C Build SystemDavid Brown
| |    |||  | `* Re: Experimental C Build SystemMichael S
| |    |||  |  +- Re: Experimental C Build SystemLawrence D'Oliveiro
| |    |||  |  +- Re: Experimental C Build SystemScott Lurndal
| |    |||  |  `* Re: Experimental C Build SystemDavid Brown
| |    |||  |   +* Re: Experimental C Build SystemMichael S
| |    |||  |   |`* Re: Experimental C Build SystemDavid Brown
| |    |||  |   | `* Re: Experimental C Build SystemMichael S
| |    |||  |   |  `* Stu Feldman (Was: Experimental C Build System)Kenny McCormack
| |    |||  |   |   `* Re: Stu Feldman (Was: Experimental C Build System)Kaz Kylheku
| |    |||  |   |    `- Re: Stu Feldman (Was: Experimental C Build System)Janis Papanagnou
| |    |||  |   `* Re: Experimental C Build Systembart
| |    |||  |    +- Re: Experimental C Build SystemDavid Brown
| |    |||  |    +* Re: Experimental C Build SystemScott Lurndal
| |    |||  |    |+* Re: Experimental C Build Systembart
| |    |||  |    ||`* Re: Experimental C Build SystemScott Lurndal
| |    |||  |    || `* Re: Experimental C Build SystemMalcolm McLean
| |    |||  |    ||  `- Re: Experimental C Build SystemScott Lurndal
| |    |||  |    |`- Re: Experimental C Build SystemJanis Papanagnou
| |    |||  |    `* Re: Experimental C Build SystemLawrence D'Oliveiro
| |    |||  |     `* Re: Experimental C Build Systembart
| |    |||  |      +* Re: Experimental C Build SystemLawrence D'Oliveiro
| |    |||  |      |`* Re: Experimental C Build Systembart
| |    |||  |      | +- Re: Experimental C Build SystemChris M. Thomasson
| |    |||  |      | `* Re: Experimental C Build SystemLawrence D'Oliveiro
| |    |||  |      |  +- Re: Experimental C Build SystemChris M. Thomasson
| |    |||  |      |  `- Re: Experimental C Build SystemChris M. Thomasson
| |    |||  |      +* Re: Experimental C Build SystemMalcolm McLean
| |    |||  |      |+* Re: Experimental C Build SystemDavid Brown
| |    |||  |      ||+* Re: Experimental C Build Systembart
| |    |||  |      |||`* Re: Experimental C Build SystemLawrence D'Oliveiro
| |    |||  |      ||| `- Re: Experimental C Build Systembart
| |    |||  |      ||`* Re: Experimental C Build SystemMalcolm McLean
| |    |||  |      || +* Re: Experimental C Build Systembart
| |    |||  |      || |+* Re: Experimental C Build SystemMalcolm McLean
| |    |||  |      || ||`- Re: Experimental C Build SystemDavid Brown
| |    |||  |      || |`* Re: Experimental C Build SystemChris M. Thomasson
| |    |||  |      || | `* Re: Experimental C Build Systembart
| |    |||  |      || |  `* Re: Experimental C Build SystemChris M. Thomasson
| |    |||  |      || |   `* Re: Experimental C Build Systembart
| |    |||  |      || |    +- Re: Experimental C Build SystemChris M. Thomasson
| |    |||  |      || |    +* Re: Experimental C Build SystemGary R. Schmidt
| |    |||  |      || |    |`- Re: Experimental C Build SystemChris M. Thomasson
| |    |||  |      || |    +* Re: Experimental C Build SystemMalcolm McLean
| |    |||  |      || |    |+* Re: Experimental C Build SystemChris M. Thomasson
| |    |||  |      || |    ||`- Re: Experimental C Build SystemChris M. Thomasson
| |    |||  |      || |    |`* Re: Experimental C Build SystemDavid Brown
| |    |||  |      || |    | `* Re: Experimental C Build SystemMalcolm McLean
| |    |||  |      || |    |  `* Re: Experimental C Build SystemDavid Brown
| |    |||  |      || |    |   `- Re: Experimental C Build SystemChris M. Thomasson
| |    |||  |      || |    `* Re: Experimental C Build SystemKees Nuyt
| |    |||  |      || |     +- Re: Experimental C Build SystemKeith Thompson
| |    |||  |      || |     `- Re: Experimental C Build SystemScott Lurndal
| |    |||  |      || +- Re: Experimental C Build SystemChris M. Thomasson
| |    |||  |      || `* Re: Experimental C Build SystemLawrence D'Oliveiro
| |    |||  |      ||  `- Re: Experimental C Build SystemChris M. Thomasson
| |    |||  |      |+- Re: Experimental C Build SystemScott Lurndal
| |    |||  |      |`- Re: Experimental C Build SystemLawrence D'Oliveiro
| |    |||  |      `* Re: Experimental C Build SystemJanis Papanagnou
| |    |||  |       +- Re: Experimental C Build SystemMalcolm McLean
| |    |||  |       `* Re: Experimental C Build Systembart
| |    |||  |        +* Re: Experimental C Build SystemKaz Kylheku
| |    |||  |        |`* Re: Experimental C Build Systembart
| |    |||  |        | +* Re: Experimental C Build SystemJim Jackson
| |    |||  |        | |`- Re: Experimental C Build SystemChris M. Thomasson
| |    |||  |        | `- Re: Experimental C Build SystemKaz Kylheku
| |    |||  |        `* Re: Experimental C Build SystemDavid Brown
| |    |||  |         `* Re: Experimental C Build Systembart
| |    |||  |          +- Re: Experimental C Build SystemDavid Brown
| |    |||  |          `* Re: Experimental C Build SystemLawrence D'Oliveiro
| |    |||  |           +* Re: Experimental C Build Systembart
| |    |||  |           |+- Re: Experimental C Build SystemChris M. Thomasson
| |    |||  |           |`* Re: Experimental C Build SystemJim Jackson
| |    |||  |           | `* Re: Experimental C Build SystemMalcolm McLean
| |    |||  |           |  +* Re: Experimental C Build Systembart
| |    |||  |           |  |+* Re: Experimental C Build SystemKeith Thompson
| |    |||  |           |  |`* Re: Experimental C Build SystemKaz Kylheku
| |    |||  |           |  `- Re: Experimental C Build SystemScott Lurndal
| |    |||  |           `* Re: Experimental C Build SystemMalcolm McLean
| |    |||  `* Re: Experimental C Build SystemDavid Brown
| |    ||+- Re: Experimental C Build SystemKaz Kylheku
| |    ||`- Re: Experimental C Build SystemLawrence D'Oliveiro
| |    |`* Re: Experimental C Build SystemRichard Harnden
| |    `* Re: Experimental C Build SystemLawrence D'Oliveiro
| `* Re: Experimental C Build SystemDavid Brown
+* Re: Experimental C Build SystemTim Rentsch
+- Re: Experimental C Build Systembart
+* Re: Experimental C Build Systemthiago
+- Re: Experimental C Build Systemthiago
`- Re: Experimental C Build Systembart

Pages:1234567891011121314151617
Re: Experimental C Build System

<8634u277o8.fsf@linuxsc.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=32913&group=comp.lang.c#32913

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Followup: comp.unix.programmer
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: tr.17...@z991.linuxsc.com (Tim Rentsch)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Experimental C Build System
Followup-To: comp.unix.programmer
Date: Thu, 08 Feb 2024 17:22:47 -0800
Organization: A noiseless patient Spider
Lines: 14
Message-ID: <8634u277o8.fsf@linuxsc.com>
References: <up8i91$h6iu$1@dont-email.me> <upi7i8$2h3eq$1@dont-email.me> <upirpd$2kdoe$1@dont-email.me> <upjnje$2oup9$11@dont-email.me> <upjpbk$2pihr$1@dont-email.me> <upleoi$34tr4$1@dont-email.me> <uplhrp$35e9i$1@dont-email.me> <upo1cv$3lbbl$2@dont-email.me> <upo5b4$3m4fu$1@dont-email.me> <upp43r$3s4nc$4@dont-email.me> <upp8s5$3tmdd$2@dont-email.me> <upqipd$9c0k$1@dont-email.me> <uprop0$g01t$4@dont-email.me> <uprqbs$gcv2$1@dont-email.me> <20240205160715.244@kylheku.com> <NprwN.299925$Wp_8.110143@fx17.iad>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Injection-Info: dont-email.me; posting-host="5ded87dca6ebfa6cbf5e6333b6958a23";
logging-data="2401696"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+6Bt8ZoAwB4KPApgc4DiSF9njXqkptZjQ="
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Cancel-Lock: sha1:fKumzIUgEzQRbHcbhecgIR1BZco=
sha1:DDVVUYD6pcddnZsVUS3SOtZmYzo=
 by: Tim Rentsch - Fri, 9 Feb 2024 01:22 UTC

scott@slp53.sl.home (Scott Lurndal) writes:

> Kaz Kylheku <433-929-6894@kylheku.com> writes:
>
>> On 2024-02-05, Malcolm McLean <malcolm.arthur.mclean@gmail.com> wrote:
>> [...]
>> The Glibc shared library loading mechanism doesn't implement the nice
>> strategy of finding libraries in the same directory as the executable.
>
> Sure it does, if you tell it to. viz. LD_LIBRARY_PATH.

I would appreciate if folks posting stuff that pertains
almost exclusively to comp.unix.programmer would take
comp.lang.c off of those postings. Thank you.

Re: Experimental C Build System

<86y1bu5t2i.fsf@linuxsc.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=32914&group=comp.lang.c#32914

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Followup: comp.unix.programmer
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: tr.17...@z991.linuxsc.com (Tim Rentsch)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Experimental C Build System
Followup-To: comp.unix.programmer
Date: Thu, 08 Feb 2024 17:23:33 -0800
Organization: A noiseless patient Spider
Lines: 19
Message-ID: <86y1bu5t2i.fsf@linuxsc.com>
References: <up8i91$h6iu$1@dont-email.me> <upjnje$2oup9$11@dont-email.me> <upjpbk$2pihr$1@dont-email.me> <upleoi$34tr4$1@dont-email.me> <uplhrp$35e9i$1@dont-email.me> <upo1cv$3lbbl$2@dont-email.me> <upo5b4$3m4fu$1@dont-email.me> <upp43r$3s4nc$4@dont-email.me> <upp8s5$3tmdd$2@dont-email.me> <upqipd$9c0k$1@dont-email.me> <uprop0$g01t$4@dont-email.me> <uprqbs$gcv2$1@dont-email.me> <20240205160715.244@kylheku.com> <NprwN.299925$Wp_8.110143@fx17.iad> <20240206085854.142@kylheku.com> <GDvwN.54381$Iswd.16383@fx05.iad> <upu51h$11f6i$6@dont-email.me> <upu60c$vc7e$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Injection-Info: dont-email.me; posting-host="5ded87dca6ebfa6cbf5e6333b6958a23";
logging-data="2401696"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18hb7KMZZnv70KiH8fZamjISlEWVxHYqd0="
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Cancel-Lock: sha1:ftuzK87IiYodcgrkk4fRi+JQk/A=
sha1:LGO4FUrKrfBBtxZguzvkFxL0PGo=
 by: Tim Rentsch - Fri, 9 Feb 2024 01:23 UTC

Lew Pitcher <lew.pitcher@digitalfreehold.ca> writes:

> On Tue, 06 Feb 2024 20:32:49 +0000, Lawrence D'Oliveiro wrote:
>
>> On Tue, 06 Feb 2024 19:20:06 GMT, Scott Lurndal wrote:
>>
>>> LD_LIBRARY_PATH isn't a distro thing, its a shell thing
>>> interpreted by the dynamic linker. The dynamic linker has
>>> a set of default paths that it uses, set by the distro,
>>> which can be overridden in LD_LIBRARY_PATH by each user.
>>
>> It?s a GNU thing, I think.
>
> It's a UNIX thing. GNU supports it, as it supports other
> UNIX requirements.

I would appreciate if folks posting stuff that pertains
almost exclusively to comp.unix.programmer would take
comp.lang.c off of those postings. Thank you.

Re: Experimental C Build System

<20240208172155.799@kylheku.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=32915&group=comp.lang.c#32915

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!news.hispagatos.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: 433-929-...@kylheku.com (Kaz Kylheku)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Experimental C Build System
Date: Fri, 9 Feb 2024 01:27:01 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 32
Message-ID: <20240208172155.799@kylheku.com>
References: <up8i91$h6iu$1@dont-email.me> <upleoi$34tr4$1@dont-email.me>
<uplhrp$35e9i$1@dont-email.me> <upo1cv$3lbbl$2@dont-email.me>
<upo5b4$3m4fu$1@dont-email.me> <upp43r$3s4nc$4@dont-email.me>
<upp8s5$3tmdd$2@dont-email.me> <upp90v$3tovf$1@dont-email.me>
<upr337$bgc8$2@dont-email.me> <20240205101236.81@kylheku.com>
<upv574$1a3hg$2@dont-email.me> <upvk3j$1cc05$1@dont-email.me>
<uq02vl$1erim$4@dont-email.me> <uq05ip$1fdph$1@dont-email.me>
<874jektfn0.fsf@bsb.me.uk> <87ttmkrxdv.fsf@bsb.me.uk>
<uq27ig$1tcfa$1@dont-email.me> <877cjfrx0p.fsf@bsb.me.uk>
<uq2hkf$1v9f9$1@dont-email.me> <871q9msxxd.fsf@bsb.me.uk>
<uq31ts$22580$2@dont-email.me> <87jzneqwqg.fsf@bsb.me.uk>
<uq3uag$290lm$1@dont-email.me>
Injection-Date: Fri, 9 Feb 2024 01:27:01 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="f0d9c4d56e1bf3d087a60d362bc7520c";
logging-data="2403781"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+mSKRTlMyhjdGP3mNxrwK50R67ysa11s4="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:pcowThBoppIKJ9Y3It3i94zL1Vo=
 by: Kaz Kylheku - Fri, 9 Feb 2024 01:27 UTC

On 2024-02-09, bart <bc@freeuk.com> wrote:
> On 09/02/2024 00:58, Ben Bacarisse wrote:
>> bart <bc@freeuk.com> writes:
>
>>> BTW if gcc /isn't/ installed, do you still get a bunch of standard C
>>> headers in /usr/include? If so, what do you have to select to not install
>>> them?
>>
>> I can't say what happens without specifics. There are hundreds of Linux
>> distributions.
>>
>> This is exactly why I was curious about what prompted Malcolm's
>> confident statement about what comes with "Linux" -- it runs contrary to
>> my limited experience.
>
> Not to mine. I thought the big deal with Linux compared with Windows was
> that it came with compilers, headers and libraries at least for C.

Desktop GNU/Linux distributions come with thousands of packages.
You don't get all of them by default. That's what the thread is about.

Depending on the distro, getting the compilers that could be as little
as answering one question: like for instance that your installation
type is that of a development workstation.

People just looking to surf the web and use e-mail don't require
compilers.

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca

Re: Experimental C Build System

<87eddmqv90.fsf@bsb.me.uk>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=32916&group=comp.lang.c#32916

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ben.use...@bsb.me.uk (Ben Bacarisse)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Experimental C Build System
Date: Fri, 09 Feb 2024 01:30:51 +0000
Organization: A noiseless patient Spider
Lines: 27
Message-ID: <87eddmqv90.fsf@bsb.me.uk>
References: <up8i91$h6iu$1@dont-email.me> <upo1cv$3lbbl$2@dont-email.me>
<upo5b4$3m4fu$1@dont-email.me> <upp43r$3s4nc$4@dont-email.me>
<upp8s5$3tmdd$2@dont-email.me> <upp90v$3tovf$1@dont-email.me>
<upr337$bgc8$2@dont-email.me> <20240205101236.81@kylheku.com>
<upv574$1a3hg$2@dont-email.me> <upvk3j$1cc05$1@dont-email.me>
<uq02vl$1erim$4@dont-email.me> <uq05ip$1fdph$1@dont-email.me>
<874jektfn0.fsf@bsb.me.uk> <87ttmkrxdv.fsf@bsb.me.uk>
<uq27ig$1tcfa$1@dont-email.me> <877cjfrx0p.fsf@bsb.me.uk>
<uq2hkf$1v9f9$1@dont-email.me> <871q9msxxd.fsf@bsb.me.uk>
<uq31ts$22580$2@dont-email.me> <87jzneqwqg.fsf@bsb.me.uk>
<uq3uag$290lm$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: dont-email.me; posting-host="c235c3c701c62e624897d4b41eb7a3c2";
logging-data="2379508"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19MFFzZVh8VPNYXo7fIYbVwI0Vg93MAqVY="
User-Agent: Gnus/5.13 (Gnus v5.13)
Cancel-Lock: sha1:rCN6teKvoAdwjA1qJWBKumuGkXw=
sha1:/Y2CAoaXHbcZa77RcmpHhBF5ImQ=
X-BSB-Auth: 1.434270ac2e45c99379c7.20240209013051GMT.87eddmqv90.fsf@bsb.me.uk
 by: Ben Bacarisse - Fri, 9 Feb 2024 01:30 UTC

bart <bc@freeuk.com> writes:

> On 09/02/2024 00:58, Ben Bacarisse wrote:
>> bart <bc@freeuk.com> writes:
>
>>> BTW if gcc /isn't/ installed, do you still get a bunch of standard C
>>> headers in /usr/include? If so, what do you have to select to not install
>>> them?
>> I can't say what happens without specifics. There are hundreds of Linux
>> distributions.
>> This is exactly why I was curious about what prompted Malcolm's
>> confident statement about what comes with "Linux" -- it runs contrary to
>> my limited experience.
>
> Not to mine.

I thought you said you can't remember either? Frankly, I don't think
you can recall enough of your experience to be able to say this
honestly. But if you can recall, then tell me -- what distributions
install gcc and the other development tools by default? Malcolm can't
help, but maybe you can.

(As has been pointed out, some distributions are built from source by
the user doing the install. These are not the kind we are discussing.)

--
Ben.

Re: Experimental C Build System

<uq41cs$2a4jh$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=32918&group=comp.lang.c#32918

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo...@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Experimental C Build System
Date: Fri, 9 Feb 2024 02:07:25 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 10
Message-ID: <uq41cs$2a4jh$1@dont-email.me>
References: <up8i91$h6iu$1@dont-email.me> <upleoi$34tr4$1@dont-email.me>
<uplhrp$35e9i$1@dont-email.me> <upo1cv$3lbbl$2@dont-email.me>
<upo5b4$3m4fu$1@dont-email.me> <upp43r$3s4nc$4@dont-email.me>
<upp8s5$3tmdd$2@dont-email.me> <upp90v$3tovf$1@dont-email.me>
<upr337$bgc8$2@dont-email.me> <20240205101236.81@kylheku.com>
<upv574$1a3hg$2@dont-email.me> <upvk3j$1cc05$1@dont-email.me>
<uq02vl$1erim$4@dont-email.me> <uq05ip$1fdph$1@dont-email.me>
<874jektfn0.fsf@bsb.me.uk> <87ttmkrxdv.fsf@bsb.me.uk>
<uq27ig$1tcfa$1@dont-email.me> <877cjfrx0p.fsf@bsb.me.uk>
<uq2hkf$1v9f9$1@dont-email.me> <871q9msxxd.fsf@bsb.me.uk>
<uq31ts$22580$2@dont-email.me> <87jzneqwqg.fsf@bsb.me.uk>
<uq3uag$290lm$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 9 Feb 2024 02:07:25 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="6b81b1b5b0886ece37827f7a23070dda";
logging-data="2429553"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19d5Fq/yf3z98qqTK1ssyQG"
User-Agent: Pan/0.155 (Kherson; fc5a80b8)
Cancel-Lock: sha1:vQDUQ0fXQNToeX/qCCp4/wBBkNg=
 by: Lawrence D'Oliv - Fri, 9 Feb 2024 02:07 UTC

On Fri, 9 Feb 2024 01:14:57 +0000, bart wrote:

> I thought the big deal with Linux compared with Windows was
> that it came with compilers, headers and libraries at least for C.
>
> Now that advantage may be just by chance?

Even when you add these for Windows, you do seem to have trouble building
C programs though, don’t you, as evidenced by your past complaints? So
clearly there must be a bit more to it than that.

Re: Experimental C Build System

<uq4nau$2hive$5@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=32929&group=comp.lang.c#32929

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: david.br...@hesbynett.no (David Brown)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Experimental C Build System
Date: Fri, 9 Feb 2024 09:21:50 +0100
Organization: A noiseless patient Spider
Lines: 34
Message-ID: <uq4nau$2hive$5@dont-email.me>
References: <up8i91$h6iu$1@dont-email.me> <upleoi$34tr4$1@dont-email.me>
<uplhrp$35e9i$1@dont-email.me> <upo1cv$3lbbl$2@dont-email.me>
<upo5b4$3m4fu$1@dont-email.me> <upp43r$3s4nc$4@dont-email.me>
<upp8s5$3tmdd$2@dont-email.me> <upp90v$3tovf$1@dont-email.me>
<upr337$bgc8$2@dont-email.me> <20240205101236.81@kylheku.com>
<upv574$1a3hg$2@dont-email.me> <upvk3j$1cc05$1@dont-email.me>
<uq02vl$1erim$4@dont-email.me> <uq05ip$1fdph$1@dont-email.me>
<874jektfn0.fsf@bsb.me.uk> <87ttmkrxdv.fsf@bsb.me.uk>
<uq27ig$1tcfa$1@dont-email.me> <877cjfrx0p.fsf@bsb.me.uk>
<uq2hkf$1v9f9$1@dont-email.me> <871q9msxxd.fsf@bsb.me.uk>
<uq31ts$22580$2@dont-email.me> <87jzneqwqg.fsf@bsb.me.uk>
<uq3uag$290lm$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 9 Feb 2024 08:21:50 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="9c8bd9f8f89cf9a03af351ae8d81a71b";
logging-data="2673646"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+hIVkdJdKjhd1Edv5cyfnJKTgTtLCnz0w="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
Thunderbird/102.11.0
Cancel-Lock: sha1:dAYzS2lTBrUQ0eQz/E50gezI9qE=
Content-Language: en-GB
In-Reply-To: <uq3uag$290lm$1@dont-email.me>
 by: David Brown - Fri, 9 Feb 2024 08:21 UTC

On 09/02/2024 02:14, bart wrote:
> On 09/02/2024 00:58, Ben Bacarisse wrote:
>> bart <bc@freeuk.com> writes:
>
>>> BTW if gcc /isn't/ installed, do you still get a bunch of standard C
>>> headers in /usr/include? If so, what do you have to select to not
>>> install
>>> them?
>>
>> I can't say what happens without specifics.  There are hundreds of Linux
>> distributions.
>>
>> This is exactly why I was curious about what prompted Malcolm's
>> confident statement about what comes with "Linux" -- it runs contrary to
>> my limited experience.
>
> Not to mine. I thought the big deal with Linux compared with Windows was
> that it came with compilers, headers and libraries at least for C.
>
> Now that advantage may be just by chance?
>
>

The key distinction is that Linux /distributions/ invariably (or almost
invariably - I haven't checked them all) come with compilers, headers
and libraries. But Linux /installations/ often don't.

Distributions typically contain enormous quantities of software, and any
one user will only want a fraction of that. Default installs will have
a common base (bigger or smaller, depending on the flavour of the
distribution), and may have options for conveniently installing bunches
of software.

Re: Experimental C Build System

<uq4uvo$2j3od$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=32936&group=comp.lang.c#32936

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!paganini.bofh.team!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: bc...@freeuk.com (bart)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Experimental C Build System
Date: Fri, 9 Feb 2024 10:32:23 +0000
Organization: A noiseless patient Spider
Lines: 51
Message-ID: <uq4uvo$2j3od$1@dont-email.me>
References: <up8i91$h6iu$1@dont-email.me> <upo1cv$3lbbl$2@dont-email.me>
<upo5b4$3m4fu$1@dont-email.me> <upp43r$3s4nc$4@dont-email.me>
<upp8s5$3tmdd$2@dont-email.me> <upp90v$3tovf$1@dont-email.me>
<upr337$bgc8$2@dont-email.me> <20240205101236.81@kylheku.com>
<upv574$1a3hg$2@dont-email.me> <upvk3j$1cc05$1@dont-email.me>
<uq02vl$1erim$4@dont-email.me> <uq05ip$1fdph$1@dont-email.me>
<874jektfn0.fsf@bsb.me.uk> <87ttmkrxdv.fsf@bsb.me.uk>
<uq27ig$1tcfa$1@dont-email.me> <877cjfrx0p.fsf@bsb.me.uk>
<uq2hkf$1v9f9$1@dont-email.me> <871q9msxxd.fsf@bsb.me.uk>
<uq31ts$22580$2@dont-email.me> <87jzneqwqg.fsf@bsb.me.uk>
<uq3uag$290lm$1@dont-email.me> <87eddmqv90.fsf@bsb.me.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 9 Feb 2024 10:32:24 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="7249358d931a886a5d72096d92eeb1eb";
logging-data="2723597"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+Bw1YLw9UqWxTSUeFU4oCLFWrPV4V9Kt4="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:2WXR/51SDJFqSmPLxsW6vPd2x3M=
In-Reply-To: <87eddmqv90.fsf@bsb.me.uk>
Content-Language: en-GB
 by: bart - Fri, 9 Feb 2024 10:32 UTC

On 09/02/2024 01:30, Ben Bacarisse wrote:
> bart <bc@freeuk.com> writes:
>
>> On 09/02/2024 00:58, Ben Bacarisse wrote:
>>> bart <bc@freeuk.com> writes:
>>
>>>> BTW if gcc /isn't/ installed, do you still get a bunch of standard C
>>>> headers in /usr/include? If so, what do you have to select to not install
>>>> them?
>>> I can't say what happens without specifics. There are hundreds of Linux
>>> distributions.
>>> This is exactly why I was curious about what prompted Malcolm's
>>> confident statement about what comes with "Linux" -- it runs contrary to
>>> my limited experience.
>>
>> Not to mine.
>
> I thought you said you can't remember either? Frankly, I don't think
> you can recall enough of your experience to be able to say this
> honestly.

"In MY limited experience" - the bits I can remember - whenever I needed
to compile any C code on Linux, then gcc was always there.

> But if you can recall, then tell me -- what distributions
> install gcc and the other development tools by default? Malcolm can't
> help, but maybe you can.

All the various Linuxes I used on RPi1 and RPi4, 32-bit and the odd
64-bit, had gcc. I know because that was the primary reason for using
those boards.

Those OSes were downloaded in one lump, or sometimes came as plug-in SD
cards.

The same for all the various Linuxes I used on my PC via VirtualBox. The
same with the pre-installed OS on a Linux notebook I once tried.

Further back, I can't remember if the Linuxes I used to install on my PC
via CDs, which were done a package at a time, definitely had gcc since I
can't remember if I ever tried to compile C code on them. (I had enough
trouble just doing the basics, like a working screen and keyword.)

But don't ask me exactly which distributions they are; to me Linux is
Linux and they are all a blur.

So, /this/ is my limited experience. Why are you trying to accuse me of
pulling a fast one?

Re: Experimental C Build System

<uq536e$2jpss$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=32940&group=comp.lang.c#32940

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: bc...@freeuk.com (bart)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Experimental C Build System
Date: Fri, 9 Feb 2024 11:44:13 +0000
Organization: A noiseless patient Spider
Lines: 113
Message-ID: <uq536e$2jpss$1@dont-email.me>
References: <up8i91$h6iu$1@dont-email.me> <up9hh3$m75n$3@dont-email.me>
<up9kc7$mkt1$2@dont-email.me> <up9uuj$rmmf$2@dont-email.me>
<upanta$vkgm$1@dont-email.me> <upb9ca$12je5$1@dont-email.me>
<upbi8o$14443$1@dont-email.me> <updt7h$1jc8a$1@dont-email.me>
<upeab3$1m2f4$1@dont-email.me> <upflbj$202rb$1@dont-email.me>
<upfve3$21uv7$1@dont-email.me> <upgcbm$246u1$1@dont-email.me>
<upgo72$26abt$1@dont-email.me> <20240201222328.00006859@yahoo.com>
<uph305$2867k$2@dont-email.me> <20240202005538.000054ff@yahoo.com>
<upi7i8$2h3eq$1@dont-email.me> <upirpd$2kdoe$1@dont-email.me>
<upjnje$2oup9$11@dont-email.me> <upjpbk$2pihr$1@dont-email.me>
<upleoi$34tr4$1@dont-email.me> <uplhrp$35e9i$1@dont-email.me>
<upo1cv$3lbbl$2@dont-email.me> <upo5b4$3m4fu$1@dont-email.me>
<upp43r$3s4nc$4@dont-email.me> <upp8s5$3tmdd$2@dont-email.me>
<upqipd$9c0k$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 9 Feb 2024 11:44:14 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="7249358d931a886a5d72096d92eeb1eb";
logging-data="2746268"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/Kl4xPsHd6vnoNeOBoaaqvv9kE02x5MYE="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:b3N1+L4jrQ+VabpZ3YijmcttWDk=
Content-Language: en-GB
In-Reply-To: <upqipd$9c0k$1@dont-email.me>
 by: bart - Fri, 9 Feb 2024 11:44 UTC

On 05/02/2024 12:02, David Brown wrote:
> On 05/02/2024 01:07, Malcolm McLean wrote:
>> On 04/02/2024 22:46, Lawrence D'Oliveiro wrote:
>>> On Sun, 4 Feb 2024 14:01:08 +0000, bart wrote:
>>>
>>>> But it does seem as though Unix was a breeding ground for multitudinous
>>>> developer tools. Plus there was little demarcation between user
>>>> commands, C development tools, C libraries and OS.
>>>>
>>>> Somebody who's used to that environment is surely going to have trouble
>>>> on an OS like MSDOS or Windows where they have to start from nothing.
>>>> Even if most of the tools are now free.
>>>
>>> Yet it seems like even someone like you, who is supposed to be “used to”
>>> Windows rather than *nix, still has the same trouble. So maybe it’s not
>>> about being “used to” *nix at all, there really is something inherent in
>>> the fundamental design of that environment that makes development work
>>> easier.
>> On Windows you can't assume that the end user will be interested in
>> development or have any develoment tools available. Or that he'll be
>> able to do anything other than the most basic installation. It's a
>> consumer platform.
>
> It /is/ a consumer platform, yes.  And because it has no standard ways
> to build software, and no one (approximately) using it wants to build
> software on it, the norm is to distribute code in binary form for
> Windows.  That works out fine for almost all Windows users.  That
> includes libraries - even C programmers on Windows don't want to build
> "libjpeg" or whatever, they want a DLL.

20+ years ago I depended on an Intel JPEG library called IJL15.DLL, a
32-bit binary of 370KB.

Then they decided to withdraw it; you couldn't find binaries anywhere,
although I had copies. Its replacement was buried inside a massive 75MB
developer's package (at a time when modems worked at 14.4Kbaud), and I
think had to be built from source.

I remember that it was totally impractical and highly inconvenient. And
later on I needed a 64-bit version, which is when I started looking at
libraries like LibJPEG.

As it turned out, these libraries were over-the-top anyway. (The 64-bit
JPEG-load libraries I use now are about 20KB, and JPEG-save about 15KB)

> And thus there is much less effort put into making projects easy to
> build on Windows.  People on Windows fall mostly into two categories -
> those that neither know nor care about building software and want
> ready-to-use binaries (that's almost all of them), and people who do
> development work and are willing and able to invest time and effort
> reading the readmes and install.txt files, looking at the structure of
> the code, running the makefiles or CMakes, importing the project into
> their favourite IDE, and whatever else.

I literally ran my fingers through my hair and groaned aloud just
reading about makefiles and CMake.

> It's not that Linux software developers go out of their way to annoy
> Windows developers (well, /some/ do, but not many).  But on Linux, and
> widening to other modern *nix systems, there are standard ways to build
> software.  You know the people building it will have make, and gcc (or a
> compatible compiler with many of the same extensions and flags, like
> clang or icc), and development versions of countless libraries either
> installed or a quick apt-get away.  On Windows, however, they might have
> MSVC, or cygwin, or mingw64, or TDM gcc, or lccwin, or tcc, or Borland
> C++ builder.  They might have a "make", but it could be MS's more
> limited "nmake" version.

Windows works on binaries. There is a format called 'DLL' that will work
on any Windows OS and for any language that has a suitable FFI.

At worst there will be 32-bit and 64-bit versions, but these days you
only need one.

Even if a developer wanted to make it available as C source code only,
then that is easy: just write in it portable C code. Here, nano.c is
such a library (to decode jpeg) with an accompanying test function in
main():

c:\cx>mcc nano.c
Compiling nano.c to nano.exe

c:\cx>wsl
...
root@XXX:/mnt/c/cx# gcc nano.c

And it runs on both:

root@XXX:/mnt/c/cx# ./a.out /mnt/c/jpeg/card2.jpg
root@DESKTOP-11:/mnt/c/cx# ls *.ppm
nanojpeg_out.ppm
...

c:\cx>nano \jpeg\card2.jpg
c:\cx>dir *.ppm
09/02/2024 11:31 6,220,817 nanojpeg_out.ppm

So, what's the problem? This just needs ANY C compiler, and doesn't need
make or anything else:

c:\cx>tcc nano.c
c:\cx>mcc nano.c
Compiling nano.c to nano.exe
c:\cx>gcc nano.c
c:\cx>\dm\bin\dmc nano.c

Why is everyone so intent on making this harder than necessary? Forget
CYGWIN, MSYS2, WSL, mingw64, or make. Either supply one DLL (that will
work on every 64-bit Windows machine in the world), or supply portable C
code.

Re: Experimental C Build System

<87r0hlpylh.fsf@bsb.me.uk>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=32944&group=comp.lang.c#32944

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ben.use...@bsb.me.uk (Ben Bacarisse)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Experimental C Build System
Date: Fri, 09 Feb 2024 13:16:10 +0000
Organization: A noiseless patient Spider
Lines: 70
Message-ID: <87r0hlpylh.fsf@bsb.me.uk>
References: <up8i91$h6iu$1@dont-email.me> <upp43r$3s4nc$4@dont-email.me>
<upp8s5$3tmdd$2@dont-email.me> <upp90v$3tovf$1@dont-email.me>
<upr337$bgc8$2@dont-email.me> <20240205101236.81@kylheku.com>
<upv574$1a3hg$2@dont-email.me> <upvk3j$1cc05$1@dont-email.me>
<uq02vl$1erim$4@dont-email.me> <uq05ip$1fdph$1@dont-email.me>
<874jektfn0.fsf@bsb.me.uk> <87ttmkrxdv.fsf@bsb.me.uk>
<uq27ig$1tcfa$1@dont-email.me> <877cjfrx0p.fsf@bsb.me.uk>
<uq2hkf$1v9f9$1@dont-email.me> <871q9msxxd.fsf@bsb.me.uk>
<uq31ts$22580$2@dont-email.me> <87jzneqwqg.fsf@bsb.me.uk>
<uq3uag$290lm$1@dont-email.me> <87eddmqv90.fsf@bsb.me.uk>
<uq4uvo$2j3od$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: dont-email.me; posting-host="c235c3c701c62e624897d4b41eb7a3c2";
logging-data="2767696"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18Kluhjzy7/ukZJtkFXy/iE/giUn+nIOh4="
User-Agent: Gnus/5.13 (Gnus v5.13)
Cancel-Lock: sha1:mDv+5sv5u2TpqGffyYyeZppH2aE=
sha1:2HY9mcMJa0U7fmVfmPxLJpgCp68=
X-BSB-Auth: 1.0c35ca47898aefeb9dfa.20240209131610GMT.87r0hlpylh.fsf@bsb.me.uk
 by: Ben Bacarisse - Fri, 9 Feb 2024 13:16 UTC

bart <bc@freeuk.com> writes:

> On 09/02/2024 01:30, Ben Bacarisse wrote:
>> bart <bc@freeuk.com> writes:
>>
>>> On 09/02/2024 00:58, Ben Bacarisse wrote:
>>>> bart <bc@freeuk.com> writes:
>>>
>>>>> BTW if gcc /isn't/ installed, do you still get a bunch of standard C
>>>>> headers in /usr/include? If so, what do you have to select to not install
>>>>> them?
>>>> I can't say what happens without specifics. There are hundreds of Linux
>>>> distributions.
>>>> This is exactly why I was curious about what prompted Malcolm's
>>>> confident statement about what comes with "Linux" -- it runs contrary to
>>>> my limited experience.
>>>
>>> Not to mine.
>> I thought you said you can't remember either? Frankly, I don't think
>> you can recall enough of your experience to be able to say this
>> honestly.
>
> "In MY limited experience" - the bits I can remember - whenever I needed to
> compile any C code on Linux, then gcc was always there.

That's not the point. The question is whether it got there by default.
That's not what most people are saying.

>> But if you can recall, then tell me -- what distributions
>> install gcc and the other development tools by default? Malcolm can't
>> help, but maybe you can.
>
> All the various Linuxes I used on RPi1 and RPi4, 32-bit and the odd 64-bit,
> had gcc. I know because that was the primary reason for using those
> boards.

That's probably not what Malcolm was using, but they may well install
gcc by default.

> Those OSes were downloaded in one lump, or sometimes came as plug-in SD
> cards.
>
> The same for all the various Linuxes I used on my PC via VirtualBox.

Which ones installed gcc by default?

> The same with the pre-installed OS on a Linux notebook I once tried.

How can that be relevant to what is installed by default? Someone else
chose what to install.

> Further back, I can't remember if the Linuxes I used to install on my PC
> via CDs, which were done a package at a time, definitely had gcc since I
> can't remember if I ever tried to compile C code on them. (I had enough
> trouble just doing the basics, like a working screen and keyword.)
>
> But don't ask me exactly which distributions they are; to me Linux is Linux
> and they are all a blur.

Yes, that's why I wondered how you could be so sure that I was being
unfair to Malcolm.

> So, /this/ is my limited experience. Why are you trying to accuse me of
> pulling a fast one?

No. I was taking you at your word -- that you did not remember: "If
those asked whether I wanted gcc added, then I really can't remember."

--
Ben.

Re: Experimental C Build System

<uq5hip$2mgb3$3@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=32958&group=comp.lang.c#32958

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!newsfeed.endofthelinebbs.com!news.hispagatos.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: bc...@freeuk.com (bart)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Experimental C Build System
Date: Fri, 9 Feb 2024 15:49:45 +0000
Organization: A noiseless patient Spider
Lines: 24
Message-ID: <uq5hip$2mgb3$3@dont-email.me>
References: <up8i91$h6iu$1@dont-email.me> <upleoi$34tr4$1@dont-email.me>
<uplhrp$35e9i$1@dont-email.me> <upo1cv$3lbbl$2@dont-email.me>
<upo5b4$3m4fu$1@dont-email.me> <upp43r$3s4nc$4@dont-email.me>
<upp8s5$3tmdd$2@dont-email.me> <upp90v$3tovf$1@dont-email.me>
<upr337$bgc8$2@dont-email.me> <20240205101236.81@kylheku.com>
<upv574$1a3hg$2@dont-email.me> <upvk3j$1cc05$1@dont-email.me>
<uq02vl$1erim$4@dont-email.me> <uq05ip$1fdph$1@dont-email.me>
<874jektfn0.fsf@bsb.me.uk> <87ttmkrxdv.fsf@bsb.me.uk>
<uq27ig$1tcfa$1@dont-email.me> <877cjfrx0p.fsf@bsb.me.uk>
<uq2hkf$1v9f9$1@dont-email.me> <871q9msxxd.fsf@bsb.me.uk>
<uq31ts$22580$2@dont-email.me> <87jzneqwqg.fsf@bsb.me.uk>
<uq3uag$290lm$1@dont-email.me> <uq41cs$2a4jh$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 9 Feb 2024 15:49:45 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="7249358d931a886a5d72096d92eeb1eb";
logging-data="2834787"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+kab5fOt5qbMc+CRhmTJjgJsCQ4ek1qm8="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:nw+fOmmUBQszCNACdh9w2UBf33E=
In-Reply-To: <uq41cs$2a4jh$1@dont-email.me>
Content-Language: en-GB
 by: bart - Fri, 9 Feb 2024 15:49 UTC

On 09/02/2024 02:07, Lawrence D'Oliveiro wrote:
> On Fri, 9 Feb 2024 01:14:57 +0000, bart wrote:
>
>> I thought the big deal with Linux compared with Windows was
>> that it came with compilers, headers and libraries at least for C.
>>
>> Now that advantage may be just by chance?
>
> Even when you add these for Windows, you do seem to have trouble building
> C programs though, don’t you, as evidenced by your past complaints? So
> clearly there must be a bit more to it than that.

Linux (by which I mean all such Unix-related OSes) is a C machine.

Not only is it all implemented in C, but it won't let you forget that,
with little demarcation between the OS, C libraries, C headers, C
compilers, and a myriad assorted routines that are all amazingly chummy.

Some people here seem to think that POSIX is an essential part of C, yet
windows.c is not considered part of C on Windows.

So, having a C compiler on Windows is not enough, if an application has
an over-reliance on that ecosystem as part of its build process.

Re: Experimental C Build System

<20240209084620.832@kylheku.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=32969&group=comp.lang.c#32969

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!rocksolid2!news.neodome.net!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: 433-929-...@kylheku.com (Kaz Kylheku)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Experimental C Build System
Date: Fri, 9 Feb 2024 17:13:14 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 49
Message-ID: <20240209084620.832@kylheku.com>
References: <up8i91$h6iu$1@dont-email.me> <upleoi$34tr4$1@dont-email.me>
<uplhrp$35e9i$1@dont-email.me> <upo1cv$3lbbl$2@dont-email.me>
<upo5b4$3m4fu$1@dont-email.me> <upp43r$3s4nc$4@dont-email.me>
<upp8s5$3tmdd$2@dont-email.me> <upp90v$3tovf$1@dont-email.me>
<upr337$bgc8$2@dont-email.me> <20240205101236.81@kylheku.com>
<upv574$1a3hg$2@dont-email.me> <upvk3j$1cc05$1@dont-email.me>
<uq02vl$1erim$4@dont-email.me> <uq05ip$1fdph$1@dont-email.me>
<874jektfn0.fsf@bsb.me.uk> <87ttmkrxdv.fsf@bsb.me.uk>
<uq27ig$1tcfa$1@dont-email.me> <877cjfrx0p.fsf@bsb.me.uk>
<uq2hkf$1v9f9$1@dont-email.me> <871q9msxxd.fsf@bsb.me.uk>
<uq31ts$22580$2@dont-email.me> <87jzneqwqg.fsf@bsb.me.uk>
<uq3uag$290lm$1@dont-email.me> <uq41cs$2a4jh$1@dont-email.me>
<uq5hip$2mgb3$3@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 9 Feb 2024 17:13:14 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="f0d9c4d56e1bf3d087a60d362bc7520c";
logging-data="2869895"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+UjOvJrG1y4YxXQma4T1UkO8izC3URBDA="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:JZ5vju/rfvPfSllRvTUgaY6rFOM=
 by: Kaz Kylheku - Fri, 9 Feb 2024 17:13 UTC

On 2024-02-09, bart <bc@freeuk.com> wrote:
> On 09/02/2024 02:07, Lawrence D'Oliveiro wrote:
>> On Fri, 9 Feb 2024 01:14:57 +0000, bart wrote:
>>
>>> I thought the big deal with Linux compared with Windows was
>>> that it came with compilers, headers and libraries at least for C.
>>>
>>> Now that advantage may be just by chance?
>>
>> Even when you add these for Windows, you do seem to have trouble building
>> C programs though, don’t you, as evidenced by your past complaints? So
>> clearly there must be a bit more to it than that.
>
> Linux (by which I mean all such Unix-related OSes) is a C machine.
>
> Not only is it all implemented in C, but it won't let you forget that,
> with little demarcation between the OS, C libraries, C headers, C
> compilers, and a myriad assorted routines that are all amazingly chummy.

Windows is built on C. API's expressed in C with function prototypes
and data structures.

I have worked in several Windows shops as a C++ developer. The culture
was just as steeped in C and C++ as development on Unix. The feeling
was almost as if Microsoft had invented C and Unix didn't exist.

Modern Windows now even has the equivalent of a C library: the UCRT
(universal C run time), a public library, okay to use by applications,
which has your malloc, printf and all that.

> Some people here seem to think that POSIX is an essential part of C, yet
> windows.c is not considered part of C on Windows.

Anyone who claims that POSIX is part of C in comp.lang.c will be
corrected, and if they persist, ultimately ridiculed and ostracized. :)

POSIX has a relationship to ISO C in that it includes the standard by
reference. Everything in C is in POSIX. POSIX redundantly documents
numerous C library functions. Or not always redundantly; here and there
it has additional requirements. POSIX also extends the standard C
headers with its own functions. Some features of POSIX are accessible
via <stdio.h> or <stdlib.h>.

C is an essential part of POSIX, but the reverse isn't true.

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca

Re: Experimental C Build System

<uq5qkj$2oaag$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=32976&group=comp.lang.c#32976

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: bc...@freeuk.com (bart)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Experimental C Build System
Date: Fri, 9 Feb 2024 18:24:18 +0000
Organization: A noiseless patient Spider
Lines: 70
Message-ID: <uq5qkj$2oaag$1@dont-email.me>
References: <up8i91$h6iu$1@dont-email.me> <upleoi$34tr4$1@dont-email.me>
<uplhrp$35e9i$1@dont-email.me> <upo1cv$3lbbl$2@dont-email.me>
<upo5b4$3m4fu$1@dont-email.me> <upp43r$3s4nc$4@dont-email.me>
<upp8s5$3tmdd$2@dont-email.me> <upp90v$3tovf$1@dont-email.me>
<upr337$bgc8$2@dont-email.me> <20240205101236.81@kylheku.com>
<upv574$1a3hg$2@dont-email.me> <upvk3j$1cc05$1@dont-email.me>
<uq02vl$1erim$4@dont-email.me> <uq05ip$1fdph$1@dont-email.me>
<874jektfn0.fsf@bsb.me.uk> <87ttmkrxdv.fsf@bsb.me.uk>
<uq27ig$1tcfa$1@dont-email.me> <877cjfrx0p.fsf@bsb.me.uk>
<uq2hkf$1v9f9$1@dont-email.me> <871q9msxxd.fsf@bsb.me.uk>
<uq31ts$22580$2@dont-email.me> <87jzneqwqg.fsf@bsb.me.uk>
<uq3uag$290lm$1@dont-email.me> <uq41cs$2a4jh$1@dont-email.me>
<uq5hip$2mgb3$3@dont-email.me> <20240209084620.832@kylheku.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 9 Feb 2024 18:24:20 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="7249358d931a886a5d72096d92eeb1eb";
logging-data="2894160"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX189hubu6Lkf7L1E0PpzXlSXu5L5bYl4MRE="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:B2/1mkixi+X/oB7w49JrEk/fdOk=
Content-Language: en-GB
In-Reply-To: <20240209084620.832@kylheku.com>
 by: bart - Fri, 9 Feb 2024 18:24 UTC

On 09/02/2024 17:13, Kaz Kylheku wrote:
> On 2024-02-09, bart <bc@freeuk.com> wrote:
>> On 09/02/2024 02:07, Lawrence D'Oliveiro wrote:
>>> On Fri, 9 Feb 2024 01:14:57 +0000, bart wrote:
>>>
>>>> I thought the big deal with Linux compared with Windows was
>>>> that it came with compilers, headers and libraries at least for C.
>>>>
>>>> Now that advantage may be just by chance?
>>>
>>> Even when you add these for Windows, you do seem to have trouble building
>>> C programs though, don’t you, as evidenced by your past complaints? So
>>> clearly there must be a bit more to it than that.
>>
>> Linux (by which I mean all such Unix-related OSes) is a C machine.
>>
>> Not only is it all implemented in C, but it won't let you forget that,
>> with little demarcation between the OS, C libraries, C headers, C
>> compilers, and a myriad assorted routines that are all amazingly chummy.
>
> Windows is built on C. API's expressed in C with function prototypes
> and data structures.

But the demarcation is better. The C-ness doesn't leak through, except
via the OS APIs.

There are no C standard headers provided (nor in a centralised location;
if a C compiler is installed, they are local to the compiler).

It doesn't enforce C's case-sensitivity in the file system and shell
programs.

At a program's entry point, you won't find 'argn', 'argv' conveniently
pushed onto the stack.

Even if you look at the API, it uses a set of precisely defined Windows
data types which wrap the raw C types. (BTW that API is now marked as
being C++.)

And of course you don't routinely have C compilers, assemblers and
linkers provided.

With Linux, everything screams 'C'.

> I have worked in several Windows shops as a C++ developer. The culture
> was just as steeped in C and C++ as development on Unix.

It would be if they used C++.

> The feeling
> was almost as if Microsoft had invented C and Unix didn't exist.

There's Windows. There's Linux. And then there are MS development tools.

People tend to mix up those tools with Windows. Note that MS also have
languages such as VB, F# and C#, all working on top of CLI/CIL
(whichever it is, perhaps both), and something called .NET. I'm not sure
they even acknowledge the existence of C anymore.

> Modern Windows now even has the equivalent of a C library: the UCRT
> (universal C run time), a public library, okay to use by applications,
> which has your malloc, printf and all that.

It's called now MSVCRT.DLL. I've used that since the 90s, simply because
it was simpler than WinAPI. I was only vaguely aware then that it was
also to do with C.

Re: Experimental C Build System

<b6uxN.277837$Ama9.185969@fx12.iad>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=32977&group=comp.lang.c#32977

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!news.nntp4.net!newsfeed.hasname.com!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx12.iad.POSTED!not-for-mail
X-newsreader: xrn 9.03-beta-14-64bit
Sender: scott@dragon.sl.home (Scott Lurndal)
From: sco...@slp53.sl.home (Scott Lurndal)
Reply-To: slp53@pacbell.net
Subject: Re: Experimental C Build System
Newsgroups: comp.lang.c,comp.unix.programmer
References: <up8i91$h6iu$1@dont-email.me> <upv574$1a3hg$2@dont-email.me> <upvk3j$1cc05$1@dont-email.me> <uq02vl$1erim$4@dont-email.me> <uq05ip$1fdph$1@dont-email.me> <874jektfn0.fsf@bsb.me.uk> <87ttmkrxdv.fsf@bsb.me.uk> <uq27ig$1tcfa$1@dont-email.me> <877cjfrx0p.fsf@bsb.me.uk> <uq2hkf$1v9f9$1@dont-email.me> <871q9msxxd.fsf@bsb.me.uk> <uq31ts$22580$2@dont-email.me> <87jzneqwqg.fsf@bsb.me.uk> <uq3uag$290lm$1@dont-email.me> <uq41cs$2a4jh$1@dont-email.me> <uq5hip$2mgb3$3@dont-email.me>
Lines: 30
Message-ID: <b6uxN.277837$Ama9.185969@fx12.iad>
X-Complaints-To: abuse@usenetserver.com
NNTP-Posting-Date: Fri, 09 Feb 2024 18:25:11 UTC
Organization: UsenetServer - www.usenetserver.com
Date: Fri, 09 Feb 2024 18:25:11 GMT
X-Received-Bytes: 2266
 by: Scott Lurndal - Fri, 9 Feb 2024 18:25 UTC

bart <bc@freeuk.com> writes:
>On 09/02/2024 02:07, Lawrence D'Oliveiro wrote:
>> On Fri, 9 Feb 2024 01:14:57 +0000, bart wrote:
>>
>>> I thought the big deal with Linux compared with Windows was
>>> that it came with compilers, headers and libraries at least for C.
>>>
>>> Now that advantage may be just by chance?
>>
>> Even when you add these for Windows, you do seem to have trouble building
>> C programs though, don’t you, as evidenced by your past complaints? So
>> clearly there must be a bit more to it than that.
>
>
>Linux (by which I mean all such Unix-related OSes) is a C machine.

The linux operating system is written in a mix of assembler, C (and now Rust)
and supports a large and varied set of processor architectures.

The linux desktop and server applications are written in a mix of languages,
including C, C++, Python, Java, APL, ADA, COBOL, Fortran, Haskell, Pascal,
C#, D, and a host of other languages for which linux development
environments exist.

> Some people here seem to think that POSIX is an essential part of C,

I don't recall anyone other than you thinking that.

POSIX is an essential component in the applications I write,
just like libgmp or libreadline. C or C++.

Re: Experimental C Build System

<877cjdebb8.fsf@nosuchdomain.example.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=32979&group=comp.lang.c#32979

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!news.samoylyk.net!news.cgarbs.de!weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Keith.S....@gmail.com (Keith Thompson)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Experimental C Build System
Date: Fri, 09 Feb 2024 10:34:35 -0800
Organization: None to speak of
Lines: 19
Message-ID: <877cjdebb8.fsf@nosuchdomain.example.com>
References: <up8i91$h6iu$1@dont-email.me> <upp90v$3tovf$1@dont-email.me>
<upr337$bgc8$2@dont-email.me> <20240205101236.81@kylheku.com>
<upv574$1a3hg$2@dont-email.me> <upvk3j$1cc05$1@dont-email.me>
<uq02vl$1erim$4@dont-email.me> <uq05ip$1fdph$1@dont-email.me>
<874jektfn0.fsf@bsb.me.uk> <87ttmkrxdv.fsf@bsb.me.uk>
<uq27ig$1tcfa$1@dont-email.me> <877cjfrx0p.fsf@bsb.me.uk>
<uq2hkf$1v9f9$1@dont-email.me> <871q9msxxd.fsf@bsb.me.uk>
<uq31ts$22580$2@dont-email.me> <87jzneqwqg.fsf@bsb.me.uk>
<uq3uag$290lm$1@dont-email.me> <uq41cs$2a4jh$1@dont-email.me>
<uq5hip$2mgb3$3@dont-email.me> <20240209084620.832@kylheku.com>
<uq5qkj$2oaag$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: dont-email.me; posting-host="639f38d912c33920e0e5a36e0f09675f";
logging-data="2893543"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+yrWP9Q54Wc3wh0zEj3tmn"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
Cancel-Lock: sha1:qePViAWYQ/HF+Ohe2DsEID8k02Y=
sha1:R0WFHYWasjMeKouwa7R17hj4kgE=
 by: Keith Thompson - Fri, 9 Feb 2024 18:34 UTC

bart <bc@freeuk.com> writes:
> On 09/02/2024 17:13, Kaz Kylheku wrote:
[...]
>> Modern Windows now even has the equivalent of a C library: the UCRT
>> (universal C run time), a public library, okay to use by applications,
>> which has your malloc, printf and all that.
>
> It's called now MSVCRT.DLL. I've used that since the 90s, simply
> because it was simpler than WinAPI. I was only vaguely aware then that
> it was also to do with C.

No, MCVCRT.DLL and the UCRT are not the same. UCRT is newer.

https://stackoverflow.com/q/67848972/827263

--
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
Working, but not speaking, for Medtronic
void Void(void) { Void(); } /* The recursive call of the void */

Re: Experimental C Build System

<20240209103252.434@kylheku.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=32980&group=comp.lang.c#32980

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!3.eu.feeder.erje.net!feeder.erje.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: 433-929-...@kylheku.com (Kaz Kylheku)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Experimental C Build System
Date: Fri, 9 Feb 2024 18:42:15 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 40
Message-ID: <20240209103252.434@kylheku.com>
References: <up8i91$h6iu$1@dont-email.me> <upleoi$34tr4$1@dont-email.me>
<uplhrp$35e9i$1@dont-email.me> <upo1cv$3lbbl$2@dont-email.me>
<upo5b4$3m4fu$1@dont-email.me> <upp43r$3s4nc$4@dont-email.me>
<upp8s5$3tmdd$2@dont-email.me> <upp90v$3tovf$1@dont-email.me>
<upr337$bgc8$2@dont-email.me> <20240205101236.81@kylheku.com>
<upv574$1a3hg$2@dont-email.me> <upvk3j$1cc05$1@dont-email.me>
<uq02vl$1erim$4@dont-email.me> <uq05ip$1fdph$1@dont-email.me>
<874jektfn0.fsf@bsb.me.uk> <87ttmkrxdv.fsf@bsb.me.uk>
<uq27ig$1tcfa$1@dont-email.me> <877cjfrx0p.fsf@bsb.me.uk>
<uq2hkf$1v9f9$1@dont-email.me> <871q9msxxd.fsf@bsb.me.uk>
<uq31ts$22580$2@dont-email.me> <87jzneqwqg.fsf@bsb.me.uk>
<uq3uag$290lm$1@dont-email.me> <uq41cs$2a4jh$1@dont-email.me>
<uq5hip$2mgb3$3@dont-email.me> <20240209084620.832@kylheku.com>
<uq5qkj$2oaag$1@dont-email.me>
Injection-Date: Fri, 9 Feb 2024 18:42:15 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="f0d9c4d56e1bf3d087a60d362bc7520c";
logging-data="2896892"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+ntRqziQXhWWHfEMN4AokkrlUsay1sFbU="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:7ASKTBlTv91YiTSA/dzgdWMuiD8=
 by: Kaz Kylheku - Fri, 9 Feb 2024 18:42 UTC

On 2024-02-09, bart <bc@freeuk.com> wrote:
> On 09/02/2024 17:13, Kaz Kylheku wrote:
>> The feeling
>> was almost as if Microsoft had invented C and Unix didn't exist.
>
> There's Windows. There's Linux. And then there are MS development tools.
>
> People tend to mix up those tools with Windows.

Yes, just like people tend to post to newsgroups saying that
everything screams "C" in Linux.

> Note that MS also have
> languages such as VB, F# and C#, all working on top of CLI/CIL
> (whichever it is, perhaps both), and something called .NET. I'm not sure
> they even acknowledge the existence of C anymore.

>> Modern Windows now even has the equivalent of a C library: the UCRT
>> (universal C run time), a public library, okay to use by applications,
>> which has your malloc, printf and all that.
>
> It's called now MSVCRT.DLL.

Umm, no.

> I've used that since the 90s, simply because
> it was simpler than WinAPI. I was only vaguely aware then that it was
> also to do with C.

You didn't use /that/ since the 90s. UCRT is a new thing that ships with
Windows 10, and is available as an add on for as back as Windows 7, an
that's it.

MSVCRT.DLL is not documented for public use; when you link to it,
you're sticking a fork into the proverbial toaster. UCRT is different.

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca

Re: Experimental C Build System

<uq62l7$2pnbt$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=32986&group=comp.lang.c#32986

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!news.hispagatos.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: bc...@freeuk.com (bart)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Experimental C Build System
Date: Fri, 9 Feb 2024 20:41:10 +0000
Organization: A noiseless patient Spider
Lines: 47
Message-ID: <uq62l7$2pnbt$1@dont-email.me>
References: <up8i91$h6iu$1@dont-email.me> <upleoi$34tr4$1@dont-email.me>
<uplhrp$35e9i$1@dont-email.me> <upo1cv$3lbbl$2@dont-email.me>
<upo5b4$3m4fu$1@dont-email.me> <upp43r$3s4nc$4@dont-email.me>
<upp8s5$3tmdd$2@dont-email.me> <upp90v$3tovf$1@dont-email.me>
<upr337$bgc8$2@dont-email.me> <20240205101236.81@kylheku.com>
<upv574$1a3hg$2@dont-email.me> <upvk3j$1cc05$1@dont-email.me>
<uq02vl$1erim$4@dont-email.me> <uq05ip$1fdph$1@dont-email.me>
<874jektfn0.fsf@bsb.me.uk> <87ttmkrxdv.fsf@bsb.me.uk>
<uq27ig$1tcfa$1@dont-email.me> <877cjfrx0p.fsf@bsb.me.uk>
<uq2hkf$1v9f9$1@dont-email.me> <871q9msxxd.fsf@bsb.me.uk>
<uq31ts$22580$2@dont-email.me> <87jzneqwqg.fsf@bsb.me.uk>
<uq3uag$290lm$1@dont-email.me> <uq41cs$2a4jh$1@dont-email.me>
<uq5hip$2mgb3$3@dont-email.me> <20240209084620.832@kylheku.com>
<uq5qkj$2oaag$1@dont-email.me> <20240209103252.434@kylheku.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 9 Feb 2024 20:41:11 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="7249358d931a886a5d72096d92eeb1eb";
logging-data="2940285"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX184LV9wHo4VPlisvuwXf1ZkRo3Ayfk9+CE="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:lXbo/66p5CNsD2Dcu73rAhak7KQ=
Content-Language: en-GB
In-Reply-To: <20240209103252.434@kylheku.com>
 by: bart - Fri, 9 Feb 2024 20:41 UTC

On 09/02/2024 18:42, Kaz Kylheku wrote:
> On 2024-02-09, bart <bc@freeuk.com> wrote:
>> On 09/02/2024 17:13, Kaz Kylheku wrote:
>>> The feeling
>>> was almost as if Microsoft had invented C and Unix didn't exist.
>>
>> There's Windows. There's Linux. And then there are MS development tools.
>>
>> People tend to mix up those tools with Windows.
>
> Yes, just like people tend to post to newsgroups saying that
> everything screams "C" in Linux.
>
>> Note that MS also have
>> languages such as VB, F# and C#, all working on top of CLI/CIL
>> (whichever it is, perhaps both), and something called .NET. I'm not sure
>> they even acknowledge the existence of C anymore.
>
>>> Modern Windows now even has the equivalent of a C library: the UCRT
>>> (universal C run time), a public library, okay to use by applications,
>>> which has your malloc, printf and all that.
>>
>> It's called now MSVCRT.DLL.
>
> Umm, no.
>
>> I've used that since the 90s, simply because
>> it was simpler than WinAPI. I was only vaguely aware then that it was
>> also to do with C.
>
> You didn't use /that/ since the 90s. UCRT is a new thing that ships with
> Windows 10, and is available as an add on for as back as Windows 7, an
> that's it.
>
> MSVCRT.DLL is not documented for public use; when you link to it,
> you're sticking a fork into the proverbial toaster. UCRT is different.
>

What exactly to you mean by UCRT; ucrtbase.dll?

That's missing a few useful things, like '_getmainargs' (used to get
argn, argv for main()), and obscure functions like 'printf'.

Meanwhile, if I look at programs such as gcc.exe, as.exe, ld.exe, not
only do THEY import msvcrt.dll, but the EXEs produced by gcc.exe do so too.

So they didn't get the memo.

Re: Experimental C Build System

<uq63fn$2psf6$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=32988&group=comp.lang.c#32988

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: bc...@freeuk.com (bart)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Experimental C Build System
Date: Fri, 9 Feb 2024 20:55:19 +0000
Organization: A noiseless patient Spider
Lines: 46
Message-ID: <uq63fn$2psf6$1@dont-email.me>
References: <up8i91$h6iu$1@dont-email.me> <upv574$1a3hg$2@dont-email.me>
<upvk3j$1cc05$1@dont-email.me> <uq02vl$1erim$4@dont-email.me>
<uq05ip$1fdph$1@dont-email.me> <874jektfn0.fsf@bsb.me.uk>
<87ttmkrxdv.fsf@bsb.me.uk> <uq27ig$1tcfa$1@dont-email.me>
<877cjfrx0p.fsf@bsb.me.uk> <uq2hkf$1v9f9$1@dont-email.me>
<871q9msxxd.fsf@bsb.me.uk> <uq31ts$22580$2@dont-email.me>
<87jzneqwqg.fsf@bsb.me.uk> <uq3uag$290lm$1@dont-email.me>
<uq41cs$2a4jh$1@dont-email.me> <uq5hip$2mgb3$3@dont-email.me>
<b6uxN.277837$Ama9.185969@fx12.iad>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 9 Feb 2024 20:55:19 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="7249358d931a886a5d72096d92eeb1eb";
logging-data="2945510"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+3i0qguT4TNmFLAZBiag5O+xFI+EfAwDA="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:TozTCng46GpWDaCcBeZ7dolJYJw=
In-Reply-To: <b6uxN.277837$Ama9.185969@fx12.iad>
Content-Language: en-GB
 by: bart - Fri, 9 Feb 2024 20:55 UTC

On 09/02/2024 18:25, Scott Lurndal wrote:
> bart <bc@freeuk.com> writes:
>> On 09/02/2024 02:07, Lawrence D'Oliveiro wrote:
>>> On Fri, 9 Feb 2024 01:14:57 +0000, bart wrote:
>>>
>>>> I thought the big deal with Linux compared with Windows was
>>>> that it came with compilers, headers and libraries at least for C.
>>>>
>>>> Now that advantage may be just by chance?
>>>
>>> Even when you add these for Windows, you do seem to have trouble building
>>> C programs though, don’t you, as evidenced by your past complaints? So
>>> clearly there must be a bit more to it than that.
>>
>>
>> Linux (by which I mean all such Unix-related OSes) is a C machine.
>
> The linux operating system is written in a mix of assembler, C (and now Rust)
> and supports a large and varied set of processor architectures.
>
> The linux desktop and server applications are written in a mix of languages,
> including C, C++, Python, Java, APL, ADA, COBOL, Fortran, Haskell, Pascal,
> C#, D, and a host of other languages for which linux development
> environments exist.
>
>> Some people here seem to think that POSIX is an essential part of C,
>
> I don't recall anyone other than you thinking that.

It's mentioned a LOT. Half the open source programs I try seem to use
calls like 'open' instead of 'fopen', suggesting that the author seemed
to think such a function is standard C, or that can be used as though it
was standard.

While here (https://en.wikipedia.org/wiki/C_POSIX_library):

"The C POSIX library is a specification of a C standard library for
POSIX systems. It was developed at the same time as the ANSI C standard."

The table that follows is a list of headers with lots of standard C
headers included.

That looks quite chummy to me, and even nepotic.

Re: Experimental C Build System

<uq63u4$2psod$2@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=32989&group=comp.lang.c#32989

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo...@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Experimental C Build System
Date: Fri, 9 Feb 2024 21:03:00 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 21
Message-ID: <uq63u4$2psod$2@dont-email.me>
References: <up8i91$h6iu$1@dont-email.me> <up9hh3$m75n$3@dont-email.me>
<up9kc7$mkt1$2@dont-email.me> <up9uuj$rmmf$2@dont-email.me>
<upanta$vkgm$1@dont-email.me> <upb9ca$12je5$1@dont-email.me>
<upbi8o$14443$1@dont-email.me> <updt7h$1jc8a$1@dont-email.me>
<upeab3$1m2f4$1@dont-email.me> <upflbj$202rb$1@dont-email.me>
<upfve3$21uv7$1@dont-email.me> <upgcbm$246u1$1@dont-email.me>
<upgo72$26abt$1@dont-email.me> <20240201222328.00006859@yahoo.com>
<uph305$2867k$2@dont-email.me> <20240202005538.000054ff@yahoo.com>
<upi7i8$2h3eq$1@dont-email.me> <upirpd$2kdoe$1@dont-email.me>
<upjnje$2oup9$11@dont-email.me> <upjpbk$2pihr$1@dont-email.me>
<upleoi$34tr4$1@dont-email.me> <uplhrp$35e9i$1@dont-email.me>
<upo1cv$3lbbl$2@dont-email.me> <upo5b4$3m4fu$1@dont-email.me>
<upp43r$3s4nc$4@dont-email.me> <upp8s5$3tmdd$2@dont-email.me>
<upqipd$9c0k$1@dont-email.me> <uq536e$2jpss$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 9 Feb 2024 21:03:00 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="6b81b1b5b0886ece37827f7a23070dda";
logging-data="2945805"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19FI4NXxt3uOulkMCWP1tD4"
User-Agent: Pan/0.155 (Kherson; fc5a80b8)
Cancel-Lock: sha1:cEgTFZRKfhKyizVQOmGNAA1jhTw=
 by: Lawrence D'Oliv - Fri, 9 Feb 2024 21:03 UTC

On Fri, 9 Feb 2024 11:44:13 +0000, bart wrote:

> Then [Intel] decided to withdraw it; you couldn't find binaries
> anywhere, although I had copies. Its replacement was buried inside a
> massive 75MB developer's package (at a time when modems worked at
> 14.4Kbaud), and I think had to be built from source.
>
> I remember that it was totally impractical and highly inconvenient.

Why not extract it into its own source project and just build that?

>> And thus there is much less effort put into making projects easy to
>> build on Windows.

Ironic that your example is from Intel, from all people. If they cannot
support Windows properly, who can?

> Windows works on binaries. There is a format called 'DLL' that will work
> on any Windows OS and for any language that has a suitable FFI.

But DLLs have no versioning mechanism, do they? Hence, “DLL Hell”.

Re: Experimental C Build System

<uq641q$2psod$3@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=32990&group=comp.lang.c#32990

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo...@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Experimental C Build System
Date: Fri, 9 Feb 2024 21:04:58 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 11
Message-ID: <uq641q$2psod$3@dont-email.me>
References: <up8i91$h6iu$1@dont-email.me> <upleoi$34tr4$1@dont-email.me>
<uplhrp$35e9i$1@dont-email.me> <upo1cv$3lbbl$2@dont-email.me>
<upo5b4$3m4fu$1@dont-email.me> <upp43r$3s4nc$4@dont-email.me>
<upp8s5$3tmdd$2@dont-email.me> <upp90v$3tovf$1@dont-email.me>
<upr337$bgc8$2@dont-email.me> <20240205101236.81@kylheku.com>
<upv574$1a3hg$2@dont-email.me> <upvk3j$1cc05$1@dont-email.me>
<uq02vl$1erim$4@dont-email.me> <uq05ip$1fdph$1@dont-email.me>
<874jektfn0.fsf@bsb.me.uk> <87ttmkrxdv.fsf@bsb.me.uk>
<uq27ig$1tcfa$1@dont-email.me> <877cjfrx0p.fsf@bsb.me.uk>
<uq2hkf$1v9f9$1@dont-email.me> <871q9msxxd.fsf@bsb.me.uk>
<uq31ts$22580$2@dont-email.me> <87jzneqwqg.fsf@bsb.me.uk>
<uq3uag$290lm$1@dont-email.me> <uq41cs$2a4jh$1@dont-email.me>
<uq5hip$2mgb3$3@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 9 Feb 2024 21:04:58 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="6b81b1b5b0886ece37827f7a23070dda";
logging-data="2945805"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+ScYStJfhGp6KZte6KM66B"
User-Agent: Pan/0.155 (Kherson; fc5a80b8)
Cancel-Lock: sha1:DXmRn8+AB6MUhv1/YbwYGCXTz1U=
 by: Lawrence D'Oliv - Fri, 9 Feb 2024 21:04 UTC

On Fri, 9 Feb 2024 15:49:45 +0000, bart wrote:

> Some people here seem to think that POSIX is an essential part of C, yet
> windows.c is not considered part of C on Windows.

Precisely. C was born on Unix. “Unix®” as such may be dead, but its
successor, POSIX, can be seen as basically the greatest run-time library
for C.

If Windows NT had not been created by a Unix hater, you would be having
much less trouble with it.

Re: Experimental C Build System

<uq6441$2psod$4@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=32991&group=comp.lang.c#32991

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo...@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Experimental C Build System
Date: Fri, 9 Feb 2024 21:06:10 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 7
Message-ID: <uq6441$2psod$4@dont-email.me>
References: <up8i91$h6iu$1@dont-email.me> <upv574$1a3hg$2@dont-email.me>
<upvk3j$1cc05$1@dont-email.me> <uq02vl$1erim$4@dont-email.me>
<uq05ip$1fdph$1@dont-email.me> <874jektfn0.fsf@bsb.me.uk>
<87ttmkrxdv.fsf@bsb.me.uk> <uq27ig$1tcfa$1@dont-email.me>
<877cjfrx0p.fsf@bsb.me.uk> <uq2hkf$1v9f9$1@dont-email.me>
<871q9msxxd.fsf@bsb.me.uk> <uq31ts$22580$2@dont-email.me>
<87jzneqwqg.fsf@bsb.me.uk> <uq3uag$290lm$1@dont-email.me>
<uq41cs$2a4jh$1@dont-email.me> <uq5hip$2mgb3$3@dont-email.me>
<b6uxN.277837$Ama9.185969@fx12.iad> <uq63fn$2psf6$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 9 Feb 2024 21:06:10 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="6b81b1b5b0886ece37827f7a23070dda";
logging-data="2945805"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/hc488v+nYlL5c5R/RDjWK"
User-Agent: Pan/0.155 (Kherson; fc5a80b8)
Cancel-Lock: sha1:5ObOBwspIr/j9Jcl+Z5/yV3Fyr8=
 by: Lawrence D'Oliv - Fri, 9 Feb 2024 21:06 UTC

On Fri, 9 Feb 2024 20:55:19 +0000, bart wrote:

> That looks quite chummy to me, and even nepotic.

It’s your choice to be on the outside, looking in.

Come ... join us ...

Re: Experimental C Build System

<87y1btcpb3.fsf@nosuchdomain.example.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=32993&group=comp.lang.c#32993

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Keith.S....@gmail.com (Keith Thompson)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Experimental C Build System
Date: Fri, 09 Feb 2024 13:15:12 -0800
Organization: None to speak of
Lines: 21
Message-ID: <87y1btcpb3.fsf@nosuchdomain.example.com>
References: <up8i91$h6iu$1@dont-email.me> <upv574$1a3hg$2@dont-email.me>
<upvk3j$1cc05$1@dont-email.me> <uq02vl$1erim$4@dont-email.me>
<uq05ip$1fdph$1@dont-email.me> <874jektfn0.fsf@bsb.me.uk>
<87ttmkrxdv.fsf@bsb.me.uk> <uq27ig$1tcfa$1@dont-email.me>
<877cjfrx0p.fsf@bsb.me.uk> <uq2hkf$1v9f9$1@dont-email.me>
<871q9msxxd.fsf@bsb.me.uk> <uq31ts$22580$2@dont-email.me>
<87jzneqwqg.fsf@bsb.me.uk> <uq3uag$290lm$1@dont-email.me>
<uq41cs$2a4jh$1@dont-email.me> <uq5hip$2mgb3$3@dont-email.me>
<b6uxN.277837$Ama9.185969@fx12.iad> <uq63fn$2psf6$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: dont-email.me; posting-host="639f38d912c33920e0e5a36e0f09675f";
logging-data="2951029"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/r/Xtd/rdraxQi9YZEUjnw"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
Cancel-Lock: sha1:jA3O5ojiGJXhJ3ev2EzMOnbAEFs=
sha1:7CmWkXbfbq1UE6CKd8f8wlL+V4o=
 by: Keith Thompson - Fri, 9 Feb 2024 21:15 UTC

bart <bc@freeuk.com> writes:
> On 09/02/2024 18:25, Scott Lurndal wrote:
>> bart <bc@freeuk.com> writes:
[...]
>>> Some people here seem to think that POSIX is an essential part of C,
>> I don't recall anyone other than you thinking that.
>
> It's mentioned a LOT. Half the open source programs I try seem to use
> calls like 'open' instead of 'fopen', suggesting that the author
> seemed to think such a function is standard C, or that can be used as
> though it was standard.

Rather, I'd say it suggests that the author doesn't care about
portability to non-POSIX systems, which is perfectly sensible if the
program depends on POSIX-specific features anyway. Similarly, plenty of
C and C++ code depends on Windows features.

--
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
Working, but not speaking, for Medtronic
void Void(void) { Void(); } /* The recursive call of the void */

Re: Experimental C Build System

<20240209133810.84@kylheku.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=32995&group=comp.lang.c#32995

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!news.furie.org.uk!usenet.goja.nl.eu.org!weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: 433-929-...@kylheku.com (Kaz Kylheku)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Experimental C Build System
Date: Fri, 9 Feb 2024 21:56:50 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 43
Message-ID: <20240209133810.84@kylheku.com>
References: <up8i91$h6iu$1@dont-email.me> <upleoi$34tr4$1@dont-email.me>
<uplhrp$35e9i$1@dont-email.me> <upo1cv$3lbbl$2@dont-email.me>
<upo5b4$3m4fu$1@dont-email.me> <upp43r$3s4nc$4@dont-email.me>
<upp8s5$3tmdd$2@dont-email.me> <upp90v$3tovf$1@dont-email.me>
<upr337$bgc8$2@dont-email.me> <20240205101236.81@kylheku.com>
<upv574$1a3hg$2@dont-email.me> <upvk3j$1cc05$1@dont-email.me>
<uq02vl$1erim$4@dont-email.me> <uq05ip$1fdph$1@dont-email.me>
<874jektfn0.fsf@bsb.me.uk> <87ttmkrxdv.fsf@bsb.me.uk>
<uq27ig$1tcfa$1@dont-email.me> <877cjfrx0p.fsf@bsb.me.uk>
<uq2hkf$1v9f9$1@dont-email.me> <871q9msxxd.fsf@bsb.me.uk>
<uq31ts$22580$2@dont-email.me> <87jzneqwqg.fsf@bsb.me.uk>
<uq3uag$290lm$1@dont-email.me> <uq41cs$2a4jh$1@dont-email.me>
<uq5hip$2mgb3$3@dont-email.me> <20240209084620.832@kylheku.com>
<uq5qkj$2oaag$1@dont-email.me> <20240209103252.434@kylheku.com>
<uq62l7$2pnbt$1@dont-email.me>
Injection-Date: Fri, 9 Feb 2024 21:56:50 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="f0d9c4d56e1bf3d087a60d362bc7520c";
logging-data="2966980"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/9mL9ke9QvI5r4kE9Ktzd8wT0hjE2LVyg="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:NZSc9Fq3nHuW0K2iwNhulRuqlg4=
 by: Kaz Kylheku - Fri, 9 Feb 2024 21:56 UTC

On 2024-02-09, bart <bc@freeuk.com> wrote:
>> MSVCRT.DLL is not documented for public use; when you link to it,
>> you're sticking a fork into the proverbial toaster. UCRT is different.
>>
>
> What exactly to you mean by UCRT; ucrtbase.dll?
>
> That's missing a few useful things, like '_getmainargs' (used to get
> argn, argv for main()), and obscure functions like 'printf'.

I believe printf is in there.

_getmainargs isn't; that's in a VC run time library.

> Meanwhile, if I look at programs such as gcc.exe, as.exe, ld.exe, not
> only do THEY import msvcrt.dll, but the EXEs produced by gcc.exe do so too.

Umm, no; you must be talking specifically about the MinGW ones.

> So they didn't get the memo.

They got the memo. The issue is that even though MSVCRT.DLL is
undocumented, it constitutes a "system library". This is important.

The GNU Public license prohibits programs from being linked to
proprietary code --- but it has an exception for system libraries
(libraries that are part of the target platform where the program runs).

Using MSVCRT.DLL is like sticking a fork in the toaster, but all those
programs being linked to MSVCRT.DLL means the GPL isn't violated.

Compilers under Cygwin don't link to MSVCRT.DLL --- including the ones
in the Cygwin MingW package. (Yes, Cygwin has a package of MinGW
compilers. If you have Cygwin, you just install that, and then you can
build MinGW programs. The built programs probably still link to
MSVCRT.DLL as far as I know. Cygwin itself uses this MinGW compiler
package for compiling some of its components, like the setup.exe program
and I think the cygwin1.dll also.)

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca

Re: Experimental C Build System

<20240209135733.479@kylheku.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=32996&group=comp.lang.c#32996

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: 433-929-...@kylheku.com (Kaz Kylheku)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Experimental C Build System
Date: Fri, 9 Feb 2024 22:09:27 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 48
Message-ID: <20240209135733.479@kylheku.com>
References: <up8i91$h6iu$1@dont-email.me> <upv574$1a3hg$2@dont-email.me>
<upvk3j$1cc05$1@dont-email.me> <uq02vl$1erim$4@dont-email.me>
<uq05ip$1fdph$1@dont-email.me> <874jektfn0.fsf@bsb.me.uk>
<87ttmkrxdv.fsf@bsb.me.uk> <uq27ig$1tcfa$1@dont-email.me>
<877cjfrx0p.fsf@bsb.me.uk> <uq2hkf$1v9f9$1@dont-email.me>
<871q9msxxd.fsf@bsb.me.uk> <uq31ts$22580$2@dont-email.me>
<87jzneqwqg.fsf@bsb.me.uk> <uq3uag$290lm$1@dont-email.me>
<uq41cs$2a4jh$1@dont-email.me> <uq5hip$2mgb3$3@dont-email.me>
<b6uxN.277837$Ama9.185969@fx12.iad> <uq63fn$2psf6$1@dont-email.me>
Injection-Date: Fri, 9 Feb 2024 22:09:27 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="f0d9c4d56e1bf3d087a60d362bc7520c";
logging-data="2972025"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/cEi/U0HzkcRt7jBMtsxpgTPOiCSxn0JU="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:x4jFqoYWdI+z8uEgYO5oGC1F/t0=
 by: Kaz Kylheku - Fri, 9 Feb 2024 22:09 UTC

On 2024-02-09, bart <bc@freeuk.com> wrote:
> It's mentioned a LOT. Half the open source programs I try seem to use
> calls like 'open' instead of 'fopen', suggesting that the author seemed
> to think such a function is standard C, or that can be used as though it
> was standard.

Open source programs tend to use POSIX functions because POSIX is
associated with open source.

The most successful open source operating systems we have are all
POSIX-based. Open source programs target open source platforms.
It's a no-brainer.

If you need functionality beyond what is in ISO C, POSIX is more
portable than the alternatives.

For instance, suppose we would like to write a cross-platform programs
that works with serial ports. It has to control baud rate, framing, and
whether hardware handshaking is enable and all that.

If we write that using the POSIX API in <termios.h>, it can easily
be made to run on Linux, Windows, Mac, BSD, ...

If we use the Win32 API for serial control, it will run on Windows.
Maybe on Linux using Wine, and ReactOS, ...

In the TXR project, I use <termios.h> to put the TTY in raw mode for the
editing features in the REPL, together with ANSI escape sequences.
This works fine on Windows: there is a termios implementation in Cygwin,
as well as a translation layer that converts ANSI escapes to
Win32 Console API calls. I can ship this stand-alone without Cygwin and
it runs fine in a cmd.exe Window.

I'd be silly not to use POSIX, because then I would have to write
that separately for Windows.

Among other things I can do in POSIX (including on Windows) is use poll
for all file descriptors, including sockets.

I can open a FILE * stream on a socket using fdopen(fd, "...mode...").

POSIX is the most widely implemented operating system interface
standard.

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca

Re: Experimental C Build System

<uq69q8$2qti2$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=33001&group=comp.lang.c#33001

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: bc...@freeuk.com (bart)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Experimental C Build System
Date: Fri, 9 Feb 2024 22:43:21 +0000
Organization: A noiseless patient Spider
Lines: 72
Message-ID: <uq69q8$2qti2$1@dont-email.me>
References: <up8i91$h6iu$1@dont-email.me> <upleoi$34tr4$1@dont-email.me>
<uplhrp$35e9i$1@dont-email.me> <upo1cv$3lbbl$2@dont-email.me>
<upo5b4$3m4fu$1@dont-email.me> <upp43r$3s4nc$4@dont-email.me>
<upp8s5$3tmdd$2@dont-email.me> <upp90v$3tovf$1@dont-email.me>
<upr337$bgc8$2@dont-email.me> <20240205101236.81@kylheku.com>
<upv574$1a3hg$2@dont-email.me> <upvk3j$1cc05$1@dont-email.me>
<uq02vl$1erim$4@dont-email.me> <uq05ip$1fdph$1@dont-email.me>
<874jektfn0.fsf@bsb.me.uk> <87ttmkrxdv.fsf@bsb.me.uk>
<uq27ig$1tcfa$1@dont-email.me> <877cjfrx0p.fsf@bsb.me.uk>
<uq2hkf$1v9f9$1@dont-email.me> <871q9msxxd.fsf@bsb.me.uk>
<uq31ts$22580$2@dont-email.me> <87jzneqwqg.fsf@bsb.me.uk>
<uq3uag$290lm$1@dont-email.me> <uq41cs$2a4jh$1@dont-email.me>
<uq5hip$2mgb3$3@dont-email.me> <20240209084620.832@kylheku.com>
<uq5qkj$2oaag$1@dont-email.me> <20240209103252.434@kylheku.com>
<uq62l7$2pnbt$1@dont-email.me> <20240209133810.84@kylheku.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 9 Feb 2024 22:43:20 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="7249358d931a886a5d72096d92eeb1eb";
logging-data="2979394"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+MPXZfr6swZMIT++/KuK7SmKs/SZMNdnQ="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:HmYByf1qQlvhTSqaOjF4mfmMIRE=
Content-Language: en-GB
In-Reply-To: <20240209133810.84@kylheku.com>
 by: bart - Fri, 9 Feb 2024 22:43 UTC

On 09/02/2024 21:56, Kaz Kylheku wrote:
> On 2024-02-09, bart <bc@freeuk.com> wrote:
>>> MSVCRT.DLL is not documented for public use; when you link to it,
>>> you're sticking a fork into the proverbial toaster. UCRT is different.
>>>
>>
>> What exactly to you mean by UCRT; ucrtbase.dll?
>>
>> That's missing a few useful things, like '_getmainargs' (used to get
>> argn, argv for main()), and obscure functions like 'printf'.
>
> I believe printf is in there.

Not under my ucrtbase.dll if that's the right file. If it was there, it
would go somewhere in here:

2332 00031F90 204688 Fun pow
2333 00033630 210480 Fun powf
2334 00058740 362304 Fun putc
2335 00080BE0 527328 Fun putchar
2336 00059660 366176 Fun puts

I suspect this is used by MS programs which may have their own wrappers
around 'printf'.

> _getmainargs isn't; that's in a VC run time library.
>
>> Meanwhile, if I look at programs such as gcc.exe, as.exe, ld.exe, not
>> only do THEY import msvcrt.dll, but the EXEs produced by gcc.exe do so too.
>
> Umm, no; you must be talking specifically about the MinGW ones.

I'm talking about lots of binaries, for example:

raylib.dll
opengl.dll
sdl2.dll
sqlite3_32.dll
s7.exe
tcc.exe
nim.exe
nasm.exe

>> So they didn't get the memo.
>
> They got the memo. The issue is that even though MSVCRT.DLL is
> undocumented, it constitutes a "system library". This is important.

If they got rid of it, half the programs that run under Windows would
stop working.

> The GNU Public license prohibits programs from being linked to
> proprietary code --- but it has an exception for system libraries
> (libraries that are part of the target platform where the program runs).
>
> Using MSVCRT.DLL is like sticking a fork in the toaster, but all those
> programs being linked to MSVCRT.DLL means the GPL isn't violated.
>
> Compilers under Cygwin don't link to MSVCRT.DLL --- including the ones
> in the Cygwin MingW package. (Yes, Cygwin has a package of MinGW
> compilers. If you have Cygwin, you just install that, and then you can
> build MinGW programs. The built programs probably still link to
> MSVCRT.DLL as far as I know. Cygwin itself uses this MinGW compiler
> package for compiling some of its components, like the setup.exe program
> and I think the cygwin1.dll also.)
>

I'm no idea what the point of CYGWIN is. Never have done either. What
does it bring to the table? Presumably to make some programs that
originate on Linux feel more at home, instead of making the effort to
make them more portable.

Re: Experimental C Build System

<uq69qt$2r05q$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=33002&group=comp.lang.c#33002

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!news.bbs.nz!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: bc...@freeuk.com (bart)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Experimental C Build System
Date: Fri, 9 Feb 2024 22:43:41 +0000
Organization: A noiseless patient Spider
Lines: 72
Message-ID: <uq69qt$2r05q$1@dont-email.me>
References: <up8i91$h6iu$1@dont-email.me> <upleoi$34tr4$1@dont-email.me>
<uplhrp$35e9i$1@dont-email.me> <upo1cv$3lbbl$2@dont-email.me>
<upo5b4$3m4fu$1@dont-email.me> <upp43r$3s4nc$4@dont-email.me>
<upp8s5$3tmdd$2@dont-email.me> <upp90v$3tovf$1@dont-email.me>
<upr337$bgc8$2@dont-email.me> <20240205101236.81@kylheku.com>
<upv574$1a3hg$2@dont-email.me> <upvk3j$1cc05$1@dont-email.me>
<uq02vl$1erim$4@dont-email.me> <uq05ip$1fdph$1@dont-email.me>
<874jektfn0.fsf@bsb.me.uk> <87ttmkrxdv.fsf@bsb.me.uk>
<uq27ig$1tcfa$1@dont-email.me> <877cjfrx0p.fsf@bsb.me.uk>
<uq2hkf$1v9f9$1@dont-email.me> <871q9msxxd.fsf@bsb.me.uk>
<uq31ts$22580$2@dont-email.me> <87jzneqwqg.fsf@bsb.me.uk>
<uq3uag$290lm$1@dont-email.me> <uq41cs$2a4jh$1@dont-email.me>
<uq5hip$2mgb3$3@dont-email.me> <20240209084620.832@kylheku.com>
<uq5qkj$2oaag$1@dont-email.me> <20240209103252.434@kylheku.com>
<uq62l7$2pnbt$1@dont-email.me> <20240209133810.84@kylheku.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 9 Feb 2024 22:43:41 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="7249358d931a886a5d72096d92eeb1eb";
logging-data="2982074"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18kGDkgdSwk9blKi3hYwMkJINVGenn4qXc="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:Zv2bwT2k9w7XY92/K2g1HjNojDA=
In-Reply-To: <20240209133810.84@kylheku.com>
Content-Language: en-GB
 by: bart - Fri, 9 Feb 2024 22:43 UTC

On 09/02/2024 21:56, Kaz Kylheku wrote:
> On 2024-02-09, bart <bc@freeuk.com> wrote:
>>> MSVCRT.DLL is not documented for public use; when you link to it,
>>> you're sticking a fork into the proverbial toaster. UCRT is different.
>>>
>>
>> What exactly to you mean by UCRT; ucrtbase.dll?
>>
>> That's missing a few useful things, like '_getmainargs' (used to get
>> argn, argv for main()), and obscure functions like 'printf'.
>
> I believe printf is in there.

Not under my ucrtbase.dll if that's the right file. If it was there, it
would go somewhere in here:

2332 00031F90 204688 Fun pow
2333 00033630 210480 Fun powf
2334 00058740 362304 Fun putc
2335 00080BE0 527328 Fun putchar
2336 00059660 366176 Fun puts

I suspect this is used by MS programs which may have their own wrappers
around 'printf'.

> _getmainargs isn't; that's in a VC run time library.
>
>> Meanwhile, if I look at programs such as gcc.exe, as.exe, ld.exe, not
>> only do THEY import msvcrt.dll, but the EXEs produced by gcc.exe do so too.
>
> Umm, no; you must be talking specifically about the MinGW ones.

I'm talking about lots of binaries, for example:

raylib.dll
opengl.dll
sdl2.dll
sqlite3_32.dll
s7.exe
tcc.exe
nim.exe
nasm.exe

>> So they didn't get the memo.
>
> They got the memo. The issue is that even though MSVCRT.DLL is
> undocumented, it constitutes a "system library". This is important.

If they got rid of it, half the programs that run under Windows would
stop working.

> The GNU Public license prohibits programs from being linked to
> proprietary code --- but it has an exception for system libraries
> (libraries that are part of the target platform where the program runs).
>
> Using MSVCRT.DLL is like sticking a fork in the toaster, but all those
> programs being linked to MSVCRT.DLL means the GPL isn't violated.
>
> Compilers under Cygwin don't link to MSVCRT.DLL --- including the ones
> in the Cygwin MingW package. (Yes, Cygwin has a package of MinGW
> compilers. If you have Cygwin, you just install that, and then you can
> build MinGW programs. The built programs probably still link to
> MSVCRT.DLL as far as I know. Cygwin itself uses this MinGW compiler
> package for compiling some of its components, like the setup.exe program
> and I think the cygwin1.dll also.)
>

I'm no idea what the point of CYGWIN is. Never have done either. What
does it bring to the table? Presumably to make some programs that
originate on Linux feel more at home, instead of making the effort to
make them more portable.


devel / comp.lang.c / Re: Experimental C Build System

Pages:1234567891011121314151617
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor