Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

The clearest way into the Universe is through a forest wilderness. -- John Muir


devel / comp.lang.c / Effect of CPP tags

SubjectAuthor
* Effect of CPP tagsJanis Papanagnou
+- Re: Effect of CPP tagsLowell Gilbert
+* Re: Effect of CPP tagsKaz Kylheku
|`* Re: Effect of CPP tagsSpiros Bousbouras
| `- Re: Effect of CPP tagsTim Rentsch
+* Re: Effect of CPP tagsJanis Papanagnou
|+* Re: Effect of CPP tagsLowell Gilbert
||+* Re: Effect of CPP tagsKeith Thompson
|||`* Re: Effect of CPP tagsKaz Kylheku
||| `* Re: Effect of CPP tagsKeith Thompson
|||  `* Re: Effect of CPP tagsTim Rentsch
|||   `* Re: Effect of CPP tagsKaz Kylheku
|||    +- Re: Effect of CPP tagsJames Kuyper
|||    +* Re: Effect of CPP tagsJames Kuyper
|||    |`* Re: Effect of CPP tagsKaz Kylheku
|||    | +* Re: Effect of CPP tagsJames Kuyper
|||    | |`- Re: Effect of CPP tagsTim Rentsch
|||    | `* Re: Effect of CPP tagsTim Rentsch
|||    |  `* Re: Effect of CPP tagsKeith Thompson
|||    |   +- Re: Effect of CPP tagsDavid Brown
|||    |   +* Re: Effect of CPP tagsTim Rentsch
|||    |   |`- Re: Effect of CPP tagsKeith Thompson
|||    |   `- Re: Effect of CPP tagsTim Rentsch
|||    `- Re: Effect of CPP tagsTim Rentsch
||+* Re: Effect of CPP tagsKaz Kylheku
|||+- Re: Effect of CPP tagsKaz Kylheku
|||`* Re: Effect of CPP tagsLowell Gilbert
||| `- Re: Effect of CPP tagsJanis Papanagnou
||`* Re: Effect of CPP tagsJanis Papanagnou
|| `- Re: Effect of CPP tagsKaz Kylheku
|+- Re: Effect of CPP tagsKaz Kylheku
|`* Re: Effect of CPP tagsScott Lurndal
| +* Re: Effect of CPP tagsJanis Papanagnou
| |`* Re: Effect of CPP tagsKeith Thompson
| | +* Re: Effect of CPP tagsScott Lurndal
| | |`* Re: Effect of CPP tagsDavid Brown
| | | `* Re: Effect of CPP tagsJames Kuyper
| | |  `- Re: Effect of CPP tagsDavid Brown
| | `- Re: Effect of CPP tagsTim Rentsch
| `- usleep (Was: Effect of CPP tags)Kenny McCormack
+* Re: Effect of CPP tagsLawrence D'Oliveiro
|`* Re: Effect of CPP tagsBart
| +* Re: Effect of CPP tagsDavid Brown
| |`* Re: Effect of CPP tagsKeith Thompson
| | `* Re: Effect of CPP tagsKaz Kylheku
| |  `* Re: Effect of CPP tagsBart
| |   +* Re: Effect of CPP tagsLawrence D'Oliveiro
| |   |`* Re: Effect of CPP tagsBart
| |   | `* Re: Effect of CPP tagsLawrence D'Oliveiro
| |   |  `* Re: Effect of CPP tagsBart
| |   |   +* Re: Effect of CPP tagsScott Lurndal
| |   |   |+* Re: Effect of CPP tagsDavid Brown
| |   |   ||`- Re: Effect of CPP tagsBGB
| |   |   |`* Re: Effect of CPP tagsBart
| |   |   | `- Re: Effect of CPP tagsDavid Brown
| |   |   `- Re: Effect of CPP tagsLawrence D'Oliveiro
| |   `* Re: Effect of CPP tagsDavid Brown
| |    +* Re: Effect of CPP tagsBart
| |    |+- Re: Effect of CPP tagsScott Lurndal
| |    |+* Re: Effect of CPP tagsKaz Kylheku
| |    ||+* Re: Effect of CPP tagsBart
| |    |||`* Re: Effect of CPP tagsBart
| |    ||| +- Re: Effect of CPP tagsKeith Thompson
| |    ||| `* Re: Effect of CPP tagsKaz Kylheku
| |    |||  `* Re: Effect of CPP tagsKeith Thompson
| |    |||   +* Re: Effect of CPP tagsJanis Papanagnou
| |    |||   |`- Re: Effect of CPP tagsKeith Thompson
| |    |||   `- Re: Effect of CPP tagsKaz Kylheku
| |    ||`- Re: Effect of CPP tagsScott Lurndal
| |    |`- Re: Effect of CPP tagsDavid Brown
| |    `* Re: Effect of CPP tagsLawrence D'Oliveiro
| |     +* Re: Effect of CPP tagsChris M. Thomasson
| |     |`* Re: Effect of CPP tagsLawrence D'Oliveiro
| |     | `* Re: Effect of CPP tagsChris M. Thomasson
| |     |  `* Re: Effect of CPP tagsLawrence D'Oliveiro
| |     |   +- Re: Effect of CPP tagsChris M. Thomasson
| |     |   +- Re: Effect of CPP tagsChris M. Thomasson
| |     |   +- Re: Effect of CPP tagsKaz Kylheku
| |     |   `- Re: Effect of CPP tagsBlue-Maned_Hawk
| |     +* Re: Effect of CPP tagsDavid Brown
| |     |+* Re: Effect of CPP tagsBart
| |     ||+* Re: Effect of CPP tagsDavid Brown
| |     |||+- Re: Effect of CPP tagsBlue-Maned_Hawk
| |     |||`* Re: Effect of CPP tagsBart
| |     ||| `* Re: Effect of CPP tagsDavid Brown
| |     |||  `* Re: Effect of CPP tagsBart
| |     |||   +* Re: Effect of CPP tagsChris M. Thomasson
| |     |||   |`- Re: Effect of CPP tagsChris M. Thomasson
| |     |||   +* Re: Effect of CPP tagstTh
| |     |||   |+- Re: Effect of CPP tagsLawrence D'Oliveiro
| |     |||   |+- Re: Effect of CPP tagsKaz Kylheku
| |     |||   |`* Re: Effect of CPP tagsBart
| |     |||   | `* Re: Effect of CPP tagsScott Lurndal
| |     |||   |  `* Re: Effect of CPP tagsBart
| |     |||   |   `* Re: Effect of CPP tagsDavid Brown
| |     |||   |    +* Re: Effect of CPP tagsKaz Kylheku
| |     |||   |    |`* Re: Effect of CPP tagsDavid Brown
| |     |||   |    | `- Re: Effect of CPP tagsKaz Kylheku
| |     |||   |    `* Re: Effect of CPP tagsBart
| |     |||   |     +* Re: Effect of CPP tagsScott Lurndal
| |     |||   |     |`* Re: Effect of CPP tagsBart
| |     |||   |     `* Re: Effect of CPP tagsDavid Brown
| |     |||   `* Re: Effect of CPP tagsDavid Brown
| |     ||`* Re: Effect of CPP tagsBlue-Maned_Hawk
| |     |`* Re: Effect of CPP tagsLawrence D'Oliveiro
| |     `* Re: Effect of CPP tagsKaz Kylheku
| +- Re: Effect of CPP tagsRichard Damon
| +* Re: Effect of CPP tagsKaz Kylheku
| +* Re: Effect of CPP tagsBlue-Maned_Hawk
| `- Re: Effect of CPP tagsLawrence D'Oliveiro
`* Re: Effect of CPP tagsTim Rentsch

Pages:123456789101112131415161718192021222324252627
Re: Effect of CPP tags

<unos05$30pcg$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
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
Subject: Re: Effect of CPP tags
Date: Thu, 11 Jan 2024 14:55:17 +0100
Organization: A noiseless patient Spider
Lines: 56
Message-ID: <unos05$30pcg$1@dont-email.me>
References: <umet9d$3hir9$1@dont-email.me> <unj9l0$1vr6j$1@dont-email.me>
<unjmqs$21nsj$1@dont-email.me> <unk0q8$23dum$1@dont-email.me>
<unk4tm$2408t$1@dont-email.me> <unkblm$2566s$1@dont-email.me>
<8734v6p5s1.fsf@nosuchdomain.example.com> <unke3h$25ia0$1@dont-email.me>
<unkhql$25uof$1@dont-email.me> <unkkp3$26g9o$1@dont-email.me>
<87ttnmnjdb.fsf@nosuchdomain.example.com> <unkp1b$270v8$1@dont-email.me>
<ZSmnN.151217$c3Ea.70659@fx10.iad> <unkuhp$27i0v$2@dont-email.me>
<unlqqa$2eqts$2@dont-email.me> <U7ynN.143065$Wp_8.30410@fx17.iad>
<unmmnd$2jair$1@dont-email.me> <87edepnich.fsf@nosuchdomain.example.com>
<unmqsg$2jvva$1@dont-email.me> <unmu6b$2kh81$1@dont-email.me>
<unomlo$3023v$1@dont-email.me> <unorej$30k43$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 11 Jan 2024 13:55:17 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="d91ac923daa8a1bca9098efd7779b99b";
logging-data="3171728"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+GXZKBbSZqiyvHSXiz2SJXQhVZf+WzBWw="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
Thunderbird/102.11.0
Cancel-Lock: sha1:rgXZaRxlI82DkLZeKnsXXdk8/Cw=
Content-Language: en-GB
In-Reply-To: <unorej$30k43$1@dont-email.me>
 by: David Brown - Thu, 11 Jan 2024 13:55 UTC

On 11/01/2024 14:45, bart wrote:
> On 11/01/2024 12:24, David Brown wrote:
>> On 10/01/2024 21:20, bart wrote:
>
>>> Before typing 'make', you'd better be sure you're in the right place!
>>>
>>
>> The same is true of getting undressed, and indeed most things in life.
>>
>
>
> You might remember a discussion last autumn about building Lua 5.4.
>

I vaguely remember the discussion, but not the details (sorry).

> There was a lot of confusion since the sources you got from googling
> 'github lua', and also I think from the releases from that github site,
> and sources obtained via 'lua.org', were different.
>
> The latter had an extra directory level compared with github, and two
> makefiles rather than one:
>
>   c:\xxx\lua-5.4.6>dir makefile*/s
>   Directory of c:\xxx\lua-5.4.6
>   02/05/2023  20:06             3,150 Makefile
>
>   Directory of c:\xxx\lua-5.4.6\src
>   03/02/2023  10:43             7,685 Makefile
>
> Github had only the latter level.
>
> Since both have the same name and both can be invoked with:
>
>   make
>
> it meant no error was reported (like: 'no such makefile'), it just went
> wrong.
>
> Here, having to specify the name of a file, /and/ ensuring those two
> input files weren't identically named, could have saved a lot trouble by
> detecting the discrepancy sooner.
>

I don't remember the details, so I am just guessing now - perhaps one
was a developer version and the other a release version. Perhaps there
was just a mistake.

It is /very/ common to have makefiles in subdirectories - different
parts of a project can be built with recursive make. (This can be done
badly, as with many things, and can be the source of confusion,
inefficiencies or problems if different sub-projects depend on each
other.) But you should normally have a "parent" makefile or script in
the outer directory, or at least clear build instructions.

Re: Effect of CPP tags

<unovn7$2vgde$7@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!news.nntp4.net!news.hispagatos.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: val...@cultnix.org (vallor)
Newsgroups: comp.lang.c
Subject: Re: Effect of CPP tags
Date: Thu, 11 Jan 2024 14:58:47 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 33
Message-ID: <unovn7$2vgde$7@dont-email.me>
References: <umet9d$3hir9$1@dont-email.me> <uncq37$pvae$1@dont-email.me>
<uncqg5$pust$2@dont-email.me> <87cyuern6k.fsf@nosuchdomain.example.com>
<unct09$q65q$4@dont-email.me> <unedki$13tlb$1@dont-email.me>
<unegb1$148mk$2@dont-email.me> <ungr21$1hleq$1@dont-email.me>
<unh5p4$1j81h$1@dont-email.me> <unhjme$1ld24$1@dont-email.me>
<uni64g$1nrsb$1@dont-email.me> <unislv$1u3j0$1@dont-email.me>
<unj9l0$1vr6j$1@dont-email.me> <unjmqs$21nsj$1@dont-email.me>
<unk0q8$23dum$1@dont-email.me> <unk4tm$2408t$1@dont-email.me>
<unkblm$2566s$1@dont-email.me> <8734v6p5s1.fsf@nosuchdomain.example.com>
<unke3h$25ia0$1@dont-email.me> <unkhql$25uof$1@dont-email.me>
<unkkp3$26g9o$1@dont-email.me> <87ttnmnjdb.fsf@nosuchdomain.example.com>
<unkp1b$270v8$1@dont-email.me> <unkthi$5cv$1@news.gegeweb.eu>
<20240109212820.166@kylheku.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 11 Jan 2024 14:58:47 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="83ba1ff69715483442c00151cf11638a";
logging-data="3129774"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+tfpeeJnJ66MY66/o686eW"
User-Agent: Pan/0.155 (Kherson; fc5a80b gitlab.gnome.org/GNOME/pan.git;
x86_64-pc-linux-gnu)
Cancel-Lock: sha1:PWtTHP1Hr6IdPu+H1O0r5h01WM0=
X-Face: \}2`P"_@pS86<'EM:'b.Ml}8IuMK"pV"?FReF$'c.S%u9<Q#U*4QO)$l81M`{Q/n
XL'`91kd%N::LG:=*\35JS0prp\VJN^<s"b#bff@fA7]5lJA.jn,x_d%Md$,{.EZ
 by: vallor - Thu, 11 Jan 2024 14:58 UTC

On Wed, 10 Jan 2024 05:28:43 -0000 (UTC), Kaz Kylheku
<433-929-6894@kylheku.com> wrote in <20240109212820.166@kylheku.com>:

> On 2024-01-10, tTh <tth@none.invalid> wrote:
>> On 1/10/24 01:40, Bart wrote:
>>> An easy compiler is one where you just do:
>>>
>>>    gcc prog
>>>
>>> and not, at the very least:
>>>
>>>    gcc prog.c -prog.exe -std=c11 -pedantic-errors
>>>
>>> Meanwhile I routinely test C programs on half a dozen compilers. I
>>> can't be bothered with all this crap.
>>
>> So do as all of us do : put this crap in a Makefile or a shell
>> script, and forget about it.
>
> Please don't get Bart started on makefiles!

Speaking of which...let's not this time. :)

Where would be a good place to discuss Makefiles and the build
systems that use them; and perhaps the build systems that do
the same job as "make"?

comp.lang.misc?

TIA

--
-v

A good place to discuss Makefiles? (was Re: Effect of CPP tags)

<unp32m$31v5g$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
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: janis_pa...@hotmail.com (Janis Papanagnou)
Newsgroups: comp.lang.c
Subject: A good place to discuss Makefiles? (was Re: Effect of CPP tags)
Date: Thu, 11 Jan 2024 16:56:05 +0100
Organization: A noiseless patient Spider
Lines: 16
Message-ID: <unp32m$31v5g$1@dont-email.me>
References: <umet9d$3hir9$1@dont-email.me> <uncq37$pvae$1@dont-email.me>
<uncqg5$pust$2@dont-email.me> <87cyuern6k.fsf@nosuchdomain.example.com>
<unct09$q65q$4@dont-email.me> <unedki$13tlb$1@dont-email.me>
<unegb1$148mk$2@dont-email.me> <ungr21$1hleq$1@dont-email.me>
<unh5p4$1j81h$1@dont-email.me> <unhjme$1ld24$1@dont-email.me>
<uni64g$1nrsb$1@dont-email.me> <unislv$1u3j0$1@dont-email.me>
<unj9l0$1vr6j$1@dont-email.me> <unjmqs$21nsj$1@dont-email.me>
<unk0q8$23dum$1@dont-email.me> <unk4tm$2408t$1@dont-email.me>
<unkblm$2566s$1@dont-email.me> <8734v6p5s1.fsf@nosuchdomain.example.com>
<unke3h$25ia0$1@dont-email.me> <unkhql$25uof$1@dont-email.me>
<unkkp3$26g9o$1@dont-email.me> <87ttnmnjdb.fsf@nosuchdomain.example.com>
<unkp1b$270v8$1@dont-email.me> <unkthi$5cv$1@news.gegeweb.eu>
<20240109212820.166@kylheku.com> <unovn7$2vgde$7@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 11 Jan 2024 15:56:06 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="c7e918239294720802583eb3348dd83d";
logging-data="3210416"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/xCAFBNgEQHVt27SvupcQp"
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101
Thunderbird/45.8.0
Cancel-Lock: sha1:KqTS9jDfe/5NYZLmZyhCorYdjBs=
In-Reply-To: <unovn7$2vgde$7@dont-email.me>
 by: Janis Papanagnou - Thu, 11 Jan 2024 15:56 UTC

On 11.01.2024 15:58, vallor wrote:
>
> Where would be a good place to discuss Makefiles and the build
> systems that use them; and perhaps the build systems that do
> the same job as "make"?
>
> comp.lang.misc?

I wouldn't consider 'make' a "lang" (even if we could stretch
the interpretation of its syntax as such, but you are aiming
at a different aspect anyway).

Maybe comp.unix.programmer?

Janis

Re: Effect of CPP tags

<20240111081109.274@kylheku.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!news.chmurka.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
Subject: Re: Effect of CPP tags
Date: Thu, 11 Jan 2024 16:13:54 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 25
Message-ID: <20240111081109.274@kylheku.com>
References: <umet9d$3hir9$1@dont-email.me> <unj9l0$1vr6j$1@dont-email.me>
<unjmqs$21nsj$1@dont-email.me> <unk0q8$23dum$1@dont-email.me>
<unk4tm$2408t$1@dont-email.me> <unkblm$2566s$1@dont-email.me>
<8734v6p5s1.fsf@nosuchdomain.example.com> <unke3h$25ia0$1@dont-email.me>
<unkhql$25uof$1@dont-email.me> <unkkp3$26g9o$1@dont-email.me>
<87ttnmnjdb.fsf@nosuchdomain.example.com> <unkp1b$270v8$1@dont-email.me>
<ZSmnN.151217$c3Ea.70659@fx10.iad> <unkuhp$27i0v$2@dont-email.me>
<unlqqa$2eqts$2@dont-email.me> <U7ynN.143065$Wp_8.30410@fx17.iad>
<unmmnd$2jair$1@dont-email.me> <87edepnich.fsf@nosuchdomain.example.com>
<unmqsg$2jvva$1@dont-email.me> <unmu6b$2kh81$1@dont-email.me>
<20240110133135.834@kylheku.com> <unn65q$2lr2i$1@dont-email.me>
<20240110182957.444@kylheku.com> <unokb1$2vmkh$1@dont-email.me>
Injection-Date: Thu, 11 Jan 2024 16:13:54 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="5a5848ba635053d7fcd75f8568854d90";
logging-data="3213549"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18PsYESzodoz03dETsLtzC7UCgeyh24SMs="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:M52M2bJ8UwYNGv+EFqZh1yT42oI=
 by: Kaz Kylheku - Thu, 11 Jan 2024 16:13 UTC

On 2024-01-11, bart <bc@freeuk.com> wrote:
> On 11/01/2024 02:46, Kaz Kylheku wrote:
>> The fixed name of the makefile is a great idea. If I could change
>> anything, I would call it ".makefile".
>
> I think it's a terrible idea. It's like me deciding that when I type:
>
> mcc
>
> by itself, it will automatically compile xyzzy.c, every time. What it
> actually does is a bit saner, it shows some help text:

No, that's like mcc, if not given options, finding a .mccproj
file and building what is described there.

I.e. "build the mcc project that's associated with this directory,
via that directory's .mccproject property".

You need a fixed name to attach a property to the directory.

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca
NOTE: If you use Google Groups, I don't see you, unless you're whitelisted.

Re: Effect of CPP tags

<T8VnN.39590$GX69.23425@fx46.iad>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!feeder.usenetexpress.com!tr1.iad1.usenetexpress.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx46.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: Effect of CPP tags
Newsgroups: comp.lang.c
References: <umet9d$3hir9$1@dont-email.me> <unkp1b$270v8$1@dont-email.me> <ZSmnN.151217$c3Ea.70659@fx10.iad> <unkuhp$27i0v$2@dont-email.me> <unlqqa$2eqts$2@dont-email.me> <U7ynN.143065$Wp_8.30410@fx17.iad> <unmmnd$2jair$1@dont-email.me> <87edepnich.fsf@nosuchdomain.example.com> <unmqsg$2jvva$1@dont-email.me> <unmu6b$2kh81$1@dont-email.me> <20240110133135.834@kylheku.com> <unn65q$2lr2i$1@dont-email.me> <20240110182957.444@kylheku.com> <unokb1$2vmkh$1@dont-email.me> <20240111081109.274@kylheku.com>
Lines: 24
Message-ID: <T8VnN.39590$GX69.23425@fx46.iad>
X-Complaints-To: abuse@usenetserver.com
NNTP-Posting-Date: Thu, 11 Jan 2024 17:00:35 UTC
Organization: UsenetServer - www.usenetserver.com
Date: Thu, 11 Jan 2024 17:00:35 GMT
X-Received-Bytes: 1961
 by: Scott Lurndal - Thu, 11 Jan 2024 17:00 UTC

Kaz Kylheku <433-929-6894@kylheku.com> writes:
>On 2024-01-11, bart <bc@freeuk.com> wrote:
>> On 11/01/2024 02:46, Kaz Kylheku wrote:
>>> The fixed name of the makefile is a great idea. If I could change
>>> anything, I would call it ".makefile".
>>
>> I think it's a terrible idea. It's like me deciding that when I type:
>>
>> mcc
>>
>> by itself, it will automatically compile xyzzy.c, every time. What it
>> actually does is a bit saner, it shows some help text:
>
>No, that's like mcc, if not given options, finding a .mccproj
>file and building what is described there.
>
>I.e. "build the mcc project that's associated with this directory,
>via that directory's .mccproject property".
>
>You need a fixed name to attach a property to the directory.

That's fine, but don't make it a hidden file. A hidden file
can be used to record tool preferences, but the file describing
the project itself shouldn't be hidden.

Re: Effect of CPP tags

<871qanojhr.fsf@nosuchdomain.example.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
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
Subject: Re: Effect of CPP tags
Date: Thu, 11 Jan 2024 09:41:36 -0800
Organization: None to speak of
Lines: 39
Message-ID: <871qanojhr.fsf@nosuchdomain.example.com>
References: <umet9d$3hir9$1@dont-email.me> <unk4tm$2408t$1@dont-email.me>
<unkblm$2566s$1@dont-email.me>
<8734v6p5s1.fsf@nosuchdomain.example.com>
<unke3h$25ia0$1@dont-email.me> <unkhql$25uof$1@dont-email.me>
<unkkp3$26g9o$1@dont-email.me>
<87ttnmnjdb.fsf@nosuchdomain.example.com>
<unkp1b$270v8$1@dont-email.me> <ZSmnN.151217$c3Ea.70659@fx10.iad>
<unkuhp$27i0v$2@dont-email.me> <unlqqa$2eqts$2@dont-email.me>
<U7ynN.143065$Wp_8.30410@fx17.iad> <unmmnd$2jair$1@dont-email.me>
<87edepnich.fsf@nosuchdomain.example.com>
<unmqsg$2jvva$1@dont-email.me> <unmu6b$2kh81$1@dont-email.me>
<20240110133135.834@kylheku.com> <unn65q$2lr2i$1@dont-email.me>
<20240110182957.444@kylheku.com> <unokb1$2vmkh$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: dont-email.me; posting-host="44c5271f25a14e9fb71ab01150cdf04f";
logging-data="3238200"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/gljU/LVjxMUjbHtkBmII7"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
Cancel-Lock: sha1:eZtnHIOuAzWCXLd8XV8543auPpU=
sha1:+RhzBcWs/1g8dpUx/hHtTn2Aw1k=
 by: Keith Thompson - Thu, 11 Jan 2024 17:41 UTC

bart <bc@freeuk.com> writes:
[...]
> OK, so just like:
>
> mcc prog
>
> At least someone recognises the utility of doing that rather than the
> gcc palaver. They don't even need the extension!
>
> Yet when I build that convenience into the compiler, people come down
> on me like a ton of bricks.
>
> Talk about hypocrisy.
[...]

I haven't seen this "ton of bricks".

I don't think anyone has objected to the way your mcc works. If
"mcc prog" does what you want, that's fine. It's different from the way
gcc works, but nobody says that everything has to work the same way gcc
does.

If someone *describes* how gcc and make work, you take it as an
accusation, a condemnation of your own tools for being different.
Nobody is saying that.

I'll mention in passing that there are advantages to having
a compiler command refer to the name of the input (prog.c)
rather than the name of the output (prog or prog.exe), because
it lets the user take advantage of filename completion. "make"
is an exception to this, because there are good reasons for it to
refer to the output. Again, I'm not criticizing you for not doing
it that way, just letting you know about a possible rationale for
gcc's existing behavior.

--
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: Effect of CPP tags

<unpa3o$32vrk$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
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: richard....@gmail.invalid (Richard Harnden)
Newsgroups: comp.lang.c
Subject: Re: Effect of CPP tags
Date: Thu, 11 Jan 2024 17:56:08 +0000
Organization: A noiseless patient Spider
Lines: 49
Message-ID: <unpa3o$32vrk$1@dont-email.me>
References: <umet9d$3hir9$1@dont-email.me> <unedki$13tlb$1@dont-email.me>
<unegb1$148mk$2@dont-email.me> <ungr21$1hleq$1@dont-email.me>
<unh5p4$1j81h$1@dont-email.me> <unhjme$1ld24$1@dont-email.me>
<uni64g$1nrsb$1@dont-email.me> <unislv$1u3j0$1@dont-email.me>
<unj9l0$1vr6j$1@dont-email.me> <unjmqs$21nsj$1@dont-email.me>
<unk0q8$23dum$1@dont-email.me> <unk4tm$2408t$1@dont-email.me>
<unkblm$2566s$1@dont-email.me> <8734v6p5s1.fsf@nosuchdomain.example.com>
<unke3h$25ia0$1@dont-email.me> <qhjnN.136894$Ama9.92332@fx12.iad>
<unkgvp$25vrm$1@dont-email.me> <unll0n$2e1i8$1@dont-email.me>
<unm1jm$2ft22$1@dont-email.me> <unm5du$2ggel$1@dont-email.me>
<unm9o7$2h6ig$1@dont-email.me> <unmeee$2hvj3$1@dont-email.me>
<unmpbl$2joe1$1@dont-email.me> <unn99q$1guu$1@news.gegeweb.eu>
<unnfdb$2n5b9$1@dont-email.me>
Reply-To: nospam.harnden@invalid.com
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 11 Jan 2024 17:56:08 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="846eb946a606fe07896f7644a7759c51";
logging-data="3243892"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+c/Mwz489f4R1hu2D8W8sfkvylqo4KOlk="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:uKdcGj+6JV6MWQ9jwHCWyLPFj6k=
Content-Language: en-GB
In-Reply-To: <unnfdb$2n5b9$1@dont-email.me>
 by: Richard Harnden - Thu, 11 Jan 2024 17:56 UTC

On 11/01/2024 01:14, bart wrote:
> On 10/01/2024 23:30, tTh wrote:
>> On 1/10/24 19:57, bart wrote:
>>
>>> The above tries to compile hello.c with gcc. The first attempt
>>> doesn't work. The second does, as no error is displayed. But what
>>> exactly has it compiled it to? As there is no file called 'hello.exe.
>>
>>    o     ____    _____   _____   __  __
>>    o    |  _ \  |_   _| |  ___| |  \/  |
>>    o    | |_) |   | |   | |_    | |\/| |
>>    o    |  _ <    | |   |  _|   | |  | |
>>    o    |_| \_\   |_|   |_|     |_|  |_|
>>    o
>>
>
> I see. It doesn't matter how complex, unfriendly, inconvenient or
> error-prone using a piece of software is, it's all fine so long as you
> tell the user:
>
>   R T F M?
>
> That makes up for designing it properly?
>
> Instead of getting rid of unnecessary hoops you have to jump through,
> you'd just write a thicker instruction manual and sell more training
> courses. (And force people to use 'make' - another dozen hoops.)
>
> Plus of course you can command more pay for mastering that contrived
> complexity.
>
> What /I/ do is strive to get rid of those hoops.

Here's some hoops, for you ...

$ ls
hello.c

No Makefile, you'll notice.

$ make hello
cc hello.c -o hello

$ ./hello
Hello World!

Re: Effect of CPP tags

<unpc54$33efd$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
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: bc...@freeuk.com (bart)
Newsgroups: comp.lang.c
Subject: Re: Effect of CPP tags
Date: Thu, 11 Jan 2024 18:31:00 +0000
Organization: A noiseless patient Spider
Lines: 69
Message-ID: <unpc54$33efd$1@dont-email.me>
References: <umet9d$3hir9$1@dont-email.me> <unedki$13tlb$1@dont-email.me>
<unegb1$148mk$2@dont-email.me> <ungr21$1hleq$1@dont-email.me>
<unh5p4$1j81h$1@dont-email.me> <unhjme$1ld24$1@dont-email.me>
<uni64g$1nrsb$1@dont-email.me> <unislv$1u3j0$1@dont-email.me>
<unj9l0$1vr6j$1@dont-email.me> <unjmqs$21nsj$1@dont-email.me>
<unk0q8$23dum$1@dont-email.me> <unk4tm$2408t$1@dont-email.me>
<unkblm$2566s$1@dont-email.me> <8734v6p5s1.fsf@nosuchdomain.example.com>
<unke3h$25ia0$1@dont-email.me> <qhjnN.136894$Ama9.92332@fx12.iad>
<unkgvp$25vrm$1@dont-email.me> <unll0n$2e1i8$1@dont-email.me>
<unm1jm$2ft22$1@dont-email.me> <unm5du$2ggel$1@dont-email.me>
<unm9o7$2h6ig$1@dont-email.me> <unmeee$2hvj3$1@dont-email.me>
<unmpbl$2joe1$1@dont-email.me> <unn99q$1guu$1@news.gegeweb.eu>
<unnfdb$2n5b9$1@dont-email.me> <unpa3o$32vrk$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 11 Jan 2024 18:31:00 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="386117ce490de754d98074a266047139";
logging-data="3258861"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+qqzGm+GHFvwue175Imzq1dSQfgTXezBo="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:gt6HEDQ081D2vZ8tKMuubdckXP0=
In-Reply-To: <unpa3o$32vrk$1@dont-email.me>
Content-Language: en-GB
 by: bart - Thu, 11 Jan 2024 18:31 UTC

On 11/01/2024 17:56, Richard Harnden wrote:
> On 11/01/2024 01:14, bart wrote:
>> On 10/01/2024 23:30, tTh wrote:
>>> On 1/10/24 19:57, bart wrote:
>>>
>>>> The above tries to compile hello.c with gcc. The first attempt
>>>> doesn't work. The second does, as no error is displayed. But what
>>>> exactly has it compiled it to? As there is no file called 'hello.exe.
>>>
>>>    o     ____    _____   _____   __  __
>>>    o    |  _ \  |_   _| |  ___| |  \/  |
>>>    o    | |_) |   | |   | |_    | |\/| |
>>>    o    |  _ <    | |   |  _|   | |  | |
>>>    o    |_| \_\   |_|   |_|     |_|  |_|
>>>    o
>>>
>>
>> I see. It doesn't matter how complex, unfriendly, inconvenient or
>> error-prone using a piece of software is, it's all fine so long as you
>> tell the user:
>>
>>    R T F M?
>>
>> That makes up for designing it properly?
>>
>> Instead of getting rid of unnecessary hoops you have to jump through,
>> you'd just write a thicker instruction manual and sell more training
>> courses. (And force people to use 'make' - another dozen hoops.)
>>
>> Plus of course you can command more pay for mastering that contrived
>> complexity.
>>
>> What /I/ do is strive to get rid of those hoops.
>
> Here's some hoops, for you ...
>
> $ ls
> hello.c
>
> No Makefile, you'll notice.
>
> $ make hello
> cc     hello.c   -o hello
>
> $ ./hello
> Hello World!

c:\xxx>dir/b
hello.c

c:\xxx>mcc hello
Compiling hello.c to hello.exe

c:\xxx>hello
Hello, World! 11-Jan-2024 18:21:56

See? It's built in to my compiler. No separate 'make' is needed. It
doesn't have the restrictions I touched on in my earlier post on the
subject. I can choose add the extension:

c:\xxx>mcc hello.c
Compiling hello.c to hello.exe

It still works. It naturally extends to multiple source files. I don't
need to understand make files.

So my comments still stand. This 'make' example is just a misleading trick.

Re: Effect of CPP tags

<unpd89$33jlu$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!rocksolid2!news.neodome.net!weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: bc...@freeuk.com (bart)
Newsgroups: comp.lang.c
Subject: Re: Effect of CPP tags
Date: Thu, 11 Jan 2024 18:49:45 +0000
Organization: A noiseless patient Spider
Lines: 52
Message-ID: <unpd89$33jlu$1@dont-email.me>
References: <umet9d$3hir9$1@dont-email.me> <unj9l0$1vr6j$1@dont-email.me>
<unjmqs$21nsj$1@dont-email.me> <unk0q8$23dum$1@dont-email.me>
<unk4tm$2408t$1@dont-email.me> <unkblm$2566s$1@dont-email.me>
<8734v6p5s1.fsf@nosuchdomain.example.com> <unke3h$25ia0$1@dont-email.me>
<unkhql$25uof$1@dont-email.me> <unkkp3$26g9o$1@dont-email.me>
<87ttnmnjdb.fsf@nosuchdomain.example.com> <unkp1b$270v8$1@dont-email.me>
<ZSmnN.151217$c3Ea.70659@fx10.iad> <unkuhp$27i0v$2@dont-email.me>
<unlqqa$2eqts$2@dont-email.me> <U7ynN.143065$Wp_8.30410@fx17.iad>
<unmmnd$2jair$1@dont-email.me> <87edepnich.fsf@nosuchdomain.example.com>
<unmqsg$2jvva$1@dont-email.me> <unmu6b$2kh81$1@dont-email.me>
<20240110133135.834@kylheku.com> <unn65q$2lr2i$1@dont-email.me>
<20240110182957.444@kylheku.com> <unokb1$2vmkh$1@dont-email.me>
<20240111081109.274@kylheku.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 11 Jan 2024 18:49:45 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="386117ce490de754d98074a266047139";
logging-data="3264190"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/5IILlhTzU/+m4Qdub4ZUTcDUaubn2ews="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:sLBiOxM2HWQps9en5i0ETYQJYCA=
In-Reply-To: <20240111081109.274@kylheku.com>
Content-Language: en-GB
 by: bart - Thu, 11 Jan 2024 18:49 UTC

On 11/01/2024 16:13, Kaz Kylheku wrote:
> On 2024-01-11, bart <bc@freeuk.com> wrote:
>> On 11/01/2024 02:46, Kaz Kylheku wrote:
>>> The fixed name of the makefile is a great idea. If I could change
>>> anything, I would call it ".makefile".
>>
>> I think it's a terrible idea. It's like me deciding that when I type:
>>
>> mcc
>>
>> by itself, it will automatically compile xyzzy.c, every time. What it
>> actually does is a bit saner, it shows some help text:
>
> No, that's like mcc, if not given options, finding a .mccproj
> file and building what is described there.
>
> I.e. "build the mcc project that's associated with this directory,
> via that directory's .mccproject property".
>
> You need a fixed name to attach a property to the directory.

That would be more like a configuration file. It can control the
behaviour of an interactive op, or run some sort of prelude script, or
load some data, prior to starting a normal session.

It wouldn't see such a file, act on it, then (perhaps silently) stop.

If I wanted that behaviour, I would script it, using the same commands
that I've been familiar with for decades from my OS's command prompt.

The name of the script would usually be specific to the project, for
example, 'makeccia' will run 'makeccia.bat'. The '-a' suffix refers to
the floppy A: drive, so it is a very old example.

The only time I reuse generic script names for a project are names like
'backup' and 'store'.

I can see where you're coming from with 'make': if I load my IDE (which
picks up a config file from this directory which describes the current
local project), I can type standard commands like 'C' to compile, and
'R' to run

Within this app, you can be informal since it has an active environment
which is clearly displayed and the files involved are shown. Well, IT IS
AN APP and runs within an obvious context.

'make' looks like it wants to be similarly informal, but there there is
no strong environment, only the name of the current directory, which
might contain /anything/. There is no real context.

Re: Effect of CPP tags

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

  copy mid

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

  copy link   Newsgroups: comp.lang.c
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
Subject: Re: Effect of CPP tags
Date: Thu, 11 Jan 2024 12:16:13 -0800
Organization: None to speak of
Lines: 26
Message-ID: <87wmsfmxrm.fsf@nosuchdomain.example.com>
References: <umet9d$3hir9$1@dont-email.me>
<8734v6p5s1.fsf@nosuchdomain.example.com>
<unke3h$25ia0$1@dont-email.me> <unkhql$25uof$1@dont-email.me>
<unkkp3$26g9o$1@dont-email.me>
<87ttnmnjdb.fsf@nosuchdomain.example.com>
<unkp1b$270v8$1@dont-email.me> <ZSmnN.151217$c3Ea.70659@fx10.iad>
<unkuhp$27i0v$2@dont-email.me> <unlqqa$2eqts$2@dont-email.me>
<U7ynN.143065$Wp_8.30410@fx17.iad> <unmmnd$2jair$1@dont-email.me>
<87edepnich.fsf@nosuchdomain.example.com>
<unmqsg$2jvva$1@dont-email.me> <unmu6b$2kh81$1@dont-email.me>
<20240110133135.834@kylheku.com> <unn65q$2lr2i$1@dont-email.me>
<20240110182957.444@kylheku.com> <unokb1$2vmkh$1@dont-email.me>
<20240111081109.274@kylheku.com> <unpd89$33jlu$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: dont-email.me; posting-host="44c5271f25a14e9fb71ab01150cdf04f";
logging-data="3289240"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19TSyKfMA/LQkNztoFTaSsi"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
Cancel-Lock: sha1:Jxj8riMFUC624clubpLjY0d/cbA=
sha1:ixPcQDD7qEKcvJBUg8IJE7OSVgc=
 by: Keith Thompson - Thu, 11 Jan 2024 20:16 UTC

bart <bc@freeuk.com> writes:
[...]
> 'make' looks like it wants to be similarly informal, but there there
> is no strong environment, only the name of the current directory,
> which might contain /anything/. There is no real context.

No real context??

The context is typically the current directory, all its direct and
indirect subdirectories, and their contents -- in other words, the
entire project. Or the context can be whatever you want it to be.
"make" is a very general tool (with some defaults for more specific
uses). You can write a Makefile to do just about anything that
can be done on a computer; building a project from source is just
the most common use case.

There are plenty of less generic build tools that work by generating
and invoking a Makefile -- which is a perfectly sensible thing to do,
since "make" already exists. And of course there are other tools
that do similar things without using "make" -- also a perfectly
sensible thing to do.

--
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: Effect of CPP tags

<unpivv$34cp3$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: chris.m....@gmail.com (Chris M. Thomasson)
Newsgroups: comp.lang.c
Subject: Re: Effect of CPP tags
Date: Thu, 11 Jan 2024 12:27:43 -0800
Organization: A noiseless patient Spider
Lines: 106
Message-ID: <unpivv$34cp3$1@dont-email.me>
References: <umet9d$3hir9$1@dont-email.me> <unj9l0$1vr6j$1@dont-email.me>
<unjmqs$21nsj$1@dont-email.me> <unk0q8$23dum$1@dont-email.me>
<unk4tm$2408t$1@dont-email.me> <unkblm$2566s$1@dont-email.me>
<8734v6p5s1.fsf@nosuchdomain.example.com> <unke3h$25ia0$1@dont-email.me>
<unkhql$25uof$1@dont-email.me> <unkkp3$26g9o$1@dont-email.me>
<87ttnmnjdb.fsf@nosuchdomain.example.com> <unkp1b$270v8$1@dont-email.me>
<ZSmnN.151217$c3Ea.70659@fx10.iad> <unkuhp$27i0v$2@dont-email.me>
<unlqqa$2eqts$2@dont-email.me> <U7ynN.143065$Wp_8.30410@fx17.iad>
<unmmnd$2jair$1@dont-email.me> <87edepnich.fsf@nosuchdomain.example.com>
<unmqsg$2jvva$1@dont-email.me> <unmu6b$2kh81$1@dont-email.me>
<unomlo$3023v$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 11 Jan 2024 20:27:43 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="bbf8561edf5983837dcde6c3dd7b9bca";
logging-data="3289891"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18XO0VMbzUv8G6BRGYLaX2EK8IyNmEiUTE="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:kJt5SrCDf1+g6m2vt3S24Rqmk44=
Content-Language: en-US
In-Reply-To: <unomlo$3023v$1@dont-email.me>
 by: Chris M. Thomasson - Thu, 11 Jan 2024 20:27 UTC

On 1/11/2024 4:24 AM, David Brown wrote:
> On 10/01/2024 21:20, bart wrote:
>> On 10/01/2024 19:24, bart wrote:
>>> On 10/01/2024 18:39, Keith Thompson wrote:
>>>> bart <bc@freeuk.com> writes:
>>>>> On 10/01/2024 14:49, Scott Lurndal wrote:
>>>> [...]
>>>>>> Yet, the entire application can be built with
>>>>>> $ make
>>>>>
>>>>> I bet you can't. There's something missing. Unless the implicit file
>>>>> that make uses happens to be in that '$' directory. Usually you have
>>>>> to navigate to the project first.
>>>>
>>>> That '$' is a shell prompt, not a directory.
>>>>
>>>> Yes, you have to "cd" (like "chdir" on Windows) to the project
>>>> directory
>>>> before typing "make".  You also have to make sure the computer is
>>>> powered on, login, launch a shell, and maybe one or two other things
>>>> before you get to that point.
>>>
>>> You're missing the point. SL is making a big deal about the fact that
>>> you can type 'make' without providing any apparent input. But that
>>> input is provided when you use 'cd' to get the relevant folder.
>>>
>>> Or do you think that the 'make' command provided will build that
>>> specific project irrespective of the CWD?
>>
>> Let me put it another way; how does:
>>
>>    $ make
>>
>> know it is to build that project, and not any other? The default input
>> is presumably "./makefile", with the key bit being that ".".
>
> Yes, that's the usual way for non-trivial uses.  (For simple cases, the
> build-it rules are good enough, given a target.)  You can give make an
> explicit makefile ("make -f proj.make") or it will try to find the
> default one in the current directory.  For gnu make (there are /many/
> other "make" implementations), it will try "GNUmakefile", "makefile",
> then "Makefile".
>
>>
>> So, when claiming that you only need to type one thing to start the
>> process, it is disingenuous to leave out that part out.
>
> No.  Your makefile (or cmake files, or bake files, or whatever build
> system you use) are part of your project - they are part of the source.
>
>>
>> After all, if you wanted to build project A, and, separately, project
>> B, you can't do both of them like this:
>>
>>     $ make
>>     $ make
>
> I think most people here assume the reader is familiar with the very
> basics of working a computer.  But if you want it spelt out, you would
> generally do :
>
>     $ cd ~/projects/project_a
>     $ make
>     $ cd ~/projects/project_b
>     $ make
>
> Does that answer your question?

Humm. I detect a little bit of OCD on Bart's side? Am I wrong?

>
> If the two projects are closely connected, you might have them organised
> as sub-directories of "project".  Then at the top-level, you could have
> a makefile with:
>
>
> all : project_a project_b
> .PHONY : project_a project_b
>
> project_a :
>     $(MAKE) -C project_a
>
> project_b :
>     $(MAKE) -C project_b
>
>
> Then you can build project_a by going to the project_a directory and
> typing "make", or going to the top-level project directory and typing
> "make project_a", or going to the top-level project directory and typing
> "make" to build project_a and project_b, together.  (This is often
> particularly nice when using parallel make to make use of all the cores
> in your expensive computer.)
>
>>
>> We've covered this before. While I quite like sensible defaults, where
>> C compilers tend to be sticklers for dotting all the Is, 'make' goes a
>> little too far the other way.
>>
>> Before typing 'make', you'd better be sure you're in the right place!
>>
>
> The same is true of getting undressed, and indeed most things in life.
>

Re: Effect of CPP tags

<20240111131555.273@kylheku.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
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
Subject: Re: Effect of CPP tags
Date: Thu, 11 Jan 2024 21:18:42 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 12
Message-ID: <20240111131555.273@kylheku.com>
References: <umet9d$3hir9$1@dont-email.me> <unkp1b$270v8$1@dont-email.me>
<ZSmnN.151217$c3Ea.70659@fx10.iad> <unkuhp$27i0v$2@dont-email.me>
<unlqqa$2eqts$2@dont-email.me> <U7ynN.143065$Wp_8.30410@fx17.iad>
<unmmnd$2jair$1@dont-email.me> <87edepnich.fsf@nosuchdomain.example.com>
<unmqsg$2jvva$1@dont-email.me> <unmu6b$2kh81$1@dont-email.me>
<20240110133135.834@kylheku.com> <unn65q$2lr2i$1@dont-email.me>
<20240110182957.444@kylheku.com> <unokb1$2vmkh$1@dont-email.me>
<20240111081109.274@kylheku.com> <T8VnN.39590$GX69.23425@fx46.iad>
Injection-Date: Thu, 11 Jan 2024 21:18:42 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="5a5848ba635053d7fcd75f8568854d90";
logging-data="3304889"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18bq1U+vhzm9eZ2dAlbidBH7XrrUHzLAE8="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:Hs0IGsuHYs/YLhe3LtZ6UZ4pKoE=
 by: Kaz Kylheku - Thu, 11 Jan 2024 21:18 UTC

On 2024-01-11, Scott Lurndal <scott@slp53.sl.home> wrote:
> That's fine, but don't make it a hidden file. A hidden file
> can be used to record tool preferences, but the file describing
> the project itself shouldn't be hidden.

That ship mostly sailed with names like .svn/ and .git/.

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca
NOTE: If you use Google Groups, I don't see you, unless you're whitelisted.

Re: Effect of CPP tags

<20240111133742.530@kylheku.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
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
Subject: Re: Effect of CPP tags
Date: Thu, 11 Jan 2024 22:02:44 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 79
Message-ID: <20240111133742.530@kylheku.com>
References: <umet9d$3hir9$1@dont-email.me> <unj9l0$1vr6j$1@dont-email.me>
<unjmqs$21nsj$1@dont-email.me> <unk0q8$23dum$1@dont-email.me>
<unk4tm$2408t$1@dont-email.me> <unkblm$2566s$1@dont-email.me>
<8734v6p5s1.fsf@nosuchdomain.example.com> <unke3h$25ia0$1@dont-email.me>
<unkhql$25uof$1@dont-email.me> <unkkp3$26g9o$1@dont-email.me>
<87ttnmnjdb.fsf@nosuchdomain.example.com> <unkp1b$270v8$1@dont-email.me>
<ZSmnN.151217$c3Ea.70659@fx10.iad> <unkuhp$27i0v$2@dont-email.me>
<unlqqa$2eqts$2@dont-email.me> <U7ynN.143065$Wp_8.30410@fx17.iad>
<unmmnd$2jair$1@dont-email.me> <87edepnich.fsf@nosuchdomain.example.com>
<unmqsg$2jvva$1@dont-email.me> <unmu6b$2kh81$1@dont-email.me>
<20240110133135.834@kylheku.com> <unn65q$2lr2i$1@dont-email.me>
<20240110182957.444@kylheku.com> <unokb1$2vmkh$1@dont-email.me>
<20240111081109.274@kylheku.com> <unpd89$33jlu$1@dont-email.me>
Injection-Date: Thu, 11 Jan 2024 22:02:44 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="5a5848ba635053d7fcd75f8568854d90";
logging-data="3317210"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+EmaPlDPotuEcvo3Ap3U639n87QpswJ5c="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:RCy8tlEI3b3Nd6xlWTgvluSLAbI=
 by: Kaz Kylheku - Thu, 11 Jan 2024 22:02 UTC

On 2024-01-11, bart <bc@freeuk.com> wrote:
> On 11/01/2024 16:13, Kaz Kylheku wrote:
>> On 2024-01-11, bart <bc@freeuk.com> wrote:
>>> On 11/01/2024 02:46, Kaz Kylheku wrote:
>>>> The fixed name of the makefile is a great idea. If I could change
>>>> anything, I would call it ".makefile".
>>>
>>> I think it's a terrible idea. It's like me deciding that when I type:
>>>
>>> mcc
>>>
>>> by itself, it will automatically compile xyzzy.c, every time. What it
>>> actually does is a bit saner, it shows some help text:
>>
>> No, that's like mcc, if not given options, finding a .mccproj
>> file and building what is described there.
>>
>> I.e. "build the mcc project that's associated with this directory,
>> via that directory's .mccproject property".
>>
>> You need a fixed name to attach a property to the directory.
>
>
> That would be more like a configuration file. It can control the
> behaviour of an interactive op, or run some sort of prelude script, or
> load some data, prior to starting a normal session.
>
> It wouldn't see such a file, act on it, then (perhaps silently) stop.
>
> If I wanted that behaviour, I would script it, using the same commands
> that I've been familiar with for decades from my OS's command prompt.

When I do something in a Makefile, I'm also using the same commands
I've been familiar with for decades.

> The name of the script would usually be specific to the project, for
> example, 'makeccia' will run 'makeccia.bat'. The '-a' suffix refers to
> the floppy A: drive, so it is a very old example.

Anyone still working with .BAT files and railing against Unix
is like a WWII soldier still in the trenches in 1975, refusing
to surrender.

I worked with .BAT files in the MS-DOS era. I left that stuff behind
just as the DOS era was coming to an end, and I went off to university.
Over the years, I had only rare, minor interactions with batch files on
Windows.

it's a very poor scripting language, that Microsoft replaced with the
PowerShell. Each time I had to interact with it over the past 30
years, I was reminded of how bad it is. It's like a freshman student's
weekend project.

The main weakness is that DOS and Windows programs receive the
entire command line as a single string, which they must delimit
themselves into arguments.

No two programs agree on how that should be done, beyond the
the trivial case when the command line has nothing but clumps of
alphanumeric characters separated by spaces.

By the way that @ thing you see in Batch files ("@echo off") is
obviously cribbed from Makefiles! Make prints the commands that it
executes, except ones that have a @ as the first character.

Everything in DOS was cribbed from Unix, badly: piping | operator
that doesn't actually run processes concurrently, < > redirection
oeprators, device names mapped into the filesystem (but in the most
stupid way imaginable, not like /dev). The parent directory being ..,
but not actually due to there being a parent link, only faked out ...
They couldn't make up their minds between / and \ so they stupidly
supported *both* as separators, and put in a flag into the command
interpreter to choose which one it would print.

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca
NOTE: If you use Google Groups, I don't see you, unless you're whitelisted.

Re: Effect of CPP tags

<6t_nN.83632$46Te.65110@fx38.iad>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx38.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: Effect of CPP tags
Newsgroups: comp.lang.c
References: <umet9d$3hir9$1@dont-email.me> <unkuhp$27i0v$2@dont-email.me> <unlqqa$2eqts$2@dont-email.me> <U7ynN.143065$Wp_8.30410@fx17.iad> <unmmnd$2jair$1@dont-email.me> <87edepnich.fsf@nosuchdomain.example.com> <unmqsg$2jvva$1@dont-email.me> <unmu6b$2kh81$1@dont-email.me> <20240110133135.834@kylheku.com> <unn65q$2lr2i$1@dont-email.me> <20240110182957.444@kylheku.com> <unokb1$2vmkh$1@dont-email.me> <20240111081109.274@kylheku.com> <T8VnN.39590$GX69.23425@fx46.iad> <20240111131555.273@kylheku.com>
Lines: 17
Message-ID: <6t_nN.83632$46Te.65110@fx38.iad>
X-Complaints-To: abuse@usenetserver.com
NNTP-Posting-Date: Thu, 11 Jan 2024 23:03:30 UTC
Organization: UsenetServer - www.usenetserver.com
Date: Thu, 11 Jan 2024 23:03:30 GMT
X-Received-Bytes: 1720
 by: Scott Lurndal - Thu, 11 Jan 2024 23:03 UTC

Kaz Kylheku <433-929-6894@kylheku.com> writes:
>On 2024-01-11, Scott Lurndal <scott@slp53.sl.home> wrote:
>> That's fine, but don't make it a hidden file. A hidden file
>> can be used to record tool preferences, but the file describing
>> the project itself shouldn't be hidden.
>
>That ship mostly sailed with names like .svn/ and .git/.

That's metadata that will never be edited directly, but rather
is managed by the appropriate tool. The input
to Make will be edited by the end user unless a command line tool
such as git or svn manage the contents completely from the command
line.

Even if it has a gui UI, there should be mechanisms to build and update a
project without the gui.

Re: Effect of CPP tags

<unpt44$35qn1$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
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
Subject: Re: Effect of CPP tags
Date: Thu, 11 Jan 2024 23:20:37 +0000
Organization: A noiseless patient Spider
Lines: 144
Message-ID: <unpt44$35qn1$1@dont-email.me>
References: <umet9d$3hir9$1@dont-email.me> <unj9l0$1vr6j$1@dont-email.me>
<unjmqs$21nsj$1@dont-email.me> <unk0q8$23dum$1@dont-email.me>
<unk4tm$2408t$1@dont-email.me> <unkblm$2566s$1@dont-email.me>
<8734v6p5s1.fsf@nosuchdomain.example.com> <unke3h$25ia0$1@dont-email.me>
<unkhql$25uof$1@dont-email.me> <unkkp3$26g9o$1@dont-email.me>
<87ttnmnjdb.fsf@nosuchdomain.example.com> <unkp1b$270v8$1@dont-email.me>
<ZSmnN.151217$c3Ea.70659@fx10.iad> <unkuhp$27i0v$2@dont-email.me>
<unlqqa$2eqts$2@dont-email.me> <U7ynN.143065$Wp_8.30410@fx17.iad>
<unmmnd$2jair$1@dont-email.me> <87edepnich.fsf@nosuchdomain.example.com>
<unmqsg$2jvva$1@dont-email.me> <unmu6b$2kh81$1@dont-email.me>
<20240110133135.834@kylheku.com> <unn65q$2lr2i$1@dont-email.me>
<20240110182957.444@kylheku.com> <unokb1$2vmkh$1@dont-email.me>
<20240111081109.274@kylheku.com> <unpd89$33jlu$1@dont-email.me>
<20240111133742.530@kylheku.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 11 Jan 2024 23:20:36 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="4c91d20fe1d9ee0cd88dfcd22e3d2ac5";
logging-data="3336929"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18tfrVkyl9EO/WYkJijVmYwdedplOkClDc="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:6qXx3yv00iFRRlH8MwHmP8wkPrQ=
Content-Language: en-GB
In-Reply-To: <20240111133742.530@kylheku.com>
 by: bart - Thu, 11 Jan 2024 23:20 UTC

On 11/01/2024 22:02, Kaz Kylheku wrote:
> On 2024-01-11, bart <bc@freeuk.com> wrote:

> I worked with .BAT files in the MS-DOS era. I left that stuff behind
> just as the DOS era was coming to an end, and I went off to university.
> Over the years, I had only rare, minor interactions with batch files on
> Windows.
>
> it's a very poor scripting language,

I used the word 'script' loosely.

I make a distinction between command-languages, which generally have
only a linear sequence of commands, no looping or conditional code; and
proper scripting languages which are full languages.

BAT files I consider command languages where you just write commands A,
B, C ... one after the other.

For building programs, I've never needed anything more sophisticated.
This is the batch file for building my C compiler from source and
replacing the current production compiler:

mm -opt cc.m
copy cc.exe \m\mcc.exe
copy headers\windows.h \m

This involves working with 62 source and support files. The assembler
that mcc depends on is managed separately. The BAT file to update that
is this, which involves 15 modules:

mm -opt aa.m
copy aa.exe \m\aa.exe

You can see that there are very, very few demands in these 'scripts'. If
I need real scripting, I have a perfectly good one of my own.

Why, what hairy stuff are you doing that requires a language as complex
as 'make' and a shell environment as capable as 'bash'? It sounds more
like, you just use the capability because it's there. And then complain
when Windows doesn't have that.

> that Microsoft replaced with the
> PowerShell. Each time I had to interact with it over the past 30
> years, I was reminded of how bad it is. It's like a freshman student's
> weekend project

That's exactly how I view gcc's UI. Most Linux-derived utilities are as
bad: you invoke them, and they just apparently hang. Then you realise
they're waiting for input. Would it kill somebody to get them to display
a prompt?

> The main weakness is that DOS and Windows programs receive the
> entire command line as a single string, which they must delimit
> themselves into arguments.

Really? There's a function called __getmainargs() (you'll find it inside
msvcrt.dll), that produces a list of separated parameters as would be
supplied to a C program that uses 'main(n, args)'.

Otherwise, calling GetCommandLine() and parsing a string is no big deal.
That's exactly how languages like Python and even C (using 'fgets',
forget 'scanf') process user input after the command line is out out of
the way.

> No two programs agree on how that should be done, beyond the
> the trivial case when the command line has nothing but clumps of
> alphanumeric characters separated by spaces.

So how does it work with, as I touched on, the 1000s of lines that might
come after the command line, and or the millions of lines that might be
read from a text file?

> Everything in DOS was cribbed from Unix, badly: piping | operator
> that doesn't actually run processes concurrently, < > redirection
> oeprators, device names mapped into the filesystem (but in the most
> stupid way imaginable, not like /dev). The parent directory being ..,
> but not actually due to there being a parent link, only faked out ...
> They couldn't make up their minds between / and \ so they stupidly
> supported *both* as separators, and put in a flag into the command
> interpreter to choose which one it would print.

OK. I can't say I'm that interested in OSes or shell languages. The
latter are just a way to copy files or launch programs. The former
merely supplied a file system for the first decade or two I was coding.

Of the first three OSes I was exposed to, two were from DEC, one from
ICL. Then there was a period when I was working with bare boards, and
then on small machines which ran a CP/M clone that my company wrote.

MSDOS followed later; I didn't remember doing anything much with that
either.

The \ / think I agree is messy, using only / is simpler, and easier to
locate if using lots of different keyboards. And using LF line
delimiters rather than CRLF, made more sense as soon as people moved to
VDUs. However, I support either.

(Here, gcc gets badly confused between \ and /, but listing the things
gcc gets wrong in its CLI would be a long article by itself.)

Apart from that there's nothing I desperately need from Linux shell
programs; even BAT is overkill most of the time.

I'm be interested in what you think 'make' would do for me given that my
needs are utterly simple. Partly that is because of my 'mm' compiler,
but it would be little different if all my stuff was written in C.

I just make the effort to keep things simple.

Here's another little demo, which is getting my C compiler to work on
Linux (although as a cross-compiler). I was going to write a script but
the first part is only one line, which is to convert from my language to C:

c:\cx>mc -c -linux cc
M6 Compiling cc.m---------- to cc.c

The next part has to be done under WSL:

root@XXX:/mnt/c/cx# gcc cc.c -omcc -lm -ldl -fno-builtin

I've got my compiler binary 'mcc', now I might as well try it on itself,
but I can only produce an ASM file here:

root@XXX:/mnt/c/cx# ./mcc -s cc # -s == -S
Compiling cc.c to cc.asm

To process further, I need to get back to Windows:

c:\cx>aa cc
Assembling cc.asm to cc.exe
Error: Can't find external function: tcgetattr cc.asm

There's a small problem since I used the cc.c produced for Linux
(-linux), which has some OS-specific routines.

But it doesn't matter (it still translated 30K lines of C to 100K lines
of assembly for Win64 ABI, under Linux).

The point of interest is, how would the famous 'make' have helped me
here? I switched from Windows to Linux and back to Windows, and in each
case there was only 1 or 2 lines to type.

Re: Effect of CPP tags

<20240111155710.837@kylheku.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!news.samoylyk.net!nyheter.lysator.liu.se!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
Subject: Re: Effect of CPP tags
Date: Thu, 11 Jan 2024 23:58:42 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 25
Message-ID: <20240111155710.837@kylheku.com>
References: <umet9d$3hir9$1@dont-email.me> <unkuhp$27i0v$2@dont-email.me>
<unlqqa$2eqts$2@dont-email.me> <U7ynN.143065$Wp_8.30410@fx17.iad>
<unmmnd$2jair$1@dont-email.me> <87edepnich.fsf@nosuchdomain.example.com>
<unmqsg$2jvva$1@dont-email.me> <unmu6b$2kh81$1@dont-email.me>
<20240110133135.834@kylheku.com> <unn65q$2lr2i$1@dont-email.me>
<20240110182957.444@kylheku.com> <unokb1$2vmkh$1@dont-email.me>
<20240111081109.274@kylheku.com> <T8VnN.39590$GX69.23425@fx46.iad>
<20240111131555.273@kylheku.com> <6t_nN.83632$46Te.65110@fx38.iad>
Injection-Date: Thu, 11 Jan 2024 23:58:42 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="97bd46b3866975093dd4ffccbf6b61e9";
logging-data="3344759"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19FMwzjNRDJAfCw1cxehavtWPWQeLqi3cs="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:7zTOE/DLiCMGN6VeHF7PcAZDX00=
 by: Kaz Kylheku - Thu, 11 Jan 2024 23:58 UTC

On 2024-01-11, Scott Lurndal <scott@slp53.sl.home> wrote:
> Kaz Kylheku <433-929-6894@kylheku.com> writes:
>>On 2024-01-11, Scott Lurndal <scott@slp53.sl.home> wrote:
>>> That's fine, but don't make it a hidden file. A hidden file
>>> can be used to record tool preferences, but the file describing
>>> the project itself shouldn't be hidden.
>>
>>That ship mostly sailed with names like .svn/ and .git/.
>
> That's metadata that will never be edited directly, but rather
> is managed by the appropriate tool.

Oh, it's touched all the time.

$ vi .git/config

Messing with hooks in .git/hooks.

Commit message edited in .git/COMMIT_EDITMSG.

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca
NOTE: If you use Google Groups, I don't see you, unless you're whitelisted.

Re: Effect of CPP tags

<mk%nN.111489$yEgf.50686@fx09.iad>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!newsfeed.hasname.com!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx09.iad.POSTED!not-for-mail
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Effect of CPP tags
Content-Language: en-US
Newsgroups: comp.lang.c
References: <umet9d$3hir9$1@dont-email.me> <unj9l0$1vr6j$1@dont-email.me>
<unjmqs$21nsj$1@dont-email.me> <unk0q8$23dum$1@dont-email.me>
<unk4tm$2408t$1@dont-email.me> <unkblm$2566s$1@dont-email.me>
<8734v6p5s1.fsf@nosuchdomain.example.com> <unke3h$25ia0$1@dont-email.me>
<unkhql$25uof$1@dont-email.me> <unkkp3$26g9o$1@dont-email.me>
<87ttnmnjdb.fsf@nosuchdomain.example.com> <unkp1b$270v8$1@dont-email.me>
<ZSmnN.151217$c3Ea.70659@fx10.iad> <unkuhp$27i0v$2@dont-email.me>
<unlqqa$2eqts$2@dont-email.me> <U7ynN.143065$Wp_8.30410@fx17.iad>
<unmmnd$2jair$1@dont-email.me> <87edepnich.fsf@nosuchdomain.example.com>
<unmqsg$2jvva$1@dont-email.me> <unmu6b$2kh81$1@dont-email.me>
<20240110133135.834@kylheku.com> <unn65q$2lr2i$1@dont-email.me>
<20240110182957.444@kylheku.com> <unokb1$2vmkh$1@dont-email.me>
<20240111081109.274@kylheku.com> <unpd89$33jlu$1@dont-email.me>
<20240111133742.530@kylheku.com> <unpt44$35qn1$1@dont-email.me>
From: anth...@cuozzo.us (Anthony Cuozzo)
In-Reply-To: <unpt44$35qn1$1@dont-email.me>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 13
Message-ID: <mk%nN.111489$yEgf.50686@fx09.iad>
X-Complaints-To: abuse@usenetserver.com
NNTP-Posting-Date: Fri, 12 Jan 2024 00:02:26 UTC
Organization: UsenetServer - www.usenetserver.com
Date: Thu, 11 Jan 2024 19:02:26 -0500
X-Received-Bytes: 2227
 by: Anthony Cuozzo - Fri, 12 Jan 2024 00:02 UTC

> Why, what hairy stuff are you doing that requires a language as complex
> as 'make' and a shell environment as capable as 'bash'?

Not OP, so please forgive me for jumping in, but I've found over the
years that source distributions-- especially multi-platform source
distributions --often require quite a bit more attention on the build side.

Supporting a non-trivial program on e.g. three different CPU
architectures with just as many (or more!) compilers across many
different versions of several operating systems can quickly become
impossible with one dedicated script per variation.

Binary distributions are a different story, of course.

Re: Effect of CPP tags

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

  copy mid

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

  copy link   Newsgroups: comp.lang.c
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
Subject: Re: Effect of CPP tags
Date: Thu, 11 Jan 2024 16:23:12 -0800
Organization: None to speak of
Lines: 35
Message-ID: <87o7drmmbz.fsf@nosuchdomain.example.com>
References: <umet9d$3hir9$1@dont-email.me> <unkhql$25uof$1@dont-email.me>
<unkkp3$26g9o$1@dont-email.me>
<87ttnmnjdb.fsf@nosuchdomain.example.com>
<unkp1b$270v8$1@dont-email.me> <ZSmnN.151217$c3Ea.70659@fx10.iad>
<unkuhp$27i0v$2@dont-email.me> <unlqqa$2eqts$2@dont-email.me>
<U7ynN.143065$Wp_8.30410@fx17.iad> <unmmnd$2jair$1@dont-email.me>
<87edepnich.fsf@nosuchdomain.example.com>
<unmqsg$2jvva$1@dont-email.me> <unmu6b$2kh81$1@dont-email.me>
<20240110133135.834@kylheku.com> <unn65q$2lr2i$1@dont-email.me>
<20240110182957.444@kylheku.com> <unokb1$2vmkh$1@dont-email.me>
<20240111081109.274@kylheku.com> <unpd89$33jlu$1@dont-email.me>
<20240111133742.530@kylheku.com> <unpt44$35qn1$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: dont-email.me; posting-host="3cbd2312b6d5297cbffbebfe1ede6aac";
logging-data="3345601"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18iaWbHosy1nVhFZvipqqXK"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
Cancel-Lock: sha1:H08OS/PP+2RUoeEOxYC46ERa4UQ=
sha1:1uCyxQOMPtObfEhsKccLus3cGkY=
 by: Keith Thompson - Fri, 12 Jan 2024 00:23 UTC

bart <bc@freeuk.com> writes:
> On 11/01/2024 22:02, Kaz Kylheku wrote:
>> On 2024-01-11, bart <bc@freeuk.com> wrote:
>> I worked with .BAT files in the MS-DOS era. I left that stuff behind
>> just as the DOS era was coming to an end, and I went off to university.
>> Over the years, I had only rare, minor interactions with batch files on
>> Windows.
>> it's a very poor scripting language,
>
> I used the word 'script' loosely.
>
> I make a distinction between command-languages, which generally have
> only a linear sequence of commands, no looping or conditional code;
> and proper scripting languages which are full languages.
>
> BAT files I consider command languages where you just write commands
> A, B, C ... one after the other.

BAT files can also have IF and FOR statements. The program that
processes them, cmd.exe, is similar in many ways to a Unix shell, but
with substantially different syntax. Both are also used to type
commands interactively.

Of course you can write BAT files with no control flow. You can do the
same thing with Unix shell scripts.

I presume the distinction you're making is useful for you, but it's not
inherent in the tools.

[...]

--
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: Effect of CPP tags

<unqs28$3cv7v$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
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: david.br...@hesbynett.no (David Brown)
Newsgroups: comp.lang.c
Subject: Re: Effect of CPP tags
Date: Fri, 12 Jan 2024 09:08:40 +0100
Organization: A noiseless patient Spider
Lines: 25
Message-ID: <unqs28$3cv7v$1@dont-email.me>
References: <umet9d$3hir9$1@dont-email.me> <unkp1b$270v8$1@dont-email.me>
<ZSmnN.151217$c3Ea.70659@fx10.iad> <unkuhp$27i0v$2@dont-email.me>
<unlqqa$2eqts$2@dont-email.me> <U7ynN.143065$Wp_8.30410@fx17.iad>
<unmmnd$2jair$1@dont-email.me> <87edepnich.fsf@nosuchdomain.example.com>
<unmqsg$2jvva$1@dont-email.me> <unmu6b$2kh81$1@dont-email.me>
<20240110133135.834@kylheku.com> <unn65q$2lr2i$1@dont-email.me>
<20240110182957.444@kylheku.com> <unokb1$2vmkh$1@dont-email.me>
<20240111081109.274@kylheku.com> <T8VnN.39590$GX69.23425@fx46.iad>
<20240111131555.273@kylheku.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 12 Jan 2024 08:08:40 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="8cdd22475589055e3052b9eb67ea743e";
logging-data="3570943"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+FJ1MU6PX8Z8Yk+bDm+aCvWcYsFRxjh1w="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
Thunderbird/102.11.0
Cancel-Lock: sha1:AEy5A4B+BSvzLxMQtEHZqgD+TrI=
Content-Language: en-GB
In-Reply-To: <20240111131555.273@kylheku.com>
 by: David Brown - Fri, 12 Jan 2024 08:08 UTC

On 11/01/2024 22:18, Kaz Kylheku wrote:
> On 2024-01-11, Scott Lurndal <scott@slp53.sl.home> wrote:
>> That's fine, but don't make it a hidden file. A hidden file
>> can be used to record tool preferences, but the file describing
>> the project itself shouldn't be hidden.
>
> That ship mostly sailed with names like .svn/ and .git/.
>

These are not part of the project - they are metadata for coordinating
how the project is stored and how changes are tracked. I can take a
project from a subversion and transfer it to a git server or zip it up
and post it - the makefile (or other build system files and scripts)
must be part of that, while .svn and .git directories most certainly are
not part of that.

You could argue that .gitignore is a useful file to track, and I would
not mind if subversion had a similar file (or, ideally, also read and
used .gitignore files). And it would arguably have been better if this
file had been called "git.ignore" instead.

But files that control actions and need to be tracked should not be
hidden files. Hidden files are for user preferences, or local temporary
files.

Re: Effect of CPP tags

<unqujq$3d8if$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
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
Subject: Re: Effect of CPP tags
Date: Fri, 12 Jan 2024 09:52:10 +0100
Organization: A noiseless patient Spider
Lines: 22
Message-ID: <unqujq$3d8if$1@dont-email.me>
References: <umet9d$3hir9$1@dont-email.me> <unj9l0$1vr6j$1@dont-email.me>
<unjmqs$21nsj$1@dont-email.me> <unk0q8$23dum$1@dont-email.me>
<unk4tm$2408t$1@dont-email.me> <unkblm$2566s$1@dont-email.me>
<8734v6p5s1.fsf@nosuchdomain.example.com> <unke3h$25ia0$1@dont-email.me>
<unkhql$25uof$1@dont-email.me> <unkkp3$26g9o$1@dont-email.me>
<87ttnmnjdb.fsf@nosuchdomain.example.com> <unkp1b$270v8$1@dont-email.me>
<ZSmnN.151217$c3Ea.70659@fx10.iad> <unkuhp$27i0v$2@dont-email.me>
<unlqqa$2eqts$2@dont-email.me> <U7ynN.143065$Wp_8.30410@fx17.iad>
<unmmnd$2jair$1@dont-email.me> <87edepnich.fsf@nosuchdomain.example.com>
<unmqsg$2jvva$1@dont-email.me> <unmu6b$2kh81$1@dont-email.me>
<20240110133135.834@kylheku.com> <unn65q$2lr2i$1@dont-email.me>
<20240110182957.444@kylheku.com> <unokb1$2vmkh$1@dont-email.me>
<20240111081109.274@kylheku.com> <unpd89$33jlu$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 12 Jan 2024 08:52:10 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="8cdd22475589055e3052b9eb67ea743e";
logging-data="3580495"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18pNN1P/Hg6tTZVoeN144aNIN9a4Kt3Al4="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
Thunderbird/102.11.0
Cancel-Lock: sha1:y4dQ76D027hEn8G9RXULlwDA1yU=
In-Reply-To: <unpd89$33jlu$1@dont-email.me>
Content-Language: en-GB
 by: David Brown - Fri, 12 Jan 2024 08:52 UTC

On 11/01/2024 19:49, bart wrote:
>
> The name of the script would usually be specific to the project, for
> example, 'makeccia' will run 'makeccia.bat'. The '-a' suffix refers to
> the floppy A: drive, so it is a very old example.
>
To be clear here - I don't think anyone would greatly object if "make"
required an explicit makefile name, rather than using a default
filename. It is more convenient to type "make" than "make -f
project.mak", but some people prefer to do exactly that, rather than
using a default makefile. It is particularly convenient if you have
several small projects in the same directory, and don't want to combine
a single makefile.

And of course if "make" had originally required an explicit filename,
there are plenty of *nix idioms and tricks to simplify things - adding a
shebang to a makefile to make it executable, shell aliases, bash
scripts, etc. People always manage to make things work in a way that is
convenient for them.

But since "make" uses "makefile" by default, that's what most people use.

Re: Effect of CPP tags

<unrfgs$3fo6l$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!news.neodome.net!news.mixmin.net!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
Subject: Re: Effect of CPP tags
Date: Fri, 12 Jan 2024 14:40:43 +0100
Organization: A noiseless patient Spider
Lines: 92
Message-ID: <unrfgs$3fo6l$1@dont-email.me>
References: <umet9d$3hir9$1@dont-email.me> <unj9l0$1vr6j$1@dont-email.me>
<unjmqs$21nsj$1@dont-email.me> <unk0q8$23dum$1@dont-email.me>
<unk4tm$2408t$1@dont-email.me> <unkblm$2566s$1@dont-email.me>
<8734v6p5s1.fsf@nosuchdomain.example.com> <unke3h$25ia0$1@dont-email.me>
<unkhql$25uof$1@dont-email.me> <unkkp3$26g9o$1@dont-email.me>
<87ttnmnjdb.fsf@nosuchdomain.example.com> <unkp1b$270v8$1@dont-email.me>
<ZSmnN.151217$c3Ea.70659@fx10.iad> <unkuhp$27i0v$2@dont-email.me>
<unlqqa$2eqts$2@dont-email.me> <U7ynN.143065$Wp_8.30410@fx17.iad>
<unmmnd$2jair$1@dont-email.me> <87edepnich.fsf@nosuchdomain.example.com>
<unmqsg$2jvva$1@dont-email.me> <unmu6b$2kh81$1@dont-email.me>
<20240110133135.834@kylheku.com> <unn65q$2lr2i$1@dont-email.me>
<20240110182957.444@kylheku.com> <unokb1$2vmkh$1@dont-email.me>
<20240111081109.274@kylheku.com> <unpd89$33jlu$1@dont-email.me>
<20240111133742.530@kylheku.com> <unpt44$35qn1$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 12 Jan 2024 13:40:44 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="8cdd22475589055e3052b9eb67ea743e";
logging-data="3662037"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/zaLvYFuWWmlLGk0Zs+NZjesjCX95YRCo="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
Thunderbird/102.11.0
Cancel-Lock: sha1:f1ryqv58hcO3dVbyl1hM5mERgCI=
Content-Language: en-GB
In-Reply-To: <unpt44$35qn1$1@dont-email.me>
 by: David Brown - Fri, 12 Jan 2024 13:40 UTC

On 12/01/2024 00:20, bart wrote:
> On 11/01/2024 22:02, Kaz Kylheku wrote:
>> On 2024-01-11, bart <bc@freeuk.com> wrote:
>
>> I worked with .BAT files in the MS-DOS era.  I left that stuff behind
>> just as the DOS era was coming to an end, and I went off to university.
>> Over the years, I had only rare, minor interactions with batch files on
>> Windows.
>>
>> it's a very poor scripting language,
>
> I used the word 'script' loosely.
>
> I make a distinction between command-languages, which generally have
> only a linear sequence of commands, no looping or conditional code; and
> proper scripting languages which are full languages.
>

People can mean different things by "script" and "scripting language",
so it is good that you are making this clear.

> BAT files I consider command languages where you just write commands A,
> B, C ... one after the other.
>
> For building programs, I've never needed anything more sophisticated.
> This is the batch file for building my C compiler from source and
> replacing the current production compiler:
>
>     mm -opt cc.m
>     copy cc.exe \m\mcc.exe
>     copy headers\windows.h \m
>
> This involves working with 62 source and support files. The assembler
> that mcc depends on is managed separately. The BAT file to update that
> is this, which involves 15 modules:
>
>     mm -opt aa.m
>     copy aa.exe \m\aa.exe
>
> You can see that there are very, very few demands in these 'scripts'. If
>  I need real scripting, I have a perfectly good one of my own.
>
> Why, what hairy stuff are you doing that requires a language as complex
> as 'make' and a shell environment as capable as 'bash'? It sounds more
> like, you just use the capability because it's there. And then complain
> when Windows doesn't have that.
>

People use good tools when good tools are available - they don't go out
of their way to use something inferior. Why is that a surprise? If you
want to cut an orange, do you go out to the garage and find a rusty old
knife that is nonetheless useable for cutting a bit of fruit - or do you
use the shiny new titanium kitchen knife that is right in front of you?

I used "make" on DOS and Windows for about 15 years before I started
using Linux as a development system (rather than just for servers and
for fun). Every Windows system I have ever owned personally or used at
work has had "make" - because "make" has been the standard for quality
development tools since early DOS days. The version I used first on
Windows came with Turbo Pascal - Microsoft's tools came with their own
slight variation of make called "nmake".

If your build uses only a couple of commands, make doesn't add much
compared to a script - but it doesn't cost much either. And you have
the convenience that a lot of editors have shortcut keys for doing a
"build", so something like ctrl-B will run "make" in the current
directory without needing to set up any specific tool shortcuts. That's
convenient.

And unlike a language/compiler specific build system like you have
within your "mm" or "mcc" tools (if I am not mistaken), "make" will work
for anything you can run by commands. My makefiles might not just build
executables from C files, but also build documentation (doxygen, LaTeX,
pandoc, graphviz, etc.), run tests, run "clean", build release zip
files, download to a target board via a debugger, and all sorts of other
bits and pieces according to the needs of the project. One makefile
beats a dozen scripts.

>
>> that Microsoft replaced with the
>> PowerShell. Each time I had to interact with it over the past 30
>> years, I was reminded of how bad it is. It's like a freshman student's
>> weekend project
>
> That's exactly how I view gcc's UI. Most Linux-derived utilities are as
> bad: you invoke them, and they just apparently hang. Then you realise
> they're waiting for input. Would it kill somebody to get them to display
> a prompt?

Are you sure you are not exaggerating just a /tiny/ bit?

Re: Effect of CPP tags

<9ndoN.70175$m4d.49245@fx43.iad>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!paganini.bofh.team!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx43.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: Effect of CPP tags
Newsgroups: comp.lang.c
References: <umet9d$3hir9$1@dont-email.me> <U7ynN.143065$Wp_8.30410@fx17.iad> <unmmnd$2jair$1@dont-email.me> <87edepnich.fsf@nosuchdomain.example.com> <unmqsg$2jvva$1@dont-email.me> <unmu6b$2kh81$1@dont-email.me> <20240110133135.834@kylheku.com> <unn65q$2lr2i$1@dont-email.me> <20240110182957.444@kylheku.com> <unokb1$2vmkh$1@dont-email.me> <20240111081109.274@kylheku.com> <unpd89$33jlu$1@dont-email.me> <20240111133742.530@kylheku.com> <unpt44$35qn1$1@dont-email.me> <unrfgs$3fo6l$1@dont-email.me>
Lines: 15
Message-ID: <9ndoN.70175$m4d.49245@fx43.iad>
X-Complaints-To: abuse@usenetserver.com
NNTP-Posting-Date: Fri, 12 Jan 2024 16:01:09 UTC
Organization: UsenetServer - www.usenetserver.com
Date: Fri, 12 Jan 2024 16:01:09 GMT
X-Received-Bytes: 1571
 by: Scott Lurndal - Fri, 12 Jan 2024 16:01 UTC

David Brown <david.brown@hesbynett.no> writes:
>On 12/01/2024 00:20, bart wrote:

>> That's exactly how I view gcc's UI. Most Linux-derived utilities are as
>> bad: you invoke them, and they just apparently hang. Then you realise
>> they're waiting for input. Would it kill somebody to get them to display
>> a prompt?
>
>Are you sure you are not exaggerating just a /tiny/ bit?

Clearly, Bart is trolling.

And clearly, he doesn't understand the basic unix philosophy
of combining commands in pipeline, where "displaying a prompt"
would be silly.

Re: Effect of CPP tags

<unrocu$3h2ah$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
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
Subject: Re: Effect of CPP tags
Date: Fri, 12 Jan 2024 16:12:13 +0000
Organization: A noiseless patient Spider
Lines: 124
Message-ID: <unrocu$3h2ah$1@dont-email.me>
References: <umet9d$3hir9$1@dont-email.me> <unj9l0$1vr6j$1@dont-email.me>
<unjmqs$21nsj$1@dont-email.me> <unk0q8$23dum$1@dont-email.me>
<unk4tm$2408t$1@dont-email.me> <unkblm$2566s$1@dont-email.me>
<8734v6p5s1.fsf@nosuchdomain.example.com> <unke3h$25ia0$1@dont-email.me>
<unkhql$25uof$1@dont-email.me> <unkkp3$26g9o$1@dont-email.me>
<87ttnmnjdb.fsf@nosuchdomain.example.com> <unkp1b$270v8$1@dont-email.me>
<ZSmnN.151217$c3Ea.70659@fx10.iad> <unkuhp$27i0v$2@dont-email.me>
<unlqqa$2eqts$2@dont-email.me> <U7ynN.143065$Wp_8.30410@fx17.iad>
<unmmnd$2jair$1@dont-email.me> <87edepnich.fsf@nosuchdomain.example.com>
<unmqsg$2jvva$1@dont-email.me> <unmu6b$2kh81$1@dont-email.me>
<20240110133135.834@kylheku.com> <unn65q$2lr2i$1@dont-email.me>
<20240110182957.444@kylheku.com> <unokb1$2vmkh$1@dont-email.me>
<20240111081109.274@kylheku.com> <unpd89$33jlu$1@dont-email.me>
<20240111133742.530@kylheku.com> <unpt44$35qn1$1@dont-email.me>
<unrfgs$3fo6l$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 12 Jan 2024 16:12:14 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="4c91d20fe1d9ee0cd88dfcd22e3d2ac5";
logging-data="3705169"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/6D/um9A/vSNbCBSk3V3CU087A1deFBoE="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:PIUyDO+k9sM37MhomuD9hSVL7zE=
In-Reply-To: <unrfgs$3fo6l$1@dont-email.me>
Content-Language: en-GB
 by: bart - Fri, 12 Jan 2024 16:12 UTC

On 12/01/2024 13:40, David Brown wrote:
> On 12/01/2024 00:20, bart wrote:

>> Why, what hairy stuff are you doing that requires a language as
>> complex as 'make' and a shell environment as capable as 'bash'? It
>> sounds more like, you just use the capability because it's there. And
>> then complain when Windows doesn't have that.
>>
>
> People use good tools when good tools are available - they don't go out
> of their way to use something inferior.  Why is that a surprise?  If you
> want to cut an orange, do you go out to the garage and find a rusty old
> knife that is nonetheless useable for cutting a bit of fruit - or do you
> use the shiny new titanium kitchen knife that is right in front of you?
>
> I used "make" on DOS and Windows for about 15 years before I started
> using Linux as a development system (rather than just for servers and
> for fun).  Every Windows system I have ever owned personally or used at
> work has had "make" - because "make" has been the standard for quality
> development tools since early DOS days.  The version I used first on
> Windows came with Turbo Pascal - Microsoft's tools came with their own
> slight variation of make called "nmake".
>
> If your build uses only a couple of commands, make doesn't add much
> compared to a script - but it doesn't cost much either.  And you have
> the convenience that a lot of editors have shortcut keys for doing a
> "build", so something like ctrl-B will run "make" in the current
> directory without needing to set up any specific tool shortcuts.  That's
> convenient.
>
> And unlike a language/compiler specific build system like you have
> within your "mm" or "mcc" tools (if I am not mistaken), "make" will work
> for anything you can run by commands.  My makefiles might not just build
> executables from C files,

If you isolate that part of it, then it's what I either build-in to the
language + compiler (for M), or list in a simple text file (for C).

In either case I will have a project file using a similar list for my
basic IDE that I use for everyday development. But this part is not
needed when somebody else needs to build my project.

For a C project consisting of three files (one of Chris's), my IDE looks
like this:

https://github.com/sal55/langs/blob/master/ff.png

It probably looked about the same in 1984. The project file for that is
this:

run cipher c.c output -e

module cipher.c
module sha2.c
module hmac.c
file sha2.h
file hmac.h

The 'run' lines show what happens when I type 'R' in the IDE.

This project is small enough that it can be built by a third party with
a one-line instruction. Otherwise it would need an @ file of a few lines
listing the .c files.

Because this project is tidily structured with paired .c/.h files, my
older BCC compiler could figure out how to build it from just the lead
module:

c:\c>bcc -auto cipher
1 Compiling cipher.c to cipher.asm (Pass 1)
* 2 Compiling hmac.c to hmac.asm (Pass 2)
* 3 Compiling sha2.c to sha2.asm (Pass 2)
Assembling to cipher.exe

> but also build documentation (doxygen, LaTeX,
> pandoc, graphviz, etc.), run tests, run "clean", build release zip
> files, download to a target board via a debugger, and all sorts of other
> bits and pieces according to the needs of the project.  One makefile
> beats a dozen scripts.

It looks like 'make' is competing with 'bash' then!

At least with bash, what you type equates to what you might type
interactively. I doubt there is a an interactive, REPL-style make (or
maybe there is; I wouldn't be suprised).

>> That's exactly how I view gcc's UI. Most Linux-derived utilities are
>> as bad: you invoke them, and they just apparently hang. Then you
>> realise they're waiting for input. Would it kill somebody to get them
>> to display a prompt?
>
> Are you sure you are not exaggerating just a /tiny/ bit?

I mainly remember the times when they do hang.

But take the related trio gcc, as and ld.

gcc and ld behave as expected with no input (with gcc it's a 'fatal
error'; with ld it's a more restrained 'no input files').

But with 'as', it just sits there. I wonder what it's waiting for; for
me to type in ASM code live from the terminal? (If 'as' is designed for
piped-in input, tdm/gcc doesn't appear to use that feature as I remember
it generating discrete, temporary .s files.)

My equivalent says this:

c:\c>aa
AA2.0 Assembler/Linker 10-Jan-2024
Usage:
aa filename[.asm] # Assemble filename.asm to
filename.exe
aa -help # Show other options

If you're curious about what 'as' expects and speculatively try 'as
--help', it displays 167 dense lines.

Re: Effect of CPP tags

<unrpb0$3h6oo$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
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
Subject: Re: Effect of CPP tags
Date: Fri, 12 Jan 2024 16:28:15 +0000
Organization: A noiseless patient Spider
Lines: 57
Message-ID: <unrpb0$3h6oo$1@dont-email.me>
References: <umet9d$3hir9$1@dont-email.me> <U7ynN.143065$Wp_8.30410@fx17.iad>
<unmmnd$2jair$1@dont-email.me> <87edepnich.fsf@nosuchdomain.example.com>
<unmqsg$2jvva$1@dont-email.me> <unmu6b$2kh81$1@dont-email.me>
<20240110133135.834@kylheku.com> <unn65q$2lr2i$1@dont-email.me>
<20240110182957.444@kylheku.com> <unokb1$2vmkh$1@dont-email.me>
<20240111081109.274@kylheku.com> <unpd89$33jlu$1@dont-email.me>
<20240111133742.530@kylheku.com> <unpt44$35qn1$1@dont-email.me>
<unrfgs$3fo6l$1@dont-email.me> <9ndoN.70175$m4d.49245@fx43.iad>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 12 Jan 2024 16:28:16 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="4c91d20fe1d9ee0cd88dfcd22e3d2ac5";
logging-data="3709720"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX193JOQYePuLoGFV7xbwtdNVfgZPJfizWIg="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:2gDOEQmYT7+jSROkIVBzy8iPMs0=
Content-Language: en-GB
In-Reply-To: <9ndoN.70175$m4d.49245@fx43.iad>
 by: bart - Fri, 12 Jan 2024 16:28 UTC

On 12/01/2024 16:01, Scott Lurndal wrote:
> David Brown <david.brown@hesbynett.no> writes:
>> On 12/01/2024 00:20, bart wrote:
>
>>> That's exactly how I view gcc's UI. Most Linux-derived utilities are as
>>> bad: you invoke them, and they just apparently hang. Then you realise
>>> they're waiting for input. Would it kill somebody to get them to display
>>> a prompt?
>>
>> Are you sure you are not exaggerating just a /tiny/ bit?
>
> Clearly, Bart is trolling.
>
> And clearly, he doesn't understand the basic unix philosophy
> of combining commands in pipeline, where "displaying a prompt"
> would be silly.

Yeah. Because it would be impossible too have two versions of a program
(say 'as' that I used in my recent post), one for piping, one for
interactive.

One could even just be an alias of the other to avoid two copies. The
program could detect what name it was invoked under, and operate in a
different mode or with a different option.

As demonstrated here under Windows: 'mm' is a compiler with an option to
immediately run the program just compiled, without generating an EXE:

c:\mx>mm -run hello
Compiling hello.m to memory
Hello World! 16:20:21

However, if I make a copy called 'ms.exe' (I don't know how to do
aliases on Windows):

c:\mx>copy mm.exe ms.exe
1 file(s) copied.

Then it will automatically invoke that option, and also make it less
verbose to give the illusion it's directly running from source, which it is:

c:\mx>ms hello
Hello World! 16:21:52

Here is a more impressive example:

c:\cx>\mx\ms cc hello
Compiling hello.c to hello.exe

Here, it's first building my C compiler from source, then using that to
compile hello.c. (It adds 0.1 seconds to compile-time; it's still faster
than compiling it with gcc!)

Anyway, 'as' could be a lot better; just saying...

Re: Effect of CPP tags

<unrpn1$3h8jl$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
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
Subject: Re: Effect of CPP tags
Date: Fri, 12 Jan 2024 17:34:40 +0100
Organization: A noiseless patient Spider
Lines: 131
Message-ID: <unrpn1$3h8jl$1@dont-email.me>
References: <umet9d$3hir9$1@dont-email.me> <unj9l0$1vr6j$1@dont-email.me>
<unjmqs$21nsj$1@dont-email.me> <unk0q8$23dum$1@dont-email.me>
<unk4tm$2408t$1@dont-email.me> <unkblm$2566s$1@dont-email.me>
<8734v6p5s1.fsf@nosuchdomain.example.com> <unke3h$25ia0$1@dont-email.me>
<unkhql$25uof$1@dont-email.me> <unkkp3$26g9o$1@dont-email.me>
<87ttnmnjdb.fsf@nosuchdomain.example.com> <unkp1b$270v8$1@dont-email.me>
<ZSmnN.151217$c3Ea.70659@fx10.iad> <unkuhp$27i0v$2@dont-email.me>
<unlqqa$2eqts$2@dont-email.me> <U7ynN.143065$Wp_8.30410@fx17.iad>
<unmmnd$2jair$1@dont-email.me> <87edepnich.fsf@nosuchdomain.example.com>
<unmqsg$2jvva$1@dont-email.me> <unmu6b$2kh81$1@dont-email.me>
<20240110133135.834@kylheku.com> <unn65q$2lr2i$1@dont-email.me>
<20240110182957.444@kylheku.com> <unokb1$2vmkh$1@dont-email.me>
<20240111081109.274@kylheku.com> <unpd89$33jlu$1@dont-email.me>
<20240111133742.530@kylheku.com> <unpt44$35qn1$1@dont-email.me>
<unrfgs$3fo6l$1@dont-email.me> <unrocu$3h2ah$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 12 Jan 2024 16:34:41 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="8cdd22475589055e3052b9eb67ea743e";
logging-data="3711605"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/OeoZLKKyZKfHco57gacr6+8uLqadLoR0="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
Thunderbird/102.11.0
Cancel-Lock: sha1:DCoKIVFv41JcNjguLsntx05aIo0=
In-Reply-To: <unrocu$3h2ah$1@dont-email.me>
Content-Language: en-GB
 by: David Brown - Fri, 12 Jan 2024 16:34 UTC

On 12/01/2024 17:12, bart wrote:
> On 12/01/2024 13:40, David Brown wrote:
>> On 12/01/2024 00:20, bart wrote:
>
>>> Why, what hairy stuff are you doing that requires a language as
>>> complex as 'make' and a shell environment as capable as 'bash'? It
>>> sounds more like, you just use the capability because it's there. And
>>> then complain when Windows doesn't have that.
>>>
>>
>> People use good tools when good tools are available - they don't go
>> out of their way to use something inferior.  Why is that a surprise?
>> If you want to cut an orange, do you go out to the garage and find a
>> rusty old knife that is nonetheless useable for cutting a bit of fruit
>> - or do you use the shiny new titanium kitchen knife that is right in
>> front of you?
>>
>> I used "make" on DOS and Windows for about 15 years before I started
>> using Linux as a development system (rather than just for servers and
>> for fun).  Every Windows system I have ever owned personally or used
>> at work has had "make" - because "make" has been the standard for
>> quality development tools since early DOS days.  The version I used
>> first on Windows came with Turbo Pascal - Microsoft's tools came with
>> their own slight variation of make called "nmake".
>>
>> If your build uses only a couple of commands, make doesn't add much
>> compared to a script - but it doesn't cost much either.  And you have
>> the convenience that a lot of editors have shortcut keys for doing a
>> "build", so something like ctrl-B will run "make" in the current
>> directory without needing to set up any specific tool shortcuts.
>> That's convenient.
>>
>> And unlike a language/compiler specific build system like you have
>> within your "mm" or "mcc" tools (if I am not mistaken), "make" will
>> work for anything you can run by commands.  My makefiles might not
>> just build executables from C files,
>
> If you isolate that part of it, then it's what I either build-in to the
> language + compiler (for M), or list in a simple text file (for C).
>
> In either case I will have a project file using a similar list for my
> basic IDE that I use for everyday development. But this part is not
> needed when somebody else needs to build my project.
>
> For a C project consisting of three files (one of Chris's), my IDE looks
> like this:
>
>   https://github.com/sal55/langs/blob/master/ff.png
>
> It probably looked about the same in 1984. The project file for that is
> this:
>
>   run cipher c.c output -e
>
>   module cipher.c
>   module sha2.c
>   module hmac.c
>   file sha2.h
>   file hmac.h
>
> The 'run' lines show what happens when I type 'R' in the IDE.
>

I don't really understand what you are trying to say here. Are you
suggesting that your 40 year old DOS IDE is equivalent to modern IDE's ?
Are you trying to say you can use your own tools for your own
language, and rely on a simple script for C compilation, and can't
handle anything else in a build process?

>
>> but also build documentation (doxygen, LaTeX, pandoc, graphviz, etc.),
>> run tests, run "clean", build release zip files, download to a target
>> board via a debugger, and all sorts of other bits and pieces according
>> to the needs of the project.  One makefile beats a dozen scripts.
>
> It looks like 'make' is competing with 'bash' then!
>

I have no idea why you think that - except perhaps because you still
have no concept of what "make" is and what it does, and think it is just
a script with a complicated syntax.

> At least with bash, what you type equates to what you might type
> interactively. I doubt there is a an interactive, REPL-style make (or
> maybe there is; I wouldn't be suprised).
>
>
>>> That's exactly how I view gcc's UI. Most Linux-derived utilities are
>>> as bad: you invoke them, and they just apparently hang. Then you
>>> realise they're waiting for input. Would it kill somebody to get them
>>> to display a prompt?
>>
>> Are you sure you are not exaggerating just a /tiny/ bit?
>
> I mainly remember the times when they do hang.
>
> But take the related trio gcc, as and ld.
>
> gcc and ld behave as expected with no input (with gcc it's a 'fatal
> error'; with ld it's a more restrained 'no input files').
>
> But with 'as', it just sits there. I wonder what it's waiting for; for
> me to type in ASM code live from the terminal? (If 'as' is designed for
> piped-in input, tdm/gcc doesn't appear to use that feature as I remember
> it generating discrete, temporary .s files.)

Yes, "as" can work with piped input. Yes, on real OS's this is a common
way to use it. Windows has, surprising no one, only a half-arsed and
inefficient pipe implementation, so it is more common to use temporary
files for this sort of thing. (I am not familiar with TDM's builds and
packaging of gcc and friends, but with mingw-64 builds it is certainly
possible to use pipes. You simply pass the flag "-pipe" to gcc.)

>
> My equivalent says this:
>
>   c:\c>aa
>   AA2.0 Assembler/Linker 10-Jan-2024
>   Usage:
>           aa filename[.asm]           # Assemble filename.asm to
> filename.exe
>           aa -help                    # Show other options
>
> If you're curious about what 'as' expects and speculatively try 'as
> --help', it displays 167 dense lines.
>

Are you trying to convince people that your assembler is better than gas
because yours has fewer features? Bizarre.


devel / comp.lang.c / Effect of CPP tags

Pages:123456789101112131415161718192021222324252627
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor