--- gforth/BUILD-FROM-SCRATCH 2000/05/04 09:52:14 1.1 +++ gforth/BUILD-FROM-SCRATCH 2006/03/12 13:29:51 1.15 @@ -1,10 +1,47 @@ # Procedures to build gforth from the CVS sources + +#use this with parameters and env variables like "configure" + +#Copyright (C) 2000,2002,2003 Free Software Foundation, Inc. + +#This file is part of Gforth. + +#Gforth is free software; you can redistribute it and/or +#modify it under the terms of the GNU General Public License +#as published by the Free Software Foundation; either version 2 +#of the License, or (at your option) any later version. + +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.#See the +#GNU General Public License for more details. + +#You should have received a copy of the GNU General Public License +#along with this program; if not, write to the Free Software +#Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + + # created: 2may00jaw -# To build gforth from scratch you need autoconf and automake. +# To build gforth from scratch you need autoconf, automake and a +# gforth0.5.0 # This file can be used as shell script. If you make the environment -# variable OLDGFORTH point to an existing gforth installation, this -# script takes over kernel and primitve files. +# variable GFORTH point to an existing gforth installation, this +# script takes over the whole build process and will produce the +# kernel kernel images from the sources as well + +# try to guess a installed gforth + +if [ "$GFORTH"xx = "xx" ]; +then + rm -f gforth + GFORTH=`which gforth` + if [ "$GFORTH"xx = "xx" ]; then + echo 'BUILD-FROM-SCRATCH needs a working gforth (in environment variable GFORTH)' + exit 1 + fi + GFORTH="$GFORTH -m4M" +fi # makes a aclocal.m4 which includes the automake macros for autconf @@ -17,40 +54,23 @@ autoconf # generate header files like engine/config.h.in autoheader +echo timestamp >stamp-h.in -# Option 1: You have kernl???.fi files for the latest gforth engine - -# fetch primitve and kernel files from an existing gforth installation -# this works only if there are no changes between the prim file -# in the existing gforth installation and this one! -if [ "$CURRENTGFORTH" != "" ]; then - - # fetch some apropirate kernel images and copy it into the gforth root - - cp $CURRENTGFORTH/kernl???.fi . +# run configure Script - # fetch the include files for the primitives - primfiles="engine/prim.i engine/prim_lab.i prim.b kernel/aliases.fs kernel/prim.fs" - for I in $primfiles; do - cp $CURRENTGFORTH/$I $I; - done +./configure $* - # mark them up to date - touch $primfiles +# if you have specified a previous Gforth, you can savely run make now +# with FORTHK and FORTHP changed appropriate. - # mark kernel files up to date - touch kernl???.fi . +#a local gforth.fi probably does not work with $GFORTH +rm gforth.fi +echo xz +if [ "$GFORTH"xx != "xx" ] +then + echo Running: make BUILDFORTH="$GFORTH" FORTHP="$GFORTH" gforth... + make BUILDFORTH="$GFORTH" FORTHP="$GFORTH" gforth + echo Running: make BUILDFORTH="$GFORTH" FORTHP="$GFORTH" all... + make BUILDFORTH="$GFORTH" FORTHP="$GFORTH" all fi - -# Option 2: You don't have the lates kernel???.fi but a running (old) gforth on your system - -# If you don't have apropriate kernel images use an old gforth installation to -# bootstrap: -# run ./configure -# Edit the Makefile and replace the FORTHK variable with your existing -# gforth call e.g. "/usr/bin/gforth", you don't need any options! -# then run make gforth; make gforth.fi - -# go on with INSTALL ... -