| # Procedures to build gforth from the CVS sources |
# Procedures to build gforth from the CVS sources |
| |
|
| |
#use this with parameters and env variables like "configure" |
| |
|
| |
#Copyright (C) 2000,2002,2003,2006 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 |
# created: 2may00jaw |
| |
|
| # To build gforth from scratch you need autoconf and automake. |
# To build gforth from scratch you need autoconf, automake and a |
| |
# gforth-0.6.2 |
| # This file can be used as shell script. If you make the environment |
# This file can be used as shell script. If you make the environment |
| # variable OLDGFORTH point to an existing gforth installation, this |
# variable GFORTH point to an existing gforth installation, this |
| # script takes over kernel and primitve files. |
# 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 |
# makes a aclocal.m4 which includes the automake macros for autconf |
| |
|
| # generate header files like engine/config.h.in |
# generate header files like engine/config.h.in |
| |
|
| autoheader |
autoheader |
| |
echo timestamp >stamp-h.in |
| |
|
| # Option 1: You have kernl???.fi files for the latest gforth engine |
# run configure Script |
| |
|
| # 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 . |
|
| |
|
| # fetch the include files for the primitives |
./configure "$@" |
| 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 |
|
| |
|
| # mark them up to date |
# if you have specified a previous Gforth, you can safely run make now |
| touch $primfiles |
# with FORTHK and FORTHP changed appropriately. |
| |
|
| # mark kernel files up to date |
#a local gforth.fi probably does not work with $GFORTH |
| touch kernl???.fi . |
rm -f 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 |
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 ... |
|
| |
|