|Subject:||RE: Two problems of building Emacs on windows|
|Date:||Fri, 19 Oct 2007 20:04:46 +0800|
> > 2. On `buildobj.lst'.|
> > Because the different building directories arrangement on Windows,
> > `buildobj.lst' can't be found correctly when the executable emacs.exe
> > is dumped. It is in the `etc' directory on GNU/Linux for example, but
> > not there on Windows.
> Why do you need this file after Emacs is dumped?
Sure I don't need it after Emacs is dumped. The problem is that I
can't dump it. Let me explain it more precisely.
At least in my building, the C parts of Emacs is built in
$(OBJDIR)/$(ARCH), i.e. src/oo-spd/i386. Then the file DOC-X is put
into $(OBJDIR)/etc, i.e. src/oo-spd/etc. The file buildobj.lst is in
src/oo-spd/i386. There is only one file, DOC-X, in src/oo-spd/etc.
Dumping Emacs requires buildobj.lst, and it should be in some
directory named `etc'. This directory could be the top-level etc
directory in the source code, or where the C parts is actually built
(e.g. src/oo-spd/etc), depends on the value of `doc-directory' (please
see the definition of Snarf-documentation, which does the job of
reading "buildobj.lst"). Unfornately, buildobj.lst is in neither of
But just copying it to src/oo-spd/etc is not sufficient.
In the building process, `doc-directory' should be re-computed in
time, but not use the value in nt/paths.h. The code that computes
this variable is in `init_callproc' in callproc.c. As we can see, it
will be re-computed only when `installation-directory' is non-nil,
which is changed to a non-nil value in `init_cmdargs' in emacs.c in
some cases. But there is a prerequisite on that: the building
directory must contains both `lib-src' as well as `etc' in its parent
directory, and the existence of `lib-src' is tested before `etc'. If
`lib-src' does not exist, then `installation-directory' is nil, no
matter whether `etc' exists in that directory (`init_cmdargs' in
In my building, there is only src/oo-spd/etc, so in addition to
copying buildobj.lst from src/oo-spd/i386 to src/oo-spd/etc, I have to
create src/oo-spd/lib-src as well.
Btw, is it because I did not build Emacs in a standard way so I
encounter these errors?
Connect to the next generation of MSN Messenger Get it now!
|[Prev in Thread]||Current Thread||[Next in Thread]|