Skip to content

Commit 949c5ca

Browse files
committed
MSIL now build as part of compiler.
* MSIL is now compiled/embedded with compiler * Tested building new STARR, everything groovy * Can probably remove msil/forkjoin/fjbg from STARR now that they're properly embedded/built.
1 parent ecc3232 commit 949c5ca

File tree

1 file changed

+90
-94
lines changed

1 file changed

+90
-94
lines changed

build.xml

Lines changed: 90 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -135,16 +135,6 @@ END-USER TARGETS
135135
<antcall target="palo.bin"/>
136136
</target>
137137

138-
<target name="newlibs"
139-
description="Requires libraries (MSIL, FJBG) to be rebuilt. Add this target before any other if class file format is incompatible.">
140-
<property name="libs.outdated" value="yes"/>
141-
</target>
142-
143-
<target name="newforkjoin"
144-
description="Requires forkjoin library to be rebuilt. Add this target before any other if class file format is incompatible.">
145-
<property name="forkjoin.outdated" value="yes"/>
146-
</target>
147-
148138
<!-- ===========================================================================
149139
PROPERTIES
150140
============================================================================ -->
@@ -175,6 +165,7 @@ PROPERTIES
175165

176166
<!-- Sets location of pre-compiled libraries -->
177167
<property name="lib.starr.jar" value="${lib.dir}/scala-library.jar"/>
168+
<property name="msil.starr.jar" value="${lib.dir}/msil.jar"/>
178169
<property name="reflect.starr.jar" value="${lib.dir}/scala-reflect.jar"/>
179170
<property name="comp.starr.jar" value="${lib.dir}/scala-compiler.jar"/>
180171
<property name="jline.jar" value="${lib.dir}/jline.jar"/>
@@ -392,13 +383,11 @@ INITIALISATION
392383
<fileset dir="${lib.dir}">
393384
<include name="fjbg.jar"/>
394385
<include name="forkjoin.jar"/>
386+
<include name="msil.jar"/>
395387
</fileset>
396388
</path>
397389
<!-- Auxiliary libs placed on every classpath. -->
398390
<path id="aux.libs">
399-
<fileset dir="${lib.dir}">
400-
<include name="msil.jar"/>
401-
</fileset>
402391
<pathelement location="${ant.jar}"/>
403392
<path refid="lib.extra"/>
404393
<path refid="dependency.classpath"/>
@@ -688,6 +677,33 @@ LOCAL REFERENCE BUILD (LOCKER)
688677
<target name="locker.comp" depends="locker.pre-comp" if="locker.comp.needed">
689678
<stopwatch name="locker.comp.timer"/>
690679
<mkdir dir="${build-locker.dir}/classes/compiler"/>
680+
<!-- Compile MSIL inside of locker.... -->
681+
<javac
682+
srcdir="${src.dir}/msil"
683+
destdir="${build-locker.dir}/classes/compiler"
684+
classpath="${build-locker.dir}/classes/compiler"
685+
includes="**/*.java"
686+
excludes="**/tests/**"
687+
debug="true"
688+
target="1.5" source="1.4">
689+
<compilerarg line="${javac.args}"/>
690+
</javac>
691+
<scalacfork
692+
destdir="${build-locker.dir}/classes/compiler"
693+
compilerpathref="starr.classpath"
694+
params="${scalac.args.all}"
695+
srcdir="${src.dir}/msil"
696+
jvmargs="${scalacfork.jvmargs}">
697+
<include name="**/*.scala"/>
698+
<compilationpath>
699+
<pathelement location="${build-locker.dir}/classes/library"/>
700+
<pathelement location="${build-locker.dir}/classes/reflect"/>
701+
<pathelement location="${build-locker.dir}/classes/compiler"/>
702+
<path refid="fjbg.classpath"/>
703+
<path refid="aux.libs"/>
704+
<pathelement location="${jline.jar}"/>
705+
</compilationpath>
706+
</scalacfork>
691707
<scalacfork
692708
destdir="${build-locker.dir}/classes/compiler"
693709
compilerpathref="starr.classpath"
@@ -843,8 +859,6 @@ PACKED LOCKER BUILD (PALO)
843859
<fileset dir="${build-locker.dir}/classes/compiler"/>
844860
<fileset dir="${build-asm.dir}/classes/"/>
845861
<fileset dir="${build-libs.dir}/classes/fjbg"/>
846-
<!-- filemode / dirmode: see trac ticket #1294 -->
847-
<zipfileset dirmode="755" filemode="644" src="${lib.dir}/msil.jar"/>
848862
</jar>
849863
<copy file="${jline.jar}" toDir="${build-palo.dir}/lib"/>
850864
</target>
@@ -1041,27 +1055,7 @@ QUICK BUILD (QUICK)
10411055
<stopwatch name="quick.reflect.timer" action="total"/>
10421056
</target>
10431057

1044-
<target name="quick.newlibs" depends="quick.reflect" if="libs.outdated">
1045-
<antcall target="libs.done" inheritRefs="true"/>
1046-
<property name="fjbg.jar" value="${build-libs.dir}/fjbg.jar"/>
1047-
<property name="msil.jar" value="${build-libs.dir}/msil.jar"/>
1048-
</target>
1049-
1050-
<target name="quick.libs" depends="quick.newlibs" unless="libs.outdated">
1051-
<property name="fjbg.jar" value="${lib.dir}/fjbg.jar"/>
1052-
<property name="msil.jar" value="${lib.dir}/msil.jar"/>
1053-
</target>
1054-
1055-
<target name="quick.newforkjoin" depends="quick.libs" if="forkjoin.outdated">
1056-
<antcall target="forkjoin.done" inheritRefs="true"/>
1057-
<property name="forkjoin.jar" value="${build-libs.dir}/forkjoin.jar"/>
1058-
</target>
1059-
1060-
<target name="quick.forkjoin" depends="quick.newforkjoin" unless="forkjoin.outdated">
1061-
<property name="forkjoin.jar" value="${lib.dir}/forkjoin.jar"/>
1062-
</target>
1063-
1064-
<target name="quick.pre-comp" depends="quick.forkjoin">
1058+
<target name="quick.pre-comp" depends="quick.reflect">
10651059
<uptodate property="quick.comp.available" targetfile="${build-quick.dir}/compiler.complete">
10661060
<srcfiles dir="${src.dir}/compiler"/>
10671061
</uptodate>
@@ -1070,6 +1064,33 @@ QUICK BUILD (QUICK)
10701064
<target name="quick.comp" depends="quick.pre-comp" unless="quick.comp.available">
10711065
<stopwatch name="quick.comp.timer"/>
10721066
<mkdir dir="${build-quick.dir}/classes/compiler"/>
1067+
<!-- Compile MSIL inside of quick.... -->
1068+
<javac
1069+
srcdir="${src.dir}/msil"
1070+
destdir="${build-quick.dir}/classes/compiler"
1071+
classpath="${build-quick.dir}/classes/compiler"
1072+
includes="**/*.java"
1073+
excludes="**/tests/**"
1074+
debug="true"
1075+
target="1.5" source="1.4">
1076+
<compilerarg line="${javac.args}"/>
1077+
</javac>
1078+
<scalacfork
1079+
destdir="${build-quick.dir}/classes/compiler"
1080+
compilerpathref="starr.classpath"
1081+
params="${scalac.args.all}"
1082+
srcdir="${src.dir}/msil"
1083+
jvmargs="${scalacfork.jvmargs}">
1084+
<include name="**/*.scala"/>
1085+
<compilationpath>
1086+
<pathelement location="${build-quick.dir}/classes/library"/>
1087+
<pathelement location="${build-quick.dir}/classes/reflect"/>
1088+
<pathelement location="${build-quick.dir}/classes/compiler"/>
1089+
<path refid="fjbg.classpath"/>
1090+
<path refid="aux.libs"/>
1091+
<pathelement location="${jline.jar}"/>
1092+
</compilationpath>
1093+
</scalacfork>
10731094
<scalacfork
10741095
destdir="${build-quick.dir}/classes/compiler"
10751096
compilerpathref="locker.classpath"
@@ -1390,7 +1411,6 @@ PACKED QUICK BUILD (PACK)
13901411
<exclude name="scala/actors/**"/>
13911412
</fileset>
13921413
<fileset dir="${build-libs.dir}/classes/forkjoin"/>
1393-
<zipfileset dirmode="755" filemode="644" src="${forkjoin.jar}"/>
13941414
</jar>
13951415
<jar destfile="${build-pack.dir}/lib/scala-swing.jar">
13961416
<fileset dir="${build-quick.dir}/classes/library">
@@ -1439,8 +1459,6 @@ PACKED QUICK BUILD (PACK)
14391459
<fileset dir="${build-quick.dir}/classes/compiler"/>
14401460
<fileset dir="${build-asm.dir}/classes"/>
14411461
<fileset dir="${build-libs.dir}/classes/fjbg"/>
1442-
<!-- filemode / dirmode: see trac ticket #1294 -->
1443-
<zipfileset dirmode="755" filemode="644" src="${msil.jar}"/>
14441462
</jar>
14451463
<copy file="${jline.jar}" toDir="${build-pack.dir}/lib"/>
14461464
<copy todir="${build-pack.dir}/lib">
@@ -1709,7 +1727,33 @@ BOOTSTRAPPING BUILD (STRAP)
17091727
<target name="strap.comp" depends="strap.pre-comp" unless="strap.comp.available">
17101728
<stopwatch name="strap.comp.timer"/>
17111729
<mkdir dir="${build-strap.dir}/classes/compiler"/>
1712-
<!-- TODO If we have cross dependencies, move this below scalacfork... -->
1730+
<!-- Compile MSIL inside of strap.... -->
1731+
<javac
1732+
srcdir="${src.dir}/msil"
1733+
destdir="${build-strap.dir}/classes/compiler"
1734+
classpath="${build-strap.dir}/classes/compiler"
1735+
includes="**/*.java"
1736+
excludes="**/tests/**"
1737+
debug="true"
1738+
target="1.5" source="1.4">
1739+
<compilerarg line="${javac.args}"/>
1740+
</javac>
1741+
<scalacfork
1742+
destdir="${build-strap.dir}/classes/compiler"
1743+
compilerpathref="starr.classpath"
1744+
params="${scalac.args.all}"
1745+
srcdir="${src.dir}/msil"
1746+
jvmargs="${scalacfork.jvmargs}">
1747+
<include name="**/*.scala"/>
1748+
<compilationpath>
1749+
<pathelement location="${build-strap.dir}/classes/library"/>
1750+
<pathelement location="${build-strap.dir}/classes/reflect"/>
1751+
<pathelement location="${build-strap.dir}/classes/compiler"/>
1752+
<path refid="fjbg.classpath"/>
1753+
<path refid="aux.libs"/>
1754+
<pathelement location="${jline.jar}"/>
1755+
</compilationpath>
1756+
</scalacfork>
17131757
<scalacfork
17141758
destdir="${build-strap.dir}/classes/compiler"
17151759
compilerpathref="pack.classpath"
@@ -1904,59 +1948,11 @@ BOOTSTRAPPING BUILD (STRAP)
19041948
</target>
19051949

19061950
<!-- ===========================================================================
1907-
LIBRARIES (MSIL, FJBG maybe later)
1951+
LIBRARIES (Forkjoin, FJBG, ASM)
19081952
============================================================================ -->
19091953

1910-
<target name="libs.start"/>
1911-
1912-
<target name="libs.pre-msil" depends="libs.start">
1913-
<uptodate property="libs.msil.available" targetfile="${build-libs.dir}/msil.complete">
1914-
<srcfiles dir="${src.dir}/msil">
1915-
<include name="**/*.java"/>
1916-
<include name="**/*.scala"/>
1917-
</srcfiles>
1918-
</uptodate>
1919-
</target>
1920-
1921-
<target name="libs.msil" depends="libs.pre-msil" unless="libs.msil.available">
1922-
<mkdir dir="${build-libs.dir}/classes/msil"/>
1923-
<javac
1924-
srcdir="${src.dir}/msil"
1925-
destdir="${build-libs.dir}/classes/msil"
1926-
classpath="${build-libs.dir}/classes/msil"
1927-
includes="**/*.java"
1928-
excludes="**/tests/**"
1929-
debug="true"
1930-
target="1.5" source="1.4">
1931-
<compilerarg line="${javac.args}"/>
1932-
</javac>
1933-
<scalacfork
1934-
destdir="${build-libs.dir}/classes/msil"
1935-
compilerpathref="locker.classpath"
1936-
params="${scalac.args.all}"
1937-
srcdir="${src.dir}/msil"
1938-
jvmargs="${scalacfork.jvmargs}">
1939-
<include name="**/*.scala"/>
1940-
<compilationpath>
1941-
<pathelement location="${build-quick.dir}/classes/library"/>
1942-
<pathelement location="${build-libs.dir}/classes/msil"/>
1943-
</compilationpath>
1944-
</scalacfork>
1945-
<touch file="${build-libs.dir}/msil.complete" verbose="no"/>
1946-
</target>
1947-
1948-
<target name="libs.pre-msilpack" depends="libs.msil">
1949-
</target>
1950-
1951-
<target name="libs.msilpack" depends="libs.pre-msilpack" unless="libs.msilpack.available">
1952-
<jar destfile="${build-libs.dir}/msil.jar">
1953-
<fileset dir="${build-libs.dir}/classes/msil"/>
1954-
</jar>
1955-
</target>
1956-
1957-
<target name="libs.done" depends="libs.msilpack"/>
1958-
1959-
<target name="libs.clean" depends="pack.clean">
1954+
1955+
<target name="libs.clean" depends="pack.clean, asm.clean">
19601956
<delete dir="${build-libs.dir}" includeemptydirs="yes" quiet="yes" failonerror="no"/>
19611957
</target>
19621958

@@ -2235,7 +2231,7 @@ DOCUMENTATION
22352231
BOOTRAPING TEST AND TEST SUITE
22362232
============================================================================ -->
22372233

2238-
<target name="test.stability" depends="strap.done">
2234+
<target name="test.stability" depends="strap.done, init">
22392235
<same dir="${build-quick.dir}" todir="${build-strap.dir}" failondifferent="yes">
22402236
<exclude name="**/*.properties"/>
22412237
<exclude name="bin/**"/>
@@ -2515,11 +2511,11 @@ STABLE REFERENCE (STARR)
25152511
</jar>
25162512
</target>
25172513

2518-
<target name="starr.libs" depends="starr.src" if="libs.outdated">
2514+
<target name="starr.libs" depends="starr.src, forkjoin.done, fjbg.done">
2515+
<!-- TODO - Do we even *need* this in starr? -->
25192516
<copy toDir="${lib.dir}" overwrite="yes">
25202517
<fileset dir="${build-libs.dir}">
25212518
<include name="fjbg.jar"/>
2522-
<include name="msil.jar"/>
25232519
<include name="forkjoin.jar"/>
25242520
</fileset>
25252521
</copy>

0 commit comments

Comments
 (0)