add ilib_language to retrieve compiler capabilities
[scilab.git] / scilab / modules / string / includes / os_string.h
index a2a35f0..bbeb64b 100644 (file)
 #define os_splitpath    _splitpath_s
 #define os_wsplitpath   _wsplitpath_s
 #define os_makepath     _makepath_s
-#endif
-
-// Linux
-#ifdef __linux__
 
-#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 10
-/* Fixes crash issues with wcsdup when: */
-/* - Scilab is compiled against old GLIBC (<2.10) */
-/* - AND executed against recent GLIBC (>=2.10) */
-/* See man wcsdup */
-/* Using #define _GNU_SOURCE is not enough in Scilab because */
-/* <wchar.h> can be included before "os_string.h" */
-wchar_t *_sciwcsdup(const wchar_t *_pwcsSource);
-#define os_wcsdup       _sciwcsdup
 #else
-#define os_wcsdup       wcsdup
-#endif
 
-#define os_strdup       strdup
-#define os_swprintf     swprintf
-#define os_sprintf      sprintf
-#define os_wcsicmp      wcscasecmp
-#define stricmp         strcasecmp
-#define strnicmp        strncasecmp
-#define wcsicmp         wcscasecmp
-#define wcsnicmp        wcsncasecmp
-#define os_strcpy       strcpy
-#define os_splitpath    _splitpath
-#define os_wsplitpath   _wsplitpath
-#define os_makepath     _makepath
-#endif
-
-// MacOS X
 #ifdef __APPLE__
 wchar_t *_sciwcsdup(const wchar_t *_pwcsSource);
 #define os_wcsdup       _sciwcsdup
@@ -114,6 +84,38 @@ static inline int macOSwcscasecmp(const wchar_t *_pwcsS1, const wchar_t *_pwcsS2
 #define os_splitpath    _splitpath
 #define os_wsplitpath   _wsplitpath
 #define os_makepath     _makepath
+
+#else //linux or MinGw
+
+#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 10
+/* Fixes crash issues with wcsdup when: */
+/* - Scilab is compiled against old GLIBC (<2.10) */
+/* - AND executed against recent GLIBC (>=2.10) */
+/* See man wcsdup */
+/* Using #define _GNU_SOURCE is not enough in Scilab because */
+/* <wchar.h> can be included before "os_string.h" */
+wchar_t *_sciwcsdup(const wchar_t *_pwcsSource);
+#define os_wcsdup       _sciwcsdup
+#else
+#define os_wcsdup       wcsdup
 #endif
 
+#define os_strdup       strdup
+#define os_swprintf     swprintf
+#define os_sprintf      sprintf
+#define os_wcsicmp      wcscasecmp
+#define stricmp         strcasecmp
+#define strnicmp        strncasecmp
+#define wcsicmp         wcscasecmp
+#define wcsnicmp        wcsncasecmp
+#define os_strcpy       strcpy
+#define os_splitpath    _splitpath
+#define os_wsplitpath   _wsplitpath
+#define os_makepath     _makepath
+
+#endif //if __APPLE__
+#endif //if _MSC_VER
+
+// MacOS X
+
 #endif /* !__OS_STRING_H__ */