- "%{!E:jc1 %i %1 %2 %{!Q:-quiet} %{d*} %{m*} %{a}\
- %{g*} %{O*} %{W*} %{w} %{pedantic*} %{ansi}\
- %{traditional} %{v:-version} %{pg:-p} %{p}\
- %{f*} %{+e*} %{aux-info*}\
- %{MD:-MD} %{MMD:-MMD} %{M:-M} %{MM:-MM}\
- %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
- %{S:%W{o*}%{!o*:-o %b.s}}%{!S:-o %{|!pipe:%g.s}} |\n\
- %{!S:as %a %Y\
- %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}\
- %{!pipe:%g.s} %A\n }}"},
+ "%{fjni:%{femit-class-files:%e-fjni and -femit-class-files are incompatible}}\
+ %{fjni:%{femit-class-file:%e-fjni and -femit-class-file are incompatible}}\
+ %{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}}\
+ %{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},
+
+ /*
+ 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.
+ */