This reverts commit 4f3b3f4f1c.
> This fix is incorrect and dangerous. You've removed a potential
> InvalidMemoryOperationError, which is deadly but easy to detect,
> but retained the possibility of closing the file handle of a
> completely unrelated file, if that file handle has since been
> reused. With this change, the bug will always be silent and much
> harder to find the real cause of.
This change fixes Linux builds only. Other Posix based OS's will still use the deprecated alias from the Posix module. (This is the same behavior as the garbage collector module.)
Those kind of functions should be placed in druntime,
but the *64 (v) functions as a public interface are actually
deprecated and shouldn't be used anymore.
Druntime takes care that the normal stat, fopen, calls support
large files, if __USE_FILE_OFFSET64 is defined (which is what
the new C API does as well)
Note: It's actually important to use the functions from
core.sys.posix.stdio as the functions in core.stdc.stdio
are not large file aware. This is probably a bug in druntime.
* remove `useWfuncs` using
* remove std.__file using
* remove __file.d
* remove variables which have become unnecessary
* remove std.windows.charset import and alias in file.d
* Changed some declarations from explicit to auto.
* Changed "mkdir --parents" in Makefile to "mkdir -p" since OSX doesn't support the long version.
* REMAINING ISSUE: The "ln -sf" for installing the libraries at the end will fail if the DMD installation point is not owned by the user performing the build. A "sudo ln..." fixes this, but it still may not be ideal to have a system-level link to a user-level file. This should probably simply be copied instead. Also, this copy should perhaps be done manually or in an "install" step, since a user may want to build Phobos and test it out without affecting other users.
* Transformed std.c.linux.* into wrappers around core.sys.posix modules where appropriate.
* Added std.c.osx as the OSX equivalent of std.c.linux.
* Added std.c.osx.socket for OSX-specific socket declarations not covered by the Posix spec.
* Altered all makefiles to zip, etc, the new std.c.osx package.