| 1 | 718 | jeremybenn | /* Definitions for specs for Objective-C++.
 | 
      
         | 2 |  |  |    Copyright (C) 2005, 2007, 2010, 2011 Free Software Foundation, Inc.
 | 
      
         | 3 |  |  |    Contributed by Ziemowit Laski  <zlaski@apple.com>
 | 
      
         | 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 |  |  |  
 | 
      
         | 22 |  |  | /* This is the contribution to the `default_compilers' array in gcc.c for
 | 
      
         | 23 |  |  |    obj-c++.  It is based on -- and should be kept in sync with -- the g++
 | 
      
         | 24 |  |  |    spec (found in cp/lang-specs.h).  */
 | 
      
         | 25 |  |  |  
 | 
      
         | 26 |  |  | #ifndef CPLUSPLUS_CPP_SPEC
 | 
      
         | 27 |  |  | #define CPLUSPLUS_CPP_SPEC 0
 | 
      
         | 28 |  |  | #endif
 | 
      
         | 29 |  |  |  
 | 
      
         | 30 |  |  |   {".mm",  "@objective-c++", 0, 0, 0},
 | 
      
         | 31 |  |  |   {".M",   "@objective-c++", 0, 0, 0},
 | 
      
         | 32 |  |  |   {"@objective-c++-header",
 | 
      
         | 33 |  |  |     "%{E|M|MM:cc1objplus -E %(cpp_options) %2 %(cpp_debug_options)}\
 | 
      
         | 34 |  |  |      %{!E:%{!M:%{!MM:\
 | 
      
         | 35 |  |  |        %{save-temps*|no-integrated-cpp:cc1objplus -E\
 | 
      
         | 36 |  |  |                 %(cpp_options) %2 -o %{save-temps*:%b.mii} %{!save-temps*:%g.mii} \n}\
 | 
      
         | 37 |  |  |       cc1objplus %{save-temps*|no-integrated-cpp:-fpreprocessed %{save-temps*:%b.mii} %{!save-temps*:%g.mii}}\
 | 
      
         | 38 |  |  |               %{!save-temps*:%{!no-integrated-cpp:%(cpp_unique_options)}}\
 | 
      
         | 39 |  |  |         %(cc1_options) %2\
 | 
      
         | 40 |  |  |         -o %g.s %{!o*:--output-pch=%i.gch} %W{o*:--output-pch=%*}%V}}}",
 | 
      
         | 41 |  |  |      CPLUSPLUS_CPP_SPEC, 0, 0},
 | 
      
         | 42 |  |  |   {"@objective-c++",
 | 
      
         | 43 |  |  |     "%{E|M|MM:cc1objplus -E %(cpp_options) %2 %(cpp_debug_options)}\
 | 
      
         | 44 |  |  |      %{!E:%{!M:%{!MM:\
 | 
      
         | 45 |  |  |        %{save-temps*|no-integrated-cpp:cc1objplus -E\
 | 
      
         | 46 |  |  |                 %(cpp_options) %2 -o %{save-temps*:%b.mii} %{!save-temps*:%g.mii} \n}\
 | 
      
         | 47 |  |  |       cc1objplus %{save-temps*|no-integrated-cpp:-fpreprocessed %{save-temps*:%b.mii} %{!save-temps*:%g.mii}}\
 | 
      
         | 48 |  |  |               %{!save-temps*:%{!no-integrated-cpp:%(cpp_unique_options)}}\
 | 
      
         | 49 |  |  |         %(cc1_options) %2\
 | 
      
         | 50 |  |  |        %{!fsyntax-only:%(invoke_as)}}}}",
 | 
      
         | 51 |  |  |      CPLUSPLUS_CPP_SPEC, 0, 0},
 | 
      
         | 52 |  |  |   {".mii", "@objective-c++-cpp-output", 0, 0, 0},
 | 
      
         | 53 |  |  |   {"@objective-c++-cpp-output",
 | 
      
         | 54 |  |  |    "%{!M:%{!MM:%{!E:\
 | 
      
         | 55 |  |  |     cc1objplus -fpreprocessed %i %(cc1_options) %2\
 | 
      
         | 56 |  |  |     %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
 | 
      
         | 57 |  |  |   {"@objc++-cpp-output",
 | 
      
         | 58 |  |  |    "%nobjc++-cpp-output is deprecated; please use objective-c++-cpp-output instead\n\
 | 
      
         | 59 |  |  |     %{!M:%{!MM:%{!E:\
 | 
      
         | 60 |  |  |     cc1objplus -fpreprocessed %i %(cc1_options) %2\
 | 
      
         | 61 |  |  |     %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
 |