Stephan Hegel wrote:
Hi,

A.J.Mechelynck wrote:
- Using "cat" is OK as long as you can be sure that you'll get them in numeric order: this is usually the case on Unix but not necessarily on Dos, where a wildcarded filename usually gets its results in directory order, not sorted by filename.
Well, you are right: I'm on Linux and wasn't aware of the different DOS
sorting order. So, the following below applies to Linux/Unix only ...

- By patching individually, if one of the patches fails horribly you may decide not to try the following. - Usually there aren't more than a handful of _new_ patches anyway, so (except when starting from scratch with many patches already published) it's hardly worth the trouble going to a cat step.
What you have described even on your Web page, IMHO still too much manual
work. After downloading new patches with "ncftp" I just type "make all"
with the following Makefile:

-------------------------------------------------------------------------
PREFIX=/usr/local

help:
        @echo "Available targets:"
        @echo "   all"
        @echo "   install"
        @echo "   clean"

all: clean
        tar xfj vim-7.1.tar.bz2
        tar xfz vim-7.1-lang.tar.gz
        tar xfz vim-7.1-extra.tar.gz
        cat vim-7.1.patches/7.1.* > patchfile
        (cd vim71 ; patch -p0 < ../patchfile)
(cd vim71 ; ./configure --prefix=$(PREFIX) --with-x --enable-gui=gtk2
--enable-multibyte --enable-xim --enable-fontset --enable-perlinterp
--enable-cscope && make)

install:
(cd vim71; umask 022; installwatch -o /home/steve/install.log/vim-7.1.log make install)
        chmod 644 /home/steve/install.log/vim-7.1.log

clean:
        rm -rf patchfile
        rm -rf vim71

.PHONY: help all install clean
--------------------------------------------------------------------------

... and everything is done in less than 150 sec. Works for me for a long
time and starting from scratch keeps me out of trouble with old objects,
etc. Should not happen with make ... yes, this is what optimists always
say, but there is still Murphy ;).

BTW, "make" should stop when "patch" or any other action fails.

Interesting would  be an extension to download the patches automagically.
Comments & ideas ?

Regards,
  Stephan.


Comments:

- Since on Linux I build only one version of Vim (a full-featured GUI-enabled executable which can also run in console mode) I prefer to keep already-built objects, doing what the Mozilla guys call a "depend" build rather than a "clobber" build (which is what you do). I've found that it spares quite a lot of time, finishing in a few seconds rather than a few minutes.

- When I really need a clobber build (because my configuration has changed), then I do "make reconfig" in the src subfolder.

- After "make clean", "make" will invoke configure, you don't need to run it separately. (I keep my configure options in a separate script, which I "source" in bash to set the required environment variables.)

- What is ncftp? On my openSUSE 10.2 system I have a program called "ftp" but none called "ncftp".


Best regards,
Tony.
--
hundred-and-one symptoms of being an internet addict:
241. You try to look for Net Search even when you're in File Manager.

Reply via email to