diff options
Diffstat (limited to 'libiberty/choose-temp.c')
-rw-r--r-- | libiberty/choose-temp.c | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/libiberty/choose-temp.c b/libiberty/choose-temp.c index 798de4822a5..ea4f9ed5f32 100644 --- a/libiberty/choose-temp.c +++ b/libiberty/choose-temp.c @@ -1,5 +1,5 @@ /* Utility to pick a temporary filename prefix. - Copyright (C) 1996 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or @@ -22,7 +22,21 @@ Boston, MA 02111-1307, USA. */ /* This file lives in at least two places: libiberty and gcc. Don't change one without the other. */ -#ifndef NO_SYS_FILE_H +#if defined (IN_GCC) || defined (HAVE_CONFIG_H) +#include "config.h" +#endif + +#ifdef IN_GCC +#include "system.h" +#else + +/* If we are in gcc, system.h has handled everything. When not in + gcc, if we have a config.h we assume that HAVE_SYS_FILE_H tells us + whether to include sys/file.h. However, libiberty does not have a + config.h, and instead arranges to define NO_SYS_FILE_H on the + command line when there is no sys/file.h. */ + +#if defined (HAVE_CONFIG_H) ? defined (HAVE_SYS_FILE_H) : ! defined (NO_SYS_FILE_H) #include <sys/types.h> #include <sys/file.h> /* May get R_OK, etc. on some systems. */ #endif @@ -34,9 +48,9 @@ Boston, MA 02111-1307, USA. */ #endif #include <stdio.h> /* May get P_tmpdir. */ +#endif /* IN_GCC */ #ifdef IN_GCC -#include "config.h" #include "gansidecl.h" extern char *xmalloc (); #else @@ -54,7 +68,7 @@ extern char *xmalloc (); /* On MSDOS, write temp files in current dir because there's no place else we can expect to use. */ /* ??? Although the current directory is tried as a last resort, - this is left in so that on MSDOS it is prefered to /tmp on the + this is left in so that on MSDOS it is preferred to /tmp on the off chance that someone requires this, since that was the previous behaviour. */ #ifdef __MSDOS__ @@ -68,7 +82,7 @@ extern char *xmalloc (); #define TEMP_FILE "ccXXXXXX" /* Subroutine of choose_temp_base. - If BASE is non-NULL, returh it. + If BASE is non-NULL, return it. Otherwise it checks if DIR is a usable directory. If success, DIR is returned. Otherwise NULL is returned. */ @@ -114,11 +128,7 @@ choose_temp_base () /* If all else fails, use the current directory! */ if (base == 0) -#ifdef VMS - base = "["; -#else base = "."; -#endif #else /* MPW */ base = ":"; |