unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* why keep generated lisp/international/uni-*.el in the repo?
@ 2013-11-27  9:04 Glenn Morris
  2013-11-27 13:20 ` Andy Moreton
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Glenn Morris @ 2013-11-27  9:04 UTC (permalink / raw)
  To: emacs-devel; +Cc: Kenichi Handa


Why do we keep the generated files lisp/internation/uni-*.el, charprop.el
in the repo, rather than generating them during bootstrap?

Is it just that "they don't change very often, and it makes bootstrap a
tiny bit faster"?

On my machine, it takes me ~ 5 seconds to generate them;
compared to ~ 5 mins for a bootstrap.
It doesn't seem worth keeping them for that.

This is all we need to change to remove them from the repo:

=== modified file 'admin/unidata/Makefile.in'
*** admin/unidata/Makefile.in	2013-10-30 16:45:51 +0000
--- admin/unidata/Makefile.in	2013-11-27 08:56:18 +0000
***************
*** 64,66 ****
--- 64,70 ----
  	-rm -f ./Makefile
  
  maintainer-clean: distclean
+ 	if test -f ${DSTDIR}/charprop.el; then \
+ 	  (cd ${DSTDIR} && rm -f `sed -n 's/^;; FILE: //p' < charprop.el`); \
+ 	  rm -f ${DSTDIR}/charprop.el; \
+ 	fi

=== modified file 'src/Makefile.in'
*** src/Makefile.in	2013-11-27 06:15:06 +0000
--- src/Makefile.in	2013-11-27 08:50:26 +0000
***************
*** 417,429 ****
  $(leimdir)/leim-list.el: bootstrap-emacs$(EXEEXT)
  	cd ../leim && $(MAKE) $(MFLAGS) leim-list.el EMACS="$(bootstrap_exe)"
  
  ## The dumped Emacs is as functional and more efficient than
  ## bootstrap-emacs, so we replace the latter with the former.
  ## Strictly speaking, emacs does not depend directly on all of $lisp,
  ## since not all pieces are used on all platforms.  But DOC depends
  ## on all of $lisp, and emacs depends on DOC, so it is ok to use $lisp here.
  emacs$(EXEEXT): temacs$(EXEEXT) $(ADDSECTION) \
!                 $(etc)/DOC $(lisp) $(leimdir)/leim-list.el
  	if test "$(CANNOT_DUMP)" = "yes"; then \
  	  rm -f emacs$(EXEEXT); \
  	  ln temacs$(EXEEXT) emacs$(EXEEXT); \
--- 417,433 ----
  $(leimdir)/leim-list.el: bootstrap-emacs$(EXEEXT)
  	cd ../leim && $(MAKE) $(MFLAGS) leim-list.el EMACS="$(bootstrap_exe)"
  
+ $(lispsource)/international/charprop.el: bootstrap-emacs$(EXEEXT)
+ 	cd ../admin/unidata && $(MAKE) $(MFLAGS) all EMACS="../$(bootstrap_exe)"
+ 
  ## The dumped Emacs is as functional and more efficient than
  ## bootstrap-emacs, so we replace the latter with the former.
  ## Strictly speaking, emacs does not depend directly on all of $lisp,
  ## since not all pieces are used on all platforms.  But DOC depends
  ## on all of $lisp, and emacs depends on DOC, so it is ok to use $lisp here.
  emacs$(EXEEXT): temacs$(EXEEXT) $(ADDSECTION) \
!                 $(etc)/DOC $(lisp) $(leimdir)/leim-list.el \
!                 $(lispsource)/international/charprop.el
  	if test "$(CANNOT_DUMP)" = "yes"; then \
  	  rm -f emacs$(EXEEXT); \
  	  ln temacs$(EXEEXT) emacs$(EXEEXT); \




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: why keep generated lisp/international/uni-*.el in the repo?
  2013-11-27  9:04 why keep generated lisp/international/uni-*.el in the repo? Glenn Morris
@ 2013-11-27 13:20 ` Andy Moreton
  2013-11-27 17:18 ` Glenn Morris
  2013-11-27 17:41 ` Stefan Monnier
  2 siblings, 0 replies; 4+ messages in thread
From: Andy Moreton @ 2013-11-27 13:20 UTC (permalink / raw)
  To: emacs-devel

On Wed 27 Nov 2013, Glenn Morris wrote:

> Why do we keep the generated files lisp/internation/uni-*.el, charprop.el
> in the repo, rather than generating them during bootstrap?
>
> Is it just that "they don't change very often, and it makes bootstrap a
> tiny bit faster"?
>
> On my machine, it takes me ~ 5 seconds to generate them;
> compared to ~ 5 mins for a bootstrap.
> It doesn't seem worth keeping them for that.

If the files only chnage when a new version of Unicode appears, then
keeping things as they are seems far more sensible. Why waste power and
the time of users if this stuff almost never changes ?

On older hardware a boostrap can take considerably longer, so I don't
think this change would be useful.

    AndyM




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: why keep generated lisp/international/uni-*.el in the repo?
  2013-11-27  9:04 why keep generated lisp/international/uni-*.el in the repo? Glenn Morris
  2013-11-27 13:20 ` Andy Moreton
@ 2013-11-27 17:18 ` Glenn Morris
  2013-11-27 17:41 ` Stefan Monnier
  2 siblings, 0 replies; 4+ messages in thread
From: Glenn Morris @ 2013-11-27 17:18 UTC (permalink / raw)
  To: emacs-devel; +Cc: Kenichi Handa


Actually, I'll just do what we do with ja-dic.el:
Remove from repo, but not delete even in a bootstrap- or maintainer-clean.
Then the generation becomes a one time cost, and everybody wins.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: why keep generated lisp/international/uni-*.el in the repo?
  2013-11-27  9:04 why keep generated lisp/international/uni-*.el in the repo? Glenn Morris
  2013-11-27 13:20 ` Andy Moreton
  2013-11-27 17:18 ` Glenn Morris
@ 2013-11-27 17:41 ` Stefan Monnier
  2 siblings, 0 replies; 4+ messages in thread
From: Stefan Monnier @ 2013-11-27 17:41 UTC (permalink / raw)
  To: Glenn Morris; +Cc: Kenichi Handa, emacs-devel

> Why do we keep the generated files lisp/internation/uni-*.el, charprop.el
> in the repo, rather than generating them during bootstrap?

Good question.

> Is it just that "they don't change very often, and it makes bootstrap a
> tiny bit faster"?

Maybe it's only historical (the scripts to build them were run in an
ad-hoc manner).  Or maybe they rely on tools which may not always be
available?

> On my machine, it takes me ~ 5 seconds to generate them;
> compared to ~ 5 mins for a bootstrap.
> It doesn't seem worth keeping them for that.

As a user of slow machines where bootstrap is rather in the half-hour
area, I think I wouldn't care about an extra 30 seconds, indeed.


        Stefan



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-11-27 17:41 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-11-27  9:04 why keep generated lisp/international/uni-*.el in the repo? Glenn Morris
2013-11-27 13:20 ` Andy Moreton
2013-11-27 17:18 ` Glenn Morris
2013-11-27 17:41 ` Stefan Monnier

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).