فهرست منبع

add more macros for utility functions and platform specific flags

tcheukueppo 2 سال پیش
والد
کامیت
a9848b4247
1فایلهای تغییر یافته به همراه26 افزوده شده و 18 حذف شده
  1. 26 18
      src/mconf.h

+ 26 - 18
src/mconf.h

@@ -16,8 +16,11 @@
 #ifndef mconf_h
 #define mconf_h
 
+#define <limits.h>
+#define <stddef.h>
+
 /*
- * ==Version definition
+ * $$Version definition
  * e.g: 0.2.8 → 0.2.9 → 0.3.0 → 0.3.1 ...   10.2.0
  *      28    < 29    < 30    < 31    ... < 120
  */
@@ -34,7 +37,7 @@
 #define MT_VERSION_NUM (100 * MT_MAJOR_VERSION + 10 * MT_MINOR_VERSION + MT_PATCH_VERSION)
 
 /*
- * ==Configuring dir separator and default paths for Maat and C/C++ std libs
+ * $$Configuring dir separator and default paths for Maat and C/C++ std libs
  */
 
 #define MT_VDIR MT_MAJOR_VERSION "." MT_MINOR_VERSION "." MT_PATCH_VERSION
@@ -46,8 +49,7 @@
 
 /* '!' in Windows expands to the directory of the current process' executable file. */
 #if !defined(MT_CLIB_DEFAULT_PATH)
-#define MT_CLIB_DEFAULT_PATH \
-   "!\\..\\lib\\maat\\" MT_VDIR "\\",
+#define MT_CLIB_DEFAULT_PATH "!\\..\\lib\\maat\\" MT_VDIR "\\",
 #endif
 
 #if !defined(MT_MTLIB_DEFAULT_PATH)
@@ -74,9 +76,9 @@
 #endif
 
 /*
- * ==Macros used to enable some platform specific features.
- * MT_IN_LINUX, MT_IN_MACOSX and MT_IN_IOS are defined during
- * the build process in the make file.
+ * $$Macros used to enable some platform specific features. Either
+ * MT_IN_LINUX, MT_IN_MACOSX or MT_IN_IOS is defined in the Makefile
+ * during the build process.
  *
  * (Linux, SunOS, Solaris, IRIX, FreeBSD, NetBSD, AIX 4.2,
  * HPUX 11, and other linux flavors)
@@ -88,22 +90,28 @@
  * functions from Windows.
  */
 
-                                               /* Not in */
-#if !defined(MT_USE_C89) && defined(_WIN32) && !defined(_WIN32_WCE)
-
+/*
+ * Seems like embedded Windows does not support goodies of regular
+ * Windows, who would want to build Maat on a Windows phone afterall?
+ */
+#if defined(_WIN32) && !defined(_WIN32_WCE)
+#define MT_USE_WINDOWS
+#define MT_USE_DL_DLL
 #endif
 
-#if defined(MT_IN_LINUX)
+#if defined(MT_IN_LINUX) || defined(MT_IN_LINUX) || defined(MT_IN_IOS)
 #define MT_USE_POSIX
 #define MT_USE_DLOPEN
 #endif
 
-#if defined(MT_IN_MACOSX)
-#define MT_USE_POSIX
-#define MT_USE_DLOPEN
-#endif
+/* $$Some macro utility functions */
 
-#if defined(MT_IN_IOS)
-#define MT_USE_POSIX
-#define MT_USE_DLOPEN
+/* Get local radix character (decimal point) */
+#if !defined(mt_getradixchar)
+#define mt_getradixchar() (localeconv()->decimal_point[0])
 #endif
+
+/* $$Marking to be exported and imported entities */
+
+
+/* $$Configuration for adaptive Number type */