1998-09-06 17:36:06 +02:00
|
|
|
/* Definitions for specs for the GNU compiler for the Java(TM) language.
|
2016-01-04 15:30:50 +01:00
|
|
|
Copyright (C) 1996-2016 Free Software Foundation, Inc.
|
1998-09-06 17:36:06 +02:00
|
|
|
|
Make-lang.in, [...]: Replace "GNU CC" with "GCC" in the copyright header.
* Make-lang.in, boehm.c, buffer.c,
buffer.h, builtins.c, class.c,
config-lang.in, constants.c,
convert.h, decl.c, except.c,
expr.c, java-except.h,
java-tree.h, javaop.def,
jcf-parse.c, jcf-write.c,
jv-scan.c, jvgenmain.c,
jvspec.c, keyword.gperf,
keyword.h, lang-options.h,
lang-specs.h, lang.c, lex.c,
lex.h, mangle.c, mangle_name.c,
parse-scan.y, parse.h, parse.y,
typeck.c, verify.c, xref.c,
xref.h: Replace "GNU CC" with
"GCC" in the copyright header.
* check-init.c, gjavah.c, javaop.h,
jcf-depend.c, jcf-dump.c, jcf-io.c,
jcf-path.c, jcf-reader.c, jcf.h,
zextract.c, zipfile.h: These files are
"part of GCC". Also say "GCC" not "GNU CC".
From-SVN: r60747
2003-01-01 16:10:03 +01:00
|
|
|
This file is part of GCC.
|
1998-09-06 17:36:06 +02:00
|
|
|
|
Make-lang.in, [...]: Replace "GNU CC" with "GCC" in the copyright header.
* Make-lang.in, boehm.c, buffer.c,
buffer.h, builtins.c, class.c,
config-lang.in, constants.c,
convert.h, decl.c, except.c,
expr.c, java-except.h,
java-tree.h, javaop.def,
jcf-parse.c, jcf-write.c,
jv-scan.c, jvgenmain.c,
jvspec.c, keyword.gperf,
keyword.h, lang-options.h,
lang-specs.h, lang.c, lex.c,
lex.h, mangle.c, mangle_name.c,
parse-scan.y, parse.h, parse.y,
typeck.c, verify.c, xref.c,
xref.h: Replace "GNU CC" with
"GCC" in the copyright header.
* check-init.c, gjavah.c, javaop.h,
jcf-depend.c, jcf-dump.c, jcf-io.c,
jcf-path.c, jcf-reader.c, jcf.h,
zextract.c, zipfile.h: These files are
"part of GCC". Also say "GCC" not "GNU CC".
From-SVN: r60747
2003-01-01 16:10:03 +01:00
|
|
|
GCC is free software; you can redistribute it and/or modify
|
1998-09-06 17:36:06 +02:00
|
|
|
it under the terms of the GNU General Public License as published by
|
java-gimplify.c: Change copyright header to refer to version 3 of the GNU General Public...
* java-gimplify.c: Change copyright header to refer to version 3 of the GNU
General Public License and to point readers at the COPYING3 file and the
FSF's license web page.
* typeck.c, lang-specs.h, mangle_name.c, jcf-dump.c, class.c, decl.c,
config-lang.in, jcf-parse.c, constants.c, Make-lang.in, resource.c, except.c,
builtins.c, jvspec.c, java-tree.def, javaop.def, jcf-path.c, verify-glue.c,
jcf-depend.c, lang.opt, jcf-reader.c, mangle.c, zextract.c, jcf-io.c, jcf.h,
zipfile.h, verify.h, java-except.h, win32-host.c, expr.c, jvgenmain.c,
parse.h, lang.c, java-tree.h, javaop.h, boehm.c: Likewise.
From-SVN: r127098
2007-07-31 18:19:49 +02:00
|
|
|
the Free Software Foundation; either version 3, or (at your option)
|
1998-09-06 17:36:06 +02:00
|
|
|
any later version.
|
|
|
|
|
Make-lang.in, [...]: Replace "GNU CC" with "GCC" in the copyright header.
* Make-lang.in, boehm.c, buffer.c,
buffer.h, builtins.c, class.c,
config-lang.in, constants.c,
convert.h, decl.c, except.c,
expr.c, java-except.h,
java-tree.h, javaop.def,
jcf-parse.c, jcf-write.c,
jv-scan.c, jvgenmain.c,
jvspec.c, keyword.gperf,
keyword.h, lang-options.h,
lang-specs.h, lang.c, lex.c,
lex.h, mangle.c, mangle_name.c,
parse-scan.y, parse.h, parse.y,
typeck.c, verify.c, xref.c,
xref.h: Replace "GNU CC" with
"GCC" in the copyright header.
* check-init.c, gjavah.c, javaop.h,
jcf-depend.c, jcf-dump.c, jcf-io.c,
jcf-path.c, jcf-reader.c, jcf.h,
zextract.c, zipfile.h: These files are
"part of GCC". Also say "GCC" not "GNU CC".
From-SVN: r60747
2003-01-01 16:10:03 +01:00
|
|
|
GCC is distributed in the hope that it will be useful,
|
1998-09-06 17:36:06 +02:00
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
java-gimplify.c: Change copyright header to refer to version 3 of the GNU General Public...
* java-gimplify.c: Change copyright header to refer to version 3 of the GNU
General Public License and to point readers at the COPYING3 file and the
FSF's license web page.
* typeck.c, lang-specs.h, mangle_name.c, jcf-dump.c, class.c, decl.c,
config-lang.in, jcf-parse.c, constants.c, Make-lang.in, resource.c, except.c,
builtins.c, jvspec.c, java-tree.def, javaop.def, jcf-path.c, verify-glue.c,
jcf-depend.c, lang.opt, jcf-reader.c, mangle.c, zextract.c, jcf-io.c, jcf.h,
zipfile.h, verify.h, java-except.h, win32-host.c, expr.c, jvgenmain.c,
parse.h, lang.c, java-tree.h, javaop.h, boehm.c: Likewise.
From-SVN: r127098
2007-07-31 18:19:49 +02:00
|
|
|
along with GCC; see the file COPYING3. If not see
|
|
|
|
<http://www.gnu.org/licenses/>.
|
1998-09-06 17:36:06 +02:00
|
|
|
|
|
|
|
Java and all Java-based marks are trademarks or registered trademarks
|
|
|
|
of Sun Microsystems, Inc. in the United States and other countries.
|
|
|
|
The Free Software Foundation is independent of Sun Microsystems, Inc. */
|
|
|
|
|
|
|
|
/* This is the contribution to the `default_compilers' array in gcc.c for
|
|
|
|
Java. */
|
|
|
|
|
gcc.c (combine_flag): New global variable, for new driver option.
2004-04-05 Caroline Tice <ctice@apple.com>
* gcc.c (combine_flag): New global variable, for new driver option.
(struct compiler): Add two new fields, to be used when
combining multiple input files in a single pass (IMA).
(default_compilers): Add values for the new fields to all
compiler entries. Modify the "@c" compiler entry for doing IMA
properly with "-save-temps" and the "combine" flag.
(option_map): Add new driver option, "--combine", to tell driver
to pass multiple input files to compiler at one time.
(have_o_argbuf_index): New global variable.
(store_arg): Modify to assign value to have_o_argbuf_index.
(struct infile): Add three new fields, to help with IMA.
(display_help): Add help for new "combine" option.
(process_command): Remove local variable have_o; add code to check
for new "combine" option; remove assignment to combine_inputs.
(do_spec_1): Modify to deal with IMA better.
(main): Make variable 'lang_n_infiles' local to entire function
rather than to a single block. Use flag combine_flag to
determine whether to do IMA or not; Modify loop initializing
infiles to deal properly with linker files.
Add code for doing preprocessing in presence of
IMA with "-save-temps" flag. Modify "main" loop to handle
multiple input files, in multiple languages, with or without
preprocessing, gracefully.
* toplev.c (set_src_pwd): Modify to not complain if attempting to
re-set it to same directory it's previously been set to (avoid
irritating, meaningless warning messages when doing IMA with
save-temps).
* doc/invoke.texi: Add "-combine" to list of Overall Options;
remove documentation about IMA that is no longer accurate; Add
documentation explaining what "-combine" does.
* ada/lang-specs.h: Add initialization values for new fields in
"struct compiler".
* cp/lang-specs.h: Likewise.
* f/lang-specs.h: Likewise.
* java/lang-specs.h: Likewise.
* objc/lang-specs.h: Likewise.
* treelang/lang-specs.h: Likewise.
Fix gcc driver to work properly with IMI.
From-SVN: r80435
2004-04-05 21:23:27 +02:00
|
|
|
{".java", "@java" , 0, 0, 0},
|
|
|
|
{".class", "@java" , 0, 0, 0},
|
|
|
|
{".zip", "@java" , 0, 0, 0},
|
|
|
|
{".jar", "@java" , 0, 0, 0},
|
1998-09-06 17:36:06 +02:00
|
|
|
{"@java",
|
2000-09-06 23:55:39 +02:00
|
|
|
"%{fjni:%{femit-class-files:%e-fjni and -femit-class-files are incompatible}}\
|
|
|
|
%{fjni:%{femit-class-file:%e-fjni and -femit-class-file are incompatible}}\
|
2001-07-11 09:33:43 +02:00
|
|
|
%{femit-class-file:%{!fsyntax-only:%e-femit-class-file should used along with -fsyntax-only}}\
|
|
|
|
%{femit-class-files:%{!fsyntax-only:%e-femit-class-file should used along with -fsyntax-only}}\
|
2007-01-09 20:58:05 +01:00
|
|
|
%{E:%{e-E is not valid for gcj}}\
|
|
|
|
%{.java|fsaw-java-file:ecj1 %i %{W*} %{w} %{g*} \
|
|
|
|
%{fbootclasspath*} \
|
|
|
|
%{fenable-assertions*} \
|
|
|
|
%{fdisable-assertions*} \
|
|
|
|
%{fencoding*} %{ffilelist-file} \
|
|
|
|
%{foutput-class-dir*} %{g*} \
|
|
|
|
%{fsource*} %{!fsource*:-fsource=1.5} \
|
|
|
|
%{ftarget*} %{!femit-class-files|!ftarget*:-ftarget=1.5} \
|
|
|
|
%{!findirect-dispatch:-fzip-dependency %U.zip} \
|
|
|
|
%{!fsyntax-only:-fzip-target %U.jar}}\n \
|
|
|
|
%{.class|.zip|.jar|!fsyntax-only:jc1 \
|
|
|
|
%{.java|fsaw-java-file:%U.jar -fsource-filename=%i %<ffilelist-file} \
|
|
|
|
%{.class|.zip|.jar|ffilelist-file|fcompile-resource*:%i} \
|
|
|
|
%(jc1) %(cc1_options) %{I*} %{!findirect-dispatch:-faux-classpath %U.zip} \
|
|
|
|
%{MD:-MD_} %{MMD:-MMD_} %{M} %{MM} %{MA} %{MT*} %{MF*}\
|
|
|
|
%(invoke_as)}",
|
|
|
|
0, 0, 0},
|
2000-09-26 19:28:07 +02:00
|
|
|
|
2007-01-09 20:58:05 +01:00
|
|
|
/*
|
|
|
|
FIXME: we don't use %|, even though we could, because we need the
|
|
|
|
dependency zip to be ready early enough. We could work around
|
|
|
|
this by not having a dependency zip and instead teaching jc1 to
|
|
|
|
read a special manifest file included in the sole zip, this
|
|
|
|
manifest would say which files are to be compiled and which are
|
|
|
|
not.
|
|
|
|
*/
|