add initial CMake and Visual Studio build support

This moves the compatibility include files from include to
include/compat so we can use the awful MS C compiler
<../include/> trick to emulate the GNU #include_next extension.

This also removes a few old compat files we do not need anymore.
This commit is contained in:
Brent Cook
2014-07-10 22:06:10 -05:00
committed by Brent Cook
parent 7a4a37cf59
commit 5d8a1cf715
53 changed files with 2082 additions and 153 deletions

36
include/compat/unistd.h Normal file
View File

@@ -0,0 +1,36 @@
/*
* Public domain
* unistd.h compatibility shim
*/
#ifndef LIBCRYPTOCOMPAT_UNISTD_H
#define LIBCRYPTOCOMPAT_UNISTD_H
#ifndef _MSC_VER
#include_next <unistd.h>
#else
#include <stdlib.h>
#include <io.h>
#include <process.h>
#define R_OK 4
#define W_OK 2
#define X_OK 0
#define F_OK 0
#define access _access
static inline unsigned int sleep(unsigned int seconds)
{
Sleep(seconds * 1000);
return seconds;
}
#endif
#ifndef HAVE_GETENTROPY
int getentropy(void *buf, size_t buflen);
#endif
#endif