gccint: Filesystem

1 
1 19.2 Host Filesystem
1 ====================
1 
1 GCC needs to know a number of things about the semantics of the host
1 machine's filesystem.  Filesystems with Unix and MS-DOS semantics are
1 automatically detected.  For other systems, you can define the following
1 macros in 'xm-MACHINE.h'.
1 
1 'HAVE_DOS_BASED_FILE_SYSTEM'
1      This macro is automatically defined by 'system.h' if the host file
1      system obeys the semantics defined by MS-DOS instead of Unix.  DOS
1      file systems are case insensitive, file specifications may begin
1      with a drive letter, and both forward slash and backslash ('/' and
1      '\') are directory separators.
1 
1 'DIR_SEPARATOR'
1 'DIR_SEPARATOR_2'
1      If defined, these macros expand to character constants specifying
1      separators for directory names within a file specification.
1      'system.h' will automatically give them appropriate values on Unix
1      and MS-DOS file systems.  If your file system is neither of these,
1      define one or both appropriately in 'xm-MACHINE.h'.
1 
1      However, operating systems like VMS, where constructing a pathname
1      is more complicated than just stringing together directory names
1      separated by a special character, should not define either of these
1      macros.
1 
1 'PATH_SEPARATOR'
1      If defined, this macro should expand to a character constant
1      specifying the separator for elements of search paths.  The default
1      value is a colon (':').  DOS-based systems usually, but not always,
1      use semicolon (';').
1 
1 'VMS'
1      Define this macro if the host system is VMS.
1 
1 'HOST_OBJECT_SUFFIX'
1      Define this macro to be a C string representing the suffix for
1      object files on your host machine.  If you do not define this
1      macro, GCC will use '.o' as the suffix for object files.
1 
1 'HOST_EXECUTABLE_SUFFIX'
1      Define this macro to be a C string representing the suffix for
1      executable files on your host machine.  If you do not define this
1      macro, GCC will use the null string as the suffix for executable
1      files.
1 
1 'HOST_BIT_BUCKET'
1      A pathname defined by the host operating system, which can be
1      opened as a file and written to, but all the information written is
1      discarded.  This is commonly known as a "bit bucket" or "null
1      device".  If you do not define this macro, GCC will use '/dev/null'
1      as the bit bucket.  If the host does not support a bit bucket,
1      define this macro to an invalid filename.
1 
1 'UPDATE_PATH_HOST_CANONICALIZE (PATH)'
1      If defined, a C statement (sans semicolon) that performs
1      host-dependent canonicalization when a path used in a compilation
1      driver or preprocessor is canonicalized.  PATH is a malloc-ed path
1      to be canonicalized.  If the C statement does canonicalize PATH
1      into a different buffer, the old path should be freed and the new
1      buffer should have been allocated with malloc.
1 
1 'DUMPFILE_FORMAT'
1      Define this macro to be a C string representing the format to use
1      for constructing the index part of debugging dump file names.  The
1      resultant string must fit in fifteen bytes.  The full filename will
1      be the concatenation of: the prefix of the assembler file name, the
1      string resulting from applying this format to an index number, and
1      a string unique to each dump file kind, e.g. 'rtl'.
1 
1      If you do not define this macro, GCC will use '.%02d.'.  You should
1      define this macro if using the default will create an invalid file
1      name.
1 
1 'DELETE_IF_ORDINARY'
1      Define this macro to be a C statement (sans semicolon) that
1      performs host-dependent removal of ordinary temp files in the
1      compilation driver.
1 
1      If you do not define this macro, GCC will use the default version.
1      You should define this macro if the default version does not
1      reliably remove the temp file as, for example, on VMS which allows
1      multiple versions of a file.
1 
1 'HOST_LACKS_INODE_NUMBERS'
1      Define this macro if the host filesystem does not report meaningful
1      inode numbers in struct stat.
1