--- gforth/BUILD-FROM-SCRATCH 2001/04/30 14:15:18 1.6 +++ gforth/BUILD-FROM-SCRATCH 2007/08/17 13:40:38 1.20 @@ -1,6 +1,8 @@ # Procedures to build gforth from the CVS sources -#Copyright (C) 2000 Free Software Foundation, Inc. +#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. @@ -22,7 +24,7 @@ # created: 2may00jaw # To build gforth from scratch you need autoconf, automake and a -# gforth0.5.0 +# 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 @@ -30,31 +32,47 @@ # try to guess a installed gforth -if [ "$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 -aclocal +aclocal && # generate configure script -autoconf +autoconf && # generate header files like engine/config.h.in -autoheader +autoheader && +echo timestamp >stamp-h.in + +# run configure Script -# run configure script +./configure "$@" && -./configure $* +# if you have specified a previous Gforth, you can safely run make now +# with FORTHK and FORTHP changed appropriately. -# if you have specified a previous Gforth, you can savely run make now -# with FORTHK and FORTHP changed appropriate. +#a local gforth.fi probably does not work with $GFORTH +rm -f gforth.fi && -if [ "$GFORTH" != "" ] +if [ "$GFORTH"xx != "xx" ] then - make all BUILDFORTH="$GFORTH" + 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