version 1.1, 2000/05/04 09:52:14
|
version 1.20, 2007/08/17 13:40:38
|
Line 1
|
Line 1
|
# Procedures to build gforth from the CVS sources |
# Procedures to build gforth from the CVS sources |
# created: 2may00jaw |
|
|
|
# To build gforth from scratch you need autoconf and automake. |
#use this with parameters and env variables like "configure" |
# 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. |
|
|
|
# makes a aclocal.m4 which includes the automake macros for autconf |
#Copyright (C) 2000,2002,2003,2006 Free Software Foundation, Inc. |
|
|
aclocal |
#This file is part of Gforth. |
|
|
# generate configure script |
#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. |
|
|
autoconf |
#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. |
|
|
# generate header files like engine/config.h.in |
#You should have received a copy of the GNU General Public License |
|
#along with this program; if not, write to the Free Software |
autoheader |
#Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. |
|
|
# Option 1: You have kernl???.fi files for the latest gforth engine |
|
|
|
# fetch primitve and kernel files from an existing gforth installation |
# created: 2may00jaw |
# 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 |
# 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 |
|
# 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 |
|
|
cp $CURRENTGFORTH/kernl???.fi . |
# makes a aclocal.m4 which includes the automake macros for autconf |
|
|
# fetch the include files for the primitives |
aclocal && |
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 |
# generate configure script |
touch $primfiles |
|
|
|
# mark kernel files up to date |
autoconf && |
touch kernl???.fi . |
|
|
|
fi |
# generate header files like engine/config.h.in |
|
|
# Option 2: You don't have the lates kernel???.fi but a running (old) gforth on your system |
autoheader && |
|
echo timestamp >stamp-h.in |
|
|
# If you don't have apropriate kernel images use an old gforth installation to |
# run configure Script |
# 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 ... |
./configure "$@" && |
|
|
|
# if you have specified a previous Gforth, you can safely run make now |
|
# with FORTHK and FORTHP changed appropriately. |
|
|
|
#a local gforth.fi probably does not work with $GFORTH |
|
rm -f gforth.fi && |
|
|
|
if [ "$GFORTH"xx != "xx" ] |
|
then |
|
bootstrap=engine/prim.i" "`for x in b l; do for wid in 16 32 64; do echo kernl$wid$x.fi; done; done` |
|
echo 'Running: make BUILDFORTH="'$GFORTH'" FORTHP="'$GFORTH'" '$bootstrap && |
|
make BUILDFORTH="$GFORTH" FORTHP="$GFORTH" engine/prim.i $bootstrap && |
|
echo Running: make && |
|
make && |
|
make doc && |
|
make more |
|
fi |