Add platform-specific fixes file

Create a new file, platform.h, for platform-specific hacks

for MSVC, this includes defining strncasecmp to _stricmp and
strdup to _strdup, among other things like defining missing
stat macros

Change some things not supported in MSVC, like _Static_assert,
to their counterparts (in this case, static_assert)

Replace usage of VLAs with malloc and free

Update getopt_long and use the getopt implementation from musl
on Windows.

Use comments to show which functions from platform.h are being used
This commit is contained in:
James Larrowe
2020-07-21 14:24:22 -04:00
parent 0793e9effe
commit e51701acaa
11 changed files with 167 additions and 39 deletions

View File

@@ -19,7 +19,6 @@
#include <string.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include "asm/fstack.h"
#include "asm/lexer.h"
@@ -30,6 +29,7 @@
#include "extern/err.h"
#include "platform.h" // S_ISDIR (stat macro)
#include "types.h"
static struct sContext *pFileStack;