unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Eli Zaretskii" <eliz@elta.co.il>
Cc: emacs-devel@gnu.org
Subject: Re: Your Emacs changes
Date: Tue, 19 Aug 2003 09:51:47 +0200	[thread overview]
Message-ID: <2427-Tue19Aug2003095146+0300-eliz@elta.co.il> (raw)
In-Reply-To: <uwudbousp.fsf@runestig.com> (peter@runestig.com)

> From: "Peter 'Luna' Runestig" <peter@runestig.com>
> Date: 18 Aug 2003 17:21:58 +0200
> 
> Richard Stallman <rms@gnu.org> writes:
> > Now that we have your papers, we can install your changes.  Could you
> > send your changes once again to emacs-devel, together with change log
> > entries for them?
> 
> Here it goes:
> [...]

Hmm, bother:

> +SHELL = cmd
> [...]
> +MAKEINFO = makeinfo
> +TEXI2DVI = texi2dvi
> +DVIPS = dvips
> +ENVADD = TEXINPUTS="$(srcdir):$(TEXINPUTS)" MAKEINFO="$(MAKEINFO) -I$(srcdir)"
> [...]
> +mostlyclean:
> +	rm -f  *.log *.cp *.fn *.ky *.pg *.vr *.tp
> +
> +clean: mostlyclean
> +	rm -f *.dvi
> +
> +distclean: clean
> +
> +maintainer-clean: distclean
> +	rm -f *.aux *.cps *.fns *.kys *.pgs *.vrs *.toc

These patches will probably work only with the Cygwin-compiled ports
of Texinfo and programs such as dvips and rm.  

[There's the fpTeX project which produces native Windows ports of TeX,
DVIware, and related programs, so the assumption that only Cygwin
ports of those programs exist is incorrect.  fpTeX is included on the
annual releases of the "TeX Live" CDROM.]

Also, the Makefile says "SHELL = cmd", but commands such as this:

> +emacs-lisp-intro.dvi: $(INFO_SOURCES)
> +	$(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-lisp-intro.texi

and this:

> +elisp.dvi: $(srcs) index.texi
> +	# Avoid losing old contents of aux file entirely.
> +	-mv elisp.aux elisp.oaux
> +	# First shot to define xrefs.
> +	$(texinputdir) $(TEX) $(srcdir)/elisp.texi
> +	if [ a$(permuted_index) != a ]; \
> +	then \
> +	  $(srcdir)/permute-index; \
> +	  mv permuted.fns elisp.fns; \
> +	  texindex elisp.tp; \
> +	else \
> +	  texindex elisp.??; \
> +	fi
> +	$(texinputdir) $(TEX) $(srcdir)/elisp.texi

will only work if the shell is actually a port of a Unix shell, such
as Bash, since (AFAIK) CMD doesn't understand the syntax

   "foo=bar some-command"

and also because texi2dvi is a Unix shell script that CMD cannot run
directly, and because "if [ something" will totally confuse CMD.

> +dist: elisp elisp.dvi
> +	-rm -rf temp
> +	-mkdir temp
> +	-mkdir temp/$(manual)
> +	-ln $(srcdir)/README $(srcdir)/configure.in $(srcdir)/configure \
> + $(srcdir)/Makefile.in $(srcdir)/permute-index $(srcs) \
> + $(srcdir)/../man/texinfo.tex \
> + elisp.dvi elisp.aux elisp.??s elisp elisp-[0-9] elisp-[0-9][0-9] \
> + temp/$(manual)
> +	-(cd temp/$(manual); rm -f mkinstalldirs)
> +	cp $(srcdir)/mkinstalldirs temp/$(manual)
> +	(cd temp/$(manual); rm -f *~)
> +	(cd temp; tar chf - $(manual)) | gzip > $(manual).tar.gz
> +	-rm -rf temp

Since no one will ever prepare an Emacs tarball on Windows, targets
such as this seems unnecessary (it will also not work, since Windows
doesn't support hard links).

Is it really your intent here to allow only Cygwin-compiled ports to
be used?  If so, I'd suggest to say so in some prominent place, since
other makefile-w32.in files (e.g., in the `src' directory) don't make
those assumptions.  (They also take care to use available Windows
commands for operations such as rm, mv and cp.)

Better still, make these Makefiles work with stock Windows shells, if
you are prepared to invest an extra effort.  E.g., the ENVADD stuff
can be replaced with Make's own "export foo=bar" directives.  Or at
least detect that the Makefile is being used with non-Cygwin ports and
refuse to run.

The line "SHELL = CMD" is erroneous in any case, I think.

All these considerations are important especially in the `man'
directory, since the absence of Cygwin ports will prevent people from
building and changing the user manual, which is essential for proper
usage of Emacs.

In any case, thank you for your work.

  reply	other threads:[~2003-08-19  7:51 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-08-15 16:04 Your Emacs changes Richard Stallman
2003-08-18 15:21 ` Peter 'Luna' Runestig
2003-08-19  7:51   ` Eli Zaretskii [this message]
2003-08-19  7:36     ` Jason Rumney
2003-08-19 17:32       ` Eli Zaretskii
2003-08-22  9:58         ` Jason Rumney
2003-08-22 11:13       ` Peter 'Luna' Runestig
2003-08-19  7:59     ` Peter 'Luna' Runestig
2003-08-19 17:46       ` Eli Zaretskii
2003-08-21  7:45         ` Jason Rumney
2003-08-21  7:59         ` Jason Rumney
2003-08-29  7:25         ` "nmake info" Windows patch (was: Your Emacs changes) Peter 'Luna' Runestig
2003-08-29 11:20           ` Eli Zaretskii
2003-08-29 11:35             ` "nmake info" Windows patch Peter 'Luna' Runestig
2003-08-29 15:11               ` Eli Zaretskii
2003-08-30  3:10               ` Richard Stallman
2003-08-29 11:40             ` "nmake info" Windows patch (was: Your Emacs changes) Dhruva Krishnamurthy
2003-08-29 11:46             ` Dhruva Krishnamurthy
     [not found] <E1IM8Gf-0005ZW-Qc@fencepost.gnu.org>
2007-08-21 14:42 ` Your Emacs changes Dmitry Antipov
2007-08-21 16:58   ` Stefan Monnier
     [not found] <E1Gv1Kf-0002ME-7u@fencepost.gnu.org>
     [not found] ` <200612160806.16403.mark@mcs.vuw.ac.nz>
     [not found]   ` <E1GvflW-00045v-Tx@fencepost.gnu.org>
2006-12-18 11:13     ` Mark Davies
     [not found] <E1D7MTJ-0002Jj-BJ@fencepost.gnu.org>
2005-04-26 12:07 ` Arne Jørgensen
2005-04-28 11:58   ` Thien-Thi Nguyen
     [not found] <E1CuNEB-0000sr-V7@fencepost.gnu.org>
2005-01-31 14:50 ` Matt Hodges
2005-02-03  6:40   ` Richard Stallman
  -- strict thread matches above, loose matches on Subject: below --
2004-06-02 17:37 Richard Stallman
2004-05-10 17:55 Richard Stallman
2004-05-02 11:19 Richard Stallman
2002-06-15 14:13 Richard Stallman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2427-Tue19Aug2003095146+0300-eliz@elta.co.il \
    --to=eliz@elta.co.il \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).