3f5c947f44
us up to version 2.17.50.20070703, at the last GPLv2 commit. Amongst others, this added upstream support for some FreeBSD-specific things that we previously had to manually hack in, such as the OSABI label support, and so on. There are also quite a number of new files, some for cpu's (e.g. SPU) that we may or may not be interested in, but those can be cleaned up later on, if needed.
53 lines
2.0 KiB
C
53 lines
2.0 KiB
C
/* Macros for taking apart, interpreting and processing file names.
|
|
|
|
These are here because some non-Posix (a.k.a. DOSish) systems have
|
|
drive letter brain-damage at the beginning of an absolute file name,
|
|
use forward- and back-slash in path names interchangeably, and
|
|
some of them have case-insensitive file names.
|
|
|
|
Copyright 2000, 2001, 2007 Free Software Foundation, Inc.
|
|
|
|
This file is part of BFD, the Binary File Descriptor library.
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
|
|
|
#ifndef FILENAMES_H
|
|
#define FILENAMES_H
|
|
|
|
#if defined(__MSDOS__) || defined(_WIN32) || defined(__OS2__) || defined (__CYGWIN__)
|
|
|
|
#ifndef HAVE_DOS_BASED_FILE_SYSTEM
|
|
#define HAVE_DOS_BASED_FILE_SYSTEM 1
|
|
#endif
|
|
|
|
#define IS_DIR_SEPARATOR(c) ((c) == '/' || (c) == '\\')
|
|
/* Note that IS_ABSOLUTE_PATH accepts d:foo as well, although it is
|
|
only semi-absolute. This is because the users of IS_ABSOLUTE_PATH
|
|
want to know whether to prepend the current working directory to
|
|
a file name, which should not be done with a name like d:foo. */
|
|
#define IS_ABSOLUTE_PATH(f) (IS_DIR_SEPARATOR((f)[0]) || (((f)[0]) && ((f)[1] == ':')))
|
|
|
|
#else /* not DOSish */
|
|
|
|
#define IS_DIR_SEPARATOR(c) ((c) == '/')
|
|
#define IS_ABSOLUTE_PATH(f) (IS_DIR_SEPARATOR((f)[0]))
|
|
|
|
#endif /* not DOSish */
|
|
|
|
extern int filename_cmp (const char *s1, const char *s2);
|
|
#define FILENAME_CMP(s1, s2) filename_cmp(s1, s2)
|
|
|
|
#endif /* FILENAMES_H */
|