separate compilation of PIDE vs. Pure sources, which enables independent Scala library;
authorwenzelm
Tue Nov 29 21:29:53 2011 +0100 (2011-11-29)
changeset 45673cd41e3903fbf
parent 45672 a497c5d4a523
child 45674 eb65c9d17e2f
separate compilation of PIDE vs. Pure sources, which enables independent Scala library;
src/Pure/Concurrent/counter.scala
src/Pure/Concurrent/future.scala
src/Pure/Concurrent/simple_thread.scala
src/Pure/Concurrent/volatile.scala
src/Pure/General/exn.scala
src/Pure/General/properties.scala
src/Pure/General/sha1.scala
src/Pure/General/timing.scala
src/Pure/PIDE/markup.scala
src/Pure/PIDE/markup_tree.scala
src/Pure/PIDE/text.scala
src/Pure/PIDE/xml.scala
src/Pure/PIDE/yxml.scala
src/Pure/System/cygwin.scala
src/Pure/System/download.scala
src/Pure/System/event_bus.scala
src/Pure/System/platform.scala
src/Pure/System/standard_system.scala
src/Pure/System/swing_thread.scala
src/Pure/build-jars
src/Pure/library.scala
src/Pure/package.scala
     1.1 --- a/src/Pure/Concurrent/counter.scala	Tue Nov 29 20:18:02 2011 +0100
     1.2 +++ b/src/Pure/Concurrent/counter.scala	Tue Nov 29 21:29:53 2011 +0100
     1.3 @@ -1,5 +1,5 @@
     1.4  /*  Title:      Pure/Concurrent/counter.scala
     1.5 -    Module:     Library
     1.6 +    Module:     PIDE
     1.7      Author:     Makarius
     1.8  
     1.9  Synchronized counter for unique identifiers < 0.
     2.1 --- a/src/Pure/Concurrent/future.scala	Tue Nov 29 20:18:02 2011 +0100
     2.2 +++ b/src/Pure/Concurrent/future.scala	Tue Nov 29 21:29:53 2011 +0100
     2.3 @@ -1,5 +1,5 @@
     2.4  /*  Title:      Pure/Concurrent/future.scala
     2.5 -    Module:     Library
     2.6 +    Module:     PIDE
     2.7      Author:     Makarius
     2.8  
     2.9  Future values.
     3.1 --- a/src/Pure/Concurrent/simple_thread.scala	Tue Nov 29 20:18:02 2011 +0100
     3.2 +++ b/src/Pure/Concurrent/simple_thread.scala	Tue Nov 29 21:29:53 2011 +0100
     3.3 @@ -1,5 +1,5 @@
     3.4  /*  Title:      Pure/Concurrent/simple_thread.scala
     3.5 -    Module:     Library
     3.6 +    Module:     PIDE
     3.7      Author:     Makarius
     3.8  
     3.9  Simplified thread operations.
     4.1 --- a/src/Pure/Concurrent/volatile.scala	Tue Nov 29 20:18:02 2011 +0100
     4.2 +++ b/src/Pure/Concurrent/volatile.scala	Tue Nov 29 21:29:53 2011 +0100
     4.3 @@ -1,5 +1,5 @@
     4.4  /*  Title:      Pure/Concurrent/volatile.scala
     4.5 -    Module:     Library
     4.6 +    Module:     PIDE
     4.7      Author:     Makarius
     4.8  
     4.9  Volatile variables.
     5.1 --- a/src/Pure/General/exn.scala	Tue Nov 29 20:18:02 2011 +0100
     5.2 +++ b/src/Pure/General/exn.scala	Tue Nov 29 21:29:53 2011 +0100
     5.3 @@ -1,5 +1,5 @@
     5.4  /*  Title:      Pure/General/exn.scala
     5.5 -    Module:     Library
     5.6 +    Module:     PIDE
     5.7      Author:     Makarius
     5.8  
     5.9  Support for exceptions (arbitrary throwables).
     6.1 --- a/src/Pure/General/properties.scala	Tue Nov 29 20:18:02 2011 +0100
     6.2 +++ b/src/Pure/General/properties.scala	Tue Nov 29 21:29:53 2011 +0100
     6.3 @@ -1,5 +1,5 @@
     6.4  /*  Title:      Pure/General/properties.scala
     6.5 -    Module:     Library
     6.6 +    Module:     PIDE
     6.7      Author:     Makarius
     6.8  
     6.9  Property lists.
     7.1 --- a/src/Pure/General/sha1.scala	Tue Nov 29 20:18:02 2011 +0100
     7.2 +++ b/src/Pure/General/sha1.scala	Tue Nov 29 21:29:53 2011 +0100
     7.3 @@ -1,5 +1,5 @@
     7.4  /*  Title:      Pure/General/sha1.scala
     7.5 -    Module:     Library
     7.6 +    Module:     PIDE
     7.7      Author:     Makarius
     7.8  
     7.9  Digest strings according to SHA-1 (see RFC 3174).
     8.1 --- a/src/Pure/General/timing.scala	Tue Nov 29 20:18:02 2011 +0100
     8.2 +++ b/src/Pure/General/timing.scala	Tue Nov 29 21:29:53 2011 +0100
     8.3 @@ -1,5 +1,5 @@
     8.4  /*  Title:      Pure/General/timing.scala
     8.5 -    Module:     Library
     8.6 +    Module:     PIDE
     8.7      Author:     Makarius
     8.8  
     8.9  Basic support for time measurement.
     9.1 --- a/src/Pure/PIDE/markup.scala	Tue Nov 29 20:18:02 2011 +0100
     9.2 +++ b/src/Pure/PIDE/markup.scala	Tue Nov 29 21:29:53 2011 +0100
     9.3 @@ -1,5 +1,5 @@
     9.4  /*  Title:      Pure/PIDE/markup.scala
     9.5 -    Module:     Library
     9.6 +    Module:     PIDE
     9.7      Author:     Makarius
     9.8  
     9.9  Generic markup elements.
    10.1 --- a/src/Pure/PIDE/markup_tree.scala	Tue Nov 29 20:18:02 2011 +0100
    10.2 +++ b/src/Pure/PIDE/markup_tree.scala	Tue Nov 29 21:29:53 2011 +0100
    10.3 @@ -1,5 +1,5 @@
    10.4  /*  Title:      Pure/PIDE/markup_tree.scala
    10.5 -    Module:     Library
    10.6 +    Module:     PIDE
    10.7      Author:     Fabian Immler, TU Munich
    10.8      Author:     Makarius
    10.9  
    11.1 --- a/src/Pure/PIDE/text.scala	Tue Nov 29 20:18:02 2011 +0100
    11.2 +++ b/src/Pure/PIDE/text.scala	Tue Nov 29 21:29:53 2011 +0100
    11.3 @@ -1,5 +1,5 @@
    11.4  /*  Title:      Pure/PIDE/text.scala
    11.5 -    Module:     Library
    11.6 +    Module:     PIDE
    11.7      Author:     Fabian Immler, TU Munich
    11.8      Author:     Makarius
    11.9  
    12.1 --- a/src/Pure/PIDE/xml.scala	Tue Nov 29 20:18:02 2011 +0100
    12.2 +++ b/src/Pure/PIDE/xml.scala	Tue Nov 29 21:29:53 2011 +0100
    12.3 @@ -1,5 +1,5 @@
    12.4  /*  Title:      Pure/PIDE/xml.scala
    12.5 -    Module:     Library
    12.6 +    Module:     PIDE
    12.7      Author:     Makarius
    12.8  
    12.9  Untyped XML trees and basic data representation.
    13.1 --- a/src/Pure/PIDE/yxml.scala	Tue Nov 29 20:18:02 2011 +0100
    13.2 +++ b/src/Pure/PIDE/yxml.scala	Tue Nov 29 21:29:53 2011 +0100
    13.3 @@ -1,5 +1,5 @@
    13.4  /*  Title:      Pure/PIDE/yxml.scala
    13.5 -    Module:     Library
    13.6 +    Module:     PIDE
    13.7      Author:     Makarius
    13.8  
    13.9  Efficient text representation of XML trees.  Suitable for direct
    14.1 --- a/src/Pure/System/cygwin.scala	Tue Nov 29 20:18:02 2011 +0100
    14.2 +++ b/src/Pure/System/cygwin.scala	Tue Nov 29 21:29:53 2011 +0100
    14.3 @@ -1,5 +1,5 @@
    14.4  /*  Title:      Pure/System/cygwin.scala
    14.5 -    Module:     Library
    14.6 +    Module:     PIDE
    14.7      Author:     Makarius
    14.8  
    14.9  Accessing the Cygwin installation.
    15.1 --- a/src/Pure/System/download.scala	Tue Nov 29 20:18:02 2011 +0100
    15.2 +++ b/src/Pure/System/download.scala	Tue Nov 29 21:29:53 2011 +0100
    15.3 @@ -1,5 +1,5 @@
    15.4  /*  Title:      Pure/System/download.scala
    15.5 -    Module:     Library
    15.6 +    Module:     PIDE
    15.7      Author:     Makarius
    15.8  
    15.9  Download URLs -- with progress monitor.
    16.1 --- a/src/Pure/System/event_bus.scala	Tue Nov 29 20:18:02 2011 +0100
    16.2 +++ b/src/Pure/System/event_bus.scala	Tue Nov 29 21:29:53 2011 +0100
    16.3 @@ -1,5 +1,5 @@
    16.4  /*  Title:      Pure/System/event_bus.scala
    16.5 -    Module:     Library
    16.6 +    Module:     PIDE
    16.7      Author:     Makarius
    16.8  
    16.9  Generic event bus with multiple receiving actors.
    17.1 --- a/src/Pure/System/platform.scala	Tue Nov 29 20:18:02 2011 +0100
    17.2 +++ b/src/Pure/System/platform.scala	Tue Nov 29 21:29:53 2011 +0100
    17.3 @@ -1,5 +1,5 @@
    17.4  /*  Title:      Pure/System/platform.scala
    17.5 -    Module:     Library
    17.6 +    Module:     PIDE
    17.7      Author:     Makarius
    17.8  
    17.9  Raw platform identification.
    18.1 --- a/src/Pure/System/standard_system.scala	Tue Nov 29 20:18:02 2011 +0100
    18.2 +++ b/src/Pure/System/standard_system.scala	Tue Nov 29 21:29:53 2011 +0100
    18.3 @@ -1,5 +1,5 @@
    18.4  /*  Title:      Pure/System/standard_system.scala
    18.5 -    Module:     Library
    18.6 +    Module:     PIDE
    18.7      Author:     Makarius
    18.8  
    18.9  Standard system operations, with basic Cygwin/Posix compatibility.
    19.1 --- a/src/Pure/System/swing_thread.scala	Tue Nov 29 20:18:02 2011 +0100
    19.2 +++ b/src/Pure/System/swing_thread.scala	Tue Nov 29 21:29:53 2011 +0100
    19.3 @@ -1,5 +1,5 @@
    19.4  /*  Title:      Pure/System/swing_thread.scala
    19.5 -    Module:     Library
    19.6 +    Module:     PIDE
    19.7      Author:     Makarius
    19.8      Author:     Fabian Immler, TU Munich
    19.9  
    20.1 --- a/src/Pure/build-jars	Tue Nov 29 20:18:02 2011 +0100
    20.2 +++ b/src/Pure/build-jars	Tue Nov 29 21:29:53 2011 +0100
    20.3 @@ -121,6 +121,19 @@
    20.4  TARGET_DIR="$ISABELLE_HOME/lib/classes"
    20.5  TARGET="$TARGET_DIR/ext/Pure.jar"
    20.6  
    20.7 +declare -a PIDE_SOURCES=()
    20.8 +declare -a PURE_SOURCES=()
    20.9 +
   20.10 +for DEP in "${SOURCES[@]}"
   20.11 +do
   20.12 +  if grep "Module:.*PIDE" "$DEP" >/dev/null
   20.13 +  then
   20.14 +    PIDE_SOURCES["${#PIDE_SOURCES[@]}"]="$DEP"
   20.15 +  else
   20.16 +    PURE_SOURCES["${#PURE_SOURCES[@]}"]="$DEP"
   20.17 +  fi
   20.18 +done
   20.19 +
   20.20  declare -a UPDATED=()
   20.21  
   20.22  if [ -n "$FRESH" ]; then
   20.23 @@ -154,8 +167,15 @@
   20.24    }
   20.25  
   20.26    rm -rf classes && mkdir classes
   20.27 -  "$SCALA_HOME/bin/scalac" -unchecked -deprecation -d classes -target:jvm-1.5 "${SOURCES[@]}" || \
   20.28 -    fail "Failed to compile sources"
   20.29 +
   20.30 +  SCALAC_OPTIONS="-unchecked -deprecation -d classes -target:jvm-1.5"
   20.31 +
   20.32 +  "$SCALA_HOME/bin/scalac" $SCALAC_OPTIONS "${PIDE_SOURCES[@]}" || \
   20.33 +    fail "Failed to compile PIDE sources"
   20.34 +
   20.35 +  "$SCALA_HOME/bin/scalac" $SCALAC_OPTIONS -classpath classes "${PURE_SOURCES[@]}" || \
   20.36 +    fail "Failed to compile Pure sources"
   20.37 +
   20.38    mkdir -p "$TARGET_DIR/ext" || fail "Failed to create directory $TARGET_DIR/ext"
   20.39  
   20.40    pushd classes >/dev/null
    21.1 --- a/src/Pure/library.scala	Tue Nov 29 20:18:02 2011 +0100
    21.2 +++ b/src/Pure/library.scala	Tue Nov 29 21:29:53 2011 +0100
    21.3 @@ -1,5 +1,5 @@
    21.4  /*  Title:      Pure/library.scala
    21.5 -    Module:     Library
    21.6 +    Module:     PIDE
    21.7      Author:     Makarius
    21.8  
    21.9  Basic library.
    22.1 --- a/src/Pure/package.scala	Tue Nov 29 20:18:02 2011 +0100
    22.2 +++ b/src/Pure/package.scala	Tue Nov 29 21:29:53 2011 +0100
    22.3 @@ -1,5 +1,5 @@
    22.4  /*  Title:      Pure/package.scala
    22.5 -    Module:     Library
    22.6 +    Module:     PIDE
    22.7      Author:     Makarius
    22.8  
    22.9  Toplevel isabelle package.