rktio: fixes for Windows build

This commit is contained in:
Matthew Flatt 2017-06-14 14:43:31 -06:00
parent 75e835351a
commit 2d21523b2d
22 changed files with 173 additions and 102 deletions

View File

@ -515,19 +515,6 @@ void scheme_init_file(Scheme_Env *env)
"use-compiled-file-check",
MZCONFIG_USE_COMPILED_FILE_CHECK),
env);
#ifdef DOS_FILE_SYSTEM
{
HMODULE hm;
hm = LoadLibrary("kernel32.dll");
CreateSymbolicLinkProc = (CreateSymbolicLinkProc_t)GetProcAddress(hm, "CreateSymbolicLinkW");
DeviceIoControlProc = (DeviceIoControlProc_t)GetProcAddress(hm, "DeviceIoControl");
FreeLibrary(hm);
}
#endif
}
void scheme_init_file_places()
@ -1038,7 +1025,7 @@ char *scheme_os_getcwd(char *buf, int buflen, int *actlen, int noexn)
if (noexn) {
/* We need to invent some complete path. */
#ifdef DOS_FILE_SYSTEM
s = strdup("C:\\");
s = MSC_IZE(strdup)("C:\\");
#else
s = strdup("/");
#endif
@ -4765,7 +4752,10 @@ static Scheme_Object *make_link(int argc, Scheme_Object *argv[])
#if defined(DOS_FILE_SYSTEM)
dest_is_dir = do_path_to_directory_path(src, 0, -1, argv[1], 1, SCHEME_WINDOWS_PATH_KIND);
if (do_path_to_directory_path(src, 0, -1, argv[1], 1, SCHEME_WINDOWS_PATH_KIND))
dest_is_dir = 1;
else
dest_is_dir = 0;
#else
dest_is_dir = 0;
#endif

View File

@ -9199,6 +9199,8 @@ static void collect_process_time(DWORD w, Scheme_Subprocess *sp)
+ (((mzlonglong)us.dwHighDateTime << 32) + us.dwLowDateTime));
msecs = (uintptr_t)(v / 10000);
/* Will get replaced... */
#if 0
#if defined(MZ_USE_PLACES)
{
int set = 0;
@ -9209,6 +9211,7 @@ static void collect_process_time(DWORD w, Scheme_Subprocess *sp)
}
#else
scheme_process_children_msecs += msecs;
#endif
#endif
}
sp->got_time = 1;

View File

@ -25,7 +25,7 @@ char *rktio_getenv(rktio_t *rktio, char *name)
char *s;
s = getenv(name);
if (s)
return strdup(s);
return MSC_IZE(strdup)(s);
else
return NULL;
#endif
@ -116,6 +116,7 @@ rktio_envvars_t *rktio_envvars(rktio_t *rktio)
}
count = 0;
i = 0;
while (e[i]) {
count++;
for (i = 0; e[i]; ) {
@ -137,8 +138,8 @@ rktio_envvars_t *rktio_envvars(rktio_t *rktio)
for (j = 0; p[j] && p[j] != '='; j++) {
}
p[j] = 0;
envvars->names[count] = strdup(p);
envvars->vals[count] = strdup(p+j+1);
envvars->names[count] = MSC_IZE(strdup)(p);
envvars->vals[count] = MSC_IZE(strdup)(p+j+1);
free(p);
i++;
}
@ -168,8 +169,8 @@ rktio_envvars_t *rktio_envvars(rktio_t *rktio)
p = ea[i];
for (j = 0; p[j] && p[j] != '='; j++) {
}
envvars->names[i] = strndup(p, j);
envvars->vals[i] = strdup(p+j+1);
envvars->names[i] = MSC_IZE(strndup)(p, j);
envvars->vals[i] = MSC_IZE(strdup)(p+j+1);
}
return envvars;
@ -202,8 +203,8 @@ rktio_envvars_t *rktio_envvars_copy(rktio_t *rktio, rktio_envvars_t *envvars)
new_envvars->vals = malloc(envvars->count * sizeof(char *));
for (i = 0; i < envvars->count; i++) {
new_envvars->names[i] = strdup(envvars->names[i]);
new_envvars->vals[i] = strdup(envvars->vals[i]);
new_envvars->names[i] = MSC_IZE(strdup)(envvars->names[i]);
new_envvars->vals[i] = MSC_IZE(strdup)(envvars->vals[i]);
}
return new_envvars;
@ -248,12 +249,12 @@ intptr_t rktio_envvars_count(rktio_t *rktio, rktio_envvars_t *envvars)
char *rktio_envvars_name_ref(rktio_t *rktio, rktio_envvars_t *envvars, intptr_t i)
{
return strdup(envvars->names[i]);
return MSC_IZE(strdup)(envvars->names[i]);
}
char *rktio_envvars_value_ref(rktio_t *rktio, rktio_envvars_t *envvars, intptr_t i)
{
return strdup(envvars->vals[i]);
return MSC_IZE(strdup)(envvars->vals[i]);
}
char *rktio_envvars_get(rktio_t *rktio, rktio_envvars_t *envvars, char *name)
@ -262,7 +263,7 @@ char *rktio_envvars_get(rktio_t *rktio, rktio_envvars_t *envvars, char *name)
for (i = 0; i < envvars->count; i++) {
if (!strcmp(envvars->names[i], name))
return strdup(envvars->vals[i]);
return MSC_IZE(strdup)(envvars->vals[i]);
}
return NULL;
@ -276,7 +277,7 @@ void rktio_envvars_set(rktio_t *rktio, rktio_envvars_t *envvars, char *name, cha
if (!strcmp(envvars->names[i], name)) {
if (value) {
free(envvars->vals[i]);
envvars->vals[i] = strdup(value);
envvars->vals[i] = MSC_IZE(strdup)(value);
} else {
free(envvars->names[i]);
free(envvars->vals[i]);
@ -299,8 +300,8 @@ void rktio_envvars_set(rktio_t *rktio, rktio_envvars_t *envvars, char *name, cha
if (envvars->count == envvars->size)
envvars_resize(envvars, envvars->size * 2);
envvars->names[envvars->count] = strdup(name);
envvars->vals[envvars->count] = strdup(value);
envvars->names[envvars->count] = MSC_IZE(strdup)(name);
envvars->vals[envvars->count] = MSC_IZE(strdup)(value);
envvars->count++;
}

View File

@ -89,20 +89,20 @@ const char *rktio_get_error_string(rktio_t *rktio, int kind, int errid)
#ifdef RKTIO_SYSTEM_WINDOWS
else if (kind == RKTIO_ERROR_KIND_WINDOWS) {
wchar_t mbuf[256];
int len;
if ((type != 'e') && !es) {
int len, i;
if ((len = FormatMessageW((FORMAT_MESSAGE_FROM_SYSTEM
| FORMAT_MESSAGE_IGNORE_INSERTS),
NULL,
en, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
errid, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
mbuf, 255, NULL))) {
char *es;
if (len == 255)
mbuf[254] = 0;
else
mbuf[len] = 0;
es = NARROW_PATH_copy(mbuf);
/* Remove newlines: */
for (i = strlen(es) - 1; i > 0; i--) {
for (i = strlen(s) - 1; i > 0; i--) {
if (isspace(es[i]))
es[i] = 0;
else
@ -116,7 +116,6 @@ const char *rktio_get_error_string(rktio_t *rktio, int kind, int errid)
return es;
}
}
}
#endif
if (s) return s;
return "???";
@ -132,7 +131,7 @@ const char *rktio_get_last_error_string(rktio_t *rktio)
void rktio_error_clean(rktio_t *rktio)
{
#ifdef RKTIO_SYSTEM_WINDOWS
if (rktio->last_error_str)
if (rktio->last_err_str)
free(rktio->last_err_str);
#endif
}

View File

@ -102,7 +102,7 @@ static CSI_proc get_csi(void)
if (!tried_csi) {
HMODULE hm;
hm = LoadLibrary("kernel32.dll");
hm = LoadLibraryW(L"kernel32.dll");
if (hm)
csi = (CSI_proc)GetProcAddress(hm, "CancelSynchronousIo");
else
@ -234,6 +234,11 @@ int rktio_fd_is_udp(rktio_t *rktio, rktio_fd_t *rfd)
return ((rfd->modes & RKTIO_OPEN_UDP) ? 1 : 0);
}
int rktio_fd_modes(rktio_t *rktio, rktio_fd_t *rfd)
{
return rfd->modes;
}
int rktio_system_fd_is_terminal(rktio_t *rktio, intptr_t fd)
{
#ifdef RKTIO_SYSTEM_UNIX
@ -1095,7 +1100,7 @@ intptr_t rktio_write(rktio_t *rktio, rktio_fd_t *rfd, char *buffer, intptr_t len
}
winwrote = topp - oth->bufend;
if (winwrote > len)
if ((intptr_t)winwrote > len)
winwrote = len;
memcpy(oth->buffer + oth->bufend, buffer, winwrote);
@ -1107,10 +1112,10 @@ intptr_t rktio_write(rktio_t *rktio, rktio_fd_t *rfd, char *buffer, intptr_t len
oth->bufend = 0;
if (was_pre) {
if (winwrote < len) {
if ((intptr_t)winwrote < len) {
/* Try continuing with a wrap-around: */
winwrote = oth->bufstart - oth->bufend;
if (winwrote > len - out_len)
if ((intptr_t)winwrote > len - out_len)
winwrote = len - out_len;
memcpy(oth->buffer + oth->bufend, buffer + out_len, winwrote);

View File

@ -3,11 +3,11 @@
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <utime.h>
#include <sys/stat.h>
#include <stdlib.h>
#ifdef RKTIO_SYSTEM_UNIX
# include <unistd.h>
# include <utime.h>
# include <fcntl.h>
# include <pwd.h>
# include <grp.h>
@ -16,6 +16,25 @@
#ifdef RKTIO_SYSTEM_WINDOWS
# include <shlobj.h>
# include <direct.h>
# include <sys/stat.h>
# include <sys/utime.h>
# include <io.h>
#endif
#if defined(S_IFDIR) && !defined(S_ISDIR)
# define S_ISDIR(m) ((m) & S_IFDIR)
#endif
#if defined(S_IFREG) && !defined(S_ISREG)
# define S_ISREG(m) ((m) & S_IFREG)
#endif
#if defined(S_IFLNK) && !defined(S_ISLNK)
# define S_ISLNK(m) ((m) & S_IFLNK)
#endif
#if defined(_S_IFDIR) && !defined(S_ISDIR)
# define S_ISDIR(m) ((m) & _S_IFDIR)
#endif
#if defined(_S_IFREG) && !defined(S_ISREG)
# define S_ISREG(m) ((m) & _S_IFREG)
#endif
#ifdef RKTIO_SYSTEM_UNIX
@ -76,7 +95,7 @@ static void init_procs()
procs_inited = 1;
hm = LoadLibrary("kernel32.dll");
hm = LoadLibraryW(L"kernel32.dll");
CreateSymbolicLinkProc = (CreateSymbolicLinkProc_t)GetProcAddress(hm, "CreateSymbolicLinkW");
DeviceIoControlProc = (DeviceIoControlProc_t)GetProcAddress(hm, "DeviceIoControl");
@ -469,17 +488,15 @@ static int UNC_stat(rktio_t *rktio, const char *dirname, int *flags, int *isdir,
time_t mdt;
mdt = GET_FF_MODDATE(fad);
dt = malloc(sizeof(rktio_timestamp_t));
*dt = mdt;
*dt = (rktio_timestamp_t)mdt;
*date = dt;
}
if (isdir) {
*isdir = (GET_FF_ATTRIBS(fad) & FF_A_DIR);
}
if (filesize) {
rktio_size_t *fsz;
fsz = malloc(sizeof(rktio_size_t));
fsz->lo = fad.nFileSizeLow;
fsz->hi = fad.nFileSizeHigh;
filesize->lo = fad.nFileSizeLow;
filesize->hi = fad.nFileSizeHigh;
}
}
free(copy);
@ -897,7 +914,7 @@ int rktio_make_directory(rktio_t *rktio, char *filename)
len = strlen(filename);
while (len && IS_A_SEP(filename[len - 1])) {
if (!copied) {
filename = strdup(filename);
filename = MSC_IZE(strdup)(filename);
copied = 1;
}
filename[--len] = 0;
@ -1636,12 +1653,12 @@ char **rktio_filesystem_root_list(rktio_t *rktio)
UINT oldmode;
char **ss, **new_ss;
len = GetLogicalDriveStrings(DRIVE_BUF_SIZE, drives);
len = GetLogicalDriveStringsA(DRIVE_BUF_SIZE, drives);
if (len <= DRIVE_BUF_SIZE)
s = drives;
else {
s = malloc(len + 1);
GetLogicalDriveStrings(len + 1, s);
GetLogicalDriveStringsA(len + 1, s);
}
ss_len = 8;
@ -1652,7 +1669,7 @@ char **rktio_filesystem_root_list(rktio_t *rktio)
while (s[ds]) {
DWORD a, b, c, d;
/* GetDiskFreeSpace effectively checks whether we can read the disk: */
if (GetDiskFreeSpace(s + ds, &a, &b, &c, &d)) {
if (GetDiskFreeSpaceA(s + ds, &a, &b, &c, &d)) {
if ((ss_count + 1) == ss_len) {
new_ss = malloc(sizeof(char*) * ss_len * 2);
memcpy(ss, new_ss, ss_count * sizeof(char*));
@ -1660,7 +1677,7 @@ char **rktio_filesystem_root_list(rktio_t *rktio)
ss_len *= 2;
}
ss[ss_count++] = strdup(s + ds);
ss[ss_count++] = MSC_IZE(strdup)(s + ds);
}
ds += strlen(s + ds) + 1;
}

View File

@ -192,7 +192,11 @@ struct rktio_addrinfo_t {
# define rktio_AI_PASSIVE AI_PASSIVE
# define do_getaddrinfo(n, s, h, res) getaddrinfo(n, s, RKTIO_AS_ADDRINFO(h), RKTIO_AS_ADDRINFO_PTR(res))
# define do_freeaddrinfo freeaddrinfo
# ifdef RKTIO_SYSTEM_WINDOWS
# define do_gai_strerror gai_strerrorA
# else
# define do_gai_strerror gai_strerror
# endif
#else
# define rktio_AI_PASSIVE 0
static int do_getaddrinfo(const char *nodename, const char *servname,
@ -714,8 +718,8 @@ rktio_addrinfo_lookup_t *rktio_start_addrinfo_lookup(rktio_t *rktio,
}
lookup = malloc(sizeof(rktio_addrinfo_lookup_t));
lookup->name = (hostname ? strdup(hostname) : NULL);
lookup->svc = (service ? strdup(service) : NULL);
lookup->name = (hostname ? MSC_IZE(strdup)(hostname) : NULL);
lookup->svc = (service ? MSC_IZE(strdup)(service) : NULL);
lookup->hints = hints;
init_lookup(lookup);
@ -1594,8 +1598,8 @@ static char **get_numeric_strings(rktio_t *rktio, void *sa, unsigned int salen)
if (!err) {
r = malloc(sizeof(char*) * 2);
r[0] = strdup(host);
r[1] = strdup(serv);
r[0] = MSC_IZE(strdup)(host);
r[1] = MSC_IZE(strdup)(serv);
return r;
} else {
set_gai_error(err);
@ -1879,7 +1883,7 @@ char *rktio_udp_multicast_interface(rktio_t *rktio, rktio_fd_t *rfd)
char host_buf[RKTIO_SOCK_HOST_NAME_MAX_LEN];
unsigned char *b = (unsigned char *) &intf; /* yes, this is in network order */
sprintf(host_buf, "%d.%d.%d.%d", b[0], b[1], b[2], b[3]);
return strdup(host_buf);
return MSC_IZE(strdup)(host_buf);
}
}

View File

@ -571,7 +571,7 @@ void rktio_poll_set_eventmask(rktio_poll_set_t *fds, int mask)
fds->wait_event_mask |= mask;
}
void WSAEventSelect_plus_check(SOCKET s, WSAEVENT e, long mask)
static void WSAEventSelect_plus_check(SOCKET s, WSAEVENT e, long mask)
{
fd_set rd[1], wr[1], ex[1];
struct timeval t = {0, 0};

View File

@ -1039,7 +1039,7 @@ static char *cmdline_protect(char *s)
int ds;
int has_space = 0, has_quote = 0, was_slash = 0;
if (!*s) return strdup("\"\""); /* quote an empty argument */
if (!*s) return MSC_IZE(strdup)("\"\""); /* quote an empty argument */
for (ds = 0; s[ds]; ds++) {
if (isspace(s[ds]) || (s[ds] == '\'')) {
@ -1087,7 +1087,7 @@ static char *cmdline_protect(char *s)
return naya;
}
return strdup(s);
return MSC_IZE(strdup)(s);
}
static intptr_t do_spawnv(rktio_t *rktio,

View File

@ -43,7 +43,7 @@ void rktio_init_time(rktio_t *rktio)
static int time_inited = 0;
if (!time_inited) {
HMODULE hm;
hm = LoadLibrary("kernel32.dll");
hm = LoadLibraryW(L"kernel32.dll");
GetTimeZoneInformationForYearProc
= (GetTimeZoneInformationForYearProc_t)GetProcAddress(hm, "GetTimeZoneInformationForYear");
@ -492,7 +492,7 @@ rktio_date_t *rktio_seconds_to_date(rktio_t *rktio, intptr_t seconds, intptr_t n
result->is_dst = (dst ? 1 : 0);
result->zone_offset = tzoffset;
if (tzn)
result->zone_name = strdup(tzn);
result->zone_name = MSC_IZE(strdup)(tzn);
else
result->zone_name = NULL;

View File

@ -9,7 +9,6 @@ void rktio_init_wide(rktio_t *rktio) { }
#ifdef RKTIO_SYSTEM_WINDOWS
#include <inttypes.h>
#include <string.h>
#include <stdlib.h>

View File

@ -189,7 +189,11 @@
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define mz-inc "/I ../../racket/include /I .. ")
(define mz-inc
(string-append "/I../../racket/include "
"/I../../rktio "
"/I../librktio "
"/I.. "))
(try "precomp.c" (list* "../../racket/src/schvers.h"
common-deps)
@ -325,6 +329,7 @@
"xsrc/foreign.obj"
(find-build-file "libracket" "gmp.obj")
(find-build-file "racket" "libffi.lib")
(find-build-file "racket" "librktio.lib")
(append
(let ([f (and win64?
(find-build-file "libracket" "mzsj86w64.obj"))])

View File

@ -16,6 +16,7 @@ static const char *projects[] = { "gracket/gracket.vcxproj",
"libracket/libracket.vcxproj",
"mzstart/mzstart.vcxproj",
"libffi/libffi.vcxproj",
"librktio/librktio.vcxproj",
"mrstart/mrstart.vcxproj",
"racket/racket.vcxproj",
"libmzgc/libmzgc.vcxproj",

View File

@ -8,6 +8,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmzgc", "..\libmzgc\libmz
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libffi", "..\libffi\libffi.vcxproj", "{7DB29F1E-06FD-4E39-97FF-1C7922F6901A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "librktio", "..\librktio\librktio.vcxproj", "{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sgc", "..\sgc\sgc.vcxproj", "{8128F0AE-848A-4985-945A-568796A6DDD7}"
EndProject
Global
@ -82,6 +84,22 @@ Global
{7DB29F1E-06FD-4E39-97FF-1C7922F6901A}.AltGCRelease|Win32.Build.0 = Release|Win32
{7DB29F1E-06FD-4E39-97FF-1C7922F6901A}.AltGCRelease|x64.ActiveCfg = Release|x64
{7DB29F1E-06FD-4E39-97FF-1C7922F6901A}.AltGCRelease|x64.Build.0 = Release|x64
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.Debug|Win32.ActiveCfg = Debug|Win32
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.Debug|Win32.Build.0 = Debug|Win32
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.Debug|x64.ActiveCfg = Debug|x64
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.Debug|x64.Build.0 = Debug|x64
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.Release|Win32.ActiveCfg = Release|Win32
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.Release|Win32.Build.0 = Release|Win32
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.Release|x64.ActiveCfg = Release|x64
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.Release|x64.Build.0 = Release|x64
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.AltGCDebug|Win32.ActiveCfg = Debug|Win32
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.AltGCDebug|Win32.Build.0 = Debug|Win32
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.AltGCDebug|x64.ActiveCfg = Debug|x64
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.AltGCDebug|x64.Build.0 = Debug|x64
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.AltGCRelease|Win32.ActiveCfg = Release|Win32
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.AltGCRelease|Win32.Build.0 = Release|Win32
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.AltGCRelease|x64.ActiveCfg = Release|x64
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.AltGCRelease|x64.Build.0 = Release|x64
{8128F0AE-848A-4985-945A-568796A6DDD7}.Debug|Win32.ActiveCfg = Debug|Win32
{8128F0AE-848A-4985-945A-568796A6DDD7}.Debug|Win32.Build.0 = Debug|Win32
{8128F0AE-848A-4985-945A-568796A6DDD7}.Debug|x64.ActiveCfg = Debug|x64

View File

@ -10,6 +10,7 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libracket", "..\libracket\libracket.vcproj", "{A6713577-7DFB-48F8-B8C1-7DB2D7C51F90}"
ProjectSection(ProjectDependencies) = postProject
{7DB29F1E-06FD-4E39-97FF-1C7922F6901A} = {7DB29F1E-06FD-4E39-97FF-1C7922F6901A}
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A} = {ABC29F1E-06FD-4E39-97FF-1C7922F6901A}
{66548E7B-294E-40EF-B7C0-C8D6D7E6234F} = {66548E7B-294E-40EF-B7C0-C8D6D7E6234F}
{8128F0AE-848A-4985-945A-568796A6DDD7} = {8128F0AE-848A-4985-945A-568796A6DDD7}
EndProjectSection
@ -18,6 +19,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmzgc", "..\libmzgc\libmz
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libffi", "..\libffi\libffi.vcproj", "{7DB29F1E-06FD-4E39-97FF-1C7922F6901A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "librktio", "..\librktio\librktio.vcproj", "{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sgc", "..\sgc\sgc.vcproj", "{8128F0AE-848A-4985-945A-568796A6DDD7}"
EndProject
Global
@ -92,6 +95,22 @@ Global
{7DB29F1E-06FD-4E39-97FF-1C7922F6901A}.AltGCRelease|Win32.Build.0 = Release|Win32
{7DB29F1E-06FD-4E39-97FF-1C7922F6901A}.AltGCRelease|x64.ActiveCfg = Release|x64
{7DB29F1E-06FD-4E39-97FF-1C7922F6901A}.AltGCRelease|x64.Build.0 = Release|x64
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.Debug|Win32.ActiveCfg = Debug|Win32
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.Debug|Win32.Build.0 = Debug|Win32
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.Debug|x64.ActiveCfg = Debug|x64
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.Debug|x64.Build.0 = Debug|x64
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.Release|Win32.ActiveCfg = Release|Win32
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.Release|Win32.Build.0 = Release|Win32
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.Release|x64.ActiveCfg = Release|x64
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.Release|x64.Build.0 = Release|x64
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.AltGCDebug|Win32.ActiveCfg = Debug|Win32
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.AltGCDebug|Win32.Build.0 = Debug|Win32
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.AltGCDebug|x64.ActiveCfg = Debug|x64
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.AltGCDebug|x64.Build.0 = Debug|x64
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.AltGCRelease|Win32.ActiveCfg = Release|Win32
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.AltGCRelease|Win32.Build.0 = Release|Win32
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.AltGCRelease|x64.ActiveCfg = Release|x64
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}.AltGCRelease|x64.Build.0 = Release|x64
{8128F0AE-848A-4985-945A-568796A6DDD7}.Debug|Win32.ActiveCfg = Debug|Win32
{8128F0AE-848A-4985-945A-568796A6DDD7}.Debug|Win32.Build.0 = Debug|Win32
{8128F0AE-848A-4985-945A-568796A6DDD7}.Debug|x64.ActiveCfg = Debug|x64

View File

@ -30,7 +30,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..;..\..\racket\include;..\..\racket\src;..\libffi;..\..\foreign\libffi\src\x86;..\..\foreign\libffi\include;$(NOINHERIT)"
AdditionalIncludeDirectories="..;..\..\racket\include;..\..\racket\src;..\libffi;..\..\foreign\libffi\src\x86;..\..\foreign\libffi\include;..\..\rktio;..\librktio;$(NOINHERIT)"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;GC_DLL;__STDC__;LIBMZ_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -72,7 +72,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..;..\..\racket\include;..\..\racket\src;..\libffi;..\..\foreign\libffi\src\x86;..\..\foreign\libffi\include;$(NOINHERIT)"
AdditionalIncludeDirectories="..;..\..\racket\include;..\..\racket\src;..\libffi;..\..\foreign\libffi\src\x86;..\..\foreign\libffi\include;..\..\rktio;..\librktio;$(NOINHERIT)"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;GC_DLL;__STDC__;LIBMZ_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -118,7 +118,7 @@
InlineFunctionExpansion="2"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
AdditionalIncludeDirectories="..;..\..\racket\include;..\..\racket\src;..\libffi;..\..\foreign\libffi\src\x86;..\..\foreign\libffi\include;$(NOINHERIT)"
AdditionalIncludeDirectories="..;..\..\racket\include;..\..\racket\src;..\libffi;..\..\foreign\libffi\src\x86;..\..\foreign\libffi\include;..\..\rktio;..\librktio;$(NOINHERIT)"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;GC_DLL;__STDC__;LIBMZ_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
StringPooling="true"
RuntimeLibrary="0"
@ -163,7 +163,7 @@
InlineFunctionExpansion="2"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
AdditionalIncludeDirectories="..;..\..\racket\include;..\..\racket\src;..\libffi;..\..\foreign\libffi\src\x86;..\..\foreign\libffi\include;$(NOINHERIT)"
AdditionalIncludeDirectories="..;..\..\racket\include;..\..\racket\src;..\libffi;..\..\foreign\libffi\src\x86;..\..\foreign\libffi\include;..\..\rktio;..\librktio;$(NOINHERIT)"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;GC_DLL;__STDC__;LIBMZ_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
StringPooling="true"
RuntimeLibrary="0"
@ -205,7 +205,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..;..\..\racket\include;..\..\racket\src;..\libffi;..\..\foreign\libffi\src\x86;..\..\foreign\libffi\include;$(NOINHERIT)"
AdditionalIncludeDirectories="..;..\..\racket\include;..\..\racket\src;..\libffi;..\..\foreign\libffi\src\x86;..\..\foreign\libffi\include;..\..\rktio;..\librktio;$(NOINHERIT)"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;GC_DLL;__STDC__;LIBMZ_EXPORTS;_CRT_SECURE_NO_DEPRECATE;USE_SENORA_GC"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -247,7 +247,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..;..\..\racket\include;..\..\racket\src;..\libffi;..\..\foreign\libffi\src\x86;..\..\foreign\libffi\include;$(NOINHERIT)"
AdditionalIncludeDirectories="..;..\..\racket\include;..\..\racket\src;..\libffi;..\..\foreign\libffi\src\x86;..\..\foreign\libffi\include;..\..\rktio;..\librktio;$(NOINHERIT)"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;GC_DLL;__STDC__;LIBMZ_EXPORTS;_CRT_SECURE_NO_DEPRECATE;USE_SENORA_GC"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -293,7 +293,7 @@
InlineFunctionExpansion="2"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
AdditionalIncludeDirectories="..;..\..\racket\include;..\..\racket\src;..\libffi;..\..\foreign\libffi\src\x86;..\..\foreign\libffi\include;$(NOINHERIT)"
AdditionalIncludeDirectories="..;..\..\racket\include;..\..\racket\src;..\libffi;..\..\foreign\libffi\src\x86;..\..\foreign\libffi\include;..\..\rktio;..\librktio;$(NOINHERIT)"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;GC_DLL;__STDC__;LIBMZ_EXPORTS;_CRT_SECURE_NO_DEPRECATE;USE_SENORA_GC"
StringPooling="true"
RuntimeLibrary="0"
@ -338,7 +338,7 @@
InlineFunctionExpansion="2"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
AdditionalIncludeDirectories="..;..\..\racket\include;..\..\racket\src;..\libffi;..\..\foreign\libffi\src\x86;..\..\foreign\libffi\include;$(NOINHERIT)"
AdditionalIncludeDirectories="..;..\..\racket\include;..\..\racket\src;..\libffi;..\..\foreign\libffi\src\x86;..\..\foreign\libffi\include;..\..\rktio;..\librktio;$(NOINHERIT)"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;GC_DLL;__STDC__;LIBMZ_EXPORTS;_CRT_SECURE_NO_DEPRECATE;USE_SENORA_GC"
StringPooling="true"
RuntimeLibrary="0"

View File

@ -61,7 +61,7 @@
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..;..\..\racket\include;..\..\racket\src;..\libffi;..\..\foreign\libffi\src\x86;..\..\foreign\libffi\include</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..;..\..\racket\include;..\..\racket\src;..\libffi;..\..\foreign\libffi\src\x86;..\..\foreign\libffi\include;..\..\rktio;..\librktio</AdditionalIncludeDirectories>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader></PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
@ -240,6 +240,10 @@
<Project>{7db29f1e-06fd-4e39-97ff-1c7922f6901a}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\librktio\librktio.vcxproj">
<Project>{abc29f1e-06fd-4e39-97ff-1c7922f6901a}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\libmzgc\libmzgc.vcxproj">
<Project>{66548e7b-294e-40ef-b7c0-c8d6d7e6234f}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>

View File

@ -30,7 +30,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\librktio;..\..\librktio"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -50,7 +50,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\librktio;..\..\librktio"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -72,7 +72,7 @@
Optimization="2"
EnableIntrinsicFunctions="true"
AdditionalIncludeDirectories="..\librktio;..\..\librktio"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
@ -93,7 +93,7 @@
Optimization="2"
EnableIntrinsicFunctions="true"
AdditionalIncludeDirectories="..\librktio;..\..\librktio"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
@ -166,6 +166,10 @@
RelativePath="..\..\rktio\rktio_wide.c"
>
</File>
<File
RelativePath="..\..\rktio\rktio_main.c"
>
</File>
</Filter>
<Filter
Name="Header Files"

View File

@ -84,7 +84,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
@ -92,7 +92,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
@ -101,7 +101,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
</ClCompile>
@ -110,7 +110,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
</ClCompile>
@ -130,6 +130,7 @@
<ClCompile Include="..\..\rktio\rktio_error.c" />
<ClCompile Include="..\..\rktio\rktio_hash.c" />
<ClCompile Include="..\..\rktio\rktio_wide.c" />
<ClCompile Include="..\..\rktio\rktio_main.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">

View File

@ -1,6 +1,6 @@
#define RKTIO_SYSTEM_WINDOWS
#include <inttypes.h>
#include <stddef.h>
/* whether getaddrinfo works */
#define HAVE_GETADDRINFO 1

View File

@ -8,7 +8,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmzgc", "..\libmzgc\libmz
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libffi", "..\libffi\libffi.vcxproj", "{7DB29F1E-06FD-4E39-97FF-1C7922F6901A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "librktio", "..\libffi\libffi.vcxproj", "{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "librktio", "..\librktio\librktio.vcxproj", "{ABC29F1E-06FD-4E39-97FF-1C7922F6901A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sgc", "..\sgc\sgc.vcxproj", "{8128F0AE-848A-4985-945A-568796A6DDD7}"
EndProject

View File

@ -10,6 +10,7 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libracket", "..\libracket\libracket.vcproj", "{A6713577-7DFB-48F8-B8C1-7DB2D7C51F90}"
ProjectSection(ProjectDependencies) = postProject
{7DB29F1E-06FD-4E39-97FF-1C7922F6901A} = {7DB29F1E-06FD-4E39-97FF-1C7922F6901A}
{ABC29F1E-06FD-4E39-97FF-1C7922F6901A} = {ABC29F1E-06FD-4E39-97FF-1C7922F6901A}
{66548E7B-294E-40EF-B7C0-C8D6D7E6234F} = {66548E7B-294E-40EF-B7C0-C8D6D7E6234F}
{8128F0AE-848A-4985-945A-568796A6DDD7} = {8128F0AE-848A-4985-945A-568796A6DDD7}
EndProjectSection