[8654b5] | 1 | // #define DEBUG |
---|
| 2 | // #define DEBUGALL |
---|
| 3 | |
---|
| 4 | // B19 - egcs automatically defines CYGWIN32 but not CYGWIN |
---|
| 5 | // B20 - egcs automatically defines both CYGWIN32 and CYGWIN |
---|
| 6 | // Bfuture - (???) defines CYGWIN but not CYGWIN32 |
---|
| 7 | #if defined(__CYGWIN32__) |
---|
| 8 | #if !defined(__CYGWIN__) |
---|
| 9 | #define B19 |
---|
| 10 | #define __CYGWIN__ |
---|
| 11 | #else |
---|
| 12 | #define B20 |
---|
| 13 | #endif |
---|
| 14 | #else |
---|
| 15 | #if defined(__CYGWIN__) |
---|
| 16 | #define B21 |
---|
| 17 | #endif |
---|
| 18 | #endif |
---|
| 19 | // Now: use __CYGWIN__ to represent any version |
---|
| 20 | // distinguish using B19, B20, or B21 |
---|
| 21 | |
---|
| 22 | #if defined(__CYGWIN__) |
---|
| 23 | #ifdef B19 |
---|
| 24 | #define CYGWIN_ATTACH_HANDLE_TO_FD(a) cygwin32_attach_handle_to_fd a |
---|
[a3bc95e] | 25 | #define CYGWIN_CONV_TO_FULL_POSIX_PATH(a) cygwin32_conv_to_full_posix_path a |
---|
[8654b5] | 26 | #define CYGWIN_CONV_TO_FULL_WIN32_PATH(a) cygwin32_conv_to_full_win32_path a |
---|
| 27 | #define CYGWIN_CONV_TO_POSIX_PATH(a) cygwin32_conv_to_posix_path a |
---|
| 28 | #define CYGWIN_CONV_TO_WIN32_PATH(a) cygwin32_conv_to_win32_path a |
---|
| 29 | #define CYGWIN_DETACH_DLL(a) cygwin32_detach_dll a |
---|
| 30 | #define CYGWIN_GETSHARED(a) cygwin32_getshared a |
---|
| 31 | #define CYGWIN_INTERNAL(a) cygwin32_internal a |
---|
| 32 | #define CYGWIN_POSIX_PATH_LIST_P(a) cygwin32_posix_path_list_p a |
---|
| 33 | #define CYGWIN_POSIX_TO_WIN32_PATH_LIST(a) cygwin32_posix_to_win32_path_list a |
---|
| 34 | #define CYGWIN_POSIX_TO_WIN32_PATH_LIST_BUF_SIZE(a) cygwin32_posix_to_win32_path_list_buf_size a |
---|
| 35 | #define CYGWIN_SPLIT_PATH(a) cygwin32_split_path a |
---|
| 36 | #define CYGWIN_WIN32_TO_POSIX_PATH_LIST(a) cygwin32_win32_to_posix_path_list a |
---|
| 37 | #define CYGWIN_WIN32_TO_POSIX_PATH_LIST_BUF_SIZE(a) cygwin32_win32_to_posix_path_list_buf_size a |
---|
| 38 | #define CYGWIN_WINPID_TO_PID(a) cygwin32_winpid_to_pid a |
---|
| 39 | #else |
---|
| 40 | #define CYGWIN_ATTACH_HANDLE_TO_FD(a) cygwin_attach_handle_to_fd a |
---|
[a3bc95e] | 41 | #define CYGWIN_CONV_TO_FULL_POSIX_PATH(a) cygwin_conv_to_full_posix_path a |
---|
[8654b5] | 42 | #define CYGWIN_CONV_TO_FULL_WIN32_PATH(a) cygwin_conv_to_full_win32_path a |
---|
| 43 | #define CYGWIN_CONV_TO_POSIX_PATH(a) cygwin_conv_to_posix_path a |
---|
| 44 | #define CYGWIN_CONV_TO_WIN32_PATH(a) cygwin_conv_to_win32_path a |
---|
| 45 | #define CYGWIN_DETACH_DLL(a) cygwin_detach_dll a |
---|
| 46 | #define CYGWIN_GETSHARED(a) cygwin_getshared a |
---|
| 47 | #define CYGWIN_INTERNAL(a) cygwin_internal a |
---|
| 48 | #define CYGWIN_POSIX_PATH_LIST_P(a) cygwin_posix_path_list_p a |
---|
| 49 | #define CYGWIN_POSIX_TO_WIN32_PATH_LIST(a) cygwin_posix_to_win32_path_list a |
---|
| 50 | #define CYGWIN_POSIX_TO_WIN32_PATH_LIST_BUF_SIZE(a) cygwin_posix_to_win32_path_list_buf_size a |
---|
| 51 | #define CYGWIN_SPLIT_PATH(a) cygwin_split_path a |
---|
| 52 | #define CYGWIN_WIN32_TO_POSIX_PATH_LIST(a) cygwin_win32_to_posix_path_list a |
---|
| 53 | #define CYGWIN_WIN32_TO_POSIX_PATH_LIST_BUF_SIZE(a) cygwin_win32_to_posix_path_list_buf_size a |
---|
| 54 | #define CYGWIN_WINPID_TO_PID(a) cygwin_winpid_to_pid a |
---|
| 55 | #endif |
---|
| 56 | #endif |
---|
| 57 | |
---|
| 58 | #if defined(__CYGWIN__) |
---|
| 59 | #define PATH_SEP_CHAR_STR "/" |
---|
| 60 | #define SEP_CHARS ":" |
---|
| 61 | #else |
---|
| 62 | #define PATH_SEP_CHAR_STR "\\" |
---|
| 63 | #define SEP_CHARS ";" |
---|
| 64 | #endif |
---|
| 65 | |
---|
| 66 | #ifndef RC_INVOKED |
---|
| 67 | |
---|
| 68 | #define MAX_ARGS 20 |
---|
| 69 | |
---|
| 70 | #ifdef DEBUG |
---|
| 71 | #define Trace(x) Trace_ x |
---|
| 72 | #else |
---|
| 73 | #define Trace(x) |
---|
| 74 | #endif |
---|
| 75 | |
---|
| 76 | #define NUM_EXTENSIONS 2 |
---|
| 77 | const char* exts[NUM_EXTENSIONS] = { "", ".exe" }; |
---|
| 78 | |
---|
| 79 | char* pfopen(char *retval, const char *name, const char *dirs); |
---|
| 80 | void error(char* fmt, ...); |
---|
| 81 | void message(char* fmt, ...); |
---|
| 82 | void Trace_(char* fmt, ...); |
---|
| 83 | int get_exec_name_and_path(char* execname, char* execpath); |
---|
| 84 | char* my_strtok(char* s, const char* delim, char** lasts); |
---|
| 85 | int parse_cmdline_to_arg_array(char* argv[MAX_ARGS], char* cmdline); |
---|
| 86 | void strip_exe(char* s); |
---|
| 87 | int start_child(char* cmdline, int wait_for_child); |
---|
| 88 | void xemacs_special(char* exec); |
---|
| 89 | int build_cmdline(char* new_cmdline, char* exec, int argc, char* argv[]); |
---|
| 90 | void process_execname(char *exec, const char* execname, const char* execpath); |
---|
| 91 | int fileExists(char* fullname, const char* path, const char* name); |
---|
| 92 | int endsWith(const char* s1, const char* s2); |
---|
[a3bc95e] | 93 | int fileExistsMulti(char* fullname, const char* path, |
---|
[8654b5] | 94 | const char* name_noext, const char* exts[], |
---|
| 95 | const int extcnt); |
---|
| 96 | |
---|
| 97 | #endif /* RC_INVOKED */ |
---|
| 98 | |
---|
| 99 | |
---|
| 100 | |
---|