8sa1-gcc/gcc/java/lang-specs.h
Caroline Tice 0855eab7a3 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 12:23:27 -07:00

42 lines
1.8 KiB
C

/* Definitions for specs for the GNU compiler for the Java(TM) language.
Copyright (C) 1996, 1998, 1999, 2000, 2001, 2003
Free Software Foundation, Inc.
This file is part of GCC.
GCC 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.
GCC is distributed in the hope that it will be useful,
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
along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
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. */
{".java", "@java" , 0, 0, 0},
{".class", "@java" , 0, 0, 0},
{".zip", "@java" , 0, 0, 0},
{".jar", "@java" , 0, 0, 0},
{"@java",
"%{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:jc1 %i %(jc1) %(cc1_options) %{+e*} %{I*}\
%{MD:-MD_} %{MMD:-MMD_} %{M} %{MM} %{MA} %{MT*} %{MF*}\
%{!fsyntax-only:%(invoke_as)}}", 0, 0, 0},