| # 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. |
|
| # 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 |
#use this with parameters and env variables like "configure" |
| |
|
| aclocal |
#Copyright (C) 2000,2002,2003,2006,2007 Free Software Foundation, Inc. |
| |
|
| # generate configure script |
#This file is part of Gforth. |
| |
|
| autoconf |
#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 3 |
| |
#of the License, or (at your option) any later version. |
| |
|
| # generate header files like engine/config.h.in |
#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. |
| |
|
| autoheader |
#You should have received a copy of the GNU General Public License |
| |
#along with this program. If not, see http://www.gnu.org/licenses/. |
| |
|
| # 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 |