summaryrefslogtreecommitdiffstats
path: root/buildtool.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'buildtool.cpp')
-rw-r--r--buildtool.cpp39
1 files changed, 28 insertions, 11 deletions
diff --git a/buildtool.cpp b/buildtool.cpp
index c1028c526..24de41077 100644
--- a/buildtool.cpp
+++ b/buildtool.cpp
@@ -38,7 +38,7 @@
*
*/
-#define BUILDTOOL_VERSION "BuildTool v0.7.5, 2007 Bob Jamison"
+#define BUILDTOOL_VERSION "BuildTool v0.7.6, 2007-2008 Bob Jamison"
#include <stdio.h>
#include <fcntl.h>
@@ -6693,6 +6693,8 @@ public:
String cmd = command;
cmd.append(" -d ");
cmd.append(destdir);
+ cmd.append(" -classpath ");
+ cmd.append(destdir);
cmd.append(" -sourcepath ");
cmd.append(srcdir);
cmd.append(" ");
@@ -6702,6 +6704,9 @@ public:
cmd.append(target);
cmd.append(" ");
}
+ String fname = "javalist.btool";
+ FILE *f = fopen(fname.c_str(), "w");
+ int count = 0;
for (unsigned int i=0 ; i<fileList.size() ; i++)
{
String fname = fileList[i];
@@ -6724,17 +6729,29 @@ public:
if (!isNewerThan(fullSrc, fullDest))
continue;
- String execCmd = cmd;
- execCmd.append(fullSrc);
+ count++;
+ fprintf(f, "%s\n", fullSrc.c_str());
+ }
+ fclose(f);
+ if (!count)
+ {
+ status(" : nothing to do");
+ return true;
+ }
- String outString, errString;
- bool ret = executeCommand(execCmd.c_str(), "", outString, errString);
- if (!ret)
- {
- error("<javac> command '%s' failed :\n %s",
- execCmd.c_str(), errString.c_str());
- return false;
- }
+ status(" : compiling %d files", count);
+
+ String execCmd = cmd;
+ execCmd.append("@");
+ execCmd.append(fname);
+
+ String outString, errString;
+ bool ret = executeCommand(execCmd.c_str(), "", outString, errString);
+ if (!ret)
+ {
+ error("<javac> command '%s' failed :\n %s",
+ execCmd.c_str(), errString.c_str());
+ return false;
}
return true;
}