comparison lisp/loadup.el @ 96137:eae2eee28ad3

Make "make" do a bootstrap if needed. * src/Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs. (bootstrapclean): Remove. (.el.elc): New rule. (PRECOMP): New var. (../lisp/subdirs.el): Remove. (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency. (witness-emacs): New target. (mostlyclean): Remove witness-emacs as well. (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}): Add witness-emacs dependency. * lisp/loadup.el: Don't add emacs-<VERS> name when bootstrapping. * lisp/Makefile.in (emacs-deps): Remove. ($(lisp)/cus-load.el, $(lisp)/finder-inf.el): Re-add. (all): Use them. (autogen-clean): Remove. * Makefile.in (maybe_bootstrap, src/bootstrap-emacs${EXEEXT}) (bootstrap-build): Remove. (top_bootclean): New var. (top_distclean, bootstrap-clean): Use it. (bootstrap): Don't recheck config. Make normally.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Sat, 21 Jun 2008 01:38:39 +0000
parents b4b4a4b9fdb5
children d45acf0c8d23
comparison
equal deleted inserted replaced
96136:73e422173a87 96137:eae2eee28ad3
341 (if (eq system-type 'vax-vms) 341 (if (eq system-type 'vax-vms)
342 (progn 342 (progn
343 (message "Dumping data as file temacs.dump") 343 (message "Dumping data as file temacs.dump")
344 (dump-emacs "temacs.dump" "temacs") 344 (dump-emacs "temacs.dump" "temacs")
345 (kill-emacs)) 345 (kill-emacs))
346 (let ((name (concat "emacs-" emacs-version))) 346 (if (memq system-type '(ms-dos windows-nt cygwin))
347 (while (string-match "[^-+_.a-zA-Z0-9]+" name) 347 (message "Dumping under the name emacs")
348 (setq name (concat (downcase (substring name 0 (match-beginning 0))) 348 (message "Dumping under the name emacs"))
349 "-"
350 (substring name (match-end 0)))))
351 (if (memq system-type '(ms-dos windows-nt cygwin))
352 (message "Dumping under the name emacs")
353 (message "Dumping under names emacs and %s" name)))
354 (condition-case () 349 (condition-case ()
355 (delete-file "emacs") 350 (delete-file "emacs")
356 (file-error nil)) 351 (file-error nil))
357 ;; We used to dump under the name xemacs, but that occasionally 352 ;; We used to dump under the name xemacs, but that occasionally
358 ;; confused people installing Emacs (they'd install the file 353 ;; confused people installing Emacs (they'd install the file
359 ;; under the name `xemacs'), and it's inconsistent with every 354 ;; under the name `xemacs'), and it's inconsistent with every
360 ;; other GNU program's build process. 355 ;; other GNU program's build process.
361 (dump-emacs "emacs" "temacs") 356 (dump-emacs "emacs" "temacs")
362 (message "%d pure bytes used" pure-bytes-used) 357 (message "%d pure bytes used" pure-bytes-used)
363 ;; Recompute NAME now, so that it isn't set when we dump. 358 ;; Recompute NAME now, so that it isn't set when we dump.
364 (if (not (memq system-type '(ms-dos windows-nt cygwin))) 359 (if (not (or (memq system-type '(ms-dos windows-nt cygwin))
360 ;; Don't bother adding another name if we're just
361 ;; building bootstrap-emacs.
362 (equal (nth 3 command-line-args) "bootstrap")
363 (equal (nth 4 command-line-args) "bootstrap")))
365 (let ((name (concat "emacs-" emacs-version))) 364 (let ((name (concat "emacs-" emacs-version)))
366 (while (string-match "[^-+_.a-zA-Z0-9]+" name) 365 (while (string-match "[^-+_.a-zA-Z0-9]+" name)
367 (setq name (concat (downcase (substring name 0 (match-beginning 0))) 366 (setq name (concat (downcase (substring name 0 (match-beginning 0)))
368 "-" 367 "-"
369 (substring name (match-end 0))))) 368 (substring name (match-end 0)))))
369 (message "Adding name %s" name)
370 (add-name-to-file "emacs" name t))) 370 (add-name-to-file "emacs" name t)))
371 (kill-emacs))) 371 (kill-emacs)))
372 372
373 ;; Avoid error if user loads some more libraries now. 373 ;; Avoid error if user loads some more libraries now.
374 (setq purify-flag nil) 374 (setq purify-flag nil)