Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

"You are WRONG, you ol' brass-breasted fascist poop!" -- Bloom County


devel / comp.unix.programmer / Re: Build Systems

SubjectAuthor
* Build Systemsvallor
`* Build SystemsKaz Kylheku
 `* Build SystemsRainer Weikusat
  +* Build SystemsSpiros Bousbouras
  |`- Build SystemsKaz Kylheku
  `* Build SystemsKaz Kylheku
   `* Build SystemsRainer Weikusat
    `* Build SystemsKaz Kylheku
     `* Build SystemsRainer Weikusat
      `* Build SystemsKaz Kylheku
       `* Build SystemsRainer Weikusat
        `- Build SystemsScott Lurndal

1
Re: Build Systems

<87edjrhz1d.fsf@doppelsaurus.mobileactivedefense.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=9869&group=comp.unix.programmer#9869

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: rweiku...@talktalk.net (Rainer Weikusat)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Build Systems
Date: Fri, 25 Aug 2023 17:22:54 +0100
Lines: 12
Message-ID: <87edjrhz1d.fsf@doppelsaurus.mobileactivedefense.com>
References: <uban99$1rnpb$1@dont-email.me> <ubtvb0$1hpq8$1@dont-email.me>
<87wmxps26h.fsf@bsb.me.uk> <ubub09$1jeo1$1@dont-email.me>
<87r0nxrvm1.fsf@bsb.me.uk> <ubvd3u$1roqh$1@dont-email.me>
<87zg2jrk7t.fsf@bsb.me.uk> <uc12e1$245uh$1@dont-email.me>
<87lee2qz5v.fsf@bsb.me.uk> <uc51ia$2ug61$1@dont-email.me>
<20230823195415.19d4c01e0cb2ca57faf92c07@g{oogle}mail.com>
<uc5ft2$311jt$2@dont-email.me> <uc5p8k$330u9$1@dont-email.me>
<20230824083325.525@kylheku.com> <uc85ot$3illn$1@dont-email.me>
<OjNFM.897908$GMN3.79590@fx16.iad> <uc8f9v$3j9v3$1@dont-email.me>
<20230824160017.406@kylheku.com>
Mime-Version: 1.0
Content-Type: text/plain
X-Trace: individual.net 69Zl1DfzuTYBK+GTTRnvBAzlCgZ1zujoIOFc+/Tw4R6L1eigM=
Cancel-Lock: sha1:71T0baO88Z+EaPUgJs6Xmqq6aCI= sha1:rbd6tjll9w8tOwXqydEyIF1yqVk= sha256:mtlN/Au5BQpxwEh42H6CeXev8lH/dHu8nsjM3QcqN2Q=
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
 by: Rainer Weikusat - Fri, 25 Aug 2023 16:22 UTC

Kaz Kylheku <864-117-4973@kylheku.com> writes:

[...]

> If you're unfortunate enough to work with AutoTools, then for pete's
> sake, generate the configure script, and the Makefile.in and whatnot,
> and check them into the repository. Do that every time they change.

I routinely remove these from any source tree I seriously need to work
with because sooner or later, changes to all the autosomething files
will become necessary and intermediate autosomething files generated
from the others tend to get in the way then.

Re: Build Systems

<55ZtEPESLDecorlDj@bongo-ra.co>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=9870&group=comp.unix.programmer#9870

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: spi...@gmail.com (Spiros Bousbouras)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Build Systems
Date: Fri, 25 Aug 2023 16:39:28 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 18
Message-ID: <55ZtEPESLDecorlDj@bongo-ra.co>
References: <uban99$1rnpb$1@dont-email.me> <ubtvb0$1hpq8$1@dont-email.me> <87wmxps26h.fsf@bsb.me.uk>
<ubub09$1jeo1$1@dont-email.me> <87r0nxrvm1.fsf@bsb.me.uk> <ubvd3u$1roqh$1@dont-email.me>
<87zg2jrk7t.fsf@bsb.me.uk> <uc12e1$245uh$1@dont-email.me> <87lee2qz5v.fsf@bsb.me.uk>
<uc51ia$2ug61$1@dont-email.me> <20230823195415.19d4c01e0cb2ca57faf92c07@g{oogle}mail.com> <uc5ft2$311jt$2@dont-email.me>
<uc5p8k$330u9$1@dont-email.me> <20230824083325.525@kylheku.com> <uc85ot$3illn$1@dont-email.me>
<OjNFM.897908$GMN3.79590@fx16.iad> <uc8f9v$3j9v3$1@dont-email.me> <20230824160017.406@kylheku.com>
<87edjrhz1d.fsf@doppelsaurus.mobileactivedefense.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 25 Aug 2023 16:39:28 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="8ebd16a256b2490518de4f551bf0edd8";
logging-data="133357"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/sA9d2f0j9B7vsg3OpU6mj"
Cancel-Lock: sha1:AOqxc5tr32Tn26LohsDYZ6UOzR8=
In-Reply-To: <87edjrhz1d.fsf@doppelsaurus.mobileactivedefense.com>
X-Server-Commands: nowebcancel
X-Organisation: Weyland-Yutani
 by: Spiros Bousbouras - Fri, 25 Aug 2023 16:39 UTC

On Fri, 25 Aug 2023 17:22:54 +0100
Rainer Weikusat <rweikusat@talktalk.net> wrote:
> Kaz Kylheku <864-117-4973@kylheku.com> writes:
>
> [...]
>
> > If you're unfortunate enough to work with AutoTools, then for pete's
> > sake, generate the configure script, and the Makefile.in and whatnot,
> > and check them into the repository. Do that every time they change.
>
> I routinely remove these from any source tree I seriously need to work
> with because sooner or later, changes to all the autosomething files
> will become necessary and intermediate autosomething files generated
> from the others tend to get in the way then.

git supports the gitignore file to cover such situations :
https://git-scm.com/docs/gitignore .So you can add all the automatically
generated files to a gitgnore file.

Re: Build Systems

<20230825095132.571@kylheku.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=9871&group=comp.unix.programmer#9871

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
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,comp.unix.programmer
Subject: Re: Build Systems
Date: Fri, 25 Aug 2023 16:54:14 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 27
Message-ID: <20230825095132.571@kylheku.com>
References: <uban99$1rnpb$1@dont-email.me> <ubtvb0$1hpq8$1@dont-email.me>
<87wmxps26h.fsf@bsb.me.uk> <ubub09$1jeo1$1@dont-email.me>
<87r0nxrvm1.fsf@bsb.me.uk> <ubvd3u$1roqh$1@dont-email.me>
<87zg2jrk7t.fsf@bsb.me.uk> <uc12e1$245uh$1@dont-email.me>
<87lee2qz5v.fsf@bsb.me.uk> <uc51ia$2ug61$1@dont-email.me>
<20230823195415.19d4c01e0cb2ca57faf92c07@g{oogle}mail.com>
<uc5ft2$311jt$2@dont-email.me> <uc5p8k$330u9$1@dont-email.me>
<20230824083325.525@kylheku.com> <uc85ot$3illn$1@dont-email.me>
<OjNFM.897908$GMN3.79590@fx16.iad> <uc8f9v$3j9v3$1@dont-email.me>
<20230824160017.406@kylheku.com>
<87edjrhz1d.fsf@doppelsaurus.mobileactivedefense.com>
<55ZtEPESLDecorlDj@bongo-ra.co>
Injection-Date: Fri, 25 Aug 2023 16:54:14 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="da362067bb31f42f1d40f21531177749";
logging-data="137272"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+ERqrgG1DSFeHSZhX05ps/o75y63+UjDA="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:YXoLEu6J+Ge52jCE2RnLMI5/H/U=
 by: Kaz Kylheku - Fri, 25 Aug 2023 16:54 UTC

On 2023-08-25, Spiros Bousbouras <spibou@gmail.com> wrote:
> On Fri, 25 Aug 2023 17:22:54 +0100
> Rainer Weikusat <rweikusat@talktalk.net> wrote:
>> Kaz Kylheku <864-117-4973@kylheku.com> writes:
>>
>> [...]
>>
>> > If you're unfortunate enough to work with AutoTools, then for pete's
>> > sake, generate the configure script, and the Makefile.in and whatnot,
>> > and check them into the repository. Do that every time they change.
>>
>> I routinely remove these from any source tree I seriously need to work
>> with because sooner or later, changes to all the autosomething files
>> will become necessary and intermediate autosomething files generated
>> from the others tend to get in the way then.
>
> git supports the gitignore file to cover such situations :
> https://git-scm.com/docs/gitignore .So you can add all the automatically
> generated files to a gitgnore file.

I think, gitignore doesn't cover the situation when some of those files
are tracked in git, but you disagree.

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

Re: Build Systems

<20230825095521.754@kylheku.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=9872&group=comp.unix.programmer#9872

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
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,comp.unix.programmer
Subject: Re: Build Systems
Date: Fri, 25 Aug 2023 17:02:31 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 27
Message-ID: <20230825095521.754@kylheku.com>
References: <uban99$1rnpb$1@dont-email.me> <ubtvb0$1hpq8$1@dont-email.me>
<87wmxps26h.fsf@bsb.me.uk> <ubub09$1jeo1$1@dont-email.me>
<87r0nxrvm1.fsf@bsb.me.uk> <ubvd3u$1roqh$1@dont-email.me>
<87zg2jrk7t.fsf@bsb.me.uk> <uc12e1$245uh$1@dont-email.me>
<87lee2qz5v.fsf@bsb.me.uk> <uc51ia$2ug61$1@dont-email.me>
<20230823195415.19d4c01e0cb2ca57faf92c07@g{oogle}mail.com>
<uc5ft2$311jt$2@dont-email.me> <uc5p8k$330u9$1@dont-email.me>
<20230824083325.525@kylheku.com> <uc85ot$3illn$1@dont-email.me>
<OjNFM.897908$GMN3.79590@fx16.iad> <uc8f9v$3j9v3$1@dont-email.me>
<20230824160017.406@kylheku.com>
<87edjrhz1d.fsf@doppelsaurus.mobileactivedefense.com>
Injection-Date: Fri, 25 Aug 2023 17:02:31 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="da362067bb31f42f1d40f21531177749";
logging-data="137272"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18Gsm7aXCo7Tl+vDiz8ALfxBYM9aRtimP4="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:bV6dz4Qk2UVrjNDjJ+xbJ86sNgw=
 by: Kaz Kylheku - Fri, 25 Aug 2023 17:02 UTC

On 2023-08-25, Rainer Weikusat <rweikusat@talktalk.net> wrote:
> Kaz Kylheku <864-117-4973@kylheku.com> writes:
>
> [...]
>
>> If you're unfortunate enough to work with AutoTools, then for pete's
>> sake, generate the configure script, and the Makefile.in and whatnot,
>> and check them into the repository. Do that every time they change.
>
> I routinely remove these from any source tree I seriously need to work
> with because sooner or later, changes to all the autosomething files
> will become necessary and intermediate autosomething files generated
> from the others tend to get in the way then.

If you have to change the configuration, you have to make a commit for
that and check in the updated files.

That maintains the repository in a configurable, buildable state
for a downstream user who deosn't have AutoTools installed.

If you use the same version of the tools as what was previously used,
then the diffs in those files will be minimized.

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

Re: Build Systems

<87a5ufhtk5.fsf@doppelsaurus.mobileactivedefense.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=9873&group=comp.unix.programmer#9873

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: rweiku...@talktalk.net (Rainer Weikusat)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Build Systems
Date: Fri, 25 Aug 2023 19:21:14 +0100
Lines: 27
Message-ID: <87a5ufhtk5.fsf@doppelsaurus.mobileactivedefense.com>
References: <uban99$1rnpb$1@dont-email.me> <ubtvb0$1hpq8$1@dont-email.me>
<87wmxps26h.fsf@bsb.me.uk> <ubub09$1jeo1$1@dont-email.me>
<87r0nxrvm1.fsf@bsb.me.uk> <ubvd3u$1roqh$1@dont-email.me>
<87zg2jrk7t.fsf@bsb.me.uk> <uc12e1$245uh$1@dont-email.me>
<87lee2qz5v.fsf@bsb.me.uk> <uc51ia$2ug61$1@dont-email.me>
<20230823195415.19d4c01e0cb2ca57faf92c07@g{oogle}mail.com>
<uc5ft2$311jt$2@dont-email.me> <uc5p8k$330u9$1@dont-email.me>
<20230824083325.525@kylheku.com> <uc85ot$3illn$1@dont-email.me>
<OjNFM.897908$GMN3.79590@fx16.iad> <uc8f9v$3j9v3$1@dont-email.me>
<20230824160017.406@kylheku.com>
<87edjrhz1d.fsf@doppelsaurus.mobileactivedefense.com>
<20230825095521.754@kylheku.com>
Mime-Version: 1.0
Content-Type: text/plain
X-Trace: individual.net RKm8jN1TUisJvi2WxCOMZQh0ggtX8PBMlPnYsfhtaqm0IyZb4=
Cancel-Lock: sha1:77FYLgAteVbgdG6KdJYITSnlAGk= sha1:jwj1QafKUvNrF89OQ1qfhvEcraw= sha256:jlYpBMzy1yw3Rge+fpK2ASCDGa6x6Aeb6xYcjz9GdtI=
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
 by: Rainer Weikusat - Fri, 25 Aug 2023 18:21 UTC

Kaz Kylheku <864-117-4973@kylheku.com> writes:
> On 2023-08-25, Rainer Weikusat <rweikusat@talktalk.net> wrote:
>> Kaz Kylheku <864-117-4973@kylheku.com> writes:
>>
>> [...]
>>
>>> If you're unfortunate enough to work with AutoTools, then for pete's
>>> sake, generate the configure script, and the Makefile.in and whatnot,
>>> and check them into the repository. Do that every time they change.
>>
>> I routinely remove these from any source tree I seriously need to work
>> with because sooner or later, changes to all the autosomething files
>> will become necessary and intermediate autosomething files generated
>> from the others tend to get in the way then.
>
> If you have to change the configuration, you have to make a commit for
> that and check in the updated files.
>
> That maintains the repository in a configurable, buildable state
> for a downstream user who deosn't have AutoTools installed.

Downstream users are a problem I don't have. Nevertheless, I think a
repository is something supposed to be used for development, ie, it
should be expected that users of it will make changes to .ac and .am
files. If the files generated from these are also in the repository,
nuisance git dances will have to be performed to deal with them and this
will also cause nuisance merge conflicts for updates.

Re: Build Systems

<20230825113441.899@kylheku.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=9874&group=comp.unix.programmer#9874

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
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,comp.unix.programmer
Subject: Re: Build Systems
Date: Fri, 25 Aug 2023 18:56:04 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 54
Message-ID: <20230825113441.899@kylheku.com>
References: <uban99$1rnpb$1@dont-email.me> <ubtvb0$1hpq8$1@dont-email.me>
<87wmxps26h.fsf@bsb.me.uk> <ubub09$1jeo1$1@dont-email.me>
<87r0nxrvm1.fsf@bsb.me.uk> <ubvd3u$1roqh$1@dont-email.me>
<87zg2jrk7t.fsf@bsb.me.uk> <uc12e1$245uh$1@dont-email.me>
<87lee2qz5v.fsf@bsb.me.uk> <uc51ia$2ug61$1@dont-email.me>
<20230823195415.19d4c01e0cb2ca57faf92c07@g{oogle}mail.com>
<uc5ft2$311jt$2@dont-email.me> <uc5p8k$330u9$1@dont-email.me>
<20230824083325.525@kylheku.com> <uc85ot$3illn$1@dont-email.me>
<OjNFM.897908$GMN3.79590@fx16.iad> <uc8f9v$3j9v3$1@dont-email.me>
<20230824160017.406@kylheku.com>
<87edjrhz1d.fsf@doppelsaurus.mobileactivedefense.com>
<20230825095521.754@kylheku.com>
<87a5ufhtk5.fsf@doppelsaurus.mobileactivedefense.com>
Injection-Date: Fri, 25 Aug 2023 18:56:04 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="da362067bb31f42f1d40f21531177749";
logging-data="182461"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/4dDlLGPMXS3/t9GMp5ol+1Xw1DZdJB+k="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:Jga7PnfMGW1c6c2fHODTcGJAwRE=
 by: Kaz Kylheku - Fri, 25 Aug 2023 18:56 UTC

On 2023-08-25, Rainer Weikusat <rweikusat@talktalk.net> wrote:
> Kaz Kylheku <864-117-4973@kylheku.com> writes:
>> That maintains the repository in a configurable, buildable state
>> for a downstream user who deosn't have AutoTools installed.
>
> Downstream users are a problem I don't have.
>
> Nevertheless, I think a
> repository is something supposed to be used for development, ie, it
> should be expected that users of it will make changes to .ac and .am
> files.

A repository should easily support all parties. Someone who wants to
build the program for their own use, package it for a distro, or work on
it.

Downstream users are a problem that open source projects have.

> If the files generated from these are also in the repository,
> nuisance git dances will have to be performed to deal with them and this
> will also cause nuisance merge conflicts for updates.

If you merge parallel changes to a primary file from which a secondary
file is generated, you must regenerate the secondary file. The seconary
file should not be merged. (That would be editing, and generated files
are "generated, do not edit", right?)

The problem is not that you get a conflict in the secondary file. The
problem is that you might *not* get a conflict in it, but (1) it's a bad
merge (even though the merge of the primary file is good) and (2) it
happens that the badly merged secondary has a newer timestamp than the
primary, so the build system doesn't notice that it needs to be
regenerated.

So, in fact, it's probably a good idea for a generated file to include
some boilerplate header with the time and date (or hash of the primary
file), so that it will cause a merge conflict on puprpose, preventing a
silent bad merge!

E.g.:

//
// foo.c: generated from foo.x: do not edit!
//
// If you get a merge conflict in the following line, do not try
// to resolve it (see "do not edit!) above; regenerate the file using
// "make foo.c":
//
// 0828aa34e7d8bf5c8007e897ce12459912e7ee491e1c17377432c8bf204704be

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

Re: Build Systems

<uc8f9v$3j9v3$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=9968&group=comp.unix.programmer#9968

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: val...@cultnix.org (vallor)
Newsgroups: comp.lang.c,comp.unix.programmer
Subject: Re: Build Systems
Date: Thu, 24 Aug 2023 20:41:35 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 58
Message-ID: <uc8f9v$3j9v3$1@dont-email.me>
References: <uban99$1rnpb$1@dont-email.me> <ubtvb0$1hpq8$1@dont-email.me>
<87wmxps26h.fsf@bsb.me.uk> <ubub09$1jeo1$1@dont-email.me>
<87r0nxrvm1.fsf@bsb.me.uk> <ubvd3u$1roqh$1@dont-email.me>
<87zg2jrk7t.fsf@bsb.me.uk> <uc12e1$245uh$1@dont-email.me>
<87lee2qz5v.fsf@bsb.me.uk> <uc51ia$2ug61$1@dont-email.me>
<20230823195415.19d4c01e0cb2ca57faf92c07@g{oogle}mail.com>
<uc5ft2$311jt$2@dont-email.me> <uc5p8k$330u9$1@dont-email.me>
<20230824083325.525@kylheku.com> <uc85ot$3illn$1@dont-email.me>
<OjNFM.897908$GMN3.79590@fx16.iad>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 24 Aug 2023 20:41:35 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="60c0bf381d810fb7ef7abaec130f805a";
logging-data="3778531"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18em4uNZHQTAcSf5YsZKGwN"
Cancel-Lock: sha1:aNQx/cLKjhSI46Vewh8SByqibpI=
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, 24 Aug 2023 20:41 UTC

On Thu, 24 Aug 2023 18:29:02 GMT, scott@slp53.sl.home (Scott Lurndal)
wrote in <OjNFM.897908$GMN3.79590@fx16.iad>:

> The default rules built into make(1) include a rule like
>
> %.o: %.c
> $(CC) $(CFLAGS) -o $@ -c $<

A lot of times, for simple one-off projects, I don't
need a Makefile.

Assuming a valid source file "try.c", I can
type "make try" and get an executable
called "try".

_ _ _ _ _ _ _
$ echo "int main(){ return 0; }" > try.c
$ make try
cc try.c -o try
$ make CFLAGS=-O3 try
make: 'try' is up to date.
$ rm try
$ make CFLAGS=-O3 try
cc -O3 try.c -o try
$ echo 'CFLAGS=-O3' > Makefile
$ rm try
$ make try
cc -O3 try.c -o try
_ _ _ _ _ _ _

I may be mistaken, but I'm pretty sure this works
in any modern POSIX environment.

Folks are calling it "Unix/Linux" software. But a subset of
that is POSIX, and a POSIX environment on Windows should let
you build some of the same software. (I used to use Cygwin
for that, before I jumped ship completely from Windows.)

And I used the package manager to install autoconf,
which gave me the aclocal command.

Bart:

If you're cloning a git repository on an autoconf package,
expect to run ./autogen.sh -- the included "configure" script
probably isn't set up for Windows. (Guessing.)

And for autogen to work, you'll need the autoconf
developer environment. If you're on Windows,
a working autoconf would seem to be important here,
since that gives you the "aclocal" command that is part
of the process -- and which sets up the configure script
for your environment.

(Just be glad you aren't using imake...)

--
-v

Re: Build Systems

<20230824160017.406@kylheku.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=9969&group=comp.unix.programmer#9969

  copy link   Newsgroups: comp.lang.c comp.unix.programmer
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,comp.unix.programmer
Subject: Re: Build Systems
Date: Thu, 24 Aug 2023 23:08:51 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 37
Message-ID: <20230824160017.406@kylheku.com>
References: <uban99$1rnpb$1@dont-email.me> <ubtvb0$1hpq8$1@dont-email.me>
<87wmxps26h.fsf@bsb.me.uk> <ubub09$1jeo1$1@dont-email.me>
<87r0nxrvm1.fsf@bsb.me.uk> <ubvd3u$1roqh$1@dont-email.me>
<87zg2jrk7t.fsf@bsb.me.uk> <uc12e1$245uh$1@dont-email.me>
<87lee2qz5v.fsf@bsb.me.uk> <uc51ia$2ug61$1@dont-email.me>
<20230823195415.19d4c01e0cb2ca57faf92c07@g{oogle}mail.com>
<uc5ft2$311jt$2@dont-email.me> <uc5p8k$330u9$1@dont-email.me>
<20230824083325.525@kylheku.com> <uc85ot$3illn$1@dont-email.me>
<OjNFM.897908$GMN3.79590@fx16.iad> <uc8f9v$3j9v3$1@dont-email.me>
Injection-Date: Thu, 24 Aug 2023 23:08:51 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="da362067bb31f42f1d40f21531177749";
logging-data="3860674"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+G76uTDxDiN+deXoZ4reUDBZyZPVkPrNQ="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:XvWljbb/Kf9bAvoa/NXlnxv6iBI=
 by: Kaz Kylheku - Thu, 24 Aug 2023 23:08 UTC

On 2023-08-24, vallor <vallor@cultnix.org> wrote:
> If you're cloning a git repository on an autoconf package,
> expect to run ./autogen.sh -- the included "configure" script
> probably isn't set up for Windows. (Guessing.)

An Autoconf ./configure script must work on any platform
to which the program can reasonably be considered to be ported,
plus some on which it has not been tried.

> And for autogen to work, you'll need the autoconf
> developer environment.

That defeats the whole purpose of Autoconf.

Many GNU programs are like this, unfortunately.

When they make a release, they generate the configure script and then
tar everything up. So what they are shipping is not a clean snapshot
from their repository!

Conversely, when you clone their repositories, you are not getting the
same thing as a release tarball.

You're assumed to be a developer who is willing to install the right
version of AutoCrap this and AutoPoop that,and then run "make boostrap"
or whatever.

If you're unfortunate enough to work with AutoTools, then for pete's
sake, generate the configure script, and the Makefile.in and whatnot,
and check them into the repository. Do that every time they change.

Make it so you can cut a release using "git tag" and nothing else.

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

Re: Build Systems

<877cpdakxu.fsf@doppelsaurus.mobileactivedefense.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=9974&group=comp.unix.programmer#9974

  copy link   Newsgroups: comp.unix.programmer
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!3.eu.feeder.erje.net!feeder.erje.net!news.szaf.org!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: rweiku...@talktalk.net (Rainer Weikusat)
Newsgroups: comp.unix.programmer
Subject: Re: Build Systems
Date: Tue, 29 Aug 2023 17:10:37 +0100
Lines: 20
Message-ID: <877cpdakxu.fsf@doppelsaurus.mobileactivedefense.com>
References: <uban99$1rnpb$1@dont-email.me> <87wmxps26h.fsf@bsb.me.uk>
<ubub09$1jeo1$1@dont-email.me> <87r0nxrvm1.fsf@bsb.me.uk>
<ubvd3u$1roqh$1@dont-email.me> <87zg2jrk7t.fsf@bsb.me.uk>
<uc12e1$245uh$1@dont-email.me> <87lee2qz5v.fsf@bsb.me.uk>
<uc51ia$2ug61$1@dont-email.me>
<20230823195415.19d4c01e0cb2ca57faf92c07@g{oogle}mail.com>
<uc5ft2$311jt$2@dont-email.me> <uc5p8k$330u9$1@dont-email.me>
<20230824083325.525@kylheku.com> <uc85ot$3illn$1@dont-email.me>
<OjNFM.897908$GMN3.79590@fx16.iad> <uc8f9v$3j9v3$1@dont-email.me>
<20230824160017.406@kylheku.com>
<87edjrhz1d.fsf@doppelsaurus.mobileactivedefense.com>
<20230825095521.754@kylheku.com>
<87a5ufhtk5.fsf@doppelsaurus.mobileactivedefense.com>
<20230825113441.899@kylheku.com>
Mime-Version: 1.0
Content-Type: text/plain
X-Trace: individual.net 7qNs1s/H6s0iPNcOqrRLlQgP0WkSefa9xdLKp1tDl/VXUhBxo=
Cancel-Lock: sha1:TIzDsAsIF88Ay0FNYnSBMSZ2mNo= sha1:sb/QTz4vcDmMzllHoG4Bg5V7Hp0= sha256:Tdp/nXGAwu/Cv38/6JWBsmob4+RYItxVh+Oq91zOWRU=
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
 by: Rainer Weikusat - Tue, 29 Aug 2023 16:10 UTC

Kaz Kylheku <864-117-4973@kylheku.com> writes:
> On 2023-08-25, Rainer Weikusat <rweikusat@talktalk.net> wrote:

[configure & friends in git]

>> If the files generated from these are also in the repository,
>> nuisance git dances will have to be performed to deal with them and this
>> will also cause nuisance merge conflicts for updates.
>
> If you merge parallel changes to a primary file from which a secondary
> file is generated, you must regenerate the secondary file. The seconary
> file should not be merged. (That would be editing, and generated files
> are "generated, do not edit", right?)

Precisely. But git will try to merge them nevertheless and the resulting
merge conflicts need to be dealt with somehow. A good way to do so is

Never check anything into git which is supposed to generated from
something else also checked into git. In case someone else did this,
remove it.

Re: Build Systems

<20230829102534.979@kylheku.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=9980&group=comp.unix.programmer#9980

  copy link   Newsgroups: comp.unix.programmer
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.unix.programmer
Subject: Re: Build Systems
Date: Tue, 29 Aug 2023 18:29:59 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 74
Message-ID: <20230829102534.979@kylheku.com>
References: <uban99$1rnpb$1@dont-email.me> <87wmxps26h.fsf@bsb.me.uk>
<ubub09$1jeo1$1@dont-email.me> <87r0nxrvm1.fsf@bsb.me.uk>
<ubvd3u$1roqh$1@dont-email.me> <87zg2jrk7t.fsf@bsb.me.uk>
<uc12e1$245uh$1@dont-email.me> <87lee2qz5v.fsf@bsb.me.uk>
<uc51ia$2ug61$1@dont-email.me>
<20230823195415.19d4c01e0cb2ca57faf92c07@g{oogle}mail.com>
<uc5ft2$311jt$2@dont-email.me> <uc5p8k$330u9$1@dont-email.me>
<20230824083325.525@kylheku.com> <uc85ot$3illn$1@dont-email.me>
<OjNFM.897908$GMN3.79590@fx16.iad> <uc8f9v$3j9v3$1@dont-email.me>
<20230824160017.406@kylheku.com>
<87edjrhz1d.fsf@doppelsaurus.mobileactivedefense.com>
<20230825095521.754@kylheku.com>
<87a5ufhtk5.fsf@doppelsaurus.mobileactivedefense.com>
<20230825113441.899@kylheku.com>
<877cpdakxu.fsf@doppelsaurus.mobileactivedefense.com>
Injection-Date: Tue, 29 Aug 2023 18:29:59 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="3c0f43010e46fd6ed1f1ed87a863f28a";
logging-data="2496045"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19r04Lh10ESPBQZQG9XsQiNteE1tToWoPE="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:sluFWkfdeArpjMK8NNxumb7GkF8=
 by: Kaz Kylheku - Tue, 29 Aug 2023 18:29 UTC

On 2023-08-29, Rainer Weikusat <rweikusat@talktalk.net> wrote:
> Kaz Kylheku <864-117-4973@kylheku.com> writes:
>> On 2023-08-25, Rainer Weikusat <rweikusat@talktalk.net> wrote:
>
> [configure & friends in git]
>
>>> If the files generated from these are also in the repository,
>>> nuisance git dances will have to be performed to deal with them and this
>>> will also cause nuisance merge conflicts for updates.
>>
>> If you merge parallel changes to a primary file from which a secondary
>> file is generated, you must regenerate the secondary file. The seconary
>> file should not be merged. (That would be editing, and generated files
>> are "generated, do not edit", right?)
>
> Precisely. But git will try to merge them nevertheless and the resulting
> merge conflicts need to be dealt with somehow. A good way to do so is
> Never check anything into git which is supposed to generated from
> something else also checked into git. In case someone else did this,
> remove it.

By and large, and by default, we should follow the configuration
management principle that secondary/derived objects are not put into
version control, only primary ones. This principle agrees with what you
are saying. When not sure, don't check in the derived object.

There are exceptions though.

The real criterion is which way life is easier.

The answer will be different based on whether the software is
distributed in source code form to large numbers of downstream users, or
whether it is something built in-house (e.g. proprietary software).

In a source distribution scenario I find these benefits

- every commit of the repo can be checked out and built; the correct
generated files are just there.

- a release can be cut with just:

git tag <release-tag>; git push origin tag <release-tag>

there is no special baseline.

These outweigh the minor issue of merges in generated files.

- If I don't have the generated file (it is not in version control),
it will have to be generated anyway.

- If I have the generated file in version control, and it has been
subject to a merge, it has to be blown away and generated.

This is almost the same except for the extra effort to be aware
of the situation and not accidentally check in the file when it
was silently merged without conflicts.

Tiny effort for a palpable payoff: I can do a "git bisect" and have
the correct versions of generated files at every commit I visit!

If you check out a baseline from ten years ago, you get the
correct ten-year-old configure script or y.tab.c, which
were generated with the version of the generators used at the
time.

Checking in generated files helps with reproducible builds;
to reproduce an old build, you just need the old compilers,
not the old parser generator, AutoTools and whatever else.

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

Re: Build Systems

<873501a7mn.fsf@doppelsaurus.mobileactivedefense.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=9984&group=comp.unix.programmer#9984

  copy link   Newsgroups: comp.unix.programmer
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: rweiku...@talktalk.net (Rainer Weikusat)
Newsgroups: comp.unix.programmer
Subject: Re: Build Systems
Date: Tue, 29 Aug 2023 21:58:08 +0100
Lines: 31
Message-ID: <873501a7mn.fsf@doppelsaurus.mobileactivedefense.com>
References: <uban99$1rnpb$1@dont-email.me> <87r0nxrvm1.fsf@bsb.me.uk>
<ubvd3u$1roqh$1@dont-email.me> <87zg2jrk7t.fsf@bsb.me.uk>
<uc12e1$245uh$1@dont-email.me> <87lee2qz5v.fsf@bsb.me.uk>
<uc51ia$2ug61$1@dont-email.me>
<20230823195415.19d4c01e0cb2ca57faf92c07@g{oogle}mail.com>
<uc5ft2$311jt$2@dont-email.me> <uc5p8k$330u9$1@dont-email.me>
<20230824083325.525@kylheku.com> <uc85ot$3illn$1@dont-email.me>
<OjNFM.897908$GMN3.79590@fx16.iad> <uc8f9v$3j9v3$1@dont-email.me>
<20230824160017.406@kylheku.com>
<87edjrhz1d.fsf@doppelsaurus.mobileactivedefense.com>
<20230825095521.754@kylheku.com>
<87a5ufhtk5.fsf@doppelsaurus.mobileactivedefense.com>
<20230825113441.899@kylheku.com>
<877cpdakxu.fsf@doppelsaurus.mobileactivedefense.com>
<20230829102534.979@kylheku.com>
Mime-Version: 1.0
Content-Type: text/plain
X-Trace: individual.net r95q/dE6I4ZVWIJ3MhkpIwl8e3du+IWKNolPT0vrnJDZKAAGY=
Cancel-Lock: sha1:McvthYM5J7lWDwz9y1CieUR96To= sha1:H6eVANu5oOyaCGq01v0MShRxYPs= sha256:y2r1GiVXR1YQ4l4HzL01kGlqseTuo+Dew1F280qoHcQ=
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
 by: Rainer Weikusat - Tue, 29 Aug 2023 20:58 UTC

Kaz Kylheku <864-117-4973@kylheku.com> writes:
> On 2023-08-29, Rainer Weikusat <rweikusat@talktalk.net> wrote:
>> Kaz Kylheku <864-117-4973@kylheku.com> writes:
>>> On 2023-08-25, Rainer Weikusat <rweikusat@talktalk.net> wrote:
>>
>> [configure & friends in git]

[...]

>> Never check anything into git which is supposed to generated from
>> something else also checked into git. In case someone else did this,
>> remove it.
>
> By and large, and by default, we should follow the configuration
> management principle that secondary/derived objects are not put into
> version control, only primary ones. This principle agrees with what you
> are saying. When not sure, don't check in the derived object.
>
> There are exceptions though.

[easily building old releases]

> If you check out a baseline from ten years ago, you get the
> correct ten-year-old configure script or y.tab.c, which
> were generated with the version of the generators used at the
> time.

Hmm ... in my opinion, the chances that a ten year old version of
anything non-trivial will compile, let alone work, on a current Linux
system are exceedingly slim and an old system will have the old tools
available.

Re: Build Systems

<lxtHM.725083$mPI2.121507@fx15.iad>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=9986&group=comp.unix.programmer#9986

  copy link   Newsgroups: comp.unix.programmer
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx15.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.unix.programmer
References: <uban99$1rnpb$1@dont-email.me> <uc85ot$3illn$1@dont-email.me> <OjNFM.897908$GMN3.79590@fx16.iad> <uc8f9v$3j9v3$1@dont-email.me> <20230824160017.406@kylheku.com> <87edjrhz1d.fsf@doppelsaurus.mobileactivedefense.com> <20230825095521.754@kylheku.com> <87a5ufhtk5.fsf@doppelsaurus.mobileactivedefense.com> <20230825113441.899@kylheku.com> <877cpdakxu.fsf@doppelsaurus.mobileactivedefense.com> <20230829102534.979@kylheku.com> <873501a7mn.fsf@doppelsaurus.mobileactivedefense.com>
Lines: 38
Message-ID: <lxtHM.725083$mPI2.121507@fx15.iad>
X-Complaints-To: abuse@usenetserver.com
NNTP-Posting-Date: Tue, 29 Aug 2023 21:36:17 UTC
Organization: UsenetServer - www.usenetserver.com
Date: Tue, 29 Aug 2023 21:36:17 GMT
X-Received-Bytes: 2543
 by: Scott Lurndal - Tue, 29 Aug 2023 21:36 UTC

Rainer Weikusat <rweikusat@talktalk.net> writes:
>Kaz Kylheku <864-117-4973@kylheku.com> writes:
>> On 2023-08-29, Rainer Weikusat <rweikusat@talktalk.net> wrote:
>>> Kaz Kylheku <864-117-4973@kylheku.com> writes:
>>>> On 2023-08-25, Rainer Weikusat <rweikusat@talktalk.net> wrote:
>>>
>>> [configure & friends in git]
>
>[...]
>
>>> Never check anything into git which is supposed to generated from
>>> something else also checked into git. In case someone else did this,
>>> remove it.
>>
>> By and large, and by default, we should follow the configuration
>> management principle that secondary/derived objects are not put into
>> version control, only primary ones. This principle agrees with what you
>> are saying. When not sure, don't check in the derived object.
>>
>> There are exceptions though.
>
>[easily building old releases]
>
>> If you check out a baseline from ten years ago, you get the
>> correct ten-year-old configure script or y.tab.c, which
>> were generated with the version of the generators used at the
>> time.
>
>Hmm ... in my opinion, the chances that a ten year old version of
>anything non-trivial will compile, let alone work, on a current Linux
>system are exceedingly slim and an old system will have the old tools
>available.

That hasn't been my experience. I've been building xrn, z.b., since
first building it for SVr3.2/X11R3 on a M88100. It builds on current
linux distributions (much like all the other Xaw clients).

Weyland may end that run, however, sadly.

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor