Changeset 15407


Ignore:
Timestamp:
10/14/20 07:07:13 (3 years ago)
Author:
Mark Evenson
Message:

build: make building and running a local ABCL easier

(From a suggestion by Slyrus)

Replace use of abcl.javac.{source,target} with the "magic"
ant.build.javac,{source,target} properties.

Explicitly configure 'abcl.release' target to use openjdk8 compilation.

The Java compilation options are perhaps underspecified in terms of
the target JVM in order to support a developer who simply wants to
compile and run locally with least hassles.

When preparing ABCL binaries for wider distribution, the values of the
abcl.build.target.javac and abcl.build.source.java become more
important.

The 'abcl.properties.autoconfigure.*' targets use the
ci/create-build-properties.bash script to set these options for
various openjdk platforms.

  • * *

build: build the wrapper with the release

N.b. the wrapper is a local artifact, not supposed to be shipped with
the release.

Location:
trunk/abcl
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/abcl.properties.in

    r15259 r15407  
    99## javac compiler options for ABCL build
    1010# generate class files for this target JVM
    11 abcl.javac.target=1.8
     11#ant.build.javac.target=1.8
    1212# specify Java source compatiblity level
    13 abcl.javac.source=1.6
     13#ant.build.javac.source=1.6
    1414
    1515## Additional site specific startup code to be merged in 'system.lisp' at build time
  • trunk/abcl/build.xml

    r15378 r15407  
    194194    </target>
    195195
    196     <!-- For compiling beyond openjdk11, one needs to increment these values in <file:abcl.properties> -->
    197     <property name="abcl.javac.target"
    198               value="1.6"/>
    199     <property name="abcl.javac.source"
    200               value="1.6"/>
     196    <!-- The Java compilation options are perhaps underspecified in
     197         terms of the target JVM in order to support a developer who
     198         simply wants to compile and run locally with least hassles.
     199   
     200   When preparing ABCL binaries for wider distribution, the
     201   values of the abcl.build.target.javac and
     202   abcl.build.source.java become more important. 
     203
     204         The 'abcl.properties.autoconfigure.*' targets use the
     205         ci/create-build-properties.bash script to set these options
     206         for various openjdk platforms.
     207    -->
    201208
    202209    <target name="abcl.compile.java"
     
    206213      <javac destdir="${build.classes.dir}"
    207214             debug="true"
    208              target="${abcl.javac.target}"
    209              source="${abcl.javac.source}"
    210215             includeantruntime="false"
    211216             encoding="UTF-8"
     
    12191224
    12201225    <target name="abcl.release"
    1221             depends="abcl.clean,abcl.binary.tar,abcl.source.tar,abcl.binary.zip,abcl.source.zip">
     1226            depends="abcl.clean,abcl.properties.autoconfigure.openjdk.8,abcl.binary.tar,abcl.source.tar,abcl.binary.zip,abcl.source.zip,abcl.wrapper">
    12221227      <copy file="${abcl.jar.path}"
    12231228            tofile="${dist.dir}/abcl-${abcl.version}.jar"/>
  • trunk/abcl/ci/create-abcl-properties.awk

    r15281 r15407  
    11/^java.options/ {print $0 " " options; next}
    2 /^abcl.javac.target/ {print "abcl.javac.target=" target; next}
    3 /^abcl.javac.source/ {print "abcl.javac.source=" source; next}
     2/ant.build.javac.target/ {print "ant.build.javac.target=" target; next}
     3/ant.build.javac.source/ {print "ant.build.javac.source=" source; next}
    44{print $0}
  • trunk/abcl/ci/create-abcl-properties.bash

    r15378 r15407  
    1919    6|openjdk6)
    2020        options="-d64 -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=1g -XX:+UseConcMarkSweepGC"
    21         abcl_javac_target=1.6
    22   abcl_javac_source=1.6
     21        ant_build_javac_target=1.6
     22  ant_build_javac_source=1.6
    2323        ;;
    2424    7|openjdk7)
    2525  options="-d64 -XX:+UseG1GC"
    26         abcl_javac_target=1.7
    27   abcl_javac_source=1.7
     26        ant_build_javac_target=1.7
     27  ant_build_javac_source=1.7
    2828  ;;
    2929    8|openjdk8)
    3030        options="-XX:+UseG1GC -XX:+AggressiveOpts -XX:CompileThreshold=10"
    31   abcl_javac_target=1.8
    32   abcl_javac_source=1.8
     31  ant_build_javac_target=1.8
     32  ant_build_javac_source=1.8
    3333        ;;
    3434    11|openjdk11)
    3535        options="-XX:CompileThreshold=10"
    36   abcl_javac_target=11
    37   abcl_javac_source=1.8
     36  ant_build_javac_target=11
     37  ant_build_javac_source=1.8
    3838        ;;
    3939    # untested: weakly unsupported
    4040    12|openjdk12)
    4141        options="-XX:CompileThreshold=10"
    42   abcl_javac_target=12
    43   abcl_javac_source=1.8
     42  ant_build_javac_target=12
     43  ant_build_javac_source=1.8
    4444        ;;
    4545    13|openjdk13)
    4646        options="-XX:CompileThreshold=10"
    47   abcl_javac_target=13
    48   abcl_javac_source=1.8
     47  ant_build_javac_target=13
     48  ant_build_javac_source=1.8
    4949        ;;
    5050    14|openjdk14)
    5151        options="-XX:CompileThreshold=10 ${zgc}"
    52   abcl_javac_target=14
    53   abcl_javac_source=1.8
     52  ant_build_javac_target=14
     53  ant_build_javac_source=1.8
    5454        ;;
    5555    15|openjdk15)
    5656        options="-XX:CompileThreshold=10 ${zgc}"
    57   abcl_javac_target=15
    58   abcl_javac_source=1.8
     57  ant_build_javac_target=15
     58  ant_build_javac_source=1.8
    5959        ;;
    6060esac
     
    6363    | awk -F = \
    6464    -v options="$options" \
    65     -v target="$abcl_javac_target" \
    66     -v source="$abcl_javac_source" \
     65    -v target="$ant_build_javac_target" \
     66    -v source="$ant_build_javac_source" \
    6767       -f ${DIR}/create-abcl-properties.awk \
    6868  > ${root}/abcl.properties
Note: See TracChangeset for help on using the changeset viewer.