/* Compile a Java program.
- Copyright (C) 2001-2003, 2006-2007 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2008 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
- This program is free software; you can redistribute it and/or modify
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <alloca.h>
#include "safe-read.h"
#include "xalloc.h"
#include "xmalloca.h"
-#include "filename.h"
+#include "concat-filename.h"
#include "fwriteerror.h"
#include "clean-temp.h"
#include "error.h"
argv[2] = command;
argv[3] = NULL;
exitstatus = execute (javac, "/bin/sh", argv, false, false, false,
- null_stderr, true, true);
+ null_stderr, true, true, NULL);
err = (exitstatus != 0);
freea (command);
}
exitstatus = execute ("gcj", "gcj", argv, false, false, false, null_stderr,
- true, true);
+ true, true, NULL);
err = (exitstatus != 0);
if (ftarget_arg != NULL)
}
exitstatus = execute ("javac", "javac", argv, false, false, false,
- null_stderr, true, true);
+ null_stderr, true, true, NULL);
err = (exitstatus != 0);
freea (argv);
}
exitstatus = execute ("jikes", "jikes", argv, false, false, false,
- null_stderr, true, true);
+ null_stderr, true, true, NULL);
err = (exitstatus != 0);
freea (argv);
fclose (fp);
/* Remove zombie process from process list, and retrieve exit status. */
- exitstatus = wait_subprocess (child, javac, true, true, true, false);
+ exitstatus =
+ wait_subprocess (child, javac, true, true, true, false, NULL);
if (exitstatus != 0)
envjavac_gcj = false;
fclose (fp);
/* Remove zombie process from process list, and retrieve exit status. */
- exitstatus = wait_subprocess (child, javac, true, true, true, false);
+ exitstatus =
+ wait_subprocess (child, javac, true, true, true, false, NULL);
if (exitstatus != 0)
envjavac_gcj43 = false;
return true;
conftest_file_name =
- concatenated_filename (tmpdir->dir_name, "conftest.java", NULL);
+ xconcatenated_filename (tmpdir->dir_name, "conftest.java", NULL);
if (write_temp_file (tmpdir, conftest_file_name,
get_goodcode_snippet (source_version)))
{
}
compiled_file_name =
- concatenated_filename (tmpdir->dir_name, "conftest.class", NULL);
+ xconcatenated_filename (tmpdir->dir_name, "conftest.class", NULL);
register_temp_file (tmpdir, compiled_file_name);
java_sources[0] = conftest_file_name;
free (conftest_file_name);
conftest_file_name =
- concatenated_filename (tmpdir->dir_name,
- "conftestfail.java",
- NULL);
+ xconcatenated_filename (tmpdir->dir_name,
+ "conftestfail.java",
+ NULL);
if (write_temp_file (tmpdir, conftest_file_name, failcode))
{
free (conftest_file_name);
}
compiled_file_name =
- concatenated_filename (tmpdir->dir_name,
- "conftestfail.class",
- NULL);
+ xconcatenated_filename (tmpdir->dir_name,
+ "conftestfail.class",
+ NULL);
register_temp_file (tmpdir, compiled_file_name);
java_sources[0] = conftest_file_name;
return true;
conftest_file_name =
- concatenated_filename (tmpdir->dir_name, "conftest.java", NULL);
+ xconcatenated_filename (tmpdir->dir_name, "conftest.java", NULL);
if (write_temp_file (tmpdir, conftest_file_name,
get_goodcode_snippet ("1.4")))
{
}
compiled_file_name =
- concatenated_filename (tmpdir->dir_name, "conftest.class", NULL);
+ xconcatenated_filename (tmpdir->dir_name, "conftest.class", NULL);
register_temp_file (tmpdir, compiled_file_name);
java_sources[0] = conftest_file_name;
return true;
conftest_file_name =
- concatenated_filename (tmpdir->dir_name, "conftest.java", NULL);
+ xconcatenated_filename (tmpdir->dir_name, "conftest.java", NULL);
if (write_temp_file (tmpdir, conftest_file_name,
get_goodcode_snippet ("1.3")))
{
}
compiled_file_name =
- concatenated_filename (tmpdir->dir_name, "conftest.class", NULL);
+ xconcatenated_filename (tmpdir->dir_name, "conftest.class", NULL);
register_temp_file (tmpdir, compiled_file_name);
java_sources[0] = conftest_file_name;
if (javac_works && javac_noassert_works)
{
conftest_file_name =
- concatenated_filename (tmpdir->dir_name, "conftestfail.java",
- NULL);
+ xconcatenated_filename (tmpdir->dir_name, "conftestfail.java",
+ NULL);
if (write_temp_file (tmpdir, conftest_file_name,
get_failcode_snippet ("1.3")))
{
}
compiled_file_name =
- concatenated_filename (tmpdir->dir_name, "conftestfail.class",
- NULL);
+ xconcatenated_filename (tmpdir->dir_name, "conftestfail.class",
+ NULL);
register_temp_file (tmpdir, compiled_file_name);
java_sources[0] = conftest_file_name;
return true;
conftest_file_name =
- concatenated_filename (tmpdir->dir_name, "conftest.java", NULL);
+ xconcatenated_filename (tmpdir->dir_name, "conftest.java", NULL);
if (write_temp_file (tmpdir, conftest_file_name,
get_goodcode_snippet (source_version)))
{
}
compiled_file_name =
- concatenated_filename (tmpdir->dir_name, "conftest.class", NULL);
+ xconcatenated_filename (tmpdir->dir_name, "conftest.class", NULL);
register_temp_file (tmpdir, compiled_file_name);
java_sources[0] = conftest_file_name;
free (conftest_file_name);
conftest_file_name =
- concatenated_filename (tmpdir->dir_name,
- "conftestfail.java",
- NULL);
+ xconcatenated_filename (tmpdir->dir_name,
+ "conftestfail.java",
+ NULL);
if (write_temp_file (tmpdir, conftest_file_name, failcode))
{
free (conftest_file_name);
}
compiled_file_name =
- concatenated_filename (tmpdir->dir_name,
- "conftestfail.class",
- NULL);
+ xconcatenated_filename (tmpdir->dir_name,
+ "conftestfail.class",
+ NULL);
register_temp_file (tmpdir, compiled_file_name);
java_sources[0] = conftest_file_name;
free (conftest_file_name);
conftest_file_name =
- concatenated_filename (tmpdir->dir_name,
- "conftestfail.java",
- NULL);
+ xconcatenated_filename (tmpdir->dir_name,
+ "conftestfail.java",
+ NULL);
if (write_temp_file (tmpdir, conftest_file_name,
failcode))
{
}
compiled_file_name =
- concatenated_filename (tmpdir->dir_name,
- "conftestfail.class",
- NULL);
+ xconcatenated_filename (tmpdir->dir_name,
+ "conftestfail.class",
+ NULL);
register_temp_file (tmpdir, compiled_file_name);
java_sources[0] = conftest_file_name;
/* Remove zombie process from process list, and retrieve exit
status. */
exitstatus =
- wait_subprocess (child, "gcj", false, true, true, false);
+ wait_subprocess (child, "gcj", false, true, true, false, NULL);
if (exitstatus != 0)
gcj_present = false;
}
char *conftest_file_name;
conftest_file_name =
- concatenated_filename (tmpdir->dir_name, "conftestlib.java",
- NULL);
+ xconcatenated_filename (tmpdir->dir_name, "conftestlib.java",
+ NULL);
if (write_temp_file (tmpdir, conftest_file_name,
"public class conftestlib {\n"
" public static void main (String[] args) {\n"
const char *java_sources[1];
compiled_file_name =
- concatenated_filename (tmpdir->dir_name,
- "conftestlib.class",
- NULL);
+ xconcatenated_filename (tmpdir->dir_name,
+ "conftestlib.class",
+ NULL);
register_temp_file (tmpdir, compiled_file_name);
java_sources[0] = conftest_file_name;
/* Remove zombie process from process list, and retrieve exit
status. */
exitstatus =
- wait_subprocess (child, "gcj", false, true, true, false);
+ wait_subprocess (child, "gcj", false, true, true, false, NULL);
if (exitstatus != 0)
gcj_43 = false;
}
return true;
conftest_file_name =
- concatenated_filename (tmpdir->dir_name, "conftest.java", NULL);
+ xconcatenated_filename (tmpdir->dir_name, "conftest.java", NULL);
if (write_temp_file (tmpdir, conftest_file_name,
get_goodcode_snippet (source_version)))
{
}
compiled_file_name =
- concatenated_filename (tmpdir->dir_name, "conftest.class", NULL);
+ xconcatenated_filename (tmpdir->dir_name, "conftest.class", NULL);
register_temp_file (tmpdir, compiled_file_name);
java_sources[0] = conftest_file_name;
free (conftest_file_name);
conftest_file_name =
- concatenated_filename (tmpdir->dir_name,
- "conftestfail.java",
- NULL);
+ xconcatenated_filename (tmpdir->dir_name,
+ "conftestfail.java",
+ NULL);
if (write_temp_file (tmpdir, conftest_file_name, failcode))
{
free (conftest_file_name);
}
compiled_file_name =
- concatenated_filename (tmpdir->dir_name,
- "conftestfail.class",
- NULL);
+ xconcatenated_filename (tmpdir->dir_name,
+ "conftestfail.class",
+ NULL);
register_temp_file (tmpdir, compiled_file_name);
java_sources[0] = conftest_file_name;
return true;
conftest_file_name =
- concatenated_filename (tmpdir->dir_name, "conftest.java", NULL);
+ xconcatenated_filename (tmpdir->dir_name, "conftest.java", NULL);
if (write_temp_file (tmpdir, conftest_file_name,
get_goodcode_snippet ("1.4")))
{
}
compiled_file_name =
- concatenated_filename (tmpdir->dir_name, "conftest.class", NULL);
+ xconcatenated_filename (tmpdir->dir_name, "conftest.class", NULL);
register_temp_file (tmpdir, compiled_file_name);
java_sources[0] = conftest_file_name;
return true;
conftest_file_name =
- concatenated_filename (tmpdir->dir_name, "conftest.java", NULL);
+ xconcatenated_filename (tmpdir->dir_name, "conftest.java", NULL);
if (write_temp_file (tmpdir, conftest_file_name,
get_goodcode_snippet ("1.3")))
{
}
compiled_file_name =
- concatenated_filename (tmpdir->dir_name, "conftest.class", NULL);
+ xconcatenated_filename (tmpdir->dir_name, "conftest.class", NULL);
register_temp_file (tmpdir, compiled_file_name);
java_sources[0] = conftest_file_name;
argv[0] = "javac";
argv[1] = NULL;
exitstatus = execute ("javac", "javac", argv, false, false, true, true,
- true, false);
+ true, false, NULL);
javac_present = (exitstatus == 0 || exitstatus == 1 || exitstatus == 2);
javac_tested = true;
}
return true;
conftest_file_name =
- concatenated_filename (tmpdir->dir_name, "conftest.java", NULL);
+ xconcatenated_filename (tmpdir->dir_name, "conftest.java", NULL);
if (write_temp_file (tmpdir, conftest_file_name,
get_goodcode_snippet (source_version)))
{
}
compiled_file_name =
- concatenated_filename (tmpdir->dir_name, "conftest.class", NULL);
+ xconcatenated_filename (tmpdir->dir_name, "conftest.class", NULL);
register_temp_file (tmpdir, compiled_file_name);
java_sources[0] = conftest_file_name;
free (conftest_file_name);
conftest_file_name =
- concatenated_filename (tmpdir->dir_name,
- "conftestfail.java",
- NULL);
+ xconcatenated_filename (tmpdir->dir_name,
+ "conftestfail.java",
+ NULL);
if (write_temp_file (tmpdir, conftest_file_name, failcode))
{
free (conftest_file_name);
}
compiled_file_name =
- concatenated_filename (tmpdir->dir_name,
- "conftestfail.class",
- NULL);
+ xconcatenated_filename (tmpdir->dir_name,
+ "conftestfail.class",
+ NULL);
register_temp_file (tmpdir, compiled_file_name);
java_sources[0] = conftest_file_name;
free (conftest_file_name);
conftest_file_name =
- concatenated_filename (tmpdir->dir_name,
- "conftestfail.java",
- NULL);
+ xconcatenated_filename (tmpdir->dir_name,
+ "conftestfail.java",
+ NULL);
if (write_temp_file (tmpdir, conftest_file_name,
failcode))
{
}
compiled_file_name =
- concatenated_filename (tmpdir->dir_name,
- "conftestfail.class",
- NULL);
+ xconcatenated_filename (tmpdir->dir_name,
+ "conftestfail.class",
+ NULL);
register_temp_file (tmpdir, compiled_file_name);
java_sources[0] = conftest_file_name;
argv[0] = "jikes";
argv[1] = NULL;
exitstatus = execute ("jikes", "jikes", argv, false, false, true, true,
- true, false);
+ true, false, NULL);
jikes_present = (exitstatus == 0 || exitstatus == 1);
jikes_tested = true;
}