Changeset 14846


Ignore:
Timestamp:
02/27/16 07:29:33 (7 years ago)
Author:
Mark Evenson
Message:

Exit from Bash build script if 'customizations.lisp' isn't present

Change extension of build script to denote usage of bash-isms.

More portabily use any bash found in PATH rather than relying on
absolute location (c.f. FreeBSD).

Location:
trunk/abcl
Files:
2 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/abcl/README

    r14653 r14846  
    122122------------------
    123123
    124 Building from a Lisp is the most venerable and untested way of
    125 building ABCL.  It produces a "non-standard" version of the
    126 distribution that doesn't share build instructions with the previous
    127 two methods, but it still may be of interest to those who absolutely
    128 don't want to know anything about Java.
     124Building from another Common Lisp implementation is the most venerable
     125and least tested way of building ABCL.  It produces a "non-standard"
     126version of the distribution that doesn't share build instructions with
     127the previous two methods, but it still may be of interest to those who
     128absolutely don't want to know anything about Java.  The other Common
     129Lisp implementation does not actually perform any compliation, but is
     130merely used to orchestrate the invocation of tools in the JDK.
    129131
    130132First, copy the file 'customizations.lisp.in' to 'customization.lisp',
     
    136138'bin/javac' ('bin/javac.exe' under Windows).
    137139
    138 Then, one may either use the 'build-from-lisp.sh' shell script or load
     140Then, one may either use the 'build-from-lisp.bash' shell script or load
    139141the necessary files into your Lisp image by hand.
    140142
    141 ** Using the 'build-from-lisp.sh' script
    142 
    143 Under UNIX-like systems, you may simply invoke the
    144 'build-from-lisp.sh' script as './build-from-lisp.sh
    145 <lisp-of-choice>', e.g.
    146 
    147     unix$ ./build-from-lisp.sh sbcl
     143** Using the 'build-from-lisp.bash' script
     144
     145Under UNIX-like systems, one may simply invoke the
     146'build-from-lisp.bash' script.  As noted above, one must first copy the
     147'customizations.lisp.in' file to 'customizations.lisp', then edit it
     148to reflect the local configuration most importantly the path to the
     149Java Development Kit.
     150
     151After configuring 'customizations.lisp', the following would use SBCL
     152as the compilation driver to build ABCL:
     153
     154    unix$ ./build-from-lisp.bash sbcl
    148155
    149156After a successful build, you may use 'abcl' ('abcl.bat' on Windows)
     
    153160If you're developing on ABCL, you may want to use
    154161
    155     unix$ ./build-from-lisp.sh <implementation> --clean=nil
     162    unix$ ./build-from-lisp.bash <implementation> --clean=nil
    156163
    157164to not do a full rebuild.
     
    159166In case of failure in the javac stage, you might try this:
    160167
    161     unix$ ./build-from-lisp.sh <implementation> --full=t --clean=t --batch=nil
     168    unix$ ./build-from-lisp.bash <implementation> --full=t --clean=t --batch=nil
    162169
    163170This invokes javac separately for each .java file, which avoids running
    164171into limitations on command line length (but is a lot slower).
    165172
    166 ** Building from another Lisp by hand
     173** Building from another Lisp manually
    167174
    168175There is also an ASDF definition in 'abcl.asd' for the BUILD-ABCL
  • trunk/abcl/build-from-lisp.bash

    r14845 r14846  
    1 #!/bin/bash
     1#!/usr/bin/env bash
    22# $Id$
    33#
     
    66usage()
    77{
    8    echo "$0 <implementation> [[ --clean=T | --full=T | --batch=NIL ]]"
     8    echo "WARNING: This build method can produce slightly different results than"
     9    echo "         the canonical Ant build method."
     10    echo
     11    echo "USAGE:"
     12    echo "$0 <implementation> [[ --clean=T | --full=T | --batch=NIL ]]"
    913}
    1014
     
    6468FORM="(build-abcl:build-abcl :clean $CLEAN :full $FULL :batch $BATCH)"
    6569FILE="build-abcl.lisp"
     70
     71if [[ ! -r customizations.lisp ]]; then
     72    cat <<-EOF
     73
     74Failed to find configuration in 'customizations.lisp'.  Please copy
     75'customizations.lisp.in' to 'customizations.lisp', editing it to
     76reflect local configuration.
     77
     78EOF
     79    exit 1
     80fi
     81
    6682
    6783
  • trunk/abcl/build.xml

    r14800 r14846  
    681681      <include name="test/**"/>
    682682
    683       <include name="build-from-lisp.sh"/>
     683      <include name="build-from-lisp.bash"/>
    684684     
    685685      <!-- The remainder of these files are used by the Lisp hosted
Note: See TracChangeset for help on using the changeset viewer.