1  /* Configuration for GCC for hosting on VMS
       2     using a Unix style C library.
       3     Copyright (C) 1996-2023 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  /* A couple of conditionals for execution machine are controlled here.  */
      22  #ifndef VMS
      23  #define VMS
      24  #endif
      25  
      26  /* Causes exit() to be redefined to __posix_exit() and
      27     Posix compatible failure and success codes to be used.  */
      28  #define _POSIX_EXIT 1
      29  
      30  /* Open files in stream mode if not otherwise explicitly specified.  */
      31  #define __UNIX_FOPEN 1
      32  
      33  /* Write to stdout using fputc to avoid record terminators in pipes.  */
      34  #define __UNIX_FWRITE 1
      35  
      36  #define STDC_HEADERS 1
      37  
      38  #define HOST_EXECUTABLE_SUFFIX ".exe"
      39  #define HOST_OBJECT_SUFFIX ".obj"
      40  
      41  #define DUMPFILE_FORMAT "_%02d_"
      42  
      43  #define DELETE_IF_ORDINARY(NAME,ST,VERBOSE_FLAG)           \
      44  do                                                         \
      45    {                                                        \
      46      while (stat (NAME, &ST) >= 0 && S_ISREG (ST.st_mode))  \
      47        if (unlink (NAME) < 0)                               \
      48  	{                                                  \
      49  	  if (VERBOSE_FLAG)                                \
      50  	    perror_with_name (NAME);                       \
      51  	  break;                                           \
      52  	}                                                  \
      53    } while (0)
      54  
      55  /* If 64 bit pointers are used, use 64 bit specifier.  */
      56  
      57  #if (defined (__INITIAL_POINTER_SIZE) && __INITIAL_POINTER_SIZE == 64) \
      58    || defined (__LONG_POINTERS)
      59  #define HOST_LONG_FORMAT "ll"
      60  #define HOST_PTR_PRINTF "%llp"
      61  #endif
      62  
      63  #define STANDARD_STARTFILE_PREFIX "/gnu/lib/"