|
From: | Eric Lilja |
Subject: | Re: Moving homebrewn binaries and question about building documentation |
Date: | Sat, 21 Jul 2007 16:56:00 +0200 |
User-agent: | Thunderbird 2.0.0.5 (Windows/20070716) |
Eric Lilja wrote:
Eli Zaretskii wrote:From: Eric Lilja <address@hidden> Date: Sat, 21 Jul 2007 14:23:54 +0200 #!/bin/bash export CVS_RSH="ssh" touch ~/.cvspasscvs -z3 -d:pserver:address@hidden:/sources/emacs co -r EMACS_22_BASE emacsrm ~/.cvspass cd emacs/nt/ ./configure.bat --with-gcc --no-cygwin --no-debug mingw32-make bootstrap --jobs=2 XMFLAGS="--jobs=2" mingw32-make install mingw32-make infoThe last command, mingw32-make info, was not actually in the script but something I performed as an afterthought. I've had problems before with my homebrewn binaries not being able to find its documentation, and maybe this was the missing step?You do need the last command on Windows, since nt/makefile will not build the documentation by default (unlike on Unix and GNU systems). This is because Windows users are not required to have Texinfo installed, and we don't want to ail the build for those who don't.My second question is: If I want to keep only the binaries and the files those binaries need, which directories should I get rid of now that the build is finished (and was a success)?I'd suggest to use the "make install" target (in nt/makefile). If you give it a target directory, like this: make install INSTALL_DIR=/path/to/wherever/you/want then it will copy only the files necessary for running Emacs you built to the named directory. You can then remove the source tree if you don't want to keep it, and run Emacs from the directory where you told "make install" to put it. The advantage of "make install" as compared to removing unneeded directories is that some files inside the directories you do need are not copied (e.g., the CVS/ subdirectories, the ChangeLog files, etc.). This might result in more disk space savings.Ah, thanks for the useful reply, Eli! I've changed my script to: #!/bin/bash export CVS_RSH="ssh" touch ~/.cvspasscvs -z3 -d:pserver:address@hidden:/sources/emacs co -r EMACS_22_BASE emacsrm ~/.cvspass cd emacs/nt/ ./configure.bat --with-gcc --no-cygwin --no-debug mingw32-make bootstrap --jobs=2 XMFLAGS="--jobs=2" mingw32-make info mingw32-make install INSTALL_DIR=c:/emacs/and I'm going to test it now (builds are started in c:/cvsemacs/emacs/nt) and no more manual copy to c:/emacs if this works or wondering what to copy.I actually wrote an application that cleaned the emacs tree from the CVS-dirs but then that one is not needed anymore now that you've armed me with this new information! Thanks! :) I will post back if I encounter any problems.- Eric
Ok, I just ran the script in my previous reply. There were a few "problems". As you can see I had a trailing / in my INSTALL_DIR so install tries to copy like this (just pasting one example):
cp -f oo-spd/i386/etags.exe c:/emacs//binNotice the double forward slash. It didn't seem to affect copying, though, and I will simply remove the trailing slash from INSTALL_DIR in my script (I thought it would check for a trailing slash and add one if there wasn't one but it seems it adds one regardless). Also, I still have many CVS directories in the subdirectories. I also noticed two empty top-level directories named lock and data, respectively. These are not present in the official emacs 22.1 windows binary package. Comments?
- Eric
[Prev in Thread] | Current Thread | [Next in Thread] |