summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libretro/libretro-common/include/boolean.h39
-rw-r--r--libretro/libretro.c6
-rw-r--r--src/port.h2
-rw-r--r--src/rops.h2
4 files changed, 45 insertions, 4 deletions
diff --git a/libretro/libretro-common/include/boolean.h b/libretro/libretro-common/include/boolean.h
new file mode 100644
index 0000000..f06ac5a
--- /dev/null
+++ b/libretro/libretro-common/include/boolean.h
@@ -0,0 +1,39 @@
+/* Copyright (C) 2010-2018 The RetroArch team
+ *
+ * ---------------------------------------------------------------------------------------
+ * The following license statement only applies to this file (boolean.h).
+ * ---------------------------------------------------------------------------------------
+ *
+ * Permission is hereby granted, free of charge,
+ * to any person obtaining a copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation the rights to
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
+ * and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+ * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#ifndef __LIBRETRO_SDK_BOOLEAN_H
+#define __LIBRETRO_SDK_BOOLEAN_H
+
+#ifndef __cplusplus
+
+#if defined(_MSC_VER) && _MSC_VER < 1800 && !defined(SN_TARGET_PS3)
+/* Hack applied for MSVC when compiling in C89 mode as it isn't C99 compliant. */
+#define bool unsigned char
+#define true 1
+#define false 0
+#else
+#include <stdbool.h>
+#endif
+
+#endif
+
+#endif
diff --git a/libretro/libretro.c b/libretro/libretro.c
index 6609973..2fb8df5 100644
--- a/libretro/libretro.c
+++ b/libretro/libretro.c
@@ -45,8 +45,10 @@
#include <stdio.h>
#include <stdint.h>
-#ifndef _MSC_VER
-#include <stdbool.h>
+#include <boolean.h>
+#ifdef _MSC_VER
+#include <direct.h>
+#else
#include <unistd.h>
#endif
#include <stdlib.h>
diff --git a/src/port.h b/src/port.h
index d1ac9f2..7ef9a13 100644
--- a/src/port.h
+++ b/src/port.h
@@ -61,7 +61,7 @@ I can't take it anymore, it's too convoluted. So I've commented out the entire
#include <stdint.h>
#include <limits.h>
#include <string.h>
-#include <stdbool.h>
+#include <boolean.h>
//Types Defined
typedef uint8_t bool8;
diff --git a/src/rops.h b/src/rops.h
index 4f008b3..6ba7279 100644
--- a/src/rops.h
+++ b/src/rops.h
@@ -1,7 +1,7 @@
#ifndef __ROPS_H__
#define __ROPS_H__
-#include "stdbool.h"
+#include <boolean.h>
/*
Raster Operations macros