I have just pushed my changes to support the three Windows platforms:
Cygwin: no changes required
MinGW: as I have is no suitable gfortran compiler for this platform, current installed version is 7.3.0, I had to work around several issues. Tested as much as possible.
plain Windows: using Intel Fortran and MSVC++. The changes have been blended into the original code via preprocessor macros
During the development of this new code, I discovered:
plain Windows: the makefiles do not lead to a test executable. I must do that manually.
the test program contains several "unixisms" - symbolic links are in some way supported on Windows, but they seem to work in a different way than on Linux. So the symlink routine always throws an error. This prevents, however, much of the rest of the program to be run.
it also assumes that the directories /home and /bin exist.
the function ismount may be troublesome on Windows, that requires further investigation. Specifically: what does it mean for that OS?
the gfortran compiler on MinGW (7.3.0) has problems with split() but also with relpath() (connected to repeat()).
the library currently ignores the backslash as a directory separator. While the forward slash is fully (?) supported on Windows, it will be useful to support the backslash as well.
we may need to handle disks (C:, D:, ...) separately
what about file names that contain non-basic ASCII characters? They are a nuisance in my opinion, but they are used.
I have just pushed my changes to support the three Windows platforms:
During the development of this new code, I discovered: