#define wxPATH_SEP_MAC wxT(";")
// platform independent versions
-#if defined(__UNIX__)
+#if defined(__UNIX__) && !defined(__GNUWIN32__)
#define wxFILE_SEP_PATH wxFILE_SEP_PATH_UNIX
#define wxPATH_SEP wxPATH_SEP_UNIX
#elif defined(__MAC__)
#define wxFILE_SEP_PATH wxFILE_SEP_PATH_MAC
#define wxPATH_SEP wxPATH_SEP_MAC
+#elif defined(__GNUWIN32__) // Cygwin
+ #define wxFILE_SEP_PATH wxFILE_SEP_PATH_DOS
+ #define wxPATH_SEP wxPATH_SEP_UNIX
#else // Windows and OS/2
#define wxFILE_SEP_PATH wxFILE_SEP_PATH_DOS
#define wxPATH_SEP wxPATH_SEP_DOS
#endif
#endif
-#ifdef __GNUWIN32__
- #include <wchar.h>
- #ifndef __TWIN32__
- #include <sys/unistd.h>
- #endif
-#endif
-
#ifdef __BORLANDC__ // Please someone tell me which version of Borland needs
// this (3.1 I believe) and how to test for it.
// If this works for Borland 4.0 as well, then no worries.
#ifdef __WINDOWS__
#include <windows.h>
-#endif
+
+ // sys/cygwin.h is needed for cygwin_conv_to_full_win32_path()
+ //
+ // note that it must be included after <windows.h>
+ #ifdef __GNUWIN32__
+ #include <sys/cygwin.h>
+ #include <wchar.h>
+ #ifndef __TWIN32__
+ #include <sys/unistd.h>
+ #endif
+ #endif // __GNUWIN32__
+#endif // __WINDOWS__
// TODO: Borland probably has _wgetcwd as well?
#ifdef _MSC_VER
}
#endif // __DJGPP__
-#ifdef __CYGWIN10__
- // another example of DOS/Unix mix
+#ifdef __GNUWIN32__
+ // another example of DOS/Unix mix (Cygwin)
wxString pathUnix = buf;
cygwin_conv_to_full_win32_path(pathUnix, buf);
-#endif // __CYGWIN10__
+#endif // __GNUWIN32__
// finally convert the result to Unicode if needed
#if wxUSE_UNICODE && !defined(HAVE_WGETCWD)
#if defined(__GNUWIN32__) && !defined(__TWIN32__)
#include <sys/unistd.h>
#include <sys/stat.h>
+ #include <sys/cygwin.h> // for cygwin_conv_to_full_win32_path()
#endif //GNUWIN32
#ifdef __BORLANDC__ // Please someone tell me which version of Borland needs
// add a trailing slash if needed
if ( strDir.Last() != wxT('/') )
strDir << wxT('/');
+
+ #ifdef __GNUWIN32__
+ // Cygwin returns unix type path but that does not work well
+ static wxChar windowsPath[MAX_PATH];
+ cygwin_conv_to_full_win32_path(strDir, windowsPath);
+ strDir = windowsPath;
+ #endif
#else // Windows
#ifdef __WIN32__
const wxChar *szHome = wxGetenv(wxT("HOMEDRIVE"));