* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. [not found] ` <20220919074155.2E6D7C00872@vcs2.savannah.gnu.org> @ 2022-09-19 7:46 ` Po Lu 2022-09-19 7:52 ` Gregory Heytings 2022-09-19 7:50 ` Lars Ingebrigtsen 1 sibling, 1 reply; 35+ messages in thread From: Po Lu @ 2022-09-19 7:46 UTC (permalink / raw) To: emacs-devel; +Cc: Gregory Heytings Gregory Heytings <gregory@heytings.org> writes: > # ADVICE-ON-FAILURE-BEGIN:bootstrap > # You might try to: > +# - run "git bootstrap configure=default", to rebuild Emacs with the > +# default configuration options, which might fix the problem > # - run "git clean -fdx" and run "make bootstrap" again, which might > -# fix the problem > +# fix the problem if "git boostrap configure=default" did not > # !BEWARE! "git clean -fdx" deletes all files that are not under > # !BEWARE! version control, which means that all changes to such > # !BEWARE! files will be lost and cannot be restored later Excuse me, but what is "git bootstrap"? Trying that leads to: git: 'bootstrap' is not a git command. See 'git --help'. further more, it is definitely better to mention the bug tracker than to not, which is what you keep removing with your changes. It is also probably a bad idea to refer to git as a first choice, because most people do not get Emacs from a repository checkout. Nor are we guaranteed to be using Git 5, or 10 years in the future. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 7:46 ` master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice Po Lu @ 2022-09-19 7:52 ` Gregory Heytings 0 siblings, 0 replies; 35+ messages in thread From: Gregory Heytings @ 2022-09-19 7:52 UTC (permalink / raw) To: Po Lu; +Cc: emacs-devel > > Excuse me, but what is "git bootstrap"? > That was a typo. > > it is definitely better to mention the bug tracker than to not, which is > what you keep removing with your changes. > Why not, but nobody mentioned the bug tracker in the discussion. Let's see what others think about it. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. [not found] ` <20220919074155.2E6D7C00872@vcs2.savannah.gnu.org> 2022-09-19 7:46 ` master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice Po Lu @ 2022-09-19 7:50 ` Lars Ingebrigtsen 2022-09-19 7:52 ` Po Lu 2022-09-19 7:53 ` Gregory Heytings 1 sibling, 2 replies; 35+ messages in thread From: Lars Ingebrigtsen @ 2022-09-19 7:50 UTC (permalink / raw) To: Gregory Heytings; +Cc: emacs-devel, Po Lu Gregory Heytings <gregory@heytings.org> writes: > +# - run "git bootstrap configure=default", to rebuild Emacs with the Can you two knock it off with the reversion wars here? In any case, I don't think is the recipe we want to recommend here. The currently recommended way to get a full new build (without doing the potentially dangerous "git clean") is to say "make extraclean; make". ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 7:50 ` Lars Ingebrigtsen @ 2022-09-19 7:52 ` Po Lu 2022-09-19 7:53 ` Gregory Heytings 1 sibling, 0 replies; 35+ messages in thread From: Po Lu @ 2022-09-19 7:52 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: Gregory Heytings, emacs-devel Lars Ingebrigtsen <larsi@gnus.org> writes: > Can you two knock it off with the reversion wars here? I wasn't trying to start a reversion war. > In any case, I don't think is the recipe we want to recommend here. The > currently recommended way to get a full new build (without doing the > potentially dangerous "git clean") is to say "make extraclean; make". In addition, "git bootstrap configure=default" is not a command. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 7:50 ` Lars Ingebrigtsen 2022-09-19 7:52 ` Po Lu @ 2022-09-19 7:53 ` Gregory Heytings 2022-09-19 7:59 ` Lars Ingebrigtsen 1 sibling, 1 reply; 35+ messages in thread From: Gregory Heytings @ 2022-09-19 7:53 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: emacs-devel, Po Lu >> +# - run "git bootstrap configure=default", to rebuild Emacs with the > > I don't think is the recipe we want to recommend here. The currently > recommended way to get a full new build (without doing the potentially > dangerous "git clean") is to say "make extraclean; make". > That's what "make bootstrap configure=default" does, in a single step. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 7:53 ` Gregory Heytings @ 2022-09-19 7:59 ` Lars Ingebrigtsen 2022-09-19 8:01 ` Po Lu 2022-09-19 9:29 ` Gregory Heytings 0 siblings, 2 replies; 35+ messages in thread From: Lars Ingebrigtsen @ 2022-09-19 7:59 UTC (permalink / raw) To: Gregory Heytings; +Cc: emacs-devel, Po Lu Gregory Heytings <gregory@heytings.org> writes: > That's what "make bootstrap configure=default" does, in a single step. Yes, but it's a pretty obscure thing to have to remember, which is why we shouldn't tell people to do that when simpler, more straightforward alternatives exist. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 7:59 ` Lars Ingebrigtsen @ 2022-09-19 8:01 ` Po Lu 2022-09-19 9:29 ` Gregory Heytings 1 sibling, 0 replies; 35+ messages in thread From: Po Lu @ 2022-09-19 8:01 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: Gregory Heytings, emacs-devel Lars Ingebrigtsen <larsi@gnus.org> writes: > Yes, but it's a pretty obscure thing to have to remember, which is why > we shouldn't tell people to do that when simpler, more straightforward > alternatives exist. make bootstrap does not remove auto-save and lock files, so it is definitely not the same as make extraclean. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 7:59 ` Lars Ingebrigtsen 2022-09-19 8:01 ` Po Lu @ 2022-09-19 9:29 ` Gregory Heytings 2022-09-19 9:41 ` Lars Ingebrigtsen 1 sibling, 1 reply; 35+ messages in thread From: Gregory Heytings @ 2022-09-19 9:29 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: emacs-devel, Po Lu >> That's what "make bootstrap configure=default" does, in a single step. > > Yes, but it's a pretty obscure thing to have to remember, which is why > we shouldn't tell people to do that when simpler, more straightforward > alternatives exist. > Hmm... I don't know. IMO telling people to use make bootstrap configure=default to rebuild Emacs with the default configuration options (starting with a "make extraclean" state) is clearer than telling them to use make extraclean; make bootstrap which does the same thing, but with which it is not clear at all that Emacs will be rebuilt with the default configuration options. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 9:29 ` Gregory Heytings @ 2022-09-19 9:41 ` Lars Ingebrigtsen 2022-09-19 10:13 ` Stefan Kangas 2022-09-19 10:14 ` Gregory Heytings 0 siblings, 2 replies; 35+ messages in thread From: Lars Ingebrigtsen @ 2022-09-19 9:41 UTC (permalink / raw) To: Gregory Heytings; +Cc: emacs-devel, Po Lu Gregory Heytings <gregory@heytings.org> writes: > Hmm... I don't know. IMO telling people to use > > make bootstrap configure=default > > to rebuild Emacs with the default configuration options (starting with > a "make extraclean" state) is clearer than telling them to use > > make extraclean; make bootstrap > > which does the same thing, but with which it is not clear at all that > Emacs will be rebuilt with the default configuration options. But that's not what we're recommending. It's make extraclean; make (In my opinion, this is what "make bootstrap" should be doing, and if we should move the current "bootstrap" to a new target like "bootstrap-partial" or something.) ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 9:41 ` Lars Ingebrigtsen @ 2022-09-19 10:13 ` Stefan Kangas 2022-09-19 12:15 ` Stefan Monnier 2022-09-19 10:14 ` Gregory Heytings 1 sibling, 1 reply; 35+ messages in thread From: Stefan Kangas @ 2022-09-19 10:13 UTC (permalink / raw) To: Lars Ingebrigtsen, Gregory Heytings; +Cc: emacs-devel, Po Lu Lars Ingebrigtsen <larsi@gnus.org> writes: > (In my opinion, this is what "make bootstrap" should be doing, and if we > should move the current "bootstrap" to a new target like > "bootstrap-partial" or something.) +1 ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 10:13 ` Stefan Kangas @ 2022-09-19 12:15 ` Stefan Monnier 2022-09-19 12:25 ` Po Lu ` (2 more replies) 0 siblings, 3 replies; 35+ messages in thread From: Stefan Monnier @ 2022-09-19 12:15 UTC (permalink / raw) To: Stefan Kangas; +Cc: Lars Ingebrigtsen, Gregory Heytings, emacs-devel, Po Lu Stefan Kangas [2022-09-19 06:13:08] wrote: > Lars Ingebrigtsen <larsi@gnus.org> writes: >> (In my opinion, this is what "make bootstrap" should be doing, and if we >> should move the current "bootstrap" to a new target like >> "bootstrap-partial" or something.) > > +1 -1 I think we should move `make bootstrap` towards a *more* partial bootstrap. Those who want `make extraclean; make` know where to get it (and if you want to give it a separate name, than name it `make recompile-from-scratch` or something :-). `make bootstrap` should focus on fixing the bootstrap issues that can be present in ELisp files. It's there so as to avoid the need for a complete recompile-from-scratch for those of us who don't have machines which can recompile the world under 2min. Stefan ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 12:15 ` Stefan Monnier @ 2022-09-19 12:25 ` Po Lu 2022-09-19 12:33 ` Lars Ingebrigtsen 2022-09-19 12:33 ` Gregory Heytings 2 siblings, 0 replies; 35+ messages in thread From: Po Lu @ 2022-09-19 12:25 UTC (permalink / raw) To: Stefan Monnier Cc: Stefan Kangas, Lars Ingebrigtsen, Gregory Heytings, emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: > `make bootstrap` should focus on fixing the bootstrap issues that can be > present in ELisp files. Right, that makes sense. Also, it seems that we should not print any message if C file compilation fails -- it is generally not affected by bootstrap failures. > It's there so as to avoid the need for a complete > recompile-from-scratch for those of us who don't have machines which > can recompile the world under 2min. Yeah, that takes 10 to 15 minutes here. Sometimes, I resort to eyeballing which elc files have to be deleted to get the build working again instead of make bootstrap, if I do not have much time. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 12:15 ` Stefan Monnier 2022-09-19 12:25 ` Po Lu @ 2022-09-19 12:33 ` Lars Ingebrigtsen 2022-09-19 12:51 ` Po Lu 2022-09-19 12:33 ` Gregory Heytings 2 siblings, 1 reply; 35+ messages in thread From: Lars Ingebrigtsen @ 2022-09-19 12:33 UTC (permalink / raw) To: Stefan Monnier; +Cc: Stefan Kangas, Gregory Heytings, emacs-devel, Po Lu Stefan Monnier <monnier@iro.umontreal.ca> writes: > `make bootstrap` should focus on fixing the bootstrap issues that can be > present in ELisp files. It's there so as to avoid the need for > a complete recompile-from-scratch for those of us who don't have > machines which can recompile the world under 2min. The difference in time between a "make bootstrap" and a "make extraclean; make" is about 0.5% in my tests (1m8.1s vs 1m7.7s). (The absolute time difference will vary, of course, but the percentage shouldn't, I'd imagine.) But, sure, the name doesn't really make much difference -- it'd just be nice to have instructions for users that are as clear and easy as possible. The current answer -- "make extraclean; make" isn't quite good enough, especially since that can fail if you've already done, say, a "bootstrap-clean". But since we've already advising people to say "make bootstrap", it'd be less of an adjustment for the few developers that need that extra 0.5% speed to adjust their typing to "make bootstrap-mostly", in my opinion. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 12:33 ` Lars Ingebrigtsen @ 2022-09-19 12:51 ` Po Lu 2022-09-19 13:02 ` Stefan Monnier 2022-09-19 13:04 ` Lars Ingebrigtsen 0 siblings, 2 replies; 35+ messages in thread From: Po Lu @ 2022-09-19 12:51 UTC (permalink / raw) To: Lars Ingebrigtsen Cc: Stefan Monnier, Stefan Kangas, Gregory Heytings, emacs-devel Lars Ingebrigtsen <larsi@gnus.org> writes: > But since we've already advising people to say "make bootstrap", it'd be > less of an adjustment for the few developers that need that extra 0.5% > speed to adjust their typing to "make bootstrap-mostly", in my opinion. I think what Stefan is saying is that we should make the 0.5% more like 25% out of the box. I guess that means "make bootstrap" should, for starters, not rebuild temacs from scratch. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 12:51 ` Po Lu @ 2022-09-19 13:02 ` Stefan Monnier 2022-09-19 13:04 ` Lars Ingebrigtsen 1 sibling, 0 replies; 35+ messages in thread From: Stefan Monnier @ 2022-09-19 13:02 UTC (permalink / raw) To: Po Lu; +Cc: Lars Ingebrigtsen, Stefan Kangas, Gregory Heytings, emacs-devel > I think what Stefan is saying is that we should make the 0.5% more like > 25% out of the box. > > I guess that means "make bootstrap" should, for starters, not rebuild > temacs from scratch. At least, that's what it did back when I introduced it, IIRC :-) Stefan ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 12:51 ` Po Lu 2022-09-19 13:02 ` Stefan Monnier @ 2022-09-19 13:04 ` Lars Ingebrigtsen 2022-09-19 13:22 ` Gregory Heytings ` (3 more replies) 1 sibling, 4 replies; 35+ messages in thread From: Lars Ingebrigtsen @ 2022-09-19 13:04 UTC (permalink / raw) To: Po Lu; +Cc: Stefan Monnier, Stefan Kangas, Gregory Heytings, emacs-devel Po Lu <luangruo@yahoo.com> writes: > I think what Stefan is saying is that we should make the 0.5% more like > 25% out of the box. > > I guess that means "make bootstrap" should, for starters, not rebuild > temacs from scratch. But why use the name "bootstrap" for something like that? "Bootstrap" implies that it's built from the ground up. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 13:04 ` Lars Ingebrigtsen @ 2022-09-19 13:22 ` Gregory Heytings 2022-09-19 18:41 ` Lars Ingebrigtsen 2022-09-19 13:37 ` Po Lu ` (2 subsequent siblings) 3 siblings, 1 reply; 35+ messages in thread From: Gregory Heytings @ 2022-09-19 13:22 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: Po Lu, Stefan Monnier, Stefan Kangas, emacs-devel [-- Attachment #1: Type: text/plain, Size: 310 bytes --] > > But why use the name "bootstrap" for something like that? "Bootstrap" > implies that it's built from the ground up. > I guess there are different viewpoints on where the ground is 😉 WDYT of simply adding another "full-bootstrap" target, with the meaning "from the lowest possible ground"? ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 13:22 ` Gregory Heytings @ 2022-09-19 18:41 ` Lars Ingebrigtsen 0 siblings, 0 replies; 35+ messages in thread From: Lars Ingebrigtsen @ 2022-09-19 18:41 UTC (permalink / raw) To: Gregory Heytings; +Cc: Po Lu, Stefan Monnier, Stefan Kangas, emacs-devel Gregory Heytings <gregory@heytings.org> writes: > WDYT of simply adding another "full-bootstrap" target, with the > meaning "from the lowest possible ground"? If other people are so married to the "bootstrap" name that they refuse to consider renaming it, I don't think it's worth spending more time arguing about. So, sure. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 13:04 ` Lars Ingebrigtsen 2022-09-19 13:22 ` Gregory Heytings @ 2022-09-19 13:37 ` Po Lu 2022-09-19 14:02 ` Eli Zaretskii 2022-09-19 13:37 ` Gerd Möllmann 2022-09-19 13:46 ` Stefan Monnier 3 siblings, 1 reply; 35+ messages in thread From: Po Lu @ 2022-09-19 13:37 UTC (permalink / raw) To: Lars Ingebrigtsen Cc: Stefan Monnier, Stefan Kangas, Gregory Heytings, emacs-devel Lars Ingebrigtsen <larsi@gnus.org> writes: > But why use the name "bootstrap" for something like that? "Bootstrap" > implies that it's built from the ground up. I always thought the "bootstrap" implied building the Lisp part of Emacs from the ground up. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 13:37 ` Po Lu @ 2022-09-19 14:02 ` Eli Zaretskii 2022-09-19 14:14 ` Po Lu 0 siblings, 1 reply; 35+ messages in thread From: Eli Zaretskii @ 2022-09-19 14:02 UTC (permalink / raw) To: Po Lu; +Cc: larsi, monnier, stefan, gregory, emacs-devel > From: Po Lu <luangruo@yahoo.com> > Cc: Stefan Monnier <monnier@iro.umontreal.ca>, Stefan Kangas > <stefan@marxist.se>, Gregory Heytings <gregory@heytings.org>, > emacs-devel@gnu.org > Date: Mon, 19 Sep 2022 21:37:01 +0800 > > Lars Ingebrigtsen <larsi@gnus.org> writes: > > > But why use the name "bootstrap" for something like that? "Bootstrap" > > implies that it's built from the ground up. > > I always thought the "bootstrap" implied building the Lisp part of Emacs > from the ground up. No, "bootstrap" means just that: build a program when some components needed for the build are missing. Thus, "bootstrap" is not necessarily supposed to make sense when those components are present. We are actually using "bootstrap" in a different role: as a build from a clean tree. (And when you actually build a fresh checkout, it is nowadays unnecessary to say "make bootstrap", as GNUmakefile does TRT in that case if you just say "make".) So maybe we should repurpose "bootstrap", and rename it while at that, to something like "clean-build" or somesuch. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 14:02 ` Eli Zaretskii @ 2022-09-19 14:14 ` Po Lu 2022-09-19 14:20 ` Eli Zaretskii 0 siblings, 1 reply; 35+ messages in thread From: Po Lu @ 2022-09-19 14:14 UTC (permalink / raw) To: Eli Zaretskii; +Cc: larsi, monnier, stefan, gregory, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: > No, "bootstrap" means just that: build a program when some components > needed for the build are missing. Thus, "bootstrap" is not > necessarily supposed to make sense when those components are present. > > We are actually using "bootstrap" in a different role: as a build from > a clean tree. (And when you actually build a fresh checkout, it is > nowadays unnecessary to say "make bootstrap", as GNUmakefile does TRT > in that case if you just say "make".) > > So maybe we should repurpose "bootstrap", and rename it while at that, > to something like "clean-build" or somesuch. Hmm, but in that case, what target should be used to resolve incremental build failures? "make clean; make" perhaps? ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 14:14 ` Po Lu @ 2022-09-19 14:20 ` Eli Zaretskii 2022-09-19 14:54 ` Gregory Heytings 0 siblings, 1 reply; 35+ messages in thread From: Eli Zaretskii @ 2022-09-19 14:20 UTC (permalink / raw) To: Po Lu; +Cc: larsi, monnier, stefan, gregory, emacs-devel > From: Po Lu <luangruo@yahoo.com> > Cc: larsi@gnus.org, monnier@iro.umontreal.ca, stefan@marxist.se, > gregory@heytings.org, emacs-devel@gnu.org > Date: Mon, 19 Sep 2022 22:14:11 +0800 > > Eli Zaretskii <eliz@gnu.org> writes: > > > No, "bootstrap" means just that: build a program when some components > > needed for the build are missing. Thus, "bootstrap" is not > > necessarily supposed to make sense when those components are present. > > > > We are actually using "bootstrap" in a different role: as a build from > > a clean tree. (And when you actually build a fresh checkout, it is > > nowadays unnecessary to say "make bootstrap", as GNUmakefile does TRT > > in that case if you just say "make".) > > > > So maybe we should repurpose "bootstrap", and rename it while at that, > > to something like "clean-build" or somesuch. > > Hmm, but in that case, what target should be used to resolve incremental > build failures? That's what we (mistakenly) call "bootstrap". If it doesn't clean well enough, its clean stage should be improved. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 14:20 ` Eli Zaretskii @ 2022-09-19 14:54 ` Gregory Heytings 2022-09-19 15:51 ` Eli Zaretskii 0 siblings, 1 reply; 35+ messages in thread From: Gregory Heytings @ 2022-09-19 14:54 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Po Lu, larsi, monnier, stefan, emacs-devel > > That's what we (mistakenly) call "bootstrap". If it doesn't clean well > enough, its clean stage should be improved. > You mean, make bootstrap-clean identical to extraclean, except perhaps that it wouldn't remove config.cache? ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 14:54 ` Gregory Heytings @ 2022-09-19 15:51 ` Eli Zaretskii 2022-09-19 16:02 ` Gregory Heytings 0 siblings, 1 reply; 35+ messages in thread From: Eli Zaretskii @ 2022-09-19 15:51 UTC (permalink / raw) To: Gregory Heytings; +Cc: luangruo, larsi, monnier, stefan, emacs-devel > Date: Mon, 19 Sep 2022 14:54:53 +0000 > From: Gregory Heytings <gregory@heytings.org> > cc: Po Lu <luangruo@yahoo.com>, larsi@gnus.org, monnier@iro.umontreal.ca, > stefan@marxist.se, emacs-devel@gnu.org > > > That's what we (mistakenly) call "bootstrap". If it doesn't clean well > > enough, its clean stage should be improved. > > You mean, make bootstrap-clean identical to extraclean, except perhaps > that it wouldn't remove config.cache? If extraclean does a good job, yes. (I think someone said it didn't?) ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 15:51 ` Eli Zaretskii @ 2022-09-19 16:02 ` Gregory Heytings 2022-09-19 16:14 ` Eli Zaretskii 0 siblings, 1 reply; 35+ messages in thread From: Gregory Heytings @ 2022-09-19 16:02 UTC (permalink / raw) To: Eli Zaretskii; +Cc: luangruo, larsi, monnier, stefan, emacs-devel >>> That's what we (mistakenly) call "bootstrap". If it doesn't clean >>> well enough, its clean stage should be improved. >> >> You mean, make bootstrap-clean identical to extraclean, except perhaps >> that it wouldn't remove config.cache? > > If extraclean does a good job, yes. (I think someone said it didn't?) > It depends how you define "good". What it does is, in a repository that was not modified otherwise, equivalent to "git clean -fdx". Unlike "git clean -fdx" however, it does not remove files that were created by the user (e.g. .patch or .bak files). ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 16:02 ` Gregory Heytings @ 2022-09-19 16:14 ` Eli Zaretskii 2022-09-19 16:30 ` Gregory Heytings 0 siblings, 1 reply; 35+ messages in thread From: Eli Zaretskii @ 2022-09-19 16:14 UTC (permalink / raw) To: Gregory Heytings; +Cc: luangruo, larsi, monnier, stefan, emacs-devel > Date: Mon, 19 Sep 2022 16:02:47 +0000 > From: Gregory Heytings <gregory@heytings.org> > cc: luangruo@yahoo.com, larsi@gnus.org, monnier@iro.umontreal.ca, > stefan@marxist.se, emacs-devel@gnu.org > > > >>> That's what we (mistakenly) call "bootstrap". If it doesn't clean > >>> well enough, its clean stage should be improved. > >> > >> You mean, make bootstrap-clean identical to extraclean, except perhaps > >> that it wouldn't remove config.cache? > > > > If extraclean does a good job, yes. (I think someone said it didn't?) > > > > It depends how you define "good". What it does is, in a repository that > was not modified otherwise, equivalent to "git clean -fdx". Unlike "git > clean -fdx" however, it does not remove files that were created by the > user (e.g. .patch or .bak files). "Good job" for this purpose means anything that could interfere with a clean build. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 16:14 ` Eli Zaretskii @ 2022-09-19 16:30 ` Gregory Heytings 0 siblings, 0 replies; 35+ messages in thread From: Gregory Heytings @ 2022-09-19 16:30 UTC (permalink / raw) To: Eli Zaretskii; +Cc: luangruo, larsi, monnier, stefan, emacs-devel >>>>> That's what we (mistakenly) call "bootstrap". If it doesn't clean >>>>> well enough, its clean stage should be improved. >>>> >>>> You mean, make bootstrap-clean identical to extraclean, except >>>> perhaps that it wouldn't remove config.cache? >>> >>> If extraclean does a good job, yes. (I think someone said it didn't?) >> >> It depends how you define "good". What it does is, in a repository >> that was not modified otherwise, equivalent to "git clean -fdx". >> Unlike "git clean -fdx" however, it does not remove files that were >> created by the user (e.g. .patch or .bak files). > > "Good job" for this purpose means anything that could interfere with a > clean build. > In that case it does a good job: the "cleanest" clean target is extraclean, and bootstrap-clean sometimes does not clean enough. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 13:04 ` Lars Ingebrigtsen 2022-09-19 13:22 ` Gregory Heytings 2022-09-19 13:37 ` Po Lu @ 2022-09-19 13:37 ` Gerd Möllmann 2022-09-19 13:46 ` Stefan Monnier 3 siblings, 0 replies; 35+ messages in thread From: Gerd Möllmann @ 2022-09-19 13:37 UTC (permalink / raw) To: larsi; +Cc: emacs-devel, gregory, luangruo, monnier, stefan > But why use the name "bootstrap" for something like that? "Bootstrap" > implies that it's built from the ground up. Right, that was my original idea at least. The history of this is that we originally had .elc files in CVS, with all the problems one can imagine that come with such an approach. I added bootstrapping to make Emacs from sources, only. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 13:04 ` Lars Ingebrigtsen ` (2 preceding siblings ...) 2022-09-19 13:37 ` Gerd Möllmann @ 2022-09-19 13:46 ` Stefan Monnier 3 siblings, 0 replies; 35+ messages in thread From: Stefan Monnier @ 2022-09-19 13:46 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: Po Lu, Stefan Kangas, Gregory Heytings, emacs-devel > But why use the name "bootstrap" for something like that? > "Bootstrap" implies that it's built from the ground up. When compiling C files, with a pre-installed C compiler, you're not bootstrapping anything. Bootstrap comes into the picture when you need to build something with the something you're building, and you thus need to take extra steps to break the circular dependency (e.g. the use of `ldefs-boot.el`, or the use of an ELisp interpreter to run the not-yet-compiled code). Without such circular dependency, Make rules can often express the real dependencies precisely enough that you don't need a special Make target to rebuild from scratch. Stefan ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 12:15 ` Stefan Monnier 2022-09-19 12:25 ` Po Lu 2022-09-19 12:33 ` Lars Ingebrigtsen @ 2022-09-19 12:33 ` Gregory Heytings 2 siblings, 0 replies; 35+ messages in thread From: Gregory Heytings @ 2022-09-19 12:33 UTC (permalink / raw) To: Stefan Monnier; +Cc: Stefan Kangas, Lars Ingebrigtsen, emacs-devel, Po Lu > > Those who want `make extraclean; make` know where to get it (and if you > want to give it a separate name, than name it `make > recompile-from-scratch` or something :-). > Indeed. I tend to agree with Lars and Stefan K., but both viewpoints have their merits. So what about simply adding a "full-bootstrap" target? ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 9:41 ` Lars Ingebrigtsen 2022-09-19 10:13 ` Stefan Kangas @ 2022-09-19 10:14 ` Gregory Heytings 2022-09-19 10:17 ` Lars Ingebrigtsen 1 sibling, 1 reply; 35+ messages in thread From: Gregory Heytings @ 2022-09-19 10:14 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: emacs-devel, Po Lu >> Hmm... I don't know. IMO telling people to use >> >> make bootstrap configure=default >> >> to rebuild Emacs with the default configuration options (starting with >> a "make extraclean" state) is clearer than telling them to use >> >> make extraclean; make bootstrap >> >> which does the same thing, but with which it is not clear at all that >> Emacs will be rebuilt with the default configuration options. > > But that's not what we're recommending. It's > > make extraclean; make > Isn't the effect of "make extraclean; make" to rebuild Emacs with the default configuration options (contrary to "make bootstrap", which uses "bootstrap-clean", and with which the configuration options are kept)? Am I missing something? > > (In my opinion, this is what "make bootstrap" should be doing, and we > should move the current "bootstrap" to a new target like > "bootstrap-partial" or something.) > FWIW, I tend to agree. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 10:14 ` Gregory Heytings @ 2022-09-19 10:17 ` Lars Ingebrigtsen 2022-09-19 11:29 ` Gregory Heytings 0 siblings, 1 reply; 35+ messages in thread From: Lars Ingebrigtsen @ 2022-09-19 10:17 UTC (permalink / raw) To: Gregory Heytings; +Cc: emacs-devel, Po Lu Gregory Heytings <gregory@heytings.org> writes: >> make extraclean; make > > Isn't the effect of "make extraclean; make" to rebuild Emacs with the > default configuration options (contrary to "make bootstrap", which > uses "bootstrap-clean", and with which the configuration options are > kept)? Am I missing something? I'm not quite sure what you're asking here, so I may be missing something. :-) After a "make extraclean", there's nothing more to remove, so saying "make" or "make bootstrap" are identical in effect. So there's no point in advising people to say "make extraclean; make bootstrap". ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 10:17 ` Lars Ingebrigtsen @ 2022-09-19 11:29 ` Gregory Heytings 2022-09-19 12:23 ` Po Lu 2022-09-19 19:51 ` Gregory Heytings 0 siblings, 2 replies; 35+ messages in thread From: Gregory Heytings @ 2022-09-19 11:29 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: emacs-devel, Po Lu [-- Attachment #1: Type: text/plain, Size: 1430 bytes --] >> Isn't the effect of "make extraclean; make" to rebuild Emacs with the >> default configuration options (contrary to "make bootstrap", which uses >> "bootstrap-clean", and with which the configuration options are kept)? >> Am I missing something? > > I'm not quite sure what you're asking here, so I may be missing > something. :-) 😉 > > After a "make extraclean", there's nothing more to remove, so saying > "make" or "make bootstrap" are identical in effect. So there's no point > in advising people to say "make extraclean; make bootstrap". > Exactly, so I think neither of use missed something! 😃 My point here is that this advice will be displayed after a failed make bootstrap, and that just telling to use "make extraclean; make" is not clear enough, its effect might be surprising (e.g. the toolkit could change from Lucid to GTK). Given that its effect is to rebuild Emacs with the default configuration options, the two possible wordings are: run "make extraclean" and run "make" again, to rebuild Emacs with the default configuration options, which might fix the problem or: run "make bootstrap configure=default", to rebuild Emacs with the default configuration options, which might fix the problem Those two commands are equivalent, but I find the latter clearer, and it's not obscure, it repeats something that can already be found in INSTALL.REPO. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 11:29 ` Gregory Heytings @ 2022-09-19 12:23 ` Po Lu 2022-09-19 19:51 ` Gregory Heytings 1 sibling, 0 replies; 35+ messages in thread From: Po Lu @ 2022-09-19 12:23 UTC (permalink / raw) To: Gregory Heytings; +Cc: Lars Ingebrigtsen, emacs-devel Gregory Heytings <gregory@heytings.org> writes: > run "make extraclean" and run "make" again, to rebuild Emacs with the > default configuration options, which might fix the problem > > or: > > run "make bootstrap configure=default", to rebuild Emacs with the > default configuration options, which might fix the problem > > Those two commands are equivalent, but I find the latter clearer, and > it's not obscure, it repeats something that can already be found in > INSTALL.REPO. The former is shorter and easier to remember. Other programs typically do not accept "configure=" parameters in their Makefiles. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice. 2022-09-19 11:29 ` Gregory Heytings 2022-09-19 12:23 ` Po Lu @ 2022-09-19 19:51 ` Gregory Heytings 1 sibling, 0 replies; 35+ messages in thread From: Gregory Heytings @ 2022-09-19 19:51 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: emacs-devel, Po Lu > > run "make extraclean" and run "make" again, to rebuild Emacs with the > default configuration options, which might fix the problem > > or: > > run "make bootstrap configure=default", to rebuild Emacs with the > default configuration options, which might fix the problem > > Those two commands are equivalent, but I find the latter clearer, and it's > not obscure, it repeats something that can already be found in INSTALL.REPO. > I now mentioned both, and all this will possibly be simplified if make bootstrap is changed to use extraclean by default. ^ permalink raw reply [flat|nested] 35+ messages in thread
end of thread, other threads:[~2022-09-19 19:51 UTC | newest] Thread overview: 35+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <166357331345.19427.12446846086384744693@vcs2.savannah.gnu.org> [not found] ` <20220919074155.2E6D7C00872@vcs2.savannah.gnu.org> 2022-09-19 7:46 ` master 3fd2b00a4b 2/2: ; * Makefile.in: Add "make bootstrap configure=default" as a first choice Po Lu 2022-09-19 7:52 ` Gregory Heytings 2022-09-19 7:50 ` Lars Ingebrigtsen 2022-09-19 7:52 ` Po Lu 2022-09-19 7:53 ` Gregory Heytings 2022-09-19 7:59 ` Lars Ingebrigtsen 2022-09-19 8:01 ` Po Lu 2022-09-19 9:29 ` Gregory Heytings 2022-09-19 9:41 ` Lars Ingebrigtsen 2022-09-19 10:13 ` Stefan Kangas 2022-09-19 12:15 ` Stefan Monnier 2022-09-19 12:25 ` Po Lu 2022-09-19 12:33 ` Lars Ingebrigtsen 2022-09-19 12:51 ` Po Lu 2022-09-19 13:02 ` Stefan Monnier 2022-09-19 13:04 ` Lars Ingebrigtsen 2022-09-19 13:22 ` Gregory Heytings 2022-09-19 18:41 ` Lars Ingebrigtsen 2022-09-19 13:37 ` Po Lu 2022-09-19 14:02 ` Eli Zaretskii 2022-09-19 14:14 ` Po Lu 2022-09-19 14:20 ` Eli Zaretskii 2022-09-19 14:54 ` Gregory Heytings 2022-09-19 15:51 ` Eli Zaretskii 2022-09-19 16:02 ` Gregory Heytings 2022-09-19 16:14 ` Eli Zaretskii 2022-09-19 16:30 ` Gregory Heytings 2022-09-19 13:37 ` Gerd Möllmann 2022-09-19 13:46 ` Stefan Monnier 2022-09-19 12:33 ` Gregory Heytings 2022-09-19 10:14 ` Gregory Heytings 2022-09-19 10:17 ` Lars Ingebrigtsen 2022-09-19 11:29 ` Gregory Heytings 2022-09-19 12:23 ` Po Lu 2022-09-19 19:51 ` Gregory Heytings
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.