unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* options/config for the CVS built
@ 2005-03-07 12:15 Gnooby
  2005-03-07 12:28 ` Chong Yidong
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Gnooby @ 2005-03-07 12:15 UTC (permalink / raw)


Hi,

I'm about to build the CVS version of Emacs 21.4.  It's for Windows
2000, but that shouldn't matter, in this case.

I have done this on Linux some time ago and I remember the built
process to be *very* time-consuming.  IIRC it took more than 2 hours
(maybe even more than 4 hours, I can not recall). This is on a modern
PC, where the compilation of the "normal" Emacs source only takes about
one hour (probably much less, I can not recall).

I'd like to avoid that this time.  Not only to save time and diskspace,
but in order do undertstand the built-process.  So, I'm looking for a
way to build just the minimum set (plus Gnus, maybe) from CVS.  How
would I do this?  I took a look at %CVSROOT%\emacs\configure
(respectively: %CVSROOT%\emacs\nt\configure.bat), but couldn't get any
further.

Thanks for your attention.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: options/config for the CVS built
  2005-03-07 12:15 options/config for the CVS built Gnooby
@ 2005-03-07 12:28 ` Chong Yidong
  2005-03-07 15:51   ` Gnooby
  2005-03-07 12:48 ` Thien-Thi Nguyen
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 10+ messages in thread
From: Chong Yidong @ 2005-03-07 12:28 UTC (permalink / raw)


> I'm about to build the CVS version of Emacs 21.4.  It's for Windows
> 2000, but that shouldn't matter, in this case.

The code in Emacs CVS, if that is what you mean, is going to be
released as 22.1.
 
> I have done this on Linux some time ago and I remember the built
> process to be *very* time-consuming.  IIRC it took more than 2 hours
> (maybe even more than 4 hours, I can not recall). This is on a modern
> PC, where the compilation of the "normal" Emacs source only takes about
> one hour (probably much less, I can not recall).

Have you actually tried? For me, `make bootstrap' takes about 10
minutes; plain old `make', without bootstrapping, takes a couple of
minutes. I have an Athlon 1.5GHz, which is not old but hardly
cutting-edge.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: options/config for the CVS built
  2005-03-07 12:15 options/config for the CVS built Gnooby
  2005-03-07 12:28 ` Chong Yidong
@ 2005-03-07 12:48 ` Thien-Thi Nguyen
  2005-03-07 15:57   ` Gnooby
  2005-03-07 12:59 ` Peter Dyballa
       [not found] ` <mailman.2868.1110201986.32256.help-gnu-emacs@gnu.org>
  3 siblings, 1 reply; 10+ messages in thread
From: Thien-Thi Nguyen @ 2005-03-07 12:48 UTC (permalink / raw)


Gnooby <gnooby@gmx.com> writes:

> I'd like to avoid that this time.  Not only to save time and diskspace,
> but in order do undertstand the built-process.

to understand something you need to invest time.
you cannot understand something better my ignoring it more.

thi

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: options/config for the CVS built
  2005-03-07 12:15 options/config for the CVS built Gnooby
  2005-03-07 12:28 ` Chong Yidong
  2005-03-07 12:48 ` Thien-Thi Nguyen
@ 2005-03-07 12:59 ` Peter Dyballa
       [not found] ` <mailman.2868.1110201986.32256.help-gnu-emacs@gnu.org>
  3 siblings, 0 replies; 10+ messages in thread
From: Peter Dyballa @ 2005-03-07 12:59 UTC (permalink / raw)
  Cc: help-gnu-emacs


Am 07.03.2005 um 12:15 schrieb Gnooby:

> I have done this on Linux some time ago and I remember the built
> process to be *very* time-consuming.

The time is spent in compiling the Elisp files. When you're sure that 
this isn't needed you can try 'make bootfast' -- it doesn't save so 
much time for me.

Besides, once you have the Elisp files compiled, you could try a simple 
make and hope that everything goes fine. The problem comes up when you 
receive from CVS new Elisp files. It's sometimes not sufficient to 
byte-compile them, sometimes code from them is used by other functions 
in different Elisp files ...

As long as you don't change them I think you can try different 
configurations after 'make bootstrap' and simply invoke 'make' to see 
what comes out.

--
Greetings

   Pete

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: options/config for the CVS built
  2005-03-07 12:28 ` Chong Yidong
@ 2005-03-07 15:51   ` Gnooby
  2005-03-08  3:40     ` Dhruva Krishnamurthy
  2005-03-08  4:40     ` Eli Zaretskii
  0 siblings, 2 replies; 10+ messages in thread
From: Gnooby @ 2005-03-07 15:51 UTC (permalink / raw)


* Chong Yidong wrote:

>> I have done this on Linux some time ago and I remember the built
>> process to be *very* time-consuming.
[...]
> Have you actually tried?
[...]

No.  You got me ashamed.  ;-)

As I said: I *did* compile a CVS version before.  It's just that it
took so much time to do 'make bootstrap' (more than 2 hours) the last
time I did it (on Linux), that I wanted to know what I could tweak/omit
there.

Thinking of it: Maybe it had something to do with the fact that the
previous machine had "only" about 500 Mhz and 256 MB RAM.  And KDE was
probably running, too  ;-)

Good news is: You were right.  It only took about 30 minutes to compile
the beast.  CVS-Emacs is running.  (forgive me for not posting with
Gnus yet, though)

BTW: What kind of toolkit does it use by default, on Windows?  I didn't
specify any  --with-x-toolkit  option.  Just ran the default
configure.bat.  Looks butt-ugly.  Looks like Xaw3d or Athena.  Just
uglier ;-)

However, my orginal question has not been answered yet: Is there a
convenient way to specify what should be compiled and what not?  e.g.:
If I don't want Gnus to be compiled in the CVS-built-process, how would
I do that?


BTW: Many Thanks for the link
http://www.student.lu.se/%7Etps95lbn/Emacs/EmacsSetupUtilities.html
No way I could have succeeded without it.  Maybe I should contact this
guy Lennart Borgman, though, for him to update the site a bit.  I had
to do some tweaks manually in order to get it working.  That's not a
complaint.  I'm aware that he cannot keep track of all the changes that
these projects (Emacs, MinGW, GnuWin32, UnixUtils) implement.  I'm just
talking from a viewpoint of a Newbie.

I'll try to recall the "tweaks", as long as my memory is fresh:

- He proposes to get make.exe, but I can't find make.exe on
  http://gnuwin32.sourceforge.net/packages.html
  I had to get it from MinGW.  Mind you: I'm not saying that it's not
  there.  I'm just stating that I, as a Newbie, couldn't find it right
  away.
- copy mingw32-make.exe to make.exe (BTW: why can't I simply make a
  link?)
- He proposes to get makeinfo.exe.  I can't find that either on the
  GnuWin32 site
- he proposes to install some Unix Utilities from GnuWin32.  I've
  installed the FileUtils and FindUtils.  These depend on the LibIntl
  and LibIconv dlls.  However, the *.zip file only contains a
  libintl-2.dll.  When trying to run a binary from the GnuWin32\bin
  directory it complains about a missing libintl3.dll.  When copying
  libintl-2.dll to libintl3.dll the problem is resolved.

Again: I'm not complaining!  I'm just sharing my experience, in order
to make it easier for other Users/Newbies to get it running.

Many thanks to Chong Yidong, Lennart Borgman, Peter Dyballa and
Thien-Thi Nguyen!

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: options/config for the CVS built
  2005-03-07 12:48 ` Thien-Thi Nguyen
@ 2005-03-07 15:57   ` Gnooby
  0 siblings, 0 replies; 10+ messages in thread
From: Gnooby @ 2005-03-07 15:57 UTC (permalink / raw)


* Thien-Thi Nguyen wrote:
> Gnooby <gnooby@gmx.com> writes:
>
>> I'd like to avoid that this time.  Not only to save time and diskspace,
>> but in order do undertstand the built-process.
>
> to understand something you need to invest time.
> you cannot understand something better my ignoring it more.

   :-))))

That really made my day.  Thank you!  ;-)

Are you aware that, by referring to "save time", I was referring to the
built process ('make') rather than to the effort of learning Emacs
itself?

However, the "save time" argument is pretty irrelevant.  I just want to
learn and understand the Emacs built-process, in order not to remain
clueless forever.  ;)

Thanks, though.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: options/config for the CVS built
  2005-03-07 15:51   ` Gnooby
@ 2005-03-08  3:40     ` Dhruva Krishnamurthy
  2005-03-08 13:46       ` Chong Yidong
  2005-03-08  4:40     ` Eli Zaretskii
  1 sibling, 1 reply; 10+ messages in thread
From: Dhruva Krishnamurthy @ 2005-03-08  3:40 UTC (permalink / raw)


>>>>> On 7 Mar 2005 15:51:00 GMT, Gnooby <gnooby@gmx.com> said:
Hello,

g> - He proposes to get make.exe, but I can't find make.exe on
g> http://gnuwin32.sourceforge.net/packages.html I had to get it from MinGW.
g> Mind you: I'm not saying that it's not there.  I'm just stating that I, as
g> a Newbie, couldn't find it right away.  - copy mingw32-make.exe to make.exe
g> (BTW: why can't I simply make a link?)  - He proposes to get makeinfo.exe.
g> I can't find that either on the GnuWin32 site - he proposes to install some
g> Unix Utilities from GnuWin32.  I've installed the FileUtils and FindUtils.
g> These depend on the LibIntl and LibIconv dlls.  However, the *.zip file
g> only contains a libintl-2.dll.  When trying to run a binary from the
g> GnuWin32\bin directory it complains about a missing libintl3.dll.  When
g> copying libintl-2.dll to libintl3.dll the problem is resolved.

g> Again: I'm not complaining!  I'm just sharing my experience, in order to
g> make it easier for other Users/Newbies to get it running.

I think this is the best time to come up with a document which describes the
correct steps (under present circumstances... I mean about the location of
tools and their links as of now). Most of us have a collection of MinGW32
tools collected over the years + built versions of tools which are not part of
MinGW32. Hence, we (atleast I) have a non-standard MinGW32 setup which works
fine for GNU Emacs build. Due to this, we fail to notice sour points which
makes it impossible to proceed with the build.

Maybe, someone can also add directions to build GNU Emacs with image support
on Win32 platform (and mention the problem in using image libraries built
using GCC and building GNU Emacs using MSVC).

A good starting point to find out the libraries/DLLs required for a Win32
build would be run "depends.exe" on a built GNU Emacs (this is a chicken and
egg problem, I could help here if someone is interested) and get the whole
list of DLLs required at runtime. I did that once to copy only those DLLs
required by Emacs at runtime instead of copying the whole of MinGW32 runtime
during installation on other machines.

Let me know if I can be of some help as I have spent some time building GNU
Emacs on Win32 platform using both MSVC and MinGW32.

-dhruva

-- 
Name : Dhruva Krishnamurthy (dk)
Phone: +91-(0)80-22999190
Proud FSF member: #1935

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: options/config for the CVS built
  2005-03-07 15:51   ` Gnooby
  2005-03-08  3:40     ` Dhruva Krishnamurthy
@ 2005-03-08  4:40     ` Eli Zaretskii
  1 sibling, 0 replies; 10+ messages in thread
From: Eli Zaretskii @ 2005-03-08  4:40 UTC (permalink / raw)


> From: Gnooby <gnooby@gmx.com>
> Date: 7 Mar 2005 15:51:00 GMT
> 
> BTW: What kind of toolkit does it use by default, on Windows?

It uses the native Windows GUI widgets.

> If I don't want Gnus to be compiled in the CVS-built-process, how would
> I do that?

You don't.  The bootstrap compiles everything.

> - copy mingw32-make.exe to make.exe (BTW: why can't I simply make a
>   link?)

There are no links on Windows.

> - He proposes to get makeinfo.exe.  I can't find that either on the
>   GnuWin32 site

makeinfo.exe is part of the Texinfo package, which can be found on
GnuWin32 site.

> - he proposes to install some Unix Utilities from GnuWin32.  I've
>   installed the FileUtils and FindUtils.  These depend on the LibIntl
>   and LibIconv dlls.  However, the *.zip file only contains a
>   libintl-2.dll.  When trying to run a binary from the GnuWin32\bin
>   directory it complains about a missing libintl3.dll.  When copying
>   libintl-2.dll to libintl3.dll the problem is resolved.

You will also find LibIntl and LibIconv as separate packages on the
GnuWin32 site.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: options/config for the CVS built
       [not found] ` <mailman.2868.1110201986.32256.help-gnu-emacs@gnu.org>
@ 2005-03-08 13:37   ` Chong Yidong
  0 siblings, 0 replies; 10+ messages in thread
From: Chong Yidong @ 2005-03-08 13:37 UTC (permalink / raw)


> Besides, once you have the Elisp files compiled, you could try a
> simple make and hope that everything goes fine. The problem comes up
> when you receive from CVS new Elisp files. It's sometimes not
> sufficient to byte-compile them, sometimes code from them is used by
> other functions in different Elisp files ...

In that case, `make recompile' probably does what you want.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: options/config for the CVS built
  2005-03-08  3:40     ` Dhruva Krishnamurthy
@ 2005-03-08 13:46       ` Chong Yidong
  0 siblings, 0 replies; 10+ messages in thread
From: Chong Yidong @ 2005-03-08 13:46 UTC (permalink / raw)


> I think this is the best time to come up with a document which
> describes the correct steps (under present circumstances... I mean
> about the location of tools and their links as of now). Most of us
> have a collection of MinGW32 tools collected over the years + built
> versions of tools which are not part of MinGW32. Hence, we (atleast
> I) have a non-standard MinGW32 setup which works fine for GNU Emacs
> build. Due to this, we fail to notice sour points which makes it
> impossible to proceed with the build.

FWIW, I compile CVS Emacs on a bog-standard MingW distribution, with
no other packages from GnuWin32 or anywhere else, and using
mingw32-make.exe (renamed to make.exe). However, I have to make two
small changes by hand to lisp/makefile to get it to bootstrap
properly.

On line 500 (in autoloads):
! 			  $(DQUOTE)$(lisp)/loaddefs.el$(DQUOTE))$(ARGQUOTE) \
! 		-f batch-update-autoloads $(lisp) $(WINS)
-->
! 			  $(DQUOTE)loaddefs.el$(DQUOTE))$(ARGQUOTE) \
! 		-f batch-update-autoloads . $(WINS)

I mentioned this on the list before, but Eli said that the problem was
with MingW make. Ah well.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2005-03-08 13:46 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-07 12:15 options/config for the CVS built Gnooby
2005-03-07 12:28 ` Chong Yidong
2005-03-07 15:51   ` Gnooby
2005-03-08  3:40     ` Dhruva Krishnamurthy
2005-03-08 13:46       ` Chong Yidong
2005-03-08  4:40     ` Eli Zaretskii
2005-03-07 12:48 ` Thien-Thi Nguyen
2005-03-07 15:57   ` Gnooby
2005-03-07 12:59 ` Peter Dyballa
     [not found] ` <mailman.2868.1110201986.32256.help-gnu-emacs@gnu.org>
2005-03-08 13:37   ` Chong Yidong

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).