1 |
287 |
jeremybenn |
/* Definitions for specs for the GNU compiler for the Java(TM) language.
|
2 |
|
|
Copyright (C) 1996, 1998, 1999, 2000, 2001, 2003, 2004, 2006, 2007
|
3 |
|
|
Free Software Foundation, Inc.
|
4 |
|
|
|
5 |
|
|
This file is part of GCC.
|
6 |
|
|
|
7 |
|
|
GCC is free software; you can redistribute it and/or modify
|
8 |
|
|
it under the terms of the GNU General Public License as published by
|
9 |
|
|
the Free Software Foundation; either version 3, or (at your option)
|
10 |
|
|
any later version.
|
11 |
|
|
|
12 |
|
|
GCC is distributed in the hope that it will be useful,
|
13 |
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14 |
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
15 |
|
|
GNU General Public License for more details.
|
16 |
|
|
|
17 |
|
|
You should have received a copy of the GNU General Public License
|
18 |
|
|
along with GCC; see the file COPYING3. If not see
|
19 |
|
|
<http://www.gnu.org/licenses/>.
|
20 |
|
|
|
21 |
|
|
Java and all Java-based marks are trademarks or registered trademarks
|
22 |
|
|
of Sun Microsystems, Inc. in the United States and other countries.
|
23 |
|
|
The Free Software Foundation is independent of Sun Microsystems, Inc. */
|
24 |
|
|
|
25 |
|
|
/* This is the contribution to the `default_compilers' array in gcc.c for
|
26 |
|
|
Java. */
|
27 |
|
|
|
28 |
|
|
{".java", "@java" , 0, 0, 0},
|
29 |
|
|
{".class", "@java" , 0, 0, 0},
|
30 |
|
|
{".zip", "@java" , 0, 0, 0},
|
31 |
|
|
{".jar", "@java" , 0, 0, 0},
|
32 |
|
|
{"@java",
|
33 |
|
|
"%{fjni:%{femit-class-files:%e-fjni and -femit-class-files are incompatible}}\
|
34 |
|
|
%{fjni:%{femit-class-file:%e-fjni and -femit-class-file are incompatible}}\
|
35 |
|
|
%{femit-class-file:%{!fsyntax-only:%e-femit-class-file should used along with -fsyntax-only}}\
|
36 |
|
|
%{femit-class-files:%{!fsyntax-only:%e-femit-class-file should used along with -fsyntax-only}}\
|
37 |
|
|
%{E:%{e-E is not valid for gcj}}\
|
38 |
|
|
%{.java|fsaw-java-file:ecj1 %i %{W*} %{w} %{g*} \
|
39 |
|
|
%{fbootclasspath*} \
|
40 |
|
|
%{fenable-assertions*} \
|
41 |
|
|
%{fdisable-assertions*} \
|
42 |
|
|
%{fencoding*} %{ffilelist-file} \
|
43 |
|
|
%{foutput-class-dir*} %{g*} \
|
44 |
|
|
%{fsource*} %{!fsource*:-fsource=1.5} \
|
45 |
|
|
%{ftarget*} %{!femit-class-files|!ftarget*:-ftarget=1.5} \
|
46 |
|
|
%{!findirect-dispatch:-fzip-dependency %U.zip} \
|
47 |
|
|
%{!fsyntax-only:-fzip-target %U.jar}}\n \
|
48 |
|
|
%{.class|.zip|.jar|!fsyntax-only:jc1 \
|
49 |
|
|
%{.java|fsaw-java-file:%U.jar -fsource-filename=%i %<ffilelist-file} \
|
50 |
|
|
%{.class|.zip|.jar|ffilelist-file|fcompile-resource*:%i} \
|
51 |
|
|
%(jc1) %(cc1_options) %{I*} %{!findirect-dispatch:-faux-classpath %U.zip} \
|
52 |
|
|
%{MD:-MD_} %{MMD:-MMD_} %{M} %{MM} %{MA} %{MT*} %{MF*}\
|
53 |
|
|
%(invoke_as)}",
|
54 |
|
|
0, 0, 0},
|
55 |
|
|
|
56 |
|
|
/*
|
57 |
|
|
FIXME: we don't use %|, even though we could, because we need the
|
58 |
|
|
dependency zip to be ready early enough. We could work around
|
59 |
|
|
this by not having a dependency zip and instead teaching jc1 to
|
60 |
|
|
read a special manifest file included in the sole zip, this
|
61 |
|
|
manifest would say which files are to be compiled and which are
|
62 |
|
|
not.
|
63 |
|
|
*/
|