1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-04 13:03:09 -08:00
Commit graph

468 commits

Author SHA1 Message Date
Andrea Corallo
3c58403b0f By default when building native compile only what's part of the dump image
To Ahead of Time compile the whole Emacs distro define NATIVE_FULL_AOT
when invoking make ex: 'make NATIVE_FULL_AOT=1'.

	* lisp/Makefile.in (NATIVE_SKIP_NONDUMP): New variable.
	(compile-main): Use it + rename NATIVE_DISABLE -> NATIVE_DISABLED.
	* lisp/emacs-lisp/comp.el
	(batch-byte-native-compile-for-bootstrap): Rename NATIVE_DISABLE
	-> NATIVE_DISABLED.
2020-09-11 11:01:11 +02:00
Andrea Corallo
dbeafd3403 Some Makefile updates and clean-up
* Makefile.in (clean): Remove 'eln-cache' folder.

	* lisp/Makefile.in (.SUFFIXES): Remove .eln.
	(native-compile-clean): Target remove.
	(compile-always, bootstrap-clean): Remove 'native-compile-clean'
	prerequisite.

	* src/Makefile.in (%.eln): Remove rule.
2020-08-17 18:04:22 +02:00
Andrea Corallo
12a982d978 Merge remote-tracking branch 'savannah/master' into HEAD 2020-08-09 15:03:23 +02:00
Lars Ingebrigtsen
104dd3b641 Make the loaddefs scraping compilation output look more regular
* lisp/Makefile.in ($(lisp)/loaddefs.el): Don't output the
directories here.

* lisp/emacs-lisp/autoload.el (batch-update-autoloads--summary):
New function.
(batch-update-autoloads): Use it to output the directories we're
scraping.

This changes the compilation output from:

Directories for loaddefs: . ./calc ./calendar ./cedet ./cedet/ede
./cedet/semantic ./cedet/semantic/analyze ./cedet/semantic/bovine
./cedet/semantic/decorate ./cedet/semantic/symref ./cedet/semantic/wisent
./cedet/srecode ./emacs-lisp ./emulation ./erc ./eshell ./gnus ./image
./international ./language ./leim ./leim/ja-dic ./leim/quail ./mail ./mh-e
./net ./nxml ./org ./play ./progmodes ./textmodes ./url ./vc

(but all on one long line)

To:

  SCRAPE   . ./calc ./calendar ./cedet ./cedet/ede ./cedet/semantic
  SCRAPE   ./cedet/semantic/analyze ./cedet/semantic/bovine
  SCRAPE   ./cedet/semantic/decorate ./cedet/semantic/symref
  SCRAPE   ./cedet/semantic/wisent ./cedet/srecode ./emacs-lisp ./emulation
  SCRAPE   ./erc ./eshell ./gnus ./image ./international ./language ./leim
  SCRAPE   ./leim/ja-dic ./leim/quail ./mail ./mh-e ./net ./nxml ./org ./play
  SCRAPE   ./progmodes ./textmodes ./url ./vc

Compilation output with very long lines can be mistaken for errors
when they scroll by fast in the compilation output.  Making it look
more like normal informational output avoids this confusion.
2020-08-06 08:20:09 +02:00
Andrea Corallo
e05a62a968 Have a fast build option triggered by env var NATIVE_FAST_BOOT 2020-03-22 15:50:58 +00:00
Andrea Corallo
dab8dd836c Fix make bootstrap for native compilation
Add Makefile target native-compile-clean removing all eln output
folders.

This is also triggered by make bootstrap to perform a clean bootstrap.

Also revert some modification of the build system against master not
effective anymore with the new directory layout.
2020-03-14 15:13:45 +00:00
Andrea Corallo
5252b59b2b Better compile-clean and bootstrap-clean target definition 2020-01-02 23:01:28 +01:00
Andrea Corallo
11192b29ad make standard emacs compilable again 2020-01-01 11:38:19 +01:00
Andrea Corallo
498468a236 make build system configurable again 2020-01-01 11:38:19 +01:00
Andrea Corallo
4946ed48fe rework build system for one pass 2020-01-01 11:38:18 +01:00
Andrea Corallo
4beb850efb add native support to the build system 2020-01-01 11:38:17 +01:00
Paul Eggert
365e01cc9f Update copyright year to 2020
Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
2020-01-01 00:59:52 +00:00
Stefan Monnier
0b4e003766 Revert "* lisp/calc/calc-ext.el (math-scalarp): Fix typo"
This reverts commit 698ff554ac.
2019-06-26 10:24:59 -04:00
Stefan Monnier
698ff554ac * lisp/calc/calc-ext.el (math-scalarp): Fix typo 2019-06-26 10:03:48 -04:00
Lars Ingebrigtsen
de4e1bddb1 Make extraclean return tree to pristine state by deleting more
* src/Makefile.in (extraclean): Remove TAGS and config.in.

* Makefile.in (extraclean): Remove info, configure and
emacsver.texi in extraclean.
* admin/unidata/Makefile.in (extraclean): Make it depend on
distclean to remove .elc files.

* leim/Makefile.in (extraclean): Depend on bootstrap-clean to
remove generated .el files.

* lib/Makefile.in (extraclean): Added target to remove sys
directory and run distclean.

* lisp/Makefile.in (extraclean): Also remove loaddefs*.el~ files.
2019-06-20 17:04:04 +02:00
Glenn Morris
4fd20e66ab Remove etc/GNUS-NEWS (bug#34662)
It is not relevant since Gnus stopped being distributed separately.
* etc/GNUS-NEWS: Remove this generated file.
* etc/NEWS.26: Relocate an entry mistakenly added to GNUS-NEWS.
* doc/misc/gnus-coding.texi (Gnus Maintenance Guide):
No longer mention GNUS-NEWS.
* doc/misc/gnus-news.el: Remove.
* doc/misc/gnus-news.texi: Update a comment.
* lisp/Makefile.in (update-gnus-news): Remove this phony target.
2019-03-05 22:15:02 -08:00
Stefan Monnier
0c834e9234 * lisp/Makefile.in (leim): Fix void-function pinyin-convert 2019-03-01 15:57:40 -05:00
Paul Eggert
ba809612c0 Merge from origin/emacs-26
2fcf2df Fix copyright years by hand
26bed8b Update copyright year to 2019
2814292 Fix value of default frame height.  (Bug#33921)
2018-12-31 17:57:29 -08:00
Paul Eggert
26bed8ba10 Update copyright year to 2019
Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
2019-01-01 01:01:13 +00:00
Stefan Monnier
063d8c02c2 * lisp/Makefile.in (compile-main): Use a more selective regexp. 2018-12-10 10:06:34 -05:00
Paul Eggert
21c2fd724d Fix typo caught by zsh
* lisp/Makefile.in (compile-clean): Fix typo; missing ";" (Bug#32423).
2018-08-12 09:01:20 -07:00
Glenn Morris
ef02c9fd1a Merge from origin/emacs-26
5bdc344 ; Reduce quoting for SELECTOR in 'make -C test' (Bug#31744)
b6b793b ; test/Makefile.in: Add TEST_INTERACTIVE option (Bug#31744).
1aa906f Make 'tags' targets respect --with-silent-rules (Bug#31744)

Conflicts:
	test/Makefile.in
	test/README
2018-06-18 12:14:24 -07:00
Noam Postavsky
1aa906f10d Make 'tags' targets respect --with-silent-rules (Bug#31744)
* lwlib/Makefile.in (TAGS):
* lisp/Makefile.in (TAGS):
* src/Makefile.in (TAGS): Use AM_V_GEN and AM_V_at.
* src/Makefile.in: Note that TAGS are generated in build dir.
2018-06-12 07:26:06 -04:00
Glenn Morris
419514a84a Suppress warnings about obsolete generics (bug#25556)
* lisp/Makefile.in (MAIN_FIRST): New variable.
(compile-main): Put some files at the head of the queue.
2018-03-16 01:57:39 -04:00
Paul Eggert
5c7dd8a783 Update copyright year to 2018
Run admin/update-copyright.
2018-01-01 00:57:59 -08:00
Paul Eggert
a89f0b6f33 maint: shorten https://lists.gnu.org/archive/html/... links 2017-11-25 22:48:12 -08:00
Paul Eggert
5172fa02cc Prefer HTTPS to HTTP for gnu.org
This fixes some URLs I omitted from my previous pass,
notably those in lists.gnu.org.  Although lists.gnu.org
does not yet support TLS 1.1, TLS 1.0 is better than nothing.
* lisp/erc/erc.el (erc-official-location):
* lisp/mail/emacsbug.el (report-emacs-bug):
Use https:, not http:.
2017-10-01 19:59:01 -07:00
Paul Eggert
bc511a64f6 Prefer HTTPS to FTP and HTTP in documentation
Most of this change is to boilerplate commentary such as license URLs.
This change was prompted by ftp://ftp.gnu.org's going-away party,
planned for November.  Change these FTP URLs to https://ftp.gnu.org
instead.  Make similar changes for URLs to other organizations moving
away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
fsf.org when this works, as this will further help defend against
man-in-the-middle attacks (for this part I omitted the MS-DOS and
MS-Windows sources and the test tarballs to keep the workload down).
HTTPS is not fully working to lists.gnu.org so I left those URLs alone
for now.
2017-09-13 15:54:37 -07:00
Paul Eggert
1b01601d3f Skip .#* temporaries when finding sources
Without this patch, ‘make check’ can fail with the diagnostic
‘invalid syntax in conditional’ if there is an Emacs temporary
file whose name starts with ‘.#’, because the ‘#’ is treated as
the start of a Make comment.
* lisp/Makefile.in (loaddefs, tagsfiles, check-defun-deps):
* test/Makefile.in (ELFILES):
Skip files starting with ‘.’, so that the .#* files do not cause
trouble.  (We cannot easily skip just files starting with ‘.#’,
since ‘#’ starts a Make comment!)
2017-05-30 09:28:19 -07:00
Glenn Morris
d9592104c8 Don't hard-code loaddefs files in lisp/Makefile
* lisp/Makefile.in (loaddefs): New variable.
(AUTOGENEL): Use $loaddefs, and include directory.
(bootstrap-clean): Update for AUTOGENEL change.
2017-05-11 21:22:13 -04:00
Glenn Morris
7f3d63908c Write autoloads file atomically
* lisp/emacs-lisp/autoload.el (autoload--save-buffer):
New function, to save buffer atomically.
(autoload-save-buffers, update-directory-autoloads):
Use autoload--save-buffer.
* lisp/Makefile.in ($(lisp)/loaddefs.el):
No longer write to a temp file by hand.
2017-05-06 17:58:20 -07:00
Glenn Morris
afa02fc58c ; * lisp/Makefile.in: More comments about loaddefs. 2017-04-26 14:23:55 -04:00
Glenn Morris
bce5ff9140 ; * lisp/Makefile.in: Comments about loaddefs. 2017-04-26 14:12:56 -04:00
Glenn Morris
ea8605ae84 Generate leim-list via lisp/Makefile, not src/Makefile
* src/Makefile.in ($(leimdir)/leim-list.el): Remove rule.
(emacs$(EXEEXT)): Don't depend on leim-list.
* lisp/Makefile.in ($(lisp)/loaddefs.el): Depend on gen-lisp again.
2017-04-25 19:30:31 -04:00
Glenn Morris
e4ddf394d0 Avoid parallel race condition
* lisp/Makefile.in ($(lisp)/loaddefs.el): Remove gen-lisp for now.
2017-04-25 15:05:52 -04:00
Glenn Morris
393228bd7a * lisp/Makefile.in (check-defun-dups): Ignore obsolete files. 2017-04-13 20:14:01 -04:00
Glenn Morris
ad128fee43 Create generated lisp files before main loaddefs.el
This should improve reproducibility of lisp/loaddefs.el.
* lisp/Makefile.in (gen-lisp): New phony target.
($(lisp)/loaddefs.el, compile-main): Depend on gen-lisp.
* src/Makefile.in ($(leimdir)/leim-list.el): Depend on all of ../leim.
* lisp/cedet/semantic.el (semantic-mode):
* lisp/cedet/semantic/fw.el (top-level):
* lisp/emacs-lisp/eieio-core.el (top-level):
Robustify to generated input files maybe not yet existing.
2017-04-13 20:12:02 -04:00
Eli Zaretskii
88e012511a Avoid unnecessary regeneration of the entire loaddefs.el
* lisp/Makefile.in (autoloads .PHONY): Add commentary explaining
why $(lisp)/loaddefs.el is a dependency of '.PHONY'.
($(lisp)/loaddefs.el): Copy an existing loaddefs.el to
loaddefs.tmp before running 'batch-update-autoloads' on it, to
avoid slow regeneration of the full contents.  (Bug#26459)
Use 'move-if-change' instead of 'mv', to avoid producing a new
Emacs binary when not necessary.
2017-04-13 10:03:09 +03:00
Eli Zaretskii
cc7a816936 * lisp/Makefile.in (autoloads-force): Fix usage of ".PHONY". 2017-04-12 12:01:48 +03:00
Ken Raeburn
440bafef7c Write updated loaddefs to a temporary file and rename into place.
In a parallel build, byte compilation can be running at the same times
as loaddefs.el is being regenerated.  However, in a CANNOT_DUMP build,
loaddefs.el is read at startup and must always be in a usable state.

* lisp/Makefile.in ($(lisp)/loaddefs.el): Write generated output to
loaddefs.el.new and then rename it to loaddefs.el.
2017-04-09 02:45:45 -04:00
Paul Eggert
3a11b3e330 Use find -delete if available
This shortens the ‘make’ output and should avoid some
repetitive scanning of directories during a build.
* configure.ac (FIND_DELETE): New var.
* lisp/Makefile.in (compile-always, bootstrap-clean):
* test/Makefile.in (clean, bootstrap-clean): Use it.
* test/Makefile.in (ELCFILES, LOGSAVEFILES): Remove; no longer needed.
2017-03-30 19:51:39 -07:00
Phillip Lord
542a763281 Revert "Replace ldefs-boot with a much smaller file"
This reverts commit c27b645956.

This commit has been reverted because the new mechanism was too
sensitive to changes in the lisp source, generation of new ldefs-boot
files was platform specific and resulted in warnings about undefined
variables.

See also 11436e2890d.
2017-03-07 13:49:48 +00:00
Phillip Lord
8f58747a87 Revert "Speed generation of ldefs-boot-auto"
This reverts commit 7b5e1c8238.

This commit has been reverted because the new mechanism was too
sensitive to changes in the lisp source, generation of new ldefs-boot
files was platform specific and resulted in warnings about undefined
variables.

See also 11436e2890d.
2017-03-07 13:48:20 +00:00
Phillip Lord
7b5e1c8238 Speed generation of ldefs-boot-auto
Previously, generation of ldefs-boot-auto required at least one full
bootstrap and, in extreme cases, two. Now, from build system, it
requires the same time as taken to dump Emacs.

* Makefile.in: Remove all calls, pass to src.
* admin/ldefs-clean.el: Update for changed messages.
* lisp/Makefile.in (compile-first-delete): Add.
* lisp/ldefs-boot-auto.el: Update.
* src/Makefile.in (generate-ldefs-boot): Add.
2017-02-28 21:32:49 +00:00
Paul Eggert
bcf244ef9b Merge from origin/emacs-25
2e2a806 Fix copyright years by hand
5badc81 Update copyright year to 2017
2017-01-01 01:10:47 -08:00
Paul Eggert
5badc81c1c Update copyright year to 2017
Run admin/update-copyright.
2016-12-31 19:42:26 -08:00
Phillip Lord
c27b645956 Replace ldefs-boot with a much smaller file
* Makefile.in (bootstrap-build,generate-ldefs-boot): New targets.
   (bootstrap): Depend on bootstrap-build.
 * admin/ldefs-clean.el: New file.
 * lisp/Makefile.in (compile-first): Depend on loaddefs.el
 * lisp/ldefs-boot.el: Remove.
 * lisp/ldefs-boot-auto.el: New file.
 * lisp/ldefs-boot-manual.el: New file.
 * lisp/loadup.el: Load ldefs-boot-manual.el.
 * src/emacs.c (generating_ldefs_boot): New variable.
   (main): Check whether we are generating ldefs.
 * src/eval.c (autoload-do-load): Dump autoload forms to stderr when
   requested.
 * src/lisp.h (generating_ldefs_boot): New variable.
 * admin/gitmerge.el, admin/make-tarball.txt, admin/notes/copyright,
   lisp/Makefile.in, lisp/cus-dep.el, lisp/emacs-lisp/elint.el,
   lisp/finder.el, lisp/loadup.el, msdos/mainmake.v2: Update reference to
   ldefs-boot.
 * admin/update_autogen: Alter mechanism for ldefs-boot generation.
2016-12-13 22:15:32 +00:00
Paul Eggert
39577d0712 Merge from origin/emacs-25
ad250f2 Sync with gnulib
c0165ea Resurrect GNUS-NEWS autogeneration

# Conflicts:
#	etc/GNUS-NEWS
#	lisp/Makefile.in
2016-03-23 11:27:22 -07:00
Paul Eggert
c0165ea4d6 Resurrect GNUS-NEWS autogeneration
* doc/misc/gnus-coding.texi (Gnus Maintenance Guide): Update
GNUS-NEWS section to match current file locations and procedure.
* etc/GNUS-NEWS: Regenerate by using new procedure.
* lisp/Makefile.in (update-gnus-news): New rule, containing a
procedure for building GNUS-NEWS.  The old procedure got lost
somehow when Gnus was merged into Emacs.
2016-03-23 00:08:21 -07:00
John Wiegley
1dd4f26ab6 Merge from origin/emacs-25
ef33bc7 Spelling and grammar fixes
9c3dbab Fix copyright years by hand
0e96320 Update copyright year to 2016
2016-01-11 22:48:07 -08:00