Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Vini, vidi, Linux! -- Unknown source


devel / comp.lang.c / Build Systems

SubjectAuthor
* Build SystemsBart
+* Re: Build SystemsBen Bacarisse
|+* Re: Build SystemsBart
||`* Re: Build SystemsBen Bacarisse
|| `* Re: Build SystemsScott Lurndal
||  +* Re: Build SystemsKenny McCormack
||  |+* Re: Build SystemsMalcolm McLean
||  ||`* Dev on Windoze (Was: Build Systems)Kenny McCormack
||  || +- Re: Dev on Windoze (Was: Build Systems)Malcolm McLean
||  || +* Re: Dev on Windoze (Was: Build Systems)Matthew Ernisse
||  || |+- Re: Dev on Windoze (Was: Build Systems)Michael S
||  || |+* Re: Dev on Windoze (Was: Build Systems)bart c
||  || ||`- Re: Dev on Windoze (Was: Build Systems)Matthew Ernisse
||  || |`* Re: Dev on WindozePhil Carmody
||  || | `- Re: Dev on WindozeChris M. Thomasson
||  || `- Re: Dev on Windoze (Was: Build Systems)Chris M. Thomasson
||  |`* Re: Build SystemsKaz Kylheku
||  | `* Re: Build SystemsKenny McCormack
||  |  `- Re: Build SystemsKarl Meyer
||  `- Re: Build SystemsBart
|`* Re: Build SystemsDavid Brown
| `* Re: Build SystemsBart
|  +* Re: Build SystemsScott Lurndal
|  |`* Re: Build SystemsBart
|  | `* Re: Build SystemsDavid Brown
|  |  +* Re: Build SystemsBart
|  |  |`* Re: Build SystemsDavid Brown
|  |  | `* Re: Build SystemsBart
|  |  |  +- Re: Build SystemsScott Lurndal
|  |  |  +* Re: Build SystemsMJ OS_EXAMINE
|  |  |  |+- Re: Build SystemsKenny McCormack
|  |  |  |`- Re: Build SystemsBart
|  |  |  +* Re: Build SystemsDavid Brown
|  |  |  |+* Re: Build SystemsScott Lurndal
|  |  |  ||+- Re: Build SystemsKenny McCormack
|  |  |  ||+- Re: Build SystemsPhil Carmody
|  |  |  ||`- Re: Build SystemsDavid Brown
|  |  |  |`* Re: Build SystemsBart
|  |  |  | +- Re: Build SystemsKeith Thompson
|  |  |  | `* Re: Build SystemsDavid Brown
|  |  |  |  `* Re: Build SystemsBart
|  |  |  |   +* Re: Build SystemsKeith Thompson
|  |  |  |   |`* Re: Build SystemsBart
|  |  |  |   | +- Re: Build SystemsKaz Kylheku
|  |  |  |   | `* Re: Build SystemsDavid Brown
|  |  |  |   |  `* Re: Build SystemsBart
|  |  |  |   |   `* Re: Build SystemsDavid Brown
|  |  |  |   |    +- Re: Build SystemsBart
|  |  |  |   |    +* Re: Build SystemsBart
|  |  |  |   |    |+* Re: Build SystemsScott Lurndal
|  |  |  |   |    ||`- Re: Build SystemsBart
|  |  |  |   |    |+* Re: Build SystemsBen Bacarisse
|  |  |  |   |    ||`* Re: Build SystemsBart
|  |  |  |   |    || +* Re: Build SystemsRichard Harnden
|  |  |  |   |    || |`- Re: Build SystemsBart
|  |  |  |   |    || `* Re: Build SystemsBen Bacarisse
|  |  |  |   |    ||  `* Re: Build SystemsBart
|  |  |  |   |    ||   `* Re: Build SystemsBen Bacarisse
|  |  |  |   |    ||    `* Re: Build SystemsBart
|  |  |  |   |    ||     `- Re: Build SystemsBen Bacarisse
|  |  |  |   |    |`* Re: Build SystemsDavid Brown
|  |  |  |   |    | `* Re: Build SystemsBart
|  |  |  |   |    |  +* Re: Build SystemsKeith Thompson
|  |  |  |   |    |  |`* Re: Build Systemsbart c
|  |  |  |   |    |  | `* Re: Build SystemsKeith Thompson
|  |  |  |   |    |  |  `* Re: Build SystemsDavid Brown
|  |  |  |   |    |  |   `* Re: Build SystemsChris M. Thomasson
|  |  |  |   |    |  |    +- Re: Build SystemsChris M. Thomasson
|  |  |  |   |    |  |    +* Re: Build SystemsKeith Thompson
|  |  |  |   |    |  |    |`- Re: Build SystemsChris M. Thomasson
|  |  |  |   |    |  |    `* Re: Build SystemsDavid Brown
|  |  |  |   |    |  |     +- Re: Build SystemsChris M. Thomasson
|  |  |  |   |    |  |     `* Re: Build SystemsChris M. Thomasson
|  |  |  |   |    |  |      +* Re: Build Systemsjames...@alumni.caltech.edu
|  |  |  |   |    |  |      |+- Re: Build Systemscandycane
|  |  |  |   |    |  |      |`* Re: Build SystemsKaz Kylheku
|  |  |  |   |    |  |      | `* Re: Build SystemsDavid Brown
|  |  |  |   |    |  |      |  `- Re: Build SystemsChris M. Thomasson
|  |  |  |   |    |  |      `* Re: Build SystemsDavid Brown
|  |  |  |   |    |  |       `- Re: Build SystemsChris M. Thomasson
|  |  |  |   |    |  +* Re: Build SystemsKaz Kylheku
|  |  |  |   |    |  |`* Re: Build Systemsbart c
|  |  |  |   |    |  | `* Re: Build SystemsBen Bacarisse
|  |  |  |   |    |  |  +* Re: Build Systemsbart c
|  |  |  |   |    |  |  |+* Re: Build SystemsDavid Brown
|  |  |  |   |    |  |  ||`- Re: Build Systemsbart c
|  |  |  |   |    |  |  |+* Re: Build SystemsKelsey Bjarnason
|  |  |  |   |    |  |  ||`* Re: Build Systemsbart c
|  |  |  |   |    |  |  || `* Re: Build SystemsKelsey Bjarnason
|  |  |  |   |    |  |  ||  `* Re: Build Systemsbart c
|  |  |  |   |    |  |  ||   `* Re: Build SystemsKelsey Bjarnason
|  |  |  |   |    |  |  ||    `* Re: Build SystemsBart
|  |  |  |   |    |  |  ||     `* Re: Build SystemsKelsey Bjarnason
|  |  |  |   |    |  |  ||      +* Re: Build SystemsBart
|  |  |  |   |    |  |  ||      |+* Re: Build SystemsBart
|  |  |  |   |    |  |  ||      ||`* Re: Build SystemsRichard Harnden
|  |  |  |   |    |  |  ||      || `- Re: Build SystemsBart
|  |  |  |   |    |  |  ||      |`* Re: Build SystemsScott Lurndal
|  |  |  |   |    |  |  ||      | `* Re: Build SystemsBart
|  |  |  |   |    |  |  ||      |  +* Re: Build SystemsMalcolm McLean
|  |  |  |   |    |  |  ||      |  |`- Re: Build SystemsBart
|  |  |  |   |    |  |  ||      |  +- Re: Build SystemsScott Lurndal
|  |  |  |   |    |  |  ||      |  +* Re: Build SystemsScott Lurndal
|  |  |  |   |    |  |  ||      |  +- Re: Build SystemsChris M. Thomasson
|  |  |  |   |    |  |  ||      |  `- Re: Build SystemsChris M. Thomasson
|  |  |  |   |    |  |  ||      `- Re: Build SystemsKaz Kylheku
|  |  |  |   |    |  |  |`* Re: Build SystemsBen Bacarisse
|  |  |  |   |    |  |  `* Re: Build SystemsScott Lurndal
|  |  |  |   |    |  `* Re: Build SystemsDavid Brown
|  |  |  |   |    `* Re: Build SystemsBart
|  |  |  |   `* Re: Build SystemsDavid Brown
|  |  |  `* Re: Build SystemsKeith Thompson
|  |  `- Really? (Was: Build Systems)Kenny McCormack
|  `* Re: Build SystemsDavid Brown
+* Re: Build SystemsDavid Brown
+- Re: Build SystemsThiago Adams
`- Re: Build SystemsMichael S

Pages:12345678910111213
Build Systems

<uban99$1rnpb$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: bc...@freeuk.com (Bart)
Newsgroups: comp.lang.c
Subject: Build Systems
Date: Sun, 13 Aug 2023 14:53:47 +0100
Organization: A noiseless patient Spider
Lines: 167
Message-ID: <uban99$1rnpb$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 13 Aug 2023 13:53:45 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="504c96876f9fd3dcf0f1cd3ca02e563f";
logging-data="1957675"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX198HGxKiMF+Yk6ofX5ahJTksFrckoYmoJ0="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.14.0
Cancel-Lock: sha1:0i+5A8JgwH6UXHnSLdSl2fpjWr4=
 by: Bart - Sun, 13 Aug 2023 13:53 UTC

Bart:
>> Suppose you dispensed with all that dependency stuff; how long would
>> it take to build such a project? Say compared with just compiling one
>> module.
>>

David Brown:

> That particular project takes a minute and a half to compile on my
> laptop (it's faster on my main machine). It's 373 compilations, perhaps
> 40% of it C++. Too long for convenience.

OK. I'm surprised (since you say you work on embedded systems) that
software for those can be so elaborate.

I've worked with some restricted machines, and my program builds, which
were also done ON those machines (no cross-compiler on a bigger
machine!) has never taken anywhere near as long as that.

But I thought, should I give 'make' one more chance? I tried some
smallish projects:

-----------------------------
Pico C interpreter: This has a makefile, but it was for Linux. A Windows
build requires MSVC and VS (or whatever is needed to deal with .sln
files), so no thanks.

Yet, I have built this project in the past without make or VS, once I'd
extracted the necessary info.

-------------------------------------------------

Lua Interpreter: This had a makefile, but gave errors. A closer look
revealed things like "-DLINUX...". I know this builds on Windows, but
there was no info as to how that I could see.

----------------------
8cc C compiler: Linux only (although this wasn't mentioned; unistd.h in
the sources gave a clue).

------------------------

SubC C Compiler: this uses a makefile file, but also has WINBUILD.BAT
for Windows. I guess make was not quite flexible enough for Windows, or
had too many Linux dependencies.

But WINBUILD didn't quite work. Maybe it was to do with some errors
unpacking 2-3 .tgz/.tar files: 'Cannot create symbolic link: a required
privilege...'.

--------------

So, maybe 'make' can work under Windows, if only I can find a suitable
project where that actually happens!

What I did find was build systems that are chaotic; the above are
typical unfortunately.

'make' is only part of the problem. Yet these projects are quite
small-scale, with dozens of source files, compared with gcc 13.2 which
had 75,000 source files, and that was described by two people here as
being simple to build.

DB:
> Computers are good at tedious work. They are good at tracking this kind
> of small detail. Why not let the computer do the work here?

Exactly. But I'm not seeing that in these projects. Somebody has to go
to a lot of trouble to create those build scripts, or get additional
sofware's help to create them. Which in the end did not result in my
being able to do an effortless, trouble-free build.

>All it takes is a little googling and a willingness to learn -
makefiles have a somewhat cryptic syntax,

And here you confirm what I said!

>Longer does not mean better. Often it means set in your ways, and
unwilling to look at alternatives.

On the contrary. Alternatives are EXACTLY what I have always worked on,
especially over the last decade.

Maybe it's /you/ who's unwilling to looked at alternatives, but are too
locked in to existing languages, compilers, OSes and support tools. Such
a critical mass has been created that there is no easy way out; just
piling on more stuff, finding creative ways to make things faster.

My C compiler project is roughly on the same scale as the above
examples. Somebody sitting at my desk right now wanting to build my C
compiler would type this from inside the project folder:

C:\cx>mm cc

The project is 71 source and support files, spread this plus two further
nested folders (these contain my compiler's standard headers and
reflects their structure).

The folders contain other stuff not necessary for the build; it doesn't
matter. /Some/ might be junk, a lot is needed for development.

If you wanted to build this product, I could supply a ZIP with a clean
set of files. It would also contain mm.exe, the compiler needed. (Oh
yes, my C compiler is not written in C.)

However, what I would probably do instead is this:

C:\cx>mm -ma cc

This creates an amalgamated file cc.ma. Now I just email you mm.exe and
cc.ma, and you just type:

Anywhere> mm cc.ma # .ma is optional if no clashes

Maybe you'd rather compile C source code instead? OK, I would then do:

C:\cx>mc -c cc # Transpile to single C file

And email you just the cc.c file. You can build it on Windows like this
(add your own options to taste):

Anywhere> gcc cc.c # (tcc needs extra options)

This builds a self-contained C compiler called a.exe. Does it work? I'll
try it:

C:\cx>a cc
Compiling cc.c to cc.exe

But, maybe you want to use Linux? OK, let's see what I can do. I can try
this instead:

C:\cx>mc -c -linux cc m # C file Linux-specific portions

Then, on Linux, you'd need to build it like this demo on WSL:

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

However, there are limitations, since my C compilers target Win64 ABI,
not Linux. You can do this:

root@DESKTOP:/mnt/c/cx# ./bcc -c sql
Compiling sql.c to sql.obj

root@DESKTOP:/mnt/c/cx# ./bcc -S sql
Compiling sql.c to sql.asm

But you can't create sql.exe (that needs to access msvcrt.dll). And even
those .obj/.asm files contain Windows-specific native code.

-------------------------------

So, what do think of my alternatives? No build system in sight, whether
makefiles, SLN files or batch files.

In each case there was a simple one-line command involving one compiler
and one named source file, even if that line got longer the further we
got from my language, and from Windows.

For an actual multi-file, original C project, I've demonstrated
elsewhere the -auto option of my C compiler. But for use with existing
compilers for other people to use from the command line I would provide
@ or .bat files.

Of course, most of my actual development, not command line work, is from
from my mini-IDE, currently a 75KB program. I can use that for C too but
only bcc is supported.

Re: Build Systems

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

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ben.use...@bsb.me.uk (Ben Bacarisse)
Newsgroups: comp.lang.c
Subject: Re: Build Systems
Date: Sun, 13 Aug 2023 21:45:59 +0100
Organization: A noiseless patient Spider
Lines: 85
Message-ID: <87ttt2isc8.fsf@bsb.me.uk>
References: <uban99$1rnpb$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: dont-email.me; posting-host="15be0507bd94ab5f777620aae7a0c046";
logging-data="2071319"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18RTNGlg63Rg9tazAfJEjE7gAWlRkz4cbQ="
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
Cancel-Lock: sha1:AyoPh9qjRClHBVfeDdKHMQT5gG4=
sha1:KVF/42GkBBnf0fZ9P5PfHV8wcFY=
X-BSB-Auth: 1.cff408904dce01fa544a.20230813214559BST.87ttt2isc8.fsf@bsb.me.uk
 by: Ben Bacarisse - Sun, 13 Aug 2023 20:45 UTC

Bart <bc@freeuk.com> writes:

> But I thought, should I give 'make' one more chance? I tried some smallish
> projects:
>
> -----------------------------
> Pico C interpreter: This has a makefile, but it was for Linux. A Windows
> build requires MSVC and VS (or whatever is needed to deal with .sln files),
> so no thanks.

What has this got to do with make?

> Yet, I have built this project in the past without make or VS, once I'd
> extracted the necessary info.

Did you contribute your method, batch file, makefile or whatever to the
project? If not, why not?

> -------------------------------------------------
>
> Lua Interpreter: This had a makefile, but gave errors.

Linux software, does not compile without effort on Windows. In other
news, bear defecates in the woods.

> A closer look
> revealed things like "-DLINUX...". I know this builds on Windows, but there
> was no info as to how that I could see.

They make it hard. It's hidden on the download page under the heading
"Building" with the confusing link "detailed instructions".

But again, what has this do with make?

> ---------------------- 8cc C compiler: Linux only (although this
> wasn't mentioned; unistd.h in the sources gave a clue).

Again, hidden away in the README file:

"8cc supports x86-64 Linux only. I have no plan to make it
portable..."

Who'd think to look there?

And again, what has this to do with make?

> ------------------------
>
> SubC C Compiler: this uses a makefile file, but also has WINBUILD.BAT for
> Windows. I guess make was not quite flexible enough for Windows, or had too
> many Linux dependencies.

Or maybe the person who wrote the BAT file did not know make? Now if
you had some evidence that a BAT file was needed because make can't do
the job on Windows then you might actually have a comment that relates
to giving make one more try. But you don't.

Your remark about giving make a another try in a post about build
systems suggests you don't know what it's for. It does not magically
allow software to be built on different systems. However, it might
help. While a .BAT file will be of no use on Linux, a well-written
makefile might need only a few tweaks to compile a program with MS VC
and of course it could include a Windows-only target like "prog.exe" so
no that tweaks might be needed.

> --------------
>
> So, maybe 'make' can work under Windows, if only I can find a suitable
> project where that actually happens!

Or you could chip in and help by writing a windows makefile (or adding
suitable rules to a existing makefile) for one of them.

> What I did find was build systems that are chaotic; the above are typical
> unfortunately.

They seem be crying out for someone to write a good Windows makefile
for them. Will that be you?

> 'make' is only part of the problem.

Or make could be a big part of the solution.

--
Ben.

Re: Build Systems

<ubbmaj$20435$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: bc...@freeuk.com (Bart)
Newsgroups: comp.lang.c
Subject: Re: Build Systems
Date: Sun, 13 Aug 2023 23:43:32 +0100
Organization: A noiseless patient Spider
Lines: 87
Message-ID: <ubbmaj$20435$1@dont-email.me>
References: <uban99$1rnpb$1@dont-email.me> <87ttt2isc8.fsf@bsb.me.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 13 Aug 2023 22:43:31 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="44f399fedb8fb11c3ad1566c9aa1cc8e";
logging-data="2101349"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+GRc8pBRS0RMd0rtOgdxAjs0cYffycNi8="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.14.0
Cancel-Lock: sha1:HGlZRKZlkTPEeYgZmgdaSPFsl6Y=
In-Reply-To: <87ttt2isc8.fsf@bsb.me.uk>
 by: Bart - Sun, 13 Aug 2023 22:43 UTC

On 13/08/2023 21:45, Ben Bacarisse wrote:
> Bart <bc@freeuk.com> writes:
> What has this got to do with make?
> But again, what has this do with make?

> And again, what has this to do with make?

I'm looking for a project to build on Windows using make. I didn't have
much luck; they seem to avoid using it!

>> Lua Interpreter: This had a makefile, but gave errors.
>
> Linux software, does not compile without effort on Windows. In other
> news, bear defecates in the woods.

Rubbish. Lua had been easy to build: just submit the right set of .c
files to the compiler. Except the next version had a slightly different
set of files.

>> A closer look
>> revealed things like "-DLINUX...". I know this builds on Windows,
but there
>> was no info as to how that I could see.
>
> They make it hard. It's hidden on the download page under the heading
> "Building" with the confusing link "detailed instructions".

Not if you approach it via 'github lua'. There is more info if you go to
the proper Lua site, but I still couldn't see what you are supposed to
do to build Lua using 'make', as that was the purpose of the exercise:
to find even ONE project where make actually works on Windows!

--------------------

I'm going to try one more project, which is Tiny C. This is better
documented, and directly within the downloaded files.

The build process for Linux is './configure' (oh-oh) then 'make', but it
says, for Windows read tcc-win32.txt.

There it says: install MSYS and /then/ do './configure' followed by 'make'!

But then it also gives the choice of running a batch file.

So, another project where they give up on 'make' on Windows. And this is
what you guys want me to adopt? These examples aren't very compelling
are they?

Since I'm at this point, I might as well try that batch file. It relies
on gcc. And ... compiler errors amongst loads of warning and notes.

Disappointing. But if it had worked, configure + makefile together were
654 lines, this batch file was 28 lines.

It presumably contains the right instructions to build this app; what's
with the other 626 lines?

>> What I did find was build systems that are chaotic; the above are
typical
>> unfortunately.
>
> They seem be crying out for someone to write a good Windows makefile
> for them. Will that be you?
>
>> 'make' is only part of the problem.
>
> Or make could be a big part of the solution.

My solutions in the snipped portions are:

* Use a language with its own build system and a built-way to create
one-file amalgamations

* For C, find a way to create (sqlite3-like) one-file amalgamations

* Supply build information as an @ list of files or a /simple/ shell
script (or just explain in English how to build)

* For anything more elaborate, use a script but in a language anyone
understands

Remember for someone else to build a working program from source,
dependencies within a make files are irrelevant.

Re: Build Systems

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

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ben.use...@bsb.me.uk (Ben Bacarisse)
Newsgroups: comp.lang.c
Subject: Re: Build Systems
Date: Mon, 14 Aug 2023 01:16:18 +0100
Organization: A noiseless patient Spider
Lines: 32
Message-ID: <87o7jaiilp.fsf@bsb.me.uk>
References: <uban99$1rnpb$1@dont-email.me> <87ttt2isc8.fsf@bsb.me.uk>
<ubbmaj$20435$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: dont-email.me; posting-host="4e833c0d8d6fa2b52032f5fcbebcc039";
logging-data="2121407"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+MfxkJ9WUhxRKUcHZFEOlnPLKs41N1wgQ="
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
Cancel-Lock: sha1:LqwNmZlZLkaQlrx8V0jbHVoHN90=
sha1:hkVavo8mx9MDanV5yfSsbTGZLYE=
X-BSB-Auth: 1.41593486cbd3c8f6c60c.20230814011618BST.87o7jaiilp.fsf@bsb.me.uk
 by: Ben Bacarisse - Mon, 14 Aug 2023 00:16 UTC

Bart <bc@freeuk.com> writes:

> On 13/08/2023 21:45, Ben Bacarisse wrote:
>> Bart <bc@freeuk.com> writes:
>> What has this got to do with make?
>> But again, what has this do with make?
>
>> And again, what has this to do with make?
>
> I'm looking for a project to build on Windows using make. I didn't have
> much luck; they seem to avoid using it!

You found a Unix utility hardly used on Windows. Film at 11.

> Remember for someone else to build a working program from source,
> dependencies within a make files are irrelevant.

Yes, make is not a configuration and build system. It does not attempt
to solve any of the issues in your posts on the topic.

A lot of the software you looked at is open source (some of it also free
as in freedom) originating on Linux systems. A key consideration for
such software is to encourage development rather than just building.
That's why make is popular and commonly used in the Linux world.

Things may have changed, but when I used to use Windows a lot, software
was rarely distributed as source code and even more rarely in a form
that encouraged tinkering. If there is a way of doing this, that is
widely used in the Windows world, I don't know what it is.

--
Ben.

Re: Build Systems

<PPeCM.479849$TCKc.32962@fx13.iad>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx13.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: Build Systems
Newsgroups: comp.lang.c
References: <uban99$1rnpb$1@dont-email.me> <87ttt2isc8.fsf@bsb.me.uk> <ubbmaj$20435$1@dont-email.me> <87o7jaiilp.fsf@bsb.me.uk>
Lines: 20
Message-ID: <PPeCM.479849$TCKc.32962@fx13.iad>
X-Complaints-To: abuse@usenetserver.com
NNTP-Posting-Date: Mon, 14 Aug 2023 00:46:39 UTC
Organization: UsenetServer - www.usenetserver.com
Date: Mon, 14 Aug 2023 00:46:39 GMT
X-Received-Bytes: 1434
 by: Scott Lurndal - Mon, 14 Aug 2023 00:46 UTC

Ben Bacarisse <ben.usenet@bsb.me.uk> writes:
>Bart <bc@freeuk.com> writes:
>
>> On 13/08/2023 21:45, Ben Bacarisse wrote:
>>> Bart <bc@freeuk.com> writes:
>>> What has this got to do with make?
>>> But again, what has this do with make?
>>
>>> And again, what has this to do with make?
>>
>> I'm looking for a project to build on Windows using make. I didn't have
>> much luck; they seem to avoid using it!
>
>You found a Unix utility hardly used on Windows. Film at 11.

As far as I am aware, Windows doesn't have a native make utility in
the first place (nmake is part of the visual studio distribution), so
its likely that Bart's quest to find a package that uses make on
windows will fail.

Re: Build Systems

<ubbule$3hium$3@news.xmission.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!xmission!nnrp.xmission!.POSTED.shell.xmission.com!not-for-mail
From: gaze...@shell.xmission.com (Kenny McCormack)
Newsgroups: comp.lang.c
Subject: Re: Build Systems
Date: Mon, 14 Aug 2023 01:05:50 -0000 (UTC)
Organization: The official candy of the new Millennium
Message-ID: <ubbule$3hium$3@news.xmission.com>
References: <uban99$1rnpb$1@dont-email.me> <ubbmaj$20435$1@dont-email.me> <87o7jaiilp.fsf@bsb.me.uk> <PPeCM.479849$TCKc.32962@fx13.iad>
Injection-Date: Mon, 14 Aug 2023 01:05:50 -0000 (UTC)
Injection-Info: news.xmission.com; posting-host="shell.xmission.com:166.70.8.4";
logging-data="3722198"; mail-complaints-to="abuse@xmission.com"
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
Originator: gazelle@shell.xmission.com (Kenny McCormack)
 by: Kenny McCormack - Mon, 14 Aug 2023 01:05 UTC

In article <PPeCM.479849$TCKc.32962@fx13.iad>,
Scott Lurndal <slp53@pacbell.net> wrote:
>Ben Bacarisse <ben.usenet@bsb.me.uk> writes:
>>Bart <bc@freeuk.com> writes:
>>
>>> On 13/08/2023 21:45, Ben Bacarisse wrote:
>>>> Bart <bc@freeuk.com> writes:
>>>> What has this got to do with make?
>>>> But again, what has this do with make?
>>>
>>>> And again, what has this to do with make?
>>>
>>> I'm looking for a project to build on Windows using make. I didn't have
>>> much luck; they seem to avoid using it!
>>
>>You found a Unix utility hardly used on Windows. Film at 11.
>
>As far as I am aware, Windows doesn't have a native make utility in
>the first place (nmake is part of the visual studio distribution), so
>its likely that Bart's quest to find a package that uses make on
>windows will fail.
>

DOS/Windows (and Mac similarly) has *never* shipped with any sort of
development environment, so arguing that it doesn't have "make" is kind of
pointless.

--
https://en.wikipedia.org/wiki/Mansplaining

It describes comp.lang.c to a T!

Re: Build Systems

<8fb22829-9b5e-4108-a513-df3b72391405n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
X-Received: by 2002:a05:6214:4c1e:b0:641:8c45:9fa6 with SMTP id qh30-20020a0562144c1e00b006418c459fa6mr91295qvb.12.1691978363296;
Sun, 13 Aug 2023 18:59:23 -0700 (PDT)
X-Received: by 2002:a17:90a:e557:b0:26b:2001:54f8 with SMTP id
ei23-20020a17090ae55700b0026b200154f8mr1708163pjb.9.1691978362711; Sun, 13
Aug 2023 18:59:22 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border-2.nntp.ord.giganews.com!border-1.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.c
Date: Sun, 13 Aug 2023 18:59:22 -0700 (PDT)
In-Reply-To: <ubbule$3hium$3@news.xmission.com>
Injection-Info: google-groups.googlegroups.com; posting-host=81.143.231.9; posting-account=Dz2zqgkAAADlK5MFu78bw3ab-BRFV4Qn
NNTP-Posting-Host: 81.143.231.9
References: <uban99$1rnpb$1@dont-email.me> <ubbmaj$20435$1@dont-email.me>
<87o7jaiilp.fsf@bsb.me.uk> <PPeCM.479849$TCKc.32962@fx13.iad> <ubbule$3hium$3@news.xmission.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <8fb22829-9b5e-4108-a513-df3b72391405n@googlegroups.com>
Subject: Re: Build Systems
From: malcolm....@gmail.com (Malcolm McLean)
Injection-Date: Mon, 14 Aug 2023 01:59:23 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 48
 by: Malcolm McLean - Mon, 14 Aug 2023 01:59 UTC

On Monday, 14 August 2023 at 02:06:04 UTC+1, Kenny McCormack wrote:
> In article <PPeCM.479849$TCKc....@fx13.iad>,
> Scott Lurndal <sl...@pacbell.net> wrote:
> >Ben Bacarisse <ben.u...@bsb.me.uk> writes:
> >>Bart <b...@freeuk.com> writes:
> >>
> >>> On 13/08/2023 21:45, Ben Bacarisse wrote:
> >>>> Bart <b...@freeuk.com> writes:
> >>>> What has this got to do with make?
> >>>> But again, what has this do with make?
> >>>
> >>>> And again, what has this to do with make?
> >>>
> >>> I'm looking for a project to build on Windows using make. I didn't have
> >>> much luck; they seem to avoid using it!
> >>
> >>You found a Unix utility hardly used on Windows. Film at 11.
> >
> >As far as I am aware, Windows doesn't have a native make utility in
> >the first place (nmake is part of the visual studio distribution), so
> >its likely that Bart's quest to find a package that uses make on
> >windows will fail.
> >
> DOS/Windows (and Mac similarly) has *never* shipped with any sort of
> development environment, so arguing that it doesn't have "make" is kind of
> pointless.
>
Yes, when I started as a DOS programmer you had to buy a compiler.
I asked for one as a birthday present from my grandmother, and I remember
trying to explain to her what she had just bought me. Then later on I
moved to Windows and bought Visual Studio. It was a lot of money
for me at the time, and was a "personal" copy. It lacked an optimiser, some
group work facilities (I think) and you weren't allowed to sell software compiled
with it. The full version cost several hundred pounds and was out of reach.
But I loved it because of the integrated help (this was pre good internet).

Then they broke it when Vista came out. I compained, and received
an arrogant and dismissive response. I was absolutely furious. The
personal, affordable compilers were discontinued, and only the enterprise
edition available. Which cost more than the computer. There was a free
Visual Studio available, but you could tell that at the time Microsoft
wasn't happy about releasing free software. It was badly done, and difficult
to use, and didn't support the latest C standards, and didn't have proper API
documentation. And it came with ban on using it to develop software
with what they called a "viral" licence.

Nowadays Visual Studio is free even to commercial users. Stallman has
won. But you have to download it. It doesn't ship as standard.

Dev on Windoze (Was: Build Systems)

<ubc4e0$3hlul$1@news.xmission.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!xmission!nnrp.xmission!.POSTED.shell.xmission.com!not-for-mail
From: gaze...@shell.xmission.com (Kenny McCormack)
Newsgroups: comp.lang.c
Subject: Dev on Windoze (Was: Build Systems)
Date: Mon, 14 Aug 2023 02:44:16 -0000 (UTC)
Organization: The official candy of the new Millennium
Message-ID: <ubc4e0$3hlul$1@news.xmission.com>
References: <uban99$1rnpb$1@dont-email.me> <PPeCM.479849$TCKc.32962@fx13.iad> <ubbule$3hium$3@news.xmission.com> <8fb22829-9b5e-4108-a513-df3b72391405n@googlegroups.com>
Injection-Date: Mon, 14 Aug 2023 02:44:16 -0000 (UTC)
Injection-Info: news.xmission.com; posting-host="shell.xmission.com:166.70.8.4";
logging-data="3725269"; mail-complaints-to="abuse@xmission.com"
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
Originator: gazelle@shell.xmission.com (Kenny McCormack)
 by: Kenny McCormack - Mon, 14 Aug 2023 02:44 UTC

In article <8fb22829-9b5e-4108-a513-df3b72391405n@googlegroups.com>,
Malcolm McLean <malcolm.arthur.mclean@gmail.com> wrote:
....
>> DOS/Windows (and Mac similarly) has *never* shipped with any sort of
>> development environment, so arguing that it doesn't have "make" is kind of
>> pointless.

I may actually have mis-spoken here. DOS did originally come with GWBASIC,
so you could, at least write and run programs back then.

Whether BASIC (of any stripe) counts as a development environment is, of
course, open to debate...

Does modern Windows come with VB.NET ready-to-go, or do you have to
download it?

--
The randomly chosen signature file that would have appeared here is more than 4
lines long. As such, it violates one or more Usenet RFCs. In order to remain
in compliance with said RFCs, the actual sig can be found at the following URL:
http://user.xmission.com/~gazelle/Sigs/FreeCollege

Re: Dev on Windoze (Was: Build Systems)

<b606014c-2058-41ea-b05b-361b40df7743n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
X-Received: by 2002:a05:620a:8c92:b0:76c:7fa9:6ac with SMTP id ra18-20020a05620a8c9200b0076c7fa906acmr87068qkn.11.1691985214542; Sun, 13 Aug 2023 20:53:34 -0700 (PDT)
X-Received: by 2002:a17:90b:50c:b0:263:ef7:c4b9 with SMTP id r12-20020a17090b050c00b002630ef7c4b9mr2016980pjz.6.1691985214016; Sun, 13 Aug 2023 20:53:34 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!feeder.usenetexpress.com!tr3.iad1.usenetexpress.com!69.80.99.14.MISMATCH!border-1.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.c
Date: Sun, 13 Aug 2023 20:53:33 -0700 (PDT)
In-Reply-To: <ubc4e0$3hlul$1@news.xmission.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2a00:23a8:400a:5601:8573:d932:32fc:94b3; posting-account=Dz2zqgkAAADlK5MFu78bw3ab-BRFV4Qn
NNTP-Posting-Host: 2a00:23a8:400a:5601:8573:d932:32fc:94b3
References: <uban99$1rnpb$1@dont-email.me> <PPeCM.479849$TCKc.32962@fx13.iad> <ubbule$3hium$3@news.xmission.com> <8fb22829-9b5e-4108-a513-df3b72391405n@googlegroups.com> <ubc4e0$3hlul$1@news.xmission.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b606014c-2058-41ea-b05b-361b40df7743n@googlegroups.com>
Subject: Re: Dev on Windoze (Was: Build Systems)
From: malcolm....@gmail.com (Malcolm McLean)
Injection-Date: Mon, 14 Aug 2023 03:53:34 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 30
 by: Malcolm McLean - Mon, 14 Aug 2023 03:53 UTC

On Monday, 14 August 2023 at 03:44:31 UTC+1, Kenny McCormack wrote:
> In article <8fb22829-9b5e-4108...@googlegroups.com>,
> Malcolm McLean <malcolm.ar...@gmail.com> wrote:
> ...
> >> DOS/Windows (and Mac similarly) has *never* shipped with any sort of
> >> development environment, so arguing that it doesn't have "make" is kind of
> >> pointless.
> I may actually have mis-spoken here. DOS did originally come with GWBASIC,
> so you could, at least write and run programs back then.
>
Yes, when microcomputers came out in the 1980s, it was thought that the
average user would also develop his own programs. So when you booted
the computer it put you into the BASIC. Because the machine was so small,
there wasn't a distinction between the editor and the intepreter.
>
> Whether BASIC (of any stripe) counts as a development environment is, of
> course, open to debate...
>
I'm an implementer of BASIC myself so don't diss the language. MIniBasic, which
is my version, is used in embedded systems. Often the embedded processor is
doing something pretty trivial in programming terms (the interest of the project
is in the electronics). It's easier to edit a short MiniBasic script on the machine
than cross-compile and load an executable.
>
> Does modern Windows come with VB.NET ready-to-go, or do you have to
> download it?
>
You have to download it. VB is still used for serious commercial development.
But for programs where the focus is on the GUI and business logic. It's not
used much for the sort of programming that I do.

Re: Build Systems

<20230813210150.757@kylheku.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: 864-117-...@kylheku.com (Kaz Kylheku)
Newsgroups: comp.lang.c
Subject: Re: Build Systems
Date: Mon, 14 Aug 2023 04:03:53 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 35
Message-ID: <20230813210150.757@kylheku.com>
References: <uban99$1rnpb$1@dont-email.me> <ubbmaj$20435$1@dont-email.me>
<87o7jaiilp.fsf@bsb.me.uk> <PPeCM.479849$TCKc.32962@fx13.iad>
<ubbule$3hium$3@news.xmission.com>
Injection-Date: Mon, 14 Aug 2023 04:03:53 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="e46a56cd35364bd395dd3d3fbcbd4bf2";
logging-data="2292814"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/USD/3VKazAQU9bp6Hfo8M7YbECPPCgzI="
User-Agent: slrn/1.0.3 (Linux)
Cancel-Lock: sha1:IUItUbK0s/4dXVAz2/SKe9AsgHA=
 by: Kaz Kylheku - Mon, 14 Aug 2023 04:03 UTC

On 2023-08-14, Kenny McCormack <gazelle@shell.xmission.com> wrote:
> In article <PPeCM.479849$TCKc.32962@fx13.iad>,
> Scott Lurndal <slp53@pacbell.net> wrote:
>>Ben Bacarisse <ben.usenet@bsb.me.uk> writes:
>>>Bart <bc@freeuk.com> writes:
>>>
>>>> On 13/08/2023 21:45, Ben Bacarisse wrote:
>>>>> Bart <bc@freeuk.com> writes:
>>>>> What has this got to do with make?
>>>>> But again, what has this do with make?
>>>>
>>>>> And again, what has this to do with make?
>>>>
>>>> I'm looking for a project to build on Windows using make. I didn't have
>>>> much luck; they seem to avoid using it!
>>>
>>>You found a Unix utility hardly used on Windows. Film at 11.
>>
>>As far as I am aware, Windows doesn't have a native make utility in
>>the first place (nmake is part of the visual studio distribution), so
>>its likely that Bart's quest to find a package that uses make on
>>windows will fail.
>>
>
> DOS/Windows (and Mac similarly) has *never* shipped with any sort of
> development environment, so arguing that it doesn't have "make" is kind of
> pointless.

MS-DOS came with DEBUG.COM: an assembly language development
environment. :)

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

Re: Build Systems

<ubcsgg$28f1o$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: bc...@freeuk.com (Bart)
Newsgroups: comp.lang.c
Subject: Re: Build Systems
Date: Mon, 14 Aug 2023 10:35:12 +0100
Organization: A noiseless patient Spider
Lines: 54
Message-ID: <ubcsgg$28f1o$1@dont-email.me>
References: <uban99$1rnpb$1@dont-email.me> <87ttt2isc8.fsf@bsb.me.uk>
<ubbmaj$20435$1@dont-email.me> <87o7jaiilp.fsf@bsb.me.uk>
<PPeCM.479849$TCKc.32962@fx13.iad>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 14 Aug 2023 09:35:12 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="44f399fedb8fb11c3ad1566c9aa1cc8e";
logging-data="2374712"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/wH9IMTraEbRvStmvcGgAgeX4FjPEFQzc="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.14.0
Cancel-Lock: sha1:TcUwOMnQ4TCLopGdJEOJwUskaAw=
In-Reply-To: <PPeCM.479849$TCKc.32962@fx13.iad>
 by: Bart - Mon, 14 Aug 2023 09:35 UTC

On 14/08/2023 01:46, Scott Lurndal wrote:
> Ben Bacarisse <ben.usenet@bsb.me.uk> writes:
>> Bart <bc@freeuk.com> writes:
>>
>>> On 13/08/2023 21:45, Ben Bacarisse wrote:
>>>> Bart <bc@freeuk.com> writes:
>>>> What has this got to do with make?
>>>> But again, what has this do with make?
>>>
>>>> And again, what has this to do with make?
>>>
>>> I'm looking for a project to build on Windows using make. I didn't have
>>> much luck; they seem to avoid using it!
>>
>> You found a Unix utility hardly used on Windows. Film at 11.
>
> As far as I am aware, Windows doesn't have a native make utility in
> the first place (nmake is part of the visual studio distribution), so
> its likely that Bart's quest to find a package that uses make on
> windows will fail.
>

There are projects with makefiles that are meant to work with Windows.
IME they mostly don't work, in that something usually goes wrong. I just
couldn't remember what they were.

I do however remember one that did work: LuaJIT. I downloaded it now,
and there, the main makefile has this comment:

# Suitable for POSIX platforms (Linux, *BSD, OSX etc.).
# Note: src/Makefile has many more configurable options.
# # ##### This Makefile is NOT useful for Windows! #####
# For MSVC, please follow the instructions given in src/msvcbuild.bat.
# For MinGW and Cygwin, cd to src and run make with the Makefile there.

I don't have MSVC (I can rarely get it to work, and it's monstrous).

Mingw I guess means gcc on Windows. When I tried that other makefile, it
worked perfectly. The output messages were also clean and restrained (no
endless crap flying up the screen for an hour, like GMP under MSYS).

But this is rare. My assertion is that they're usually troublesome. I
also don't hold with having to use MSVC when I have a perfectly good
compiler, gcc, even with its foibles.

This project is unusual (or maybe this is common) as it can't really be
built with any compiler. Attempts to use one that's not supported will
display:

lj_def.h:300: error: #error "missing defines for your compiler"

Here it's done properly: helpful messages inside the downloaded files.

Re: Build Systems

<ubcuq1$3i2tn$1@news.xmission.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!xmission!nnrp.xmission!.POSTED.shell.xmission.com!not-for-mail
From: gaze...@shell.xmission.com (Kenny McCormack)
Newsgroups: comp.lang.c
Subject: Re: Build Systems
Date: Mon, 14 Aug 2023 10:14:25 -0000 (UTC)
Organization: The official candy of the new Millennium
Message-ID: <ubcuq1$3i2tn$1@news.xmission.com>
References: <uban99$1rnpb$1@dont-email.me> <PPeCM.479849$TCKc.32962@fx13.iad> <ubbule$3hium$3@news.xmission.com> <20230813210150.757@kylheku.com>
Injection-Date: Mon, 14 Aug 2023 10:14:25 -0000 (UTC)
Injection-Info: news.xmission.com; posting-host="shell.xmission.com:166.70.8.4";
logging-data="3738551"; mail-complaints-to="abuse@xmission.com"
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
Originator: gazelle@shell.xmission.com (Kenny McCormack)
 by: Kenny McCormack - Mon, 14 Aug 2023 10:14 UTC

In article <20230813210150.757@kylheku.com>,
Kaz Kylheku <864-117-4973@kylheku.com> wrote:
....
>MS-DOS came with DEBUG.COM: an assembly language development
>environment. :)

Indeed. And I used it as such - many times. I also used DEBUG as an editor.

--
12% of Americans think that Joan of Arc was Noah's wife.

Re: Build Systems

<59f6d2fc-ac01-4cd8-bb26-7a477fa653fcn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
X-Received: by 2002:ae9:df84:0:b0:75b:3962:8dc6 with SMTP id t126-20020ae9df84000000b0075b39628dc6mr108840qkf.1.1692015368708;
Mon, 14 Aug 2023 05:16:08 -0700 (PDT)
X-Received: by 2002:a17:90a:8b11:b0:268:9d52:9dc2 with SMTP id
y17-20020a17090a8b1100b002689d529dc2mr1972269pjn.4.1692015368089; Mon, 14 Aug
2023 05:16:08 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.c
Date: Mon, 14 Aug 2023 05:16:07 -0700 (PDT)
In-Reply-To: <ubcuq1$3i2tn$1@news.xmission.com>
Injection-Info: google-groups.googlegroups.com; posting-host=144.51.12.30; posting-account=nB17tgkAAADlQn5zvMOik04ArrHiGLK4
NNTP-Posting-Host: 144.51.12.30
References: <uban99$1rnpb$1@dont-email.me> <PPeCM.479849$TCKc.32962@fx13.iad>
<ubbule$3hium$3@news.xmission.com> <20230813210150.757@kylheku.com> <ubcuq1$3i2tn$1@news.xmission.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <59f6d2fc-ac01-4cd8-bb26-7a477fa653fcn@googlegroups.com>
Subject: Re: Build Systems
From: karlmeye...@gmail.com (Karl Meyer)
Injection-Date: Mon, 14 Aug 2023 12:16:08 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Karl Meyer - Mon, 14 Aug 2023 12:16 UTC

On Monday, August 14, 2023 at 6:14:39 AM UTC-4, Kenny McCormack wrote:
> In article <202308132...@kylheku.com>,
> Kaz Kylheku <864-11...@kylheku.com> wrote:
> ...
> >MS-DOS came with DEBUG.COM: an assembly language development
> >environment. :)
> Indeed. And I used it as such - many times. I also used DEBUG as an editor.
>
> --
> 12% of Americans think that Joan of Arc was Noah's wife.
There is a GNU version of Make for Windows. There is also a GNU version of the GCC for Windows that can compile compatible binaries for Window's and x86_x64.

For native Windows apps though, it really doesn't make sense to use it long term, as the MSVC is clearly optimized to leverage the OS and all its features to make programs work efficiently.

Besides the Visual Studio build system that you can configure within the app, if you prefer "lighter" dev environments, its perfectly easy to use VS Code with an off the shelf build system like CMake or PreMake (or even GNU Make) as long as you have a C/C++ compiler already in your System Variables Path (or configured through VS Code's config). What you lose by NOT doing Windows application development inside of Visual Studio is its extremely feature rich Debug suite.

Re: Build Systems

<ubd7tj$2b0dl$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: david.br...@hesbynett.no (David Brown)
Newsgroups: comp.lang.c
Subject: Re: Build Systems
Date: Mon, 14 Aug 2023 14:49:54 +0200
Organization: A noiseless patient Spider
Lines: 60
Message-ID: <ubd7tj$2b0dl$1@dont-email.me>
References: <uban99$1rnpb$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 14 Aug 2023 12:49:55 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="fa9d49539d2b7335eef1fda81978ac8a";
logging-data="2458037"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/qFn/2J31u/SvnCeYSDgqNjVS47WAiwhw="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
Thunderbird/102.9.0
Cancel-Lock: sha1:xThjtoLinpdLRW7tWA7fEa8JS7c=
Content-Language: en-GB
In-Reply-To: <uban99$1rnpb$1@dont-email.me>
 by: David Brown - Mon, 14 Aug 2023 12:49 UTC

On 13/08/2023 15:53, Bart wrote:
> Bart:
> >> Suppose you dispensed with all that dependency stuff; how long would
> >> it take to build such a project? Say compared with just compiling one
> >> module.
> >>
>
> David Brown:
>
> > That particular project takes a minute and a half to compile on my
> > laptop (it's faster on my main machine).  It's 373 compilations, perhaps
> > 40% of it C++.  Too long for convenience.
>
> OK. I'm surprised (since you say you work on embedded systems) that
> software for those can be so elaborate.
>

I work on embedded systems - mostly microcontroller systems. But why
would that mean few files in a project? Like most programmers, I
organise my source files and split things up in logical sections. So
even the smallest of programs might have 15 or more C files. And this
particular program is not small, and includes things like a network
stack, an RTOS, and a large number of manufacturer-supplied driver files
in the microcontroller's SDK. The final binary is about 200 KB in size.
Oh, and I was counting compilations, not source files - the "make"
here builds two binaries with different options for different variations
of the program. (And the build was on my old laptop - my desktop takes
half the time.)

> But I thought, should I give 'make' one more chance?

No, you did not. You thought "perhaps people really do find make
useful. I'll have to invent some more crap and mistakes to justify
refusing to use this practical tool for 40 years. Maybe if I post
enough nonsense, this time people will believe the problem is with make,
not with me".

>
> So, maybe 'make' can work under Windows,

As I said, I have used "make" with Windows for about three decades. And
I am not alone - lots of other people seem to manage fine.

>
> 'make' is only part of the problem. Yet these projects are quite
> small-scale, with dozens of source files, compared with gcc 13.2 which
> had 75,000 source files, and that was described by two people here as
> being simple to build.

I have built about a dozen gcc cross-compilers on Windows over the
years. Microcontroller manufacturers are far better about providing
"official" and supported gcc toolchain builds now, but there was a time
when you had to do more things by yourself. I've built it more recently
on Linux, because that's my main development platform. Usually you use
scripts or ready-made recipes, since you are looking for libraries,
binutils, and other tools for cross-development as well as the compiler,
but however you do it, most of the work is controlled by a few "make"
invocations.

Re: Build Systems

<ubd8t6$2b62u$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: david.br...@hesbynett.no (David Brown)
Newsgroups: comp.lang.c
Subject: Re: Build Systems
Date: Mon, 14 Aug 2023 15:06:45 +0200
Organization: A noiseless patient Spider
Lines: 25
Message-ID: <ubd8t6$2b62u$1@dont-email.me>
References: <uban99$1rnpb$1@dont-email.me> <87ttt2isc8.fsf@bsb.me.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 14 Aug 2023 13:06:46 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="fa9d49539d2b7335eef1fda81978ac8a";
logging-data="2463838"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+HUnmsDIty1r09pvr7ILbsh5TAULhTkZc="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
Thunderbird/102.9.0
Cancel-Lock: sha1:53RrBFWH0F2T/fpIdZEsm1p2ros=
Content-Language: en-GB
In-Reply-To: <87ttt2isc8.fsf@bsb.me.uk>
 by: David Brown - Mon, 14 Aug 2023 13:06 UTC

On 13/08/2023 22:45, Ben Bacarisse wrote:
> Bart <bc@freeuk.com> writes:
>

>> Lua Interpreter: This had a makefile, but gave errors.
>
> Linux software, does not compile without effort on Windows. In other
> news, bear defecates in the woods.
>
>> A closer look
>> revealed things like "-DLINUX...". I know this builds on Windows, but there
>> was no info as to how that I could see.
>
> They make it hard. It's hidden on the download page under the heading
> "Building" with the confusing link "detailed instructions".
>
> But again, what has this do with make?
>

I opened a command prompt on my Windows PC, downloaded lua source and
built it according to the "detailed instructions". All told, it took
about a minute, including reading the instructions. "make" on Windows
works fine.

Re: Build Systems

<ubdaqs$2bfi7$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: bc...@freeuk.com (Bart)
Newsgroups: comp.lang.c
Subject: Re: Build Systems
Date: Mon, 14 Aug 2023 14:39:41 +0100
Organization: A noiseless patient Spider
Lines: 125
Message-ID: <ubdaqs$2bfi7$1@dont-email.me>
References: <uban99$1rnpb$1@dont-email.me> <ubd7tj$2b0dl$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 14 Aug 2023 13:39:40 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="44f399fedb8fb11c3ad1566c9aa1cc8e";
logging-data="2473543"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+8Sm1BCAYFn9dLxhEyNgjMfYtOpJ/L8co="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.14.0
Cancel-Lock: sha1:TrGq3L02Ag7y7AGw+nhqigFgvyM=
In-Reply-To: <ubd7tj$2b0dl$1@dont-email.me>
 by: Bart - Mon, 14 Aug 2023 13:39 UTC

On 14/08/2023 13:49, David Brown wrote:
> On 13/08/2023 15:53, Bart wrote:
>> OK. I'm surprised (since you say you work on embedded systems) that
>> software for those can be so elaborate.
>>
>
> I work on embedded systems - mostly microcontroller systems. But why
> would that mean few files in a project? Like most programmers, I
> organise my source files and split things up in logical sections. So
> even the smallest of programs might have 15 or more C files. And this
> particular program is not small, and includes things like a network
> stack, an RTOS, and a large number of manufacturer-supplied driver files
> in the microcontroller's SDK. The final binary is about 200 KB in size.

So several different components. Would you really need to build all the
other components when working on only one of them, if you didn't have a
makefile to tell you where each belonged?

> Oh, and I was counting compilations, not source files - the "make"
> here builds two binaries with different options for different variations
> of the program. (And the build was on my old laptop - my desktop takes
> half the time.)
>
>> But I thought, should I give 'make' one more chance?
>
> No, you did not. You thought "perhaps people really do find make
> useful. I'll have to invent some more crap and mistakes to justify
> refusing to use this practical tool for 40 years. Maybe if I post
> enough nonsense, this time people will believe the problem is with make,
> not with me".

And yet I wasn't able to successfully build a working Windows executable
for 3 out of those 4 programs (including Tcc that I added later, and
excluding the Linux-only program). Whether I was using make or not.

I *was* able to do so for LuaJIT, and using 'make'. So what was the
difference in the latter case; why didn't my 'incompetence' stretch to
that program too?

Is it possible that more care was given to making it foolproof?

Below I show how I build the Pico C project. The recommendation was to
use heavyweight MS tools to build this 0.1MB project, but it is
unnecessary given the right info.

A VS installation can be up to 100,000 times the size of pico.exe.

BTW bcc built it in 1/8th of a second, for a program half the size of
your 200KB project.

> I have built about a dozen gcc cross-compilers on Windows over the
> years. Microcontroller manufacturers are far better about providing
> "official" and supported gcc toolchain builds now, but there was a time
> when you had to do more things by yourself.

Yeah. I used to create my own languages and compilers for microcomputers
(I still do!). Plus writing all my own drivers. That's when I wasn't
also building prototypes of those computers using 120 hand-wired ICs
(that, I don't do anymore).

As for the 120,000 files of gcc 13.2 versus the 70 files of bcc: gcc-O3
runs the Pico program below about twice as fast as bcc.

--------------------
Pico C @file listing the source files needed:

clibrary.c
debug.c
expression.c
heap.c
include.c
lex.c
parse.c
picoc.c
platform.c
table.c
type.c
variable.c
ctype.c
errno.c
math.c
stdbool.c
stdio.c
stdlib.c
string.c
time.c
platform_msvc.c
library_msvc.c

Building Pico C using bcc and that 'pico' @ file:

c:\pico>bcc -old -out:pico @pico
Compiling clibrary.c to clibrary.asm
Compiling debug.c to debug.asm
Compiling expression.c to expression.asm
Compiling heap.c to heap.asm
Compiling include.c to include.asm
Compiling lex.c to lex.asm
Compiling parse.c to parse.asm
Compiling picoc.c to picoc.asm
Compiling platform.c to platform.asm
Compiling table.c to table.asm
Compiling type.c to type.asm
Compiling variable.c to variable.asm
Compiling ctype.c to ctype.asm
Compiling errno.c to errno.asm
Compiling math.c to math.asm
Compiling stdbool.c to stdbool.asm
Compiling stdio.c to stdio.asm
Compiling stdlib.c to stdlib.asm
Compiling string.c to string.asm
Compiling time.c to time.asm
Compiling platform_msvc.c to platform_msvc.asm
Compiling library_msvc.c to library_msvc.asm
Assembling to pico.exe

Building Pico C using gcc and the same file:

c:\pico>gcc -opico.exe @pico

(Some warnings not shown). Tcc failed to compile it. Options are kept
out of the @ file to keep it cross-compiler.

Re: Build Systems

<ubdbtc$2bl3l$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: bc...@freeuk.com (Bart)
Newsgroups: comp.lang.c
Subject: Re: Build Systems
Date: Mon, 14 Aug 2023 14:58:04 +0100
Organization: A noiseless patient Spider
Lines: 49
Message-ID: <ubdbtc$2bl3l$1@dont-email.me>
References: <uban99$1rnpb$1@dont-email.me> <87ttt2isc8.fsf@bsb.me.uk>
<ubd8t6$2b62u$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 14 Aug 2023 13:58:04 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="44f399fedb8fb11c3ad1566c9aa1cc8e";
logging-data="2479221"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18RgkaVMrAtu497X76uPLWJf3VdVnCKMIQ="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.14.0
Cancel-Lock: sha1:b4UWs2Nc2HLfyrF5GSSRqP1Dd8c=
In-Reply-To: <ubd8t6$2b62u$1@dont-email.me>
 by: Bart - Mon, 14 Aug 2023 13:58 UTC

On 14/08/2023 14:06, David Brown wrote:
> On 13/08/2023 22:45, Ben Bacarisse wrote:
>> Bart <bc@freeuk.com> writes:
>>
>
>>> Lua Interpreter: This had a makefile, but gave errors.
>>
>> Linux software, does not compile without effort on Windows. In other
>> news, bear defecates in the woods.
>>
>>> A closer look
>>> revealed things like "-DLINUX...". I know this builds on Windows, but
>>> there
>>> was no info as to how that I could see.
>>
>> They make it hard. It's hidden on the download page under the heading
>> "Building" with the confusing link "detailed instructions".
>>
>> But again, what has this do with make?
>>
>
> I opened a command prompt on my Windows PC, downloaded lua source and
> built it according to the "detailed instructions". All told, it took
> about a minute, including reading the instructions. "make" on Windows
> works fine.

So, how did you do it? I assume this is proper Windows and not WSL.

On the downloaded source bundle from Github, there were no such
instructions.

If I go to the 'detailed instructions', there I managed to derive a list
of .c files, which I put into a text file called 'fred'.

Then I can build Lua using any of:

bcc @fred -old
tcc @fred
gcc @fred -olua -O3

So the build system is - a list of 33 files (which I compiled into one
..exe; Lua prefers to split it into .exe and .dll).

No make file needed in this case at all. The supplied makefile was 25
times bigger than the simple list.

However, the point I already made was that I /wanted/ to 'make' to see
if I could get through it without errors.

Re: Build Systems

<j1sCM.59050$m8Ke.24637@fx08.iad>

  copy mid

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

  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!fx08.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: Build Systems
Newsgroups: comp.lang.c
References: <uban99$1rnpb$1@dont-email.me> <ubd7tj$2b0dl$1@dont-email.me>
Lines: 36
Message-ID: <j1sCM.59050$m8Ke.24637@fx08.iad>
X-Complaints-To: abuse@usenetserver.com
NNTP-Posting-Date: Mon, 14 Aug 2023 15:48:31 UTC
Organization: UsenetServer - www.usenetserver.com
Date: Mon, 14 Aug 2023 15:48:31 GMT
X-Received-Bytes: 2315
 by: Scott Lurndal - Mon, 14 Aug 2023 15:48 UTC

David Brown <david.brown@hesbynett.no> writes:
>On 13/08/2023 15:53, Bart wrote:
>> Bart:
>> >> Suppose you dispensed with all that dependency stuff; how long would
>> >> it take to build such a project? Say compared with just compiling one
>> >> module.
>> >>
>>
>> David Brown:
>>
>> > That particular project takes a minute and a half to compile on my
>> > laptop (it's faster on my main machine).  It's 373 compilations, perhaps
>> > 40% of it C++.  Too long for convenience.
>>
>> OK. I'm surprised (since you say you work on embedded systems) that
>> software for those can be so elaborate.
>>
>
>I work on embedded systems - mostly microcontroller systems. But why
>would that mean few files in a project? Like most programmers, I
>organise my source files and split things up in logical sections. So
>even the smallest of programs might have 15 or more C files. And this
>particular program is not small, and includes things like a network
>stack, an RTOS, and a large number of manufacturer-supplied driver files
>in the microcontroller's SDK. The final binary is about 200 KB in size.
> Oh, and I was counting compilations, not source files - the "make"
>here builds two binaries with different options for different variations
>of the program. (And the build was on my old laptop - my desktop takes
>half the time.)

We provide the firmware for our SoCs. That firmware includes
such things as UEFI or Uboot along with all the code to isolate hardware
from the OS (e.g. ACPI and processor-specific interfaces) as well
as code to initialize the hardware and the code for the various
onboard management cores (MIPS/ARM M class). It is a very large source base.

Re: Build Systems

<12sCM.59051$m8Ke.22097@fx08.iad>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx08.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: Build Systems
Newsgroups: comp.lang.c
References: <uban99$1rnpb$1@dont-email.me> <87ttt2isc8.fsf@bsb.me.uk> <ubd8t6$2b62u$1@dont-email.me> <ubdbtc$2bl3l$1@dont-email.me>
Lines: 34
Message-ID: <12sCM.59051$m8Ke.22097@fx08.iad>
X-Complaints-To: abuse@usenetserver.com
NNTP-Posting-Date: Mon, 14 Aug 2023 15:49:17 UTC
Organization: UsenetServer - www.usenetserver.com
Date: Mon, 14 Aug 2023 15:49:17 GMT
X-Received-Bytes: 1835
 by: Scott Lurndal - Mon, 14 Aug 2023 15:49 UTC

Bart <bc@freeuk.com> writes:
>On 14/08/2023 14:06, David Brown wrote:
> > On 13/08/2023 22:45, Ben Bacarisse wrote:
> >> Bart <bc@freeuk.com> writes:
> >>
> >
> >>> Lua Interpreter: This had a makefile, but gave errors.
> >>
> >> Linux software, does not compile without effort on Windows. In other
> >> news, bear defecates in the woods.
> >>
> >>> A closer look
> >>> revealed things like "-DLINUX...". I know this builds on Windows, but
> >>> there
> >>> was no info as to how that I could see.
> >>
> >> They make it hard. It's hidden on the download page under the heading
> >> "Building" with the confusing link "detailed instructions".
> >>
> >> But again, what has this do with make?
> >>
> >
> > I opened a command prompt on my Windows PC, downloaded lua source and
> > built it according to the "detailed instructions". All told, it took
> > about a minute, including reading the instructions. "make" on Windows
> > works fine.
>
>So, how did you do it? I assume this is proper Windows and not WSL.
>
>On the downloaded source bundle from Github, there were no such
>instructions.

You've been pointed to the instructions more than once in this
thread.

Re: Build Systems

<ubdmk4$2dao7$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: bc...@freeuk.com (Bart)
Newsgroups: comp.lang.c
Subject: Re: Build Systems
Date: Mon, 14 Aug 2023 18:00:53 +0100
Organization: A noiseless patient Spider
Lines: 30
Message-ID: <ubdmk4$2dao7$1@dont-email.me>
References: <uban99$1rnpb$1@dont-email.me> <87ttt2isc8.fsf@bsb.me.uk>
<ubd8t6$2b62u$1@dont-email.me> <ubdbtc$2bl3l$1@dont-email.me>
<12sCM.59051$m8Ke.22097@fx08.iad>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 14 Aug 2023 17:00:52 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="44f399fedb8fb11c3ad1566c9aa1cc8e";
logging-data="2534151"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+2m3CyLdpwRt/ad1M+xWWmHJKXTHMSFbw="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.14.0
Cancel-Lock: sha1:Vs+kJVkhBmIpOoYiTbh9/0ZGyD4=
In-Reply-To: <12sCM.59051$m8Ke.22097@fx08.iad>
 by: Bart - Mon, 14 Aug 2023 17:00 UTC

On 14/08/2023 16:49, Scott Lurndal wrote:
> Bart <bc@freeuk.com> writes:

>> So, how did you do it? I assume this is proper Windows and not WSL.
>>
>> On the downloaded source bundle from Github, there were no such
>> instructions.
>
> You've been pointed to the instructions more than once in this
> thread.

And I've twice said I've found them. I also said how I eventually
managed to build that program (hint: it didn't involve a makefile).

But what those other commentators have not said is how they would build
it or have built it. With a working Windows makefile or not? I still
don't know.

I do know that all 5 projects I mentioned could be trivially built with
the simplest script. Yet all through the other thread everybody was
pushing make and makefiles.

But then you always make these drive-past comments in claiming something
that isn't true, or suggesting I'm lying about something, or saying my
in-house languages were hobby projects, and never back them up or admit
you were wrong.

It seems like a personal campaign against me.

So, in that case: fuck you.

Re: Build Systems

<ubfave$2o5nd$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: david.br...@hesbynett.no (David Brown)
Newsgroups: comp.lang.c
Subject: Re: Build Systems
Date: Tue, 15 Aug 2023 09:54:21 +0200
Organization: A noiseless patient Spider
Lines: 49
Message-ID: <ubfave$2o5nd$1@dont-email.me>
References: <uban99$1rnpb$1@dont-email.me> <87ttt2isc8.fsf@bsb.me.uk>
<ubd8t6$2b62u$1@dont-email.me> <ubdbtc$2bl3l$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 15 Aug 2023 07:54:22 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="10ce11f68d8c291ce7348f2f767658cc";
logging-data="2889453"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18349xJGkRHMI7+yXM4CUVFJznRwII0Gdo="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
Thunderbird/102.9.0
Cancel-Lock: sha1:LQy7Mm+KbZ6UV20B1esoSmd/sx0=
In-Reply-To: <ubdbtc$2bl3l$1@dont-email.me>
Content-Language: en-GB
 by: David Brown - Tue, 15 Aug 2023 07:54 UTC

On 14/08/2023 15:58, Bart wrote:
> On 14/08/2023 14:06, David Brown wrote:
> > On 13/08/2023 22:45, Ben Bacarisse wrote:
> >> Bart <bc@freeuk.com> writes:
> >>
> >
> >>> Lua Interpreter: This had a makefile, but gave errors.
> >>
> >> Linux software, does not compile without effort on Windows.  In other
> >> news, bear defecates in the woods.
> >>
> >>> A closer look
> >>> revealed things like "-DLINUX...". I know this builds on Windows, but
> >>> there
> >>> was no info as to how that I could see.
> >>
> >> They make it hard.  It's hidden on the download page under the heading
> >> "Building" with the confusing link "detailed instructions".
> >>
> >> But again, what has this do with make?
> >>
> >
> > I opened a command prompt on my Windows PC, downloaded lua source and
> > built it according to the "detailed instructions".  All told, it took
> > about a minute, including reading the instructions.  "make" on Windows
> > works fine.
>
> So, how did you do it? I assume this is proper Windows and not WSL.
>

Yes, "proper" Windows. I have msys2/mingw64 installed. (I haven't used
it for several years, because I haven't needed it.) I followed the
instructions - "curl" to download the lua tarball, "tar" to extract it,
then "cd" into the directory. As noted on the "detailed instructions",
I tried "make" and found it failed to guess the platform exactly. So I
then - as directed by the instructions - used "make mingw". Then I had
"lua.exe" and "luac.exe" build.

> On the downloaded source bundle from Github, there were no such
> instructions.

The "readme" file says "For complete information about Lua, visit lua.org."

Seriously, how much spoonfeeding do you need? Is it /that/ hard to read
a few lines on a webpage?

Re: Build Systems

<ubfeqj$2oop4$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: david.br...@hesbynett.no (David Brown)
Newsgroups: comp.lang.c
Subject: Re: Build Systems
Date: Tue, 15 Aug 2023 11:00:03 +0200
Organization: A noiseless patient Spider
Lines: 66
Message-ID: <ubfeqj$2oop4$1@dont-email.me>
References: <uban99$1rnpb$1@dont-email.me> <87ttt2isc8.fsf@bsb.me.uk>
<ubd8t6$2b62u$1@dont-email.me> <ubdbtc$2bl3l$1@dont-email.me>
<12sCM.59051$m8Ke.22097@fx08.iad> <ubdmk4$2dao7$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 15 Aug 2023 09:00:03 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="10ce11f68d8c291ce7348f2f767658cc";
logging-data="2908964"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18/xEwmc4JJ1WOQLRulsh7lybrtoz6r+9g="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
Thunderbird/102.9.0
Cancel-Lock: sha1:dYPYintlZnN01FMeDieMvzKAr/M=
In-Reply-To: <ubdmk4$2dao7$1@dont-email.me>
Content-Language: en-GB
 by: David Brown - Tue, 15 Aug 2023 09:00 UTC

On 14/08/2023 19:00, Bart wrote:
> On 14/08/2023 16:49, Scott Lurndal wrote:
>> Bart <bc@freeuk.com> writes:
>
>>> So, how did you do it? I assume this is proper Windows and not WSL.
>>>
>>> On the downloaded source bundle from Github, there were no such
>>> instructions.
>>
>> You've been pointed to the instructions more than once in this
>> thread.
>
> And I've twice said I've found them.

Apparently not.

> I also said how I eventually
> managed to build that program (hint: it didn't involve a makefile).
>
> But what those other commentators have not said is how they would build
> it or have built it.

I told you how /I/ built it on Windows - by following the instructions,
using "make" on Windows. And now in another post I've given even more
details, which I hope will answer all your questions.

> With a working Windows makefile or not? I still
> don't know.

You would have known if you'd read my post yesterday in which I said
that is /exactly/ what I did.

>
> I do know that all 5 projects I mentioned could be trivially built with
> the simplest script. Yet all through the other thread everybody was
> pushing make and makefiles.
>

Probably all projects /could/ be built with scripts - though for many
projects, it would not be trivial. But that does not make scripts the
best choice for building them. And such scripts are certainly not the
best choice when developing projects (as distinct from distributing
complete ready-to-use projects, which is a very different thing).

> But then you always make these drive-past comments in claiming something
> that isn't true, or suggesting I'm lying about something, or saying my
> in-house languages were hobby projects, and never back them up or admit
> you were wrong.
>
> It seems like a personal campaign against me.
>

When you are saying one thing, and everyone else is saying something
different, does it ever occur to you that perhaps /you/ are the one that
is in the wrong?

This is not a "campaign against you". These threads are (for me, at
least), an attempt to educate you and help you at least appreciate why
other people use tools like make and gcc, even if /you/ don't like them.
And they are also to counter misinformation and confusion that you
post - other people might read your posts and think they are accurate or
represent reality for C development.

Re: Build Systems

<ubffa1$2oop4$2@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: david.br...@hesbynett.no (David Brown)
Newsgroups: comp.lang.c
Subject: Re: Build Systems
Date: Tue, 15 Aug 2023 11:08:17 +0200
Organization: A noiseless patient Spider
Lines: 43
Message-ID: <ubffa1$2oop4$2@dont-email.me>
References: <uban99$1rnpb$1@dont-email.me> <ubd7tj$2b0dl$1@dont-email.me>
<ubdaqs$2bfi7$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 15 Aug 2023 09:08:17 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="10ce11f68d8c291ce7348f2f767658cc";
logging-data="2908964"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18Idps5oMTP8EmhsaLhihho11PLghsorvM="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
Thunderbird/102.9.0
Cancel-Lock: sha1:1Rv83+o45+SO0VjIWNCGkmlmB9M=
Content-Language: en-GB
In-Reply-To: <ubdaqs$2bfi7$1@dont-email.me>
 by: David Brown - Tue, 15 Aug 2023 09:08 UTC

On 14/08/2023 15:39, Bart wrote:
> On 14/08/2023 13:49, David Brown wrote:
> > On 13/08/2023 15:53, Bart wrote:
> >> OK. I'm surprised (since you say you work on embedded systems) that
> >> software for those can be so elaborate.
> >>
> >
> > I work on embedded systems - mostly microcontroller systems.  But why
> > would that mean few files in a project?  Like most programmers, I
> > organise my source files and split things up in logical sections.  So
> > even the smallest of programs might have 15 or more C files.  And this
> > particular program is not small, and includes things like a network
> > stack, an RTOS, and a large number of manufacturer-supplied driver files
> > in the microcontroller's SDK.  The final binary is about 200 KB in size.
>
> So several different components. Would you really need to build all the
> other components when working on only one of them, if you didn't have a
> makefile to tell you where each belonged?
>

"make" automates the process of figuring out which compilations are
needed. Of course it doesn't do anything that I could not do manually.
And if I change "spi.c" then I know I need to re-compile that, and not
"uart.c", and other files. But that would mean that after editing
"spi.c" I'd have to manually choose to re-compile "spi.c", including the
perhaps 500 or more characters in the command line (lots of warning
flags, carefully chosen options, pre-defined macros, directory paths for
source code, object code, listing files, include paths, etc. - this is
not a "hello.c" toy on a PC). And if I changed the "clocks.h" header,
I'd have to look through dozens of source files to see which ones
included that header and needed re-compiling, and which ones do not.

Or I can type "make". (Or, more commonly, press "ctrl-B" and the IDE
will do "make" and update the source windows with markers for any issues
found.)

Which do you think is a better choice for development?

<snip the irrelevant whining about your inability to use tools everyone
else uses, and claims that your own tools are therefore better even
though they are useless to the rest of the world>

Re: Build Systems

<ba275936-1cc8-4dc5-9816-00a26666cb97n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
X-Received: by 2002:a37:5a41:0:b0:76c:daf4:2787 with SMTP id o62-20020a375a41000000b0076cdaf42787mr120331qkb.4.1692093366576;
Tue, 15 Aug 2023 02:56:06 -0700 (PDT)
X-Received: by 2002:a17:903:2301:b0:1b8:95fc:d0f with SMTP id
d1-20020a170903230100b001b895fc0d0fmr5103703plh.7.1692093366261; Tue, 15 Aug
2023 02:56:06 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.c
Date: Tue, 15 Aug 2023 02:56:05 -0700 (PDT)
In-Reply-To: <ubffa1$2oop4$2@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=2a00:23a8:400a:5601:900a:cfb6:6e63:ff91;
posting-account=Dz2zqgkAAADlK5MFu78bw3ab-BRFV4Qn
NNTP-Posting-Host: 2a00:23a8:400a:5601:900a:cfb6:6e63:ff91
References: <uban99$1rnpb$1@dont-email.me> <ubd7tj$2b0dl$1@dont-email.me>
<ubdaqs$2bfi7$1@dont-email.me> <ubffa1$2oop4$2@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ba275936-1cc8-4dc5-9816-00a26666cb97n@googlegroups.com>
Subject: Re: Build Systems
From: malcolm....@gmail.com (Malcolm McLean)
Injection-Date: Tue, 15 Aug 2023 09:56:06 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Malcolm McLean - Tue, 15 Aug 2023 09:56 UTC

On Tuesday, 15 August 2023 at 10:08:32 UTC+1, David Brown wrote:
> On 14/08/2023 15:39, Bart wrote:
> > On 14/08/2023 13:49, David Brown wrote:
> > > On 13/08/2023 15:53, Bart wrote:
> > >> OK. I'm surprised (since you say you work on embedded systems) that
> > >> software for those can be so elaborate.
> > >>
> > >
> > > I work on embedded systems - mostly microcontroller systems. But why
> > > would that mean few files in a project? Like most programmers, I
> > > organise my source files and split things up in logical sections. So
> > > even the smallest of programs might have 15 or more C files. And this
> > > particular program is not small, and includes things like a network
> > > stack, an RTOS, and a large number of manufacturer-supplied driver files
> > > in the microcontroller's SDK. The final binary is about 200 KB in size.
> >
> > So several different components. Would you really need to build all the
> > other components when working on only one of them, if you didn't have a
> > makefile to tell you where each belonged?
> >
> "make" automates the process of figuring out which compilations are
> needed. Of course it doesn't do anything that I could not do manually.
> And if I change "spi.c" then I know I need to re-compile that, and not
> "uart.c", and other files. But that would mean that after editing
> "spi.c" I'd have to manually choose to re-compile "spi.c", including the
> perhaps 500 or more characters in the command line (lots of warning
> flags, carefully chosen options, pre-defined macros, directory paths for
> source code, object code, listing files, include paths, etc. - this is
> not a "hello.c" toy on a PC). And if I changed the "clocks.h" header,
> I'd have to look through dozens of source files to see which ones
> included that header and needed re-compiling, and which ones do not.
>
> Or I can type "make". (Or, more commonly, press "ctrl-B" and the IDE
> will do "make" and update the source windows with markers for any issues
> found.)
>
> Which do you think is a better choice for development?
>
The problem with that is that the make files will contain 500 or more characters
of lots of warning flags, carefully chosen options, pre-defined macros, directory
paths for source code, object code, listing files, include paths, etc). It's OK
whilst you are developing the project, because everything is set up just so.

But what happens if you need to dust it off some years later? What if something
goes wrong?

I'm not saying there's an easy answer.

But code broke for me just this morning. Someone had added a test to the test suite,
and messed with the CMake script so that it always searched for CppuTest instead
of only when tests were being built. So it broke my build, and I was in the CMake files
and git history, trying to work out what was wrong. But at least CMake gives good errors
and has intuitive syntax.

Re: Build Systems

<ubfipj$2pcjc$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: bc...@freeuk.com (Bart)
Newsgroups: comp.lang.c
Subject: Re: Build Systems
Date: Tue, 15 Aug 2023 11:07:49 +0100
Organization: A noiseless patient Spider
Lines: 140
Message-ID: <ubfipj$2pcjc$1@dont-email.me>
References: <uban99$1rnpb$1@dont-email.me> <87ttt2isc8.fsf@bsb.me.uk>
<ubd8t6$2b62u$1@dont-email.me> <ubdbtc$2bl3l$1@dont-email.me>
<ubfave$2o5nd$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 15 Aug 2023 10:07:47 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="b2bb591c1712a7be1bb8b1a577f1cf0d";
logging-data="2929260"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18PUnY45GTS1TBluyIHDP4GB7a85aw7f8A="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.14.0
Cancel-Lock: sha1:BqhOgAhprwWtEnINAUgBv9ap9sk=
In-Reply-To: <ubfave$2o5nd$1@dont-email.me>
 by: Bart - Tue, 15 Aug 2023 10:07 UTC

On 15/08/2023 08:54, David Brown wrote:
> On 14/08/2023 15:58, Bart wrote:
>> On 14/08/2023 14:06, David Brown wrote:
>> > On 13/08/2023 22:45, Ben Bacarisse wrote:
>> >> Bart <bc@freeuk.com> writes:
>> >>
>> >
>> >>> Lua Interpreter: This had a makefile, but gave errors.
>> >>
>> >> Linux software, does not compile without effort on Windows. In
other
>> >> news, bear defecates in the woods.
>> >>
>> >>> A closer look
>> >>> revealed things like "-DLINUX...". I know this builds on Windows,
>> but
>> >>> there
>> >>> was no info as to how that I could see.
>> >>
>> >> They make it hard. It's hidden on the download page under the
>> heading
>> >> "Building" with the confusing link "detailed instructions".
>> >>
>> >> But again, what has this do with make?
>> >>
>> >
>> > I opened a command prompt on my Windows PC, downloaded lua source and
>> > built it according to the "detailed instructions". All told, it took
>> > about a minute, including reading the instructions. "make" on
Windows
>> > works fine.
>>
>> So, how did you do it? I assume this is proper Windows and not WSL.
>>
>
> Yes, "proper" Windows. I have msys2/mingw64 installed. (I haven't used
> it for several years, because I haven't needed it.) I followed the
> instructions - "curl" to download the lua tarball, "tar" to extract it,
> then "cd" into the directory.
" but here is a simple terminal session that downloads the current
release of Lua and builds it in Linux:"

Proper Windows indeed!

> As noted on the "detailed instructions",
> I tried "make" and found it failed to guess the platform exactly. So I
> then - as directed by the instructions - used "make mingw". Then I had
> "lua.exe" and "luac.exe" build.
OK, you got me. There one mention of "mingw" (not "make mingw") on this
page:

https://www.lua.org/manual/5.4/readme.html

It is in a section called Building Lua which starts with:

"In most common UNIX-LIKE platforms, simply do "make". Here are the
details." (My emphasis)

In subsection 3, "mingw" occurs in this list, all well-known versions of
Windows:

"guess aix bsd c89 freebsd generic ios linux linux-readline
macosx mingw posix solaris"

Silly me for not spotting that and looking ahead to a section called:

"Building Lua on other systems"

Which starts with:

"If you're not using the usual Unix tools,"

Not exactly crystal clear is it.

This reminds of forums where people complaing of being caught out on
some parking infringement because the signs were not clear. And others
say of course they were clear: all the rules were explained in the small
print at the bottom of that sign placed 12' up that post, /inside/ the
car park!

Of course, even after all that, I extract a fresh copy of the
'lua-master' folders, do 'make mingw', and it says:

make: *** No rule to make target 'mingw'. Stop.

So NOW what am I doing wrong?

One thing that you must acknowledges is that those build instructions
could surely be less Unix-centric and could even have a special section
for Windows.

It is after all hardly a minor or uncommon OS. You don't really want to
scour it for clues within the 'small print'.

The only mention of Windows on that page is a suggestion to generate a
DLL instead (why?).

>> On the downloaded source bundle from Github, there were no such
>> instructions.
>
> The "readme" file says "For complete information about Lua, visit
lua.org."
>
> Seriously, how much spoonfeeding do you need? Is it /that/ hard to read
> a few lines on a webpage?

How hard is it to just say:

# For building on Windows use 'make mingw'

within the makefile? (Slightly harder is to ensure it works.)

Now I KNOW this is personal. You will not acknowledge that the build
instructions could be better; it HAS to be my fault.

NOTES

(1) Note that under Building Lua it says:

"Open a terminal window and move to the top-level directory, which is
named lua-5.4.6."

My directory isn't called lua-5.4.6. It's called "lua-master". It was
obtained from https://github.com/lua/lua using 'Download ZIP'.

If I go to Releases, then I can get one with the right name, but it's
the same set of files and still doesn't build.

(2) At the end of the day, I did after all get lua.exe, working from the
list of .o files given later on the page.

So no thanks to those earlier instructions, or to 'make'.

> Is it /that/ hard to read a few lines on a webpage?

Hand-on-heart, would you say that page was clearly written for Windows
users?

Pages:12345678910111213
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor