emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "nmake info" Windows patch


From: Peter 'Luna' Runestig
Subject: Re: "nmake info" Windows patch
Date: Sat, 22 Feb 2003 10:53:19 +0100
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.3b) Gecko/20030207

On 2003-02-22 10:21, Eli Zaretskii wrote:
>> [...]
>> +SHELL = cmd
>> [...]
>> +MAKEINFO = makeinfo
>> +TEXI2DVI = texi2dvi
>> +DVIPS = dvips
>> +ENVADD = TEXINPUTS="$(srcdir):$(TEXINPUTS)" MAKEINFO="$(MAKEINFO) 
>> -I$(srcdir)"
>> [...]
>> +emacs-lisp-intro.dvi: $(INFO_SOURCES)
>> +    $(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-lisp-intro.texi
> 
> Does this really work in native Windows environment (i.e. without
> Cygwin being installed)?  I don't think CMD.EXE can run Unix shell
> scripts such as texi2dvi, and neither I think that a native Windows
> port of makeinfo will DTRT with the value of TEXINPUTS where
> directories are separated by colons (instead of semi-colons).

The `info' target works in native Windows (well, on XP at least). I
cheated a bit when making the `makefile.w32-in' files, by copying the
`Makefile.in' files, and tweaking them until the `info' target worked.
So, yes, there are stuff left there that cmd.exe can't handle, but it's
never been called upon in my testings.

> If this only works with Cygwin tools, we should at least tell that
> somewhere.

That's not the intention, but I've used `cp', `rm' and `makeinfo' (and
dependencies to that) from Cygwin when testing this.

> What would be _really_ nice if at least some targets would
> work with native Windows tools, not only with Cygwin.  For example:
> 
>> +mostlyclean:
>> +    rm -f  *.log *.cp *.fn *.ky *.pg *.vr *.tp
>> +
>> +clean: mostlyclean
>> +    rm -f *.dvi
> There's no reason not to use CMD's built-in DEL command here (perhaps
> with a FOR loop).

Sure, but you need `rm' to build emacs anyway.

>> +++ emacs-20030219/nt/makefile.w32-in        2003-02-21 21:23:01.000000000 
>> +0100
>> @@ -214,6 +214,15 @@
>>      $(MAKE) $(MFLAGS) -C ../lisp install
>>      $(MAKE) $(MFLAGS) -C ../leim install
>>  
>> +force-info:
>> +# Note that man/makefile knows how to
>> +# put the info files in $(srcdir),
>> +# so we can do ok running make in the build dir.
>> +info: force-info
>> +    (cd ..\man && $(MAKE) $(MFLAGS) info)
>> +    (cd ..\lispref && $(MAKE) $(MFLAGS) info)
>> +    (cd ..\lispintro && $(MAKE) $(MFLAGS) info)
> 
> This also won't work except with Cygwin Bash (or some other ported
> Unix shell) as your shell.

This works fine with cmd.exe.

Cheers,
- Peter
-- 
Peter 'Luna' Runestig (fd. Altberg), Sweden <address@hidden>
PGP Key ID: 0xD07BBE13
Fingerprint: 7B5C 1F48 2997 C061 DE4B  42EA CB99 A35C D07B BE13
AOL Instant Messenger Screen name: PRunestig





reply via email to

[Prev in Thread] Current Thread [Next in Thread]