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