OSDN Git Service

Merged gcj-eclipse branch to trunk.
[pf3gnuchains/gcc-fork.git] / gcc / java / lang-specs.h
1 /* Definitions for specs for the GNU compiler for the Java(TM) language.
2    Copyright (C) 1996, 1998, 1999, 2000, 2001, 2003, 2004, 2006
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 2, 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 COPYING.  If not, write to
19 the Free Software Foundation, 51 Franklin Street, Fifth Floor,
20 Boston, MA 02110-1301, USA.
21
22 Java and all Java-based marks are trademarks or registered trademarks
23 of Sun Microsystems, Inc. in the United States and other countries.
24 The Free Software Foundation is independent of Sun Microsystems, Inc.  */
25
26 /* This is the contribution to the `default_compilers' array in gcc.c for
27    Java.  */
28
29   {".java",   "@java" , 0, 0, 0},
30   {".class",  "@java" , 0, 0, 0},
31   {".zip",    "@java" , 0, 0, 0},
32   {".jar",    "@java" , 0, 0, 0},
33   {"@java",
34    "%{fjni:%{femit-class-files:%e-fjni and -femit-class-files are incompatible}}\
35     %{fjni:%{femit-class-file:%e-fjni and -femit-class-file are incompatible}}\
36     %{femit-class-file:%{!fsyntax-only:%e-femit-class-file should used along with -fsyntax-only}}\
37     %{femit-class-files:%{!fsyntax-only:%e-femit-class-file should used along with -fsyntax-only}}\
38     %{E:%{e-E is not valid for gcj}}\
39     %{.java|fsaw-java-file:ecj1 %i %{W*} %{w} %{g*}                     \
40       %{fbootclasspath*}                                                \
41       %{fenable-assertions*}                                            \
42       %{fdisable-assertions*}                                           \
43       %{fencoding*} %{ffilelist-file}                                   \
44       %{foutput-class-dir*} %{g*}                                       \
45       %{fsource*} %{!fsource*:-fsource=1.5}                             \
46       %{ftarget*} %{!femit-class-files|!ftarget*:-ftarget=1.5}          \
47       %{!findirect-dispatch:-fzip-dependency %U.zip}                    \
48       %{!fsyntax-only:-fzip-target %U.jar}}\n                           \
49     %{.class|.zip|.jar|!fsyntax-only:jc1                                \
50       %{.java|fsaw-java-file:%U.jar -fsource-filename=%i %<ffilelist-file} \
51       %{.class|.zip|.jar|ffilelist-file|fcompile-resource*:%i}          \
52       %(jc1) %(cc1_options) %{I*} %{!findirect-dispatch:-faux-classpath %U.zip} \
53       %{MD:-MD_} %{MMD:-MMD_} %{M} %{MM} %{MA} %{MT*} %{MF*}\
54       %(invoke_as)}",
55       0, 0, 0},
56
57   /*
58     FIXME: we don't use %|, even though we could, because we need the
59     dependency zip to be ready early enough.  We could work around
60     this by not having a dependency zip and instead teaching jc1 to
61     read a special manifest file included in the sole zip, this
62     manifest would say which files are to be compiled and which are
63     not.
64    */