1*75f6d617Schristos#serial 5 2*75f6d617Schristos 3*75f6d617Schristos# Define some macros required for proper operation of code in lib/*.c 4*75f6d617Schristos# on MSDOS/Windows systems. 5*75f6d617Schristos 6*75f6d617Schristos# From Jim Meyering. 7*75f6d617Schristos 8*75f6d617SchristosAC_DEFUN([jm_AC_DOS], 9*75f6d617Schristos [ 10*75f6d617Schristos AC_CACHE_CHECK([whether system is Windows or MSDOS], [ac_cv_win_or_dos], 11*75f6d617Schristos [ 12*75f6d617Schristos AC_TRY_COMPILE([], 13*75f6d617Schristos [#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ 14*75f6d617Schristosneither MSDOS nor Windows 15*75f6d617Schristos#endif], 16*75f6d617Schristos [ac_cv_win_or_dos=yes], 17*75f6d617Schristos [ac_cv_win_or_dos=no]) 18*75f6d617Schristos ]) 19*75f6d617Schristos 20*75f6d617Schristos if test x"$ac_cv_win_or_dos" = xyes; then 21*75f6d617Schristos ac_fs_accepts_drive_letter_prefix=1 22*75f6d617Schristos ac_fs_backslash_is_file_name_separator=1 23*75f6d617Schristos else 24*75f6d617Schristos ac_fs_accepts_drive_letter_prefix=0 25*75f6d617Schristos ac_fs_backslash_is_file_name_separator=0 26*75f6d617Schristos fi 27*75f6d617Schristos 28*75f6d617Schristos AH_VERBATIM(FILESYSTEM_PREFIX_LEN, 29*75f6d617Schristos [#if FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX 30*75f6d617Schristos# define FILESYSTEM_PREFIX_LEN(Filename) \ 31*75f6d617Schristos ((Filename)[0] && (Filename)[1] == ':' ? 2 : 0) 32*75f6d617Schristos#else 33*75f6d617Schristos# define FILESYSTEM_PREFIX_LEN(Filename) 0 34*75f6d617Schristos#endif]) 35*75f6d617Schristos 36*75f6d617Schristos AC_DEFINE_UNQUOTED([FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX], 37*75f6d617Schristos $ac_fs_accepts_drive_letter_prefix, 38*75f6d617Schristos [Define on systems for which file names may have a so-called 39*75f6d617Schristos `drive letter' prefix, define this to compute the length of that 40*75f6d617Schristos prefix, including the colon.]) 41*75f6d617Schristos 42*75f6d617Schristos AH_VERBATIM(ISSLASH, 43*75f6d617Schristos [#if FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR 44*75f6d617Schristos# define ISSLASH(C) ((C) == '/' || (C) == '\\') 45*75f6d617Schristos#else 46*75f6d617Schristos# define ISSLASH(C) ((C) == '/') 47*75f6d617Schristos#endif]) 48*75f6d617Schristos 49*75f6d617Schristos AC_DEFINE_UNQUOTED([FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR], 50*75f6d617Schristos $ac_fs_backslash_is_file_name_separator, 51*75f6d617Schristos [Define if the backslash character may also serve as a file name 52*75f6d617Schristos component separator.]) 53*75f6d617Schristos ]) 54