diff --git a/build.xml b/build.xml
index 952ccdd3dba..480951def0d 100644
--- a/build.xml
+++ b/build.xml
@@ -35,6 +35,7 @@
+
diff --git a/compiler/backend/src/org/jetbrains/jet/compiler/CompileEnvironment.java b/compiler/backend/src/org/jetbrains/jet/compiler/CompileEnvironment.java
index 277273aa0ee..66c129f3ef9 100644
--- a/compiler/backend/src/org/jetbrains/jet/compiler/CompileEnvironment.java
+++ b/compiler/backend/src/org/jetbrains/jet/compiler/CompileEnvironment.java
@@ -337,10 +337,12 @@ public class CompileEnvironment {
}
}
- public boolean compileBunchOfSources(String sourceFileOrDir, String jar, String outputDir, boolean includeRuntime) {
+ public boolean compileBunchOfSources(String sourceFileOrDir, String jar, String outputDir, boolean includeRuntime, boolean includeSources) {
CompileSession session = new CompileSession(myEnvironment);
session.addSources(sourceFileOrDir);
- session.addStdLibSources(false);
+ if (includeSources) {
+ session.addStdLibSources(false);
+ }
String mainClass = null;
for (JetFile file : session.getSourceFileNamespaces()) {
diff --git a/compiler/cli/src/org/jetbrains/jet/cli/KotlinCompiler.java b/compiler/cli/src/org/jetbrains/jet/cli/KotlinCompiler.java
index e752317b947..8daf27b6cf8 100644
--- a/compiler/cli/src/org/jetbrains/jet/cli/KotlinCompiler.java
+++ b/compiler/cli/src/org/jetbrains/jet/cli/KotlinCompiler.java
@@ -25,6 +25,8 @@ public class KotlinCompiler {
public String module;
@Argument(value = "includeRuntime", description = "include Kotlin runtime in to resulting jar")
public boolean includeRuntime;
+ @Argument(value = "excludeStdlib", description = "do not load stdlib (to compile stdlib itself)")
+ public boolean excludeStdlib;
}
public static void main(String[] args) {
@@ -59,7 +61,7 @@ public class KotlinCompiler {
return;
}
else {
- if (!environment.compileBunchOfSources(arguments.src, arguments.jar, arguments.outputDir, arguments.includeRuntime)) {
+ if (!environment.compileBunchOfSources(arguments.src, arguments.jar, arguments.outputDir, arguments.includeRuntime, !arguments.excludeStdlib)) {
System.exit(1);
return;
}