summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2003-08-25 16:52:09 +0000
committerpaltherr <paltherr@epfl.ch>2003-08-25 16:52:09 +0000
commitc8f4c60282215a21e099b6b4a3018e585c986e40 (patch)
tree73b02b9cc864ae2e9c0ef579e08b1b0ca4da9ca3
parent6d891c50636858b99605b43862aacb99335e6a78 (diff)
downloadscala-c8f4c60282215a21e099b6b4a3018e585c986e40.tar.gz
scala-c8f4c60282215a21e099b6b4a3018e585c986e40.tar.bz2
scala-c8f4c60282215a21e099b6b4a3018e585c986e40.zip
- Split scala archive into two parts: scala.jar...
- Split scala archive into two parts: scala.jar & tools.jar
-rw-r--r--Makefile55
-rw-r--r--sources/bin/.scala_wrapper.tmpl39
2 files changed, 58 insertions, 36 deletions
diff --git a/Makefile b/Makefile
index e7c63dc420..cc807fe19f 100644
--- a/Makefile
+++ b/Makefile
@@ -22,16 +22,6 @@ PROJECT_SOURCES += $(INTERPRETER_SOURCES)
PROJECT_SOURCES += $(SCALADOC_SOURCES)
PROJECT_SOURCES += $(DTD2SCALA_SOURCES)
-# project java archive
-PROJECT_JAR_ARCHIVE = $(ROOT)/lib/$(PROJECT_NAME).jar
-PROJECT_JAR_MANIFEST = $(PROJECT_SOURCEDIR)/MANIFEST
-PROJECT_JAR_INPUTDIR = $(PROJECT_OUTPUTDIR)
-PROJECT_JAR_FILES += ch
-PROJECT_JAR_FILES += scala
-PROJECT_JAR_FILES += scalac
-PROJECT_JAR_FILES += scaladoc
-PROJECT_JAR_FILES += scalai
-
# scala scripts wrapper
SCRIPTS_PREFIX = $(PROJECT_BINARYDIR)
SCRIPTS_WRAPPER = $(SCRIPTS_PREFIX)/.scala_wrapper
@@ -90,6 +80,9 @@ LIBRARY_JC_FILES += $(filter %.java,$(LIBRARY_SOURCES))
LIBRARY_SC_FILES += $(filter %.scala,$(LIBRARY_SOURCES))
LIBRARY_SDC_FILES += $(LIBRARY_SC_FILES)
LIBRARY_SDC_OUTPUTDIR = $(PROJECT_APIDOCDIR)
+LIBRARY_JAR_ARCHIVE = $(PROJECT_LIBRARYDIR)/$(PROJECT_NAME).jar
+LIBRARY_JAR_INPUTDIR = $(PROJECT_OUTPUTDIR)
+LIBRARY_JAR_FILES += scala
# scala interpreter
INTERPRETER_ROOT = $(PROJECT_SOURCEDIR)/scalai
@@ -112,6 +105,16 @@ DTD2SCALA_LIST = $(call READLIST,$(PROJECT_LISTDIR)/dtd2scala.lst)
DTD2SCALA_SOURCES += $(DTD2SCALA_LIST:%=$(DTD2SCALA_ROOT)/%)
DTD2SCALA_JC_FILES = $(DTD2SCALA_SOURCES)
+# tools archive
+TOOLS_NAME = tools
+TOOLS_JAR_ARCHIVE = $(PROJECT_LIBRARYDIR)/$(TOOLS_NAME).jar
+TOOLS_JAR_INPUTDIR = $(PROJECT_OUTPUTDIR)
+TOOLS_JAR_FILES += ch
+TOOLS_JAR_FILES += scalac
+TOOLS_JAR_FILES += scaladoc
+TOOLS_JAR_FILES += scalai
+TOOLS_JAR_FILES += dtd2scala
+
# java compilation
JC_COMPILER = PICO
JC_OUTPUTDIR = $(PROJECT_OUTPUTDIR)
@@ -160,7 +163,8 @@ distclean : clean
$(RM) .latest-*
$(RM) $(SCRIPTS_WRAPPER_LINKS)
$(RM) $(SCRIPTS_WRAPPER)
- $(RM) $(PROJECT_JAR_ARCHIVE)
+ $(RM) $(LIBRARY_JAR_ARCHIVE)
+ $(RM) $(TOOLS_JAR_ARCHIVE)
$(RM) $(ROOT)/support/latex/*.class
$(RM) -r $(PROJECT_APIDOCDIR)
@@ -249,7 +253,7 @@ $(SCRIPTS_WRAPPER) : INSTALL_PREFIX ?= $(PROJECT_ROOT)
$(SCRIPTS_WRAPPER) : MACRO_VERSION ?= development version
$(SCRIPTS_WRAPPER) : MACRO_RUNTIME_SOURCES ?= $(PROJECT_SOURCEDIR)
$(SCRIPTS_WRAPPER) : MACRO_RUNTIME_CLASSES ?= $(PROJECT_OUTPUTDIR)
-$(SCRIPTS_WRAPPER) : MACRO_DTD2SCALA_CLASSES ?= $(PROJECT_OUTPUTDIR)
+$(SCRIPTS_WRAPPER) : MACRO_TOOLS_CLASSES ?= $(PROJECT_OUTPUTDIR)
$(SCRIPTS_WRAPPER) : MACRO_BCEL_CLASSES ?= $(BCEL_JARFILE)
$(SCRIPTS_WRAPPER) : MACRO_FJBG_CLASSES ?= $(FJBG_JARFILE)
$(SCRIPTS_WRAPPER) : MACRO_MSIL_CLASSES ?= $(MSIL_JARFILE)
@@ -265,7 +269,7 @@ $(SCRIPTS_WRAPPER) : $(SCRIPTS_WRAPPER).tmpl
$(call SCRIPTS_WRAPPER_MACRO,VERSION) \
$(call SCRIPTS_WRAPPER_MACRO,RUNTIME_SOURCES) \
$(call SCRIPTS_WRAPPER_MACRO,RUNTIME_CLASSES) \
- $(call SCRIPTS_WRAPPER_MACRO,DTD2SCALA_CLASSES) \
+ $(call SCRIPTS_WRAPPER_MACRO,TOOLS_CLASSES) \
$(call SCRIPTS_WRAPPER_MACRO,BCEL_CLASSES) \
$(call SCRIPTS_WRAPPER_MACRO,FJBG_CLASSES) \
$(call SCRIPTS_WRAPPER_MACRO,MSIL_CLASSES) \
@@ -297,16 +301,19 @@ $(TUPLE_FILES) : .latest-meta $(TUPLE_TEMPLATE)
$(RM) .latest-generate
@$(make) generate
-$(PROJECT_JAR_ARCHIVE) : .latest-lamplib
-$(PROJECT_JAR_ARCHIVE) : .latest-compiler
-$(PROJECT_JAR_ARCHIVE) : .latest-library-jc
-$(PROJECT_JAR_ARCHIVE) : .latest-library-sc
-$(PROJECT_JAR_ARCHIVE) : .latest-interpreter
-$(PROJECT_JAR_ARCHIVE) : .latest-scaladoc-jc
-$(PROJECT_JAR_ARCHIVE) : .latest-scaladoc-rsrc
-$(PROJECT_JAR_ARCHIVE) : .latest-dtd2scala
-$(PROJECT_JAR_ARCHIVE) :
- @$(MAKE) jar target=PROJECT
+$(LIBRARY_JAR_ARCHIVE) : .latest-library-jc
+$(LIBRARY_JAR_ARCHIVE) : .latest-library-sc
+$(LIBRARY_JAR_ARCHIVE) :
+ @$(MAKE) jar target=LIBRARY
+
+$(TOOLS_JAR_ARCHIVE) : .latest-lamplib
+$(TOOLS_JAR_ARCHIVE) : .latest-compiler
+$(TOOLS_JAR_ARCHIVE) : .latest-interpreter
+$(TOOLS_JAR_ARCHIVE) : .latest-scaladoc-jc
+$(TOOLS_JAR_ARCHIVE) : .latest-scaladoc-rsrc
+$(TOOLS_JAR_ARCHIVE) : .latest-dtd2scala
+$(TOOLS_JAR_ARCHIVE) :
+ @$(MAKE) jar target=TOOLS
##############################################################################
# Includes
@@ -327,7 +334,7 @@ show-missing :
done
@$(SORT) /tmp/check.tmp.log > /tmp/check.mkf.log
@$(FIND) $(LIBRARY_ROOT) -name '*.scala' | $(SORT) > /tmp/check.lst.log
- @$(COMM) -1 -3 /tmp/check.mkf.log /tmp/check.lst.log
+ @$(COMM) -1 -3 /tmp/check.mkf.log /tmp/check.lst.log
@$(RM) /tmp/check.tmp.log /tmp/check.mkf.log /tmp/check.lst.log
.PHONY : show-missing
diff --git a/sources/bin/.scala_wrapper.tmpl b/sources/bin/.scala_wrapper.tmpl
index b7df53fc80..2e696ce04b 100644
--- a/sources/bin/.scala_wrapper.tmpl
+++ b/sources/bin/.scala_wrapper.tmpl
@@ -41,15 +41,15 @@ configure() {
# This variable must refer a directory.
RUNTIME_SOURCES={#RUNTIME_SOURCES#};
- # Location of the compiled Scala library and Scala tools. This
- # library and these tools are included in the Scala distribution.
+ # Location of the compiled Scala library. This library is included
+ # in the Scala distribution.
# This variable must refer a directory or a zip or jar file.
RUNTIME_CLASSES={#RUNTIME_CLASSES#};
- # Location of the compiled dtd2scala tool. This tool is included
+ # Location of the compiled Scala tools. These tools are included
# in the Scala distribution.
# This variable must refer a directory or a zip or jar file.
- DTD2SCALA_CLASSES={#DTD2SCALA_CLASSES#};
+ TOOLS_CLASSES={#TOOLS_CLASSES#};
# Location of the compiled fjbg library. This library is included
# in the Scala distribution.
@@ -243,7 +243,7 @@ compute_variable() {
SCALA_BOOTCLASSPATH ) compute_scala_bootclasspath;;
RUNTIME_SOURCES ) configure_path_variable "$1";;
RUNTIME_CLASSES ) configure_path_variable "$1";;
- DTD2SCALA_CLASSES ) configure_path_variable "$1";;
+ TOOLS_CLASSES ) configure_path_variable "$1";;
FJBG_CLASSES ) configure_path_variable "$1";;
MSIL_CLASSES ) configure_path_variable "$1";;
BCEL_CLASSES ) configure_path_variable "$1";;
@@ -291,11 +291,12 @@ exec_compile() {
[ $# -gt 0 ] || abort "internal error";
# compute Java classpath
- append_path JAVA_CLASSPATH RUNTIME_CLASSES;
+ append_path JAVA_CLASSPATH TOOLS_CLASSES;
append_path JAVA_CLASSPATH BCEL_CLASSES;
append_path JAVA_CLASSPATH FJBG_CLASSES;
append_path JAVA_CLASSPATH MSIL_CLASSES;
+ # compute Scala classpath and bootclasspath
compute_scala_classpath;
compute_scala_bootclasspath;
@@ -306,13 +307,27 @@ exec_compile() {
"$@";
}
+# Starts a Java program using the Scala interprter. The given
+# arguments are passed to exec_compile. They must, at least, contain
+# the name of the main class.
+exec_interpret() {
+ [ $# -gt 0 ] || abort "internal error";
+
+ # compute Java classpath
+ # !!! this should not be needed
+ append_path JAVA_CLASSPATH RUNTIME_CLASSES;
+
+ # invoke Java
+ exec_compile "$@";
+}
+
# Starts a program using dtd2scala. The given arguments are passed to
# exec_java. They must, at least, contain the name of the main class.
exec_dtd2scala() {
[ $# -gt 0 ] || abort "internal error";
# compute Java classpath
- append_path JAVA_CLASSPATH DTD2SCALA_CLASSES;
+ append_path JAVA_CLASSPATH TOOLS_CLASSES;
append_path JAVA_CLASSPATH XERCES_CLASSES;
# invoke Java
@@ -368,7 +383,7 @@ scala_info_option_x_variable() {
BOOTCLASSPATH ) variable=SCALA_$2;;
RUNTIME_SOURCES ) variable=$2;;
RUNTIME_CLASSES ) variable=$2;;
- DTD2SCALA_CLASSES ) variable=$2;;
+ TOOLS_CLASSES ) variable=$2;;
FJBG_CLASSES ) variable=$2;;
MSIL_CLASSES ) variable=$2;;
BCEL_CLASSES ) variable=$2;;
@@ -394,8 +409,8 @@ scala_info_option_help() {
echo " CLASSPATH Default classpath";
echo " BOOTCLASSPATH Default bootclasspath";
echo " RUNTIME_SOURCES Location of the Scala library sources";
- echo " RUNTIME_CLASSES Location of the Scala library and tools";
- echo " DTD2SCALA_CLASSES Location of the dtd2scala tool";
+ echo " RUNTIME_CLASSES Location of the Scala library";
+ echo " TOOLS_CLASSES Location of the Scala tools";
echo " FJBG_CLASSES Location of the fjbg library";
echo " MSIL_CLASSES Location of the msil library";
echo " BCEL_CLASSES Location of the bcel library";
@@ -458,8 +473,8 @@ case "$SCRIPT" in
scala-info ) scala_info "$@";;
scalac* ) exec_compile scalac.Main "$@";;
scaladoc* ) exec_compile scalac.Main -doc "$@";;
- scalarun* ) exec_compile scalai.Main "$@";;
- scalaint* ) exec_compile scalai.Main -interactive "$@";;
+ scalarun* ) exec_interpret scalai.Main "$@";;
+ scalaint* ) exec_interpret scalai.Main -interactive "$@";;
dtd2scala* ) exec_dtd2scala dtd2scala.Main "$@";;
socos* )
warning "Deprecated command, use scalac${SCRIPT#socos} instead.";