Build mono runtime under none desktop Windows API family, adjustments and cleanup.
authorlateralusX <lateralusx.github@gmail.com>
Fri, 28 Oct 2016 13:24:53 +0000 (15:24 +0200)
committerlateralusX <lateralusx.github@gmail.com>
Tue, 8 Nov 2016 08:04:49 +0000 (09:04 +0100)
Continuation work on previous none desktop Windows API family PR's adjusting all
changes to similar patterns used over previous PR's. This PR also move the logic
to silence a MS VS linker warning on empty source files into a macro. It also includes
the use of the macro in a couple of more source files causing linker warnings when build
on none desktop API families excluding JIT support.

Since other Windows API family work is still in progress it also disables build capabilities
for none desktop API families.

67 files changed:
eglib/src/Makefile.am
eglib/src/gmisc-win32-uwp.c [new file with mode: 0644]
eglib/src/gmisc-win32.c
eglib/src/gmodule-win32-internals.h [new file with mode: 0644]
eglib/src/gmodule-win32-uwp.c [new file with mode: 0644]
eglib/src/gmodule-win32.c
eglib/src/gunicode-win32-uwp.c [new file with mode: 0644]
eglib/src/gunicode-win32.c [new file with mode: 0644]
eglib/src/gunicode.c
eglib/winconfig.h
mono/metadata/boehm-gc.c
mono/metadata/console-win32-uwp.c
mono/metadata/coree-windows-uwp.c
mono/metadata/file-io-internals.h
mono/metadata/file-io-windows-uwp.c
mono/metadata/file-io.c
mono/metadata/icall-windows-uwp.c
mono/metadata/lock-tracer.c
mono/metadata/marshal-windows-uwp.c
mono/metadata/mono-endian.c
mono/metadata/mono-security-windows-uwp.c
mono/metadata/null-gc.c
mono/metadata/w32process-win32-uwp.c
mono/mini/abcremoval.c
mono/mini/alias-analysis.c
mono/mini/branch-opts.c
mono/mini/decompose.c
mono/mini/dwarfwriter.c
mono/mini/graph.c
mono/mini/linear-scan.c
mono/mini/liveness.c
mono/mini/local-propagation.c
mono/mini/method-to-ir.c
mono/mini/mini-amd64.c
mono/mini/mini-amd64.h
mono/mini/mini-windows-uwp.c
mono/mini/ssa.c
mono/sgen/sgen-layout-stats.c
mono/utils/Makefile.am
mono/utils/atomic.c
mono/utils/mono-compiler.h
mono/utils/mono-dl-windows-internals.h [new file with mode: 0644]
mono/utils/mono-dl-windows-uwp.c
mono/utils/mono-dl-windows.c
mono/utils/mono-dl-windows.h [deleted file]
mono/utils/mono-io-portability.c
mono/utils/mono-mmap-windows-internals.h [new file with mode: 0644]
mono/utils/mono-mmap-windows-uwp.c
mono/utils/mono-mmap-windows.c
mono/utils/mono-mmap-windows.h [deleted file]
mono/utils/mono-proclib-windows-internals.h [new file with mode: 0644]
mono/utils/mono-proclib-windows-uwp.c
mono/utils/mono-proclib-windows.h [deleted file]
mono/utils/mono-rand-windows-internals.h [new file with mode: 0644]
mono/utils/mono-rand-windows-uwp.c
mono/utils/mono-rand-windows.c
mono/utils/mono-rand-windows.h [deleted file]
mono/utils/networking-missing.c
msvc/eglib.vcxproj
msvc/eglib.vcxproj.filters
msvc/libmono-static.vcxproj
msvc/libmono-static.vcxproj.filters
msvc/libmonoruntime.vcxproj
msvc/libmonoruntime.vcxproj.filters
msvc/libmonoutils.vcxproj
msvc/libmonoutils.vcxproj.filters
winconfig.h

index 1527ba26d30452bb70aa7403d6cbc1281ad5ec78..f89138ba851b49bb5ad317571536be5f3af3d632 100644 (file)
@@ -5,7 +5,7 @@ AM_CFLAGS = $(WERROR_CFLAGS)
 win_files  = \
        eglib-config.hw \
        gdate-win32.c gdir-win32.c gfile-win32.c gmisc-win32.c \
-       gmodule-win32.c gtimer-win32.c
+       gmodule-win32.c gtimer-win32.c gunicode-win32.c
 
 unix_files = \
        gdate-unix.c  gdir-unix.c  gfile-unix.c  gmisc-unix.c   \
diff --git a/eglib/src/gmisc-win32-uwp.c b/eglib/src/gmisc-win32-uwp.c
new file mode 100644 (file)
index 0000000..cdf5896
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * gmisc-win32-uwp.c: UWP misc support.
+ *
+ * Copyright 2016 Microsoft
+ * Licensed under the MIT license. See LICENSE file in the project root for full license information.
+*/
+#include <config.h>
+#include <glib.h>
+
+#if G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT)
+#include <windows.h>
+#include <assert.h>
+
+gchar*
+g_win32_getlocale(void)
+{
+       gunichar2 buf[19];
+       gint ccBuf = GetLocaleInfoEx (LOCALE_NAME_USER_DEFAULT, LOCALE_SISO639LANGNAME, buf, 9);
+       assert (ccBuf <= 9);
+       if (ccBuf != 0) {
+               buf[ccBuf - 1] = L'-';
+               ccBuf = GetLocaleInfoEx (LOCALE_NAME_USER_DEFAULT, LOCALE_SISO3166CTRYNAME, buf + ccBuf, 9);
+               assert (ccBuf <= 9);
+       }
+
+       // Check for GetLocaleInfoEx failure.
+       if (ccBuf == 0)
+               buf[0] = L'\0';
+
+       return u16to8 (buf);
+}
+
+#else /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
+
+#ifdef _MSC_VER
+// Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
+void __mono_win32_gmisc_win32_uwp_quiet_lnk4221(void) {}
+#endif
+#endif /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
index f9fdb668f2d89d842c411e7af76d9d4a410ccfb9..4aac0ef69460fe70c432dfb78f8fcfd2bd931f5a 100644 (file)
@@ -101,27 +101,6 @@ g_win32_getlocale(void)
        ccBuf += GetLocaleInfoA(lcid, LOCALE_SISO3166CTRYNAME, buf + ccBuf, 9);
        return g_strdup (buf);
 }
-
-#else /* G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT) */
-
-gchar*
-g_win32_getlocale(void)
-{
-       gunichar2 buf[19];
-       gint ccBuf = GetLocaleInfoEx (LOCALE_NAME_USER_DEFAULT, LOCALE_SISO639LANGNAME, buf, 9);
-       assert (ccBuf <= 9);
-       if (ccBuf != 0) {
-               buf[ccBuf - 1] = L'-';
-               ccBuf = GetLocaleInfoEx (LOCALE_NAME_USER_DEFAULT, LOCALE_SISO3166CTRYNAME, buf + ccBuf, 9);
-               assert (ccBuf <= 9);
-       }
-
-       // Check for GetLocaleInfoEx failure.
-       if (ccBuf == 0)
-               buf[0] = L'\0';
-
-       return u16to8 (buf);
-}
 #endif /* G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT) */
 
 gboolean
@@ -142,20 +121,35 @@ g_path_is_absolute (const char *filename)
        return FALSE;
 }
 
-const gchar *
-g_get_home_dir (void)
-{
-       gchar *home_dir = NULL;
-
 #if _MSC_VER && G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT)
+static gchar*
+g_get_known_folder_path (void)
+{
+       gchar *folder_path = NULL;
        PWSTR profile_path = NULL;
        HRESULT hr = SHGetKnownFolderPath (&FOLDERID_Profile, KF_FLAG_DEFAULT, NULL, &profile_path);
        if (SUCCEEDED(hr)) {
-               home_dir = u16to8 (profile_path);
+               folder_path = u16to8 (profile_path);
                CoTaskMemFree (profile_path);
        }
+
+       return folder_path;
+}
+
+#else
+
+static inline gchar *
+g_get_known_folder_path (void)
+{
+       return NULL;
+}
 #endif
 
+const gchar *
+g_get_home_dir (void)
+{
+       gchar *home_dir = g_get_known_folder_path ();
+
        if (!home_dir) {
                home_dir = (gchar *) g_getenv ("USERPROFILE");
        }
diff --git a/eglib/src/gmodule-win32-internals.h b/eglib/src/gmodule-win32-internals.h
new file mode 100644 (file)
index 0000000..d18e27f
--- /dev/null
@@ -0,0 +1,13 @@
+#ifndef __G_MODULE_WINDOWS_INTERNALS_H__
+#define __G_MODULE_WINDOWS_INTERNALS_H__
+
+#include <config.h>
+#include <glib.h>
+
+#ifdef G_OS_WIN32
+#include <gmodule.h>
+
+gpointer
+w32_find_symbol (const gchar *symbol_name);
+#endif /* G_OS_WIN32 */
+#endif /* __G_MODULE_WINDOWS_INTERNALS_H__ */
diff --git a/eglib/src/gmodule-win32-uwp.c b/eglib/src/gmodule-win32-uwp.c
new file mode 100644 (file)
index 0000000..5117e3b
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * gmodule-win32-uwp.c: UWP gmodule support.
+ *
+ * Copyright 2016 Microsoft
+ * Licensed under the MIT license. See LICENSE file in the project root for full license information.
+*/
+#include <config.h>
+#include <glib.h>
+
+#if G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT)
+#include <windows.h>
+#include <gmodule-win32-internals.h>
+
+gpointer
+w32_find_symbol (const gchar *symbol_name)
+{
+       g_unsupported_api ("EnumProcessModules");
+       SetLastError (ERROR_NOT_SUPPORTED);
+       return NULL;
+}
+
+const gchar *
+g_module_error (void)
+{
+       gchar *ret = NULL;
+       TCHAR buf [1024];
+       DWORD code = GetLastError ();
+
+       if (!FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL,
+               code, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), buf, G_N_ELEMENTS (buf) - 1, NULL) )
+               buf[0] = TEXT('\0');
+
+       ret = u16to8 (buf);
+       return ret;
+}
+
+#else /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
+
+#ifdef _MSC_VER
+// Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
+void __mono_win32_gmodule_win32_uwp_quiet_lnk4221(void) {}
+#endif
+#endif /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
index d1dca5303eb7d174fa98c154a35901844105dd5b..72eaca32fb7d96ea29316af51ba14c61c793a570 100644 (file)
@@ -30,9 +30,9 @@
  */
 #include <config.h>
 #include <glib.h>
-#include <gmodule.h>
 #include <windows.h>
 #include <psapi.h>
+#include <gmodule-win32-internals.h>
 
 #define LIBSUFFIX ".dll"
 #define LIBPREFIX ""
@@ -70,7 +70,7 @@ g_module_open (const gchar *file, GModuleFlags flags)
 }
 
 #if G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT)
-static gpointer
+gpointer
 w32_find_symbol (const gchar *symbol_name)
 {
        HMODULE *modules;
@@ -116,16 +116,6 @@ w32_find_symbol (const gchar *symbol_name)
        g_free (modules);
        return NULL;
 }
-
-#else /* G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT) */
-
-static gpointer
-w32_find_symbol (const gchar *symbol_name)
-{
-       g_unsupported_api ("EnumProcessModules");
-       SetLastError (ERROR_NOT_SUPPORTED);
-       return NULL;
-}
 #endif /* G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT) */
 
 gboolean
@@ -164,34 +154,6 @@ g_module_error (void)
 
        return ret;
 }
-
-#elif G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT)   /* G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT) */
-
-const gchar *
-g_module_error (void)
-{
-       gchar* ret = NULL;
-       TCHAR buf[1024];
-       DWORD code = GetLastError ();
-
-       if (!FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL,
-               code, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), buf, G_N_ELEMENTS(buf) - 1, NULL) )
-               buf[0] = TEXT('\0');
-
-       ret = u16to8 (buf);
-       return ret;
-}
-
-#else
-
-const gchar *
-g_module_error (void)
-{
-       g_unsupported_api ("FormatMessage");
-       SetLastError (ERROR_NOT_SUPPORTED);
-       return NULL;
-}
-
 #endif /* G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT) */
 
 gboolean
diff --git a/eglib/src/gunicode-win32-uwp.c b/eglib/src/gunicode-win32-uwp.c
new file mode 100644 (file)
index 0000000..ef36ffc
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * gunicode-win32-uwp.c: UWP unicode support.
+ *
+ * Copyright 2016 Microsoft
+ * Licensed under the MIT license. See LICENSE file in the project root for full license information.
+*/
+#include <config.h>
+#include <glib.h>
+
+#if G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT)
+#define CODESET 1
+#include <windows.h>
+
+extern const char *my_charset;
+static gboolean is_utf8;
+
+gboolean
+g_get_charset (G_CONST_RETURN char **charset)
+{
+       if (my_charset == NULL) {
+               static char buf [14];
+               CPINFOEXA cp_info;
+
+               GetCPInfoExA (CP_ACP, 0, &cp_info);
+               sprintf (buf, "CP%u", cp_info.CodePage);
+               my_charset = buf;
+               is_utf8 = FALSE;
+       }
+       
+       if (charset != NULL)
+               *charset = my_charset;
+
+       return is_utf8;
+}
+
+#else /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
+
+#ifdef _MSC_VER
+// Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
+void __mono_win32_gunicode_win32_uwp_quiet_lnk4221(void) {}
+#endif
+#endif /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
diff --git a/eglib/src/gunicode-win32.c b/eglib/src/gunicode-win32.c
new file mode 100644 (file)
index 0000000..a35cfcd
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * gunicode-win32.c: Windows unicode support.
+ *
+ * Copyright 2016 Microsoft
+ * Licensed under the MIT license. See LICENSE file in the project root for full license information.
+*/
+#include <config.h>
+#include <glib.h>
+
+#if G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT)
+#define CODESET 1
+#include <windows.h>
+
+extern const char *my_charset;
+static gboolean is_utf8;
+
+gboolean
+g_get_charset (G_CONST_RETURN char **charset)
+{
+       if (my_charset == NULL) {
+               static char buf [14];
+               sprintf (buf, "CP%u", GetACP ());
+               my_charset = buf;
+               is_utf8 = FALSE;
+       }
+       
+       if (charset != NULL)
+               *charset = my_charset;
+
+       return is_utf8;
+}
+
+#else /* G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT) */
+
+#ifdef _MSC_VER
+// Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
+void __mono_win32_mono_gunicode_win32_quiet_lnk4221(void) {}
+#endif
+#endif /* G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT) */
index f979f429ff7d4306c3b4a826c2c45712d2f37af4..c1280f9b8bf287517374552620b1b3e2f87fff4d 100644 (file)
 #include <unicode-data.h>
 #include <errno.h>
 
-#if defined(_MSC_VER) || defined(G_OS_WIN32)
-/* FIXME */
-#  define CODESET 1
-#  include <windows.h>
-#else
+#ifndef G_OS_WIN32
 #    ifdef HAVE_LOCALCHARSET_H
 #       include <localcharset.h>
 #    endif
 #endif
 
-static const char *my_charset;
-static gboolean is_utf8;
+const char *my_charset;
 
 /*
  * Character set conversion
@@ -205,31 +200,8 @@ g_filename_from_utf8 (const gchar *utf8string, gssize len, gsize *bytes_read, gs
        return res;
 }
 
-#ifdef G_OS_WIN32
-extern WINBASEAPI UINT WINAPI GetACP(void);
-gboolean
-g_get_charset (G_CONST_RETURN char **charset)
-{
-       if (my_charset == NULL) {
-               static char buf [14];
-#if G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT)
-               CPINFOEXA cp_info;
-               GetCPInfoExA (CP_ACP, 0, &cp_info);
-               sprintf (buf, "CP%u", cp_info.CodePage);
-#else
-               sprintf (buf, "CP%u", GetACP ());
-#endif
-               my_charset = buf;
-               is_utf8 = FALSE;
-       }
-       
-       if (charset != NULL)
-               *charset = my_charset;
-
-       return is_utf8;
-}
-
-#else /* G_OS_WIN32 */
+#ifndef G_OS_WIN32
+static gboolean is_utf8;
 
 gboolean
 g_get_charset (G_CONST_RETURN char **charset)
index 3a64e217ef0c7a82c260e789a8ece0c13d41cc5d..238250bba05455b75186c920c11dc70efd3d983d 100755 (executable)
 #elif WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
        #define HAVE_CLASSIC_WINAPI_SUPPORT 0
        #define HAVE_UWP_WINAPI_SUPPORT 1
+#ifndef HAVE_EXTERN_DEFINED_WINAPI_SUPPORT
+       #error Unsupported WINAPI family
+#endif
 #else
        #define HAVE_CLASSIC_WINAPI_SUPPORT 0
        #define HAVE_UWP_WINAPI_SUPPORT 0
+#ifndef HAVE_EXTERN_DEFINED_WINAPI_SUPPORT
+       #error Unsupported WINAPI family
+#endif
 #endif
 
 #endif
index 0d47d88beda989a173d99301957aa1dc1f0abd86..aed903cc6a91b1f7db483af69afb4c1f19a47eae 100644 (file)
@@ -33,6 +33,7 @@
 #include <mono/utils/gc_wrapper.h>
 #include <mono/utils/mono-os-mutex.h>
 #include <mono/utils/mono-counters.h>
+#include <mono/utils/mono-compiler.h>
 
 #if HAVE_BOEHM_GC
 
@@ -1938,8 +1939,5 @@ mono_gchandle_free_domain (MonoDomain *domain)
 }
 #else
 
-#ifdef _MSC_VER
-// Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
-void __mono_win32_boehm_gc_quiet_lnk4221(void) {}
-#endif
+MONO_EMPTY_SOURCE_FILE (boehm_gc);
 #endif /* no Boehm GC */
index 56d43362d965b419c96964e11520a3391f8d530e..938ef80b171f844072f7f031150e9fcb2c9d2a72 100644 (file)
@@ -6,9 +6,10 @@
 */
 #include <config.h>
 #include <glib.h>
+#include "mono/utils/mono-compiler.h"
 
 #if G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT)
-#include <Windows.h>
+#include <windows.h>
 #include "mono/metadata/console-win32-internals.h"
 
 MonoBoolean
@@ -93,8 +94,5 @@ ves_icall_System_ConsoleDriver_TtySetup (MonoString *keypad, MonoString *teardow
 
 #else /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
 
-#ifdef _MSC_VER
-// Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
-void __mono_win32_console_windows_uwp_quiet_lnk4221(void) {}
-#endif
+MONO_EMPTY_SOURCE_FILE (console_win32_uwp);
 #endif /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
index 7aacb5ec86481c791df073bcf31baab29e61cecc..d75660775e7153a663bcf048cdd7046b92eea063 100644 (file)
@@ -6,9 +6,10 @@
 */
 #include <config.h>
 #include <glib.h>
+#include "mono/utils/mono-compiler.h"
 
 #if G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT)
-#include <Windows.h>
+#include <windows.h>
 #include "mono/metadata/coree-internals.h"
 
 BOOL STDMETHODCALLTYPE
@@ -50,8 +51,5 @@ mono_coree_set_act_ctx (const char *file_name)
 
 #else /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
 
-#ifdef _MSC_VER
-// Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
-void __mono_win32_coree_windows_uwp_quiet_lnk4221(void) {}
-#endif
+MONO_EMPTY_SOURCE_FILE (coree_windows_uwp);
 #endif /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
index 3fe59706eed425c8e6d5ca7de9148fef9064b237..ad455297d1110c13b68bcb19ef1831463f836723 100644 (file)
@@ -29,4 +29,13 @@ mono_file_io_replace_file (gunichar2 *destinationFileName, gunichar2 *sourceFile
 gboolean
 mono_file_io_unlock_file (HANDLE handle, gint64 position, gint64 length, gint32 *error);
 
+HANDLE
+mono_file_io_get_console_output (void);
+
+HANDLE
+mono_file_io_get_console_error (void);
+
+HANDLE
+mono_file_io_get_console_input (void);
+
 #endif /* __MONO_FILE_IO_INTERNALS_H__ */
index 2ece546a9c3ebed189a7e493cae2587b716e6e14..3af6c056c857c6c3f803f33dbef5c580ab2a10bc 100644 (file)
@@ -6,9 +6,10 @@
 */
 #include <config.h>
 #include <glib.h>
+#include "mono/utils/mono-compiler.h"
 
 #if G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT)
-#include <Windows.h>
+#include <windows.h>
 #include "mono/metadata/file-io-windows-internals.h"
 
 gboolean
@@ -112,10 +113,55 @@ mono_file_io_unlock_file (HANDLE handle, gint64 position, gint64 length, gint32
        return result;
 }
 
+HANDLE
+mono_file_io_get_console_output (void)
+{
+       MonoError mono_error;
+       mono_error_init (&mono_error);
+
+       g_unsupported_api ("GetStdHandle (STD_OUTPUT_HANDLE)");
+
+       mono_error_set_not_supported (&mono_error, G_UNSUPPORTED_API, "GetStdHandle (STD_OUTPUT_HANDLE)");
+       mono_error_set_pending_exception (&mono_error);
+
+       SetLastError (ERROR_NOT_SUPPORTED);
+
+       return INVALID_HANDLE_VALUE;
+}
+
+HANDLE
+mono_file_io_get_console_input (void)
+{
+       MonoError mono_error;
+       mono_error_init (&mono_error);
+
+       g_unsupported_api ("GetStdHandle (STD_INPUT_HANDLE)");
+
+       mono_error_set_not_supported (&mono_error, G_UNSUPPORTED_API, "GetStdHandle (STD_INPUT_HANDLE)");
+       mono_error_set_pending_exception (&mono_error);
+
+       SetLastError (ERROR_NOT_SUPPORTED);
+
+       return INVALID_HANDLE_VALUE;
+}
+
+HANDLE
+mono_file_io_get_console_error (void)
+{
+       MonoError mono_error;
+       mono_error_init (&mono_error);
+
+       g_unsupported_api ("GetStdHandle (STD_ERROR_HANDLE)");
+
+       mono_error_set_not_supported (&mono_error, G_UNSUPPORTED_API, "GetStdHandle (STD_ERROR_HANDLE)");
+       mono_error_set_pending_exception (&mono_error);
+
+       SetLastError (ERROR_NOT_SUPPORTED);
+
+       return INVALID_HANDLE_VALUE;
+}
+
 #else /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
 
-#ifdef _MSC_VER
-// Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
-void __mono_win32_file_io_windows_uwp_quiet_lnk4221(void) {}
-#endif
+MONO_EMPTY_SOURCE_FILE (file_io_windows_uwp);
 #endif /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
index 7f55a5e9542fb83ebeec0a1d401b2849cc09404e..0b001db668921cde759f8d3dbc434bc30aedf43f 100644 (file)
@@ -1085,22 +1085,46 @@ ves_icall_System_IO_MonoIO_SetFileTime (HANDLE handle, gint64 creation_time,
        return(ret);
 }
 
+#if G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT)
+HANDLE
+mono_file_io_get_console_output (void)
+{
+       return GetStdHandle (STD_OUTPUT_HANDLE);
+}
+#endif /* G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT) */
+
 HANDLE 
 ves_icall_System_IO_MonoIO_get_ConsoleOutput ()
 {
-       return GetStdHandle (STD_OUTPUT_HANDLE);
+       return mono_file_io_get_console_output ();
 }
 
+#if G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT)
+HANDLE
+mono_file_io_get_console_input (void)
+{
+       return GetStdHandle (STD_INPUT_HANDLE);
+}
+#endif /* G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT) */
+
 HANDLE 
 ves_icall_System_IO_MonoIO_get_ConsoleInput ()
 {
-       return GetStdHandle (STD_INPUT_HANDLE);
+       return mono_file_io_get_console_input ();
+}
+
+#if G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT)
+HANDLE
+mono_file_io_get_console_error (void)
+{
+       return GetStdHandle (STD_ERROR_HANDLE);
 }
+#endif /* G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT) */
 
 HANDLE 
 ves_icall_System_IO_MonoIO_get_ConsoleError ()
 {
-       return GetStdHandle (STD_ERROR_HANDLE);
+       return mono_file_io_get_console_error ();
 }
 
 MonoBoolean
index 0b5afa2624bbf1b11bf6898ff4922bf55b909896..f43e22f5d39ff47fc302bcafec9d7d9be1c04c1b 100644 (file)
@@ -6,9 +6,10 @@
 */
 #include <config.h>
 #include <glib.h>
+#include "mono/utils/mono-compiler.h"
 
 #if G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT)
-#include <Windows.h>
+#include <windows.h>
 #include "mono/metadata/icall-windows-internals.h"
 
 MonoString *
@@ -87,8 +88,5 @@ mono_icall_wait_for_input_idle (gpointer handle, gint32 milliseconds)
 
 #else /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
 
-#ifdef _MSC_VER
-// Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
-void __mono_win32_icall_windows_uwp_quiet_lnk4221(void) {}
-#endif
+MONO_EMPTY_SOURCE_FILE (icall_windows_uwp);
 #endif /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
index 551f8a751e8e1d58edac3c6186346d64fd46100c..8ca4a27ab8211ed592ba4f0cbbe4d7f78d4ad91f 100644 (file)
@@ -21,6 +21,7 @@
 #endif
 
 #include <mono/io-layer/io-layer.h>
+#include <mono/utils/mono-compiler.h>
 
 #include "lock-tracer.h"
 
@@ -142,8 +143,5 @@ mono_locks_lock_released (RuntimeLocks kind, gpointer lock)
 }
 #else
 
-#ifdef _MSC_VER
-// Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
-void __mono_win32_lock_tracer_quiet_lnk4221(void) {}
-#endif
+MONO_EMPTY_SOURCE_FILE (lock_tracer);
 #endif /* LOCK_TRACER */
index a2fa813499b6a3d54e89292b7a873f58002028dd..7ac1a33b47a8653ed9fc5d79c7cfa3690dcbf818 100644 (file)
@@ -6,9 +6,10 @@
 */
 #include <config.h>
 #include <glib.h>
+#include "mono/utils/mono-compiler.h"
 
 #if G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT)
-#include <Windows.h>
+#include <windows.h>
 #include "mono/metadata/marshal-windows-internals.h"
 
 void *
@@ -32,8 +33,5 @@ mono_marshal_free_hglobal (gpointer ptr)
 
 #else /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
 
-#ifdef _MSC_VER
-// Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
-void __mono_win32_marshal_windows_uwp_quiet_lnk4221(void) {}
-#endif
+MONO_EMPTY_SOURCE_FILE (marshal_windows_uwp);
 #endif /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
index a4c48f1413dda3adef0ed9064d111854343a075e..0a697360e22e3404541a4f645725d78a2d518217 100644 (file)
@@ -9,6 +9,7 @@
  * Licensed under the MIT license. See LICENSE file in the project root for full license information.
  */
 #include <config.h>
+#include <mono/utils/mono-compiler.h>
 #include "mono-endian.h"
 
 #if NO_UNALIGNED_ACCESS
@@ -86,4 +87,8 @@ mono_read64 (const unsigned char *x)
        return r.i;
 }
 
+#else /* NO_UNALIGNED_ACCESS */
+
+MONO_EMPTY_SOURCE_FILE (mono_endian);
+
 #endif
index 791e76c2f8ea7a210de4e5e203c7956bc9307244..01549b8d3fc91347f8070f9c15c87bb2f7be990b 100644 (file)
@@ -6,9 +6,10 @@
 */
 #include <config.h>
 #include <glib.h>
+#include "mono/utils/mono-compiler.h"
 
 #if G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT)
-#include <Windows.h>
+#include <windows.h>
 #include "mono/metadata/mono-security-windows-internals.h"
 
 gpointer
@@ -172,8 +173,5 @@ mono_security_win_protect_user (gunichar2 *path)
 }
 #else /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
 
-#ifdef _MSC_VER
-// Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
-void __mono_win32_mono_security_windows_uwp_quiet_lnk4221(void) {}
-#endif
+MONO_EMPTY_SOURCE_FILE (mono_security_windows_uwp);
 #endif /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
index 0990ff875fd9a661ce35792db960492ebe1ecb64..9ea87bd844c51a3efaf775a8b159251b1271fc2f 100644 (file)
@@ -552,8 +552,5 @@ mono_gc_is_null (void)
 }
 #else
 
-#ifdef _MSC_VER
-// Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
-void __mono_win32_null_gc_quiet_lnk4221(void) {}
-#endif
+MONO_EMPTY_SOURCE_FILE (null_gc);
 #endif /* HAVE_NULL_GC */
index 9fc329ad7a22ea3d48860e6669a44c5b8e6d92eb..31254dcbbe4a090c95b91d34d08e9344577d09fc 100644 (file)
@@ -6,9 +6,10 @@
 */
 #include <config.h>
 #include <glib.h>
+#include "mono/utils/mono-compiler.h"
 
 #if G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT)
-#include <Windows.h>
+#include <windows.h>
 #include "mono/metadata/w32process-win32-internals.h"
 
 gboolean
@@ -214,8 +215,5 @@ mono_icall_set_priority_class (gpointer handle, gint32 priorityClass)
 
 #else /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
 
-#ifdef _MSC_VER
-// Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
-void __mono_win32_process_windows_uwp_quiet_lnk4221(void) {}
-#endif
+MONO_EMPTY_SOURCE_FILE (process_windows_uwp);
 #endif /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
index 17a8e84d91a9da461fd4b40e08d5040b4d624d1e..c4c00645c1630884ba75ec654fc47124dcd2a379 100644 (file)
@@ -13,6 +13,7 @@
 #include <mono/metadata/mempool.h>
 #include <mono/metadata/opcodes.h>
 #include <mono/metadata/mempool-internals.h>
+#include <mono/utils/mono-compiler.h>
 
 #include <config.h>
 
@@ -1380,4 +1381,8 @@ mono_perform_abc_removal (MonoCompile *cfg)
        process_block (cfg, cfg->bblocks [0], &area);
 }
 
-#endif /* DISABLE_JIT */
+#else /* !DISABLE_JIT */
+
+MONO_EMPTY_SOURCE_FILE (abcremoval);
+
+#endif /* !DISABLE_JIT */
index 82e3672ae1dee2f7b56abf3141204e2d2dbe844c..c419dfa2b42abf4139037e97340225628b8670b3 100644 (file)
@@ -13,6 +13,7 @@
 #include "mini.h"
 #include "ir-emit.h"
 #include "glib.h"
+#include <mono/utils/mono-compiler.h>
 
 #ifndef DISABLE_JIT
 
@@ -362,4 +363,8 @@ done:
                mono_print_code (cfg, "AFTER ALIAS_ANALYSIS");
 }
 
+#else /* !DISABLE_JIT */
+
+MONO_EMPTY_SOURCE_FILE (alias_analysis);
+
 #endif /* !DISABLE_JIT */
index c85bd5e0f1dd6558cabbeb11e7e483d968ebcf01..1602b03d59aae4ef6d211d82ce75bf61f80b17b6 100644 (file)
@@ -10,6 +10,7 @@
  */
 
 #include "config.h"
+#include <mono/utils/mono-compiler.h>
 #ifndef DISABLE_JIT
 
 #include "mini.h"
@@ -1479,4 +1480,8 @@ mono_optimize_branches (MonoCompile *cfg)
        } while (changed && (niterations > 0));
 }
 
-#endif /* DISABLE_JIT */
+#else /* !DISABLE_JIT */
+
+MONO_EMPTY_SOURCE_FILE (branch_opts);
+
+#endif /* !DISABLE_JIT */
index a883e70ee8915fc5301082d289ab5e15c3a412d0..aaa34a3bc34fba472c49726be3bd70936bc4426a 100644 (file)
@@ -15,6 +15,7 @@
 
 #include <mono/metadata/gc-internals.h>
 #include <mono/metadata/abi-details.h>
+#include <mono/utils/mono-compiler.h>
 
 #ifndef DISABLE_JIT
 
@@ -1968,4 +1969,8 @@ mono_local_emulate_ops (MonoCompile *cfg)
        }
 }
 
-#endif /* DISABLE_JIT */
+#else /* !DISABLE_JIT */
+
+MONO_EMPTY_SOURCE_FILE (decompose);
+
+#endif /* !DISABLE_JIT */
index ad25f58728ec9c6a3de38dd253f4e0cecdb92c78..6c191d0b37ddd73527a2bc7a990cc95c964a19d8 100644 (file)
@@ -8,6 +8,7 @@
  */
 
 #include "config.h"
+#include <mono/utils/mono-compiler.h>
 
 #if !defined(DISABLE_AOT) && !defined(DISABLE_JIT)
 #include "dwarfwriter.h"
@@ -2002,4 +2003,9 @@ mono_dwarf_writer_emit_trampoline (MonoDwarfWriter *w, const char *tramp_name, c
        emit_fde (w, w->fde_index, start_symbol, end_symbol, code, code_size, unwind_info, FALSE);
        w->fde_index ++;
 }
+
+#else /* !defined(DISABLE_AOT) && !defined(DISABLE_JIT) */
+
+MONO_EMPTY_SOURCE_FILE (dwarfwriter);
+
 #endif /* End of: !defined(DISABLE_AOT) && !defined(DISABLE_JIT) */
index 08d2891f87c239c138f3d1e48284f3f8c8399aef..95e1fff2bb42a59abeb32870870b8c718163494f 100644 (file)
@@ -8,6 +8,7 @@
  */
 
 #include <config.h>
+#include <mono/utils/mono-compiler.h>
 
 #ifndef DISABLE_JIT
 
@@ -346,5 +347,9 @@ mono_draw_graph (MonoCompile *cfg, MonoGraphOptions draw_options)
 #endif
 }
 
-#endif /* DISABLE_JIT */
+#else /* !DISABLE_JIT */
+
+MONO_EMPTY_SOURCE_FILE (graph);
+
+#endif /* !DISABLE_JIT */
 
index 287022daad738c08857273cf5d686eb060edc1eb..faadc048ec98457f870f771ca0e919c1f03b7b0d 100644 (file)
@@ -9,6 +9,7 @@
 
 #include "mini.h"
 #include <mono/metadata/debug-helpers.h>
+#include <mono/utils/mono-compiler.h>
 
 #ifndef DISABLE_JIT
 
@@ -512,4 +513,8 @@ mono_linear_scan2 (MonoCompile *cfg, GList *vars, GList *regs, regmask_t *used_m
        g_list_free (inactive);
 }
 
-#endif /* #ifndef DISABLE_JIT */
+#else /* !DISABLE_JIT */
+
+MONO_EMPTY_SOURCE_FILE (linear_scan);
+
+#endif /* !DISABLE_JIT */
index c897893074057b178071b619e5420ae7a36b5b6e..7cc05634123e8b4a78b0d5f3c007578e563b3c1c 100644 (file)
@@ -10,6 +10,7 @@
  */
 
 #include <config.h>
+#include <mono/utils/mono-compiler.h>
 
 #ifndef DISABLE_JIT
 
@@ -1158,4 +1159,8 @@ mono_analyze_liveness_gc (MonoCompile *cfg)
        g_free (vreg_to_varinfo);
 }
 
-#endif /* DISABLE_JIT */
+#else /* !DISABLE_JIT */
+
+MONO_EMPTY_SOURCE_FILE (liveness);
+
+#endif /* !DISABLE_JIT */
index e19b91c5fcab116663a5971c7d925362daaeaadf..647d787dafcf4f72f315faf2eafa4b9e5a790c31 100644 (file)
@@ -14,6 +14,8 @@
  */
 
 #include <config.h>
+#include <mono/utils/mono-compiler.h>
+
 #ifndef DISABLE_JIT
 
 #include <string.h>
@@ -1002,4 +1004,8 @@ mono_local_deadce (MonoCompile *cfg)
        //mono_print_code (cfg, "AFTER LOCAL-DEADCE");
 }
 
-#endif /* DISABLE_JIT */
+#else /* !DISABLE_JIT */
+
+MONO_EMPTY_SOURCE_FILE (local_propagation);
+
+#endif /* !DISABLE_JIT */
index 3143431b6c48b11fab721ee8d1d0f6739519716b..ee0535ec2529562119ce7996fffbe64c4477361c 100644 (file)
@@ -12,6 +12,7 @@
  */
 
 #include <config.h>
+#include <mono/utils/mono-compiler.h>
 
 #ifndef DISABLE_JIT
 
@@ -15295,4 +15296,8 @@ NOTES
   the values on the stack before emitting the last instruction of the bb.
 */
 
-#endif /* DISABLE_JIT */
+#else /* !DISABLE_JIT */
+
+MONO_EMPTY_SOURCE_FILE (method_to_ir);
+
+#endif /* !DISABLE_JIT */
index 4ed38f2b58312bd22f6697f0ad9bd2d72be8e261..b9a4503e2e2be0cbcff3491c925192b0463c21b6 100644 (file)
@@ -438,7 +438,7 @@ collect_field_info_nested (MonoClass *klass, StructFieldInfo *fields, int index,
 #define MONO_WIN64_VALUE_TYPE_FITS_REG(arg_size) (arg_size <= SIZEOF_REGISTER && (arg_size == 1 || arg_size == 2 || arg_size == 4 || arg_size == 8))
 
 static gboolean
-allocate_register_for_valuetype_win64 (ArgInfo *arg_info, ArgumentClass arg_class, guint32 arg_size, AMD64_Reg_No int_regs [], int int_reg_count, AMD64_Reg_No float_regs [], int float_reg_count, guint32 *current_int_reg, guint32 *current_float_reg)
+allocate_register_for_valuetype_win64 (ArgInfo *arg_info, ArgumentClass arg_class, guint32 arg_size, AMD64_Reg_No int_regs [], int int_reg_count, AMD64_XMM_Reg_No float_regs [], int float_reg_count, guint32 *current_int_reg, guint32 *current_float_reg)
 {
        gboolean result = FALSE;
 
index 8ac16a17176d26319836dee254922c1c16dc1632..24eb6524bf759596849b46637e9bc860c1a92d16 100644 (file)
@@ -191,11 +191,11 @@ typedef struct MonoCompileArch {
 
 static AMD64_Reg_No param_regs [] = { AMD64_RCX, AMD64_RDX, AMD64_R8, AMD64_R9 };
 
-static AMD64_Reg_No float_param_regs [] = { AMD64_XMM0, AMD64_XMM1, AMD64_XMM2, AMD64_XMM3 };
+static AMD64_XMM_Reg_No float_param_regs [] = { AMD64_XMM0, AMD64_XMM1, AMD64_XMM2, AMD64_XMM3 };
 
 static AMD64_Reg_No return_regs [] = { AMD64_RAX };
 
-static AMD64_Reg_No float_return_regs [] = { AMD64_XMM0 };
+static AMD64_XMM_Reg_No float_return_regs [] = { AMD64_XMM0 };
 
 #define PARAM_REGS G_N_ELEMENTS(param_regs)
 #define FLOAT_PARAM_REGS G_N_ELEMENTS(float_param_regs)
index c2367aae9c2a046301d5b140a070a17f795881a7..2d479708fcd8034d08702f4b90417fc332dc5ea8 100644 (file)
@@ -6,9 +6,10 @@
  */
 #include <config.h>
 #include <glib.h>
+#include "mono/utils/mono-compiler.h"
 
 #if G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT)
-#include <Windows.h>
+#include <windows.h>
 
 void
 mono_runtime_setup_stat_profiler (void)
@@ -35,9 +36,6 @@ mono_setup_thread_context(DWORD thread_id, MonoContext *mono_context)
 
 #else /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
 
-#ifdef _MSC_VER
-// Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
-void __mono_win32_mini_windows_uwp_quiet_lnk4221(void) {}
-#endif
+MONO_EMPTY_SOURCE_FILE (mini_windows_uwp);
 #endif /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
 
index cb100267ef706a6c3608f7b09e12f5dcb92e1cfb..d70788c6afb39ce430fcde647838b3ca7689e66b 100644 (file)
@@ -13,6 +13,7 @@
 #include <mono/metadata/debug-helpers.h>
 #include <mono/metadata/mempool.h>
 #include <mono/metadata/mempool-internals.h>
+#include <mono/utils/mono-compiler.h>
 
 #ifndef DISABLE_JIT
 
@@ -1515,4 +1516,8 @@ mono_ssa_loop_invariant_code_motion (MonoCompile *cfg)
        }
 }
 
-#endif /* DISABLE_JIT */
+#else /* !DISABLE_JIT */
+
+MONO_EMPTY_SOURCE_FILE (ssa);
+
+#endif /* !DISABLE_JIT */
index 44ddf94b24dad9e505796d536d2d0c6f99417e14..04b1f241e1abaff2b96990b572e1bdf5e5bf8907 100644 (file)
@@ -9,6 +9,7 @@
 
 #include "sgen/sgen-gc.h"
 #include "sgen/sgen-layout-stats.h"
+#include <mono/utils/mono-compiler.h>
 
 #ifdef SGEN_OBJECT_LAYOUT_STATISTICS
 
@@ -60,9 +61,6 @@ sgen_object_layout_dump (FILE *out)
 }
 #else
 
-#ifdef _MSC_VER
-// Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
-void __mono_win32_sgen_layout_stats_quiet_lnk4221(void) {}
-#endif
+MONO_EMPTY_SOURCE_FILE (sgen_layout_stats);
 #endif /* SGEN_OBJECT_LAYOUT_STATISTICS */
 #endif
index ab301d1700bdb3b50958e69d3b858a9f34322f3c..35f218a8d0ac5cd4d0bd0ff650f69d1468ee6f14 100644 (file)
@@ -40,7 +40,7 @@ monoutils_sources = \
        mono-dl-darwin.c        \
        mono-dl-posix.c         \
        mono-dl.h               \
-       mono-dl-windows.h       \
+       mono-dl-windows-internals.h     \
        mono-log-windows.c      \
        mono-log-common.c       \
        mono-log-posix.c        \
@@ -57,7 +57,7 @@ monoutils_sources = \
        mono-mmap-windows.c             \
        mono-mmap.h             \
        mono-mmap-internals.h   \
-       mono-mmap-windows.h     \
+       mono-mmap-windows-internals.h   \
        mono-os-mutex.h         \
        mono-coop-mutex.h               \
        mono-once.h             \
@@ -67,7 +67,7 @@ monoutils_sources = \
        mono-proclib.c          \
        mono-proclib-windows.c          \
        mono-proclib.h          \
-       mono-proclib-windows.h          \
+       mono-proclib-windows-internals.h                \
        mono-publib.c           \
        mono-string.h           \
        mono-time.c             \
@@ -166,7 +166,7 @@ monoutils_sources = \
        mono-rand.c     \
        mono-rand-windows.c     \
        mono-rand.h \
-       mono-rand-windows.h \
+       mono-rand-windows-internals.h \
        memfuncs.c \
        memfuncs.h \
        parse.c \
index 2f5e8a8a673a8688e78c577b57b7c194effaad76..543e8ce9b0cb2c7171035f965964887b9835bd42 100644 (file)
@@ -12,6 +12,7 @@
 #include <glib.h>
 
 #include <mono/utils/atomic.h>
+#include <mono/utils/mono-compiler.h>
 
 #if defined (WAPI_NO_ATOMIC_ASM) || defined (BROKEN_64BIT_ATOMICS_INTRINSIC)
 
@@ -584,7 +585,6 @@ InterlockedCompareExchange64(volatile gint64 *dest, gint64 exch, gint64 comp)
 #endif
 #endif
 
-#if defined(HOST_WIN32) && defined(_MSC_VER)
-// Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
-void __mono_win32_atomic_lnk4221(void) {}
+#if !defined (WAPI_NO_ATOMIC_ASM) && !defined (BROKEN_64BIT_ATOMICS_INTRINSIC) && !defined (NEED_64BIT_CMPXCHG_FALLBACK)
+MONO_EMPTY_SOURCE_FILE (atomic);
 #endif
index 7becf4816ffd571052129646b5c7c39ae7db4275..680c5a4cdded0ff203f10adf121c6dff8d416fa5 100644 (file)
@@ -268,6 +268,13 @@ typedef SSIZE_T ssize_t;
 
 #endif /* _MSC_VER */
 
+#ifdef _MSC_VER
+// Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
+#define MONO_EMPTY_SOURCE_FILE(x) void __mono_win32_ ## x ## _quiet_lnk4221 (void) {}
+#else
+#define MONO_EMPTY_SOURCE_FILE(x)
+#endif
+
 #if !defined(_MSC_VER) && !defined(PLATFORM_SOLARIS) && !defined(_WIN32) && !defined(__CYGWIN__) && !defined(MONOTOUCH) && HAVE_VISIBILITY_HIDDEN
 #if MONO_LLVM_LOADED
 #define MONO_LLVM_INTERNAL MONO_API
diff --git a/mono/utils/mono-dl-windows-internals.h b/mono/utils/mono-dl-windows-internals.h
new file mode 100644 (file)
index 0000000..5215418
--- /dev/null
@@ -0,0 +1,14 @@
+#ifndef __MONO_UTILS_DL_WINDOWS_H__
+#define __MONO_UTILS_DL_WINDOWS_H__
+
+#include <config.h>
+#include <glib.h>
+
+#ifdef HOST_WIN32
+#include "mono/utils/mono-dl.h"
+
+void*
+mono_dl_lookup_symbol_in_process (const char *symbol_name);
+#endif /* HOST_WIN32 */
+#endif /* __MONO_UTILS_DL_WINDOWS_H__ */
+
index 8bb8e6c7e08cf211e8a5c22e2f87028000453054..36ade1f67e9299f3b8a5f07f9ae249033d337e87 100644 (file)
@@ -6,10 +6,11 @@
 */
 #include <config.h>
 #include <glib.h>
+#include "mono/utils/mono-compiler.h"
 
 #if G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT)
-#include <Windows.h>
-#include "mono/utils/mono-dl-windows.h"
+#include <windows.h>
+#include "mono/utils/mono-dl-windows-internals.h"
 
 void*
 mono_dl_lookup_symbol_in_process (const char *symbol_name)
@@ -37,8 +38,5 @@ mono_dl_current_error_string (void)
 
 #else /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
 
-#ifdef _MSC_VER
-// Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
-void __mono_win32_mono_dl_windows_uwp_quiet_lnk4221(void) {}
-#endif
+MONO_EMPTY_SOURCE_FILE (mono_dl_windows_uwp);
 #endif /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
index 04f695d22de38e15d4a199142b400023df9e5f1c..32eaac799b6cae03ebef2cc16efd1584cb29cc09 100644 (file)
@@ -13,7 +13,7 @@
 #if defined(HOST_WIN32)
 
 #include "mono/utils/mono-dl.h"
-#include "mono/utils/mono-dl-windows.h"
+#include "mono/utils/mono-dl-windows-internals.h"
 #include "mono/utils/mono-embed.h"
 #include "mono/utils/mono-path.h"
 
diff --git a/mono/utils/mono-dl-windows.h b/mono/utils/mono-dl-windows.h
deleted file mode 100644 (file)
index 5215418..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef __MONO_UTILS_DL_WINDOWS_H__
-#define __MONO_UTILS_DL_WINDOWS_H__
-
-#include <config.h>
-#include <glib.h>
-
-#ifdef HOST_WIN32
-#include "mono/utils/mono-dl.h"
-
-void*
-mono_dl_lookup_symbol_in_process (const char *symbol_name);
-#endif /* HOST_WIN32 */
-#endif /* __MONO_UTILS_DL_WINDOWS_H__ */
-
index f423096a7800194c73af530b756e897f9b8050c9..7e22eafa8cc9cf25b2c9870a6ad44c42e5e3df0b 100644 (file)
@@ -7,6 +7,7 @@
 #include <errno.h>
 #include <mono/utils/mono-io-portability.h>
 #include <mono/metadata/profiler-private.h>
+#include <mono/utils/mono-compiler.h>
 
 #ifndef DISABLE_PORTABILITY
 
@@ -390,8 +391,6 @@ static inline gchar *mono_portability_find_file_internal (GString **report, cons
 
 #else /* DISABLE_PORTABILITY */
 
-#ifdef _MSC_VER
-// Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
-void __mono_win32_mono_io_portability_quiet_lnk4221(void) {}
-#endif
+MONO_EMPTY_SOURCE_FILE (mono_io_portability);
+
 #endif /* DISABLE_PORTABILITY */
diff --git a/mono/utils/mono-mmap-windows-internals.h b/mono/utils/mono-mmap-windows-internals.h
new file mode 100644 (file)
index 0000000..44da254
--- /dev/null
@@ -0,0 +1,15 @@
+#ifndef __MONO_UTILS_MMAP_WINDOWS_H__
+#define __MONO_UTILS_MMAP_WINDOWS_H__
+
+#include <config.h>
+#include <glib.h>
+
+#ifdef HOST_WIN32
+#include "mono/utils/mono-mmap.h"
+#include "mono/utils/mono-mmap-internals.h"
+
+int
+mono_mmap_win_prot_from_flags (int flags);
+#endif /* HOST_WIN32 */
+#endif /* __MONO_UTILS_MMAP_WINDOWS_H__ */
+
index 55652006d5aff540642f1fda890f4fd52aaf1f31..347fb70e89fa38d99faff71fc181b02ef8f633d4 100644 (file)
@@ -6,10 +6,11 @@
 */
 #include <config.h>
 #include <glib.h>
+#include "mono/utils/mono-compiler.h"
 
 #if G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT)
-#include <Windows.h>
-#include <mono/utils/mono-mmap-windows.h>
+#include <windows.h>
+#include <mono/utils/mono-mmap-windows-internals.h>
 
 void*
 mono_file_map (size_t length, int flags, int fd, guint64 offset, void **ret_handle)
@@ -50,8 +51,5 @@ mono_file_unmap (void *addr, void *handle)
 
 #else /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
 
-#ifdef _MSC_VER
-// Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
-void __mono_win32_mono_mmap_windows_uwp_quiet_lnk4221(void) {}
-#endif
+MONO_EMPTY_SOURCE_FILE (mono_mmap_windows_uwp);
 #endif /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
index d0b6072bece42f0bf94070df2fdad50ed88d5df9..69619f8acb9440148ca1ff6663b1d985f1ac89c5 100644 (file)
@@ -13,7 +13,7 @@
 
 #if defined(HOST_WIN32)
 #include <windows.h>
-#include "mono/utils/mono-mmap-windows.h"
+#include "mono/utils/mono-mmap-windows-internals.h"
 #include <mono/utils/mono-counters.h>
 #include <io.h>
 
diff --git a/mono/utils/mono-mmap-windows.h b/mono/utils/mono-mmap-windows.h
deleted file mode 100644 (file)
index 44da254..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef __MONO_UTILS_MMAP_WINDOWS_H__
-#define __MONO_UTILS_MMAP_WINDOWS_H__
-
-#include <config.h>
-#include <glib.h>
-
-#ifdef HOST_WIN32
-#include "mono/utils/mono-mmap.h"
-#include "mono/utils/mono-mmap-internals.h"
-
-int
-mono_mmap_win_prot_from_flags (int flags);
-#endif /* HOST_WIN32 */
-#endif /* __MONO_UTILS_MMAP_WINDOWS_H__ */
-
diff --git a/mono/utils/mono-proclib-windows-internals.h b/mono/utils/mono-proclib-windows-internals.h
new file mode 100644 (file)
index 0000000..f14c7a4
--- /dev/null
@@ -0,0 +1,13 @@
+#ifndef __MONO_UTILS_PROCLIB_WINDOWS_H__
+#define __MONO_UTILS_PROCLIB_WINDOWS_H__
+
+#include <config.h>
+#include <glib.h>
+
+#ifdef HOST_WIN32
+#include <process.h>
+#include "mono/utils/mono-proclib.h"
+
+#endif /* HOST_WIN32 */
+#endif /* __MONO_UTILS_PROCLIB_WINDOWS_H__ */
+
index e278eccede20f27e62a11c510de17b2df351e7cd..4a2f37dabf9318acc744729cf437a727d722ddef 100644 (file)
@@ -6,9 +6,10 @@
 */
 #include <config.h>
 #include <glib.h>
+#include "mono/utils/mono-compiler.h"
 
 #if G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT)
-#include <Windows.h>
+#include <windows.h>
 #include <mono/utils/mono-proclib.h>
 
 gint32
@@ -57,8 +58,5 @@ mono_cpu_usage (MonoCpuUsageState *prev)
 
 #else /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
 
-#ifdef _MSC_VER
-// Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
-void __mono_win32_mono_proclib_windows_uwp_quiet_lnk4221(void) {}
-#endif
+MONO_EMPTY_SOURCE_FILE (mono_proclib_windows_uwp);
 #endif /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
diff --git a/mono/utils/mono-proclib-windows.h b/mono/utils/mono-proclib-windows.h
deleted file mode 100644 (file)
index f14c7a4..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef __MONO_UTILS_PROCLIB_WINDOWS_H__
-#define __MONO_UTILS_PROCLIB_WINDOWS_H__
-
-#include <config.h>
-#include <glib.h>
-
-#ifdef HOST_WIN32
-#include <process.h>
-#include "mono/utils/mono-proclib.h"
-
-#endif /* HOST_WIN32 */
-#endif /* __MONO_UTILS_PROCLIB_WINDOWS_H__ */
-
diff --git a/mono/utils/mono-rand-windows-internals.h b/mono/utils/mono-rand-windows-internals.h
new file mode 100644 (file)
index 0000000..f60c121
--- /dev/null
@@ -0,0 +1,33 @@
+#ifndef _MONO_UTILS_RAND_WINDOWS_H_
+#define _MONO_UTILS_RAND_WINDOWS_H_
+
+#include <config.h>
+#include <glib.h>
+
+#ifdef HOST_WIN32
+
+#if G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT)
+#include <wincrypt.h>
+#define MONO_WIN32_CRYPT_PROVIDER_HANDLE HCRYPTPROV
+
+#else
+
+#include <bcrypt.h>
+#define MONO_WIN32_CRYPT_PROVIDER_HANDLE BCRYPT_ALG_HANDLE
+#endif
+
+MONO_WIN32_CRYPT_PROVIDER_HANDLE
+mono_rand_win_open_provider (void);
+
+gboolean
+mono_rand_win_gen (MONO_WIN32_CRYPT_PROVIDER_HANDLE provider, guchar *buffer, size_t buffer_size);
+
+gboolean
+mono_rand_win_seed (MONO_WIN32_CRYPT_PROVIDER_HANDLE provider, guchar *seed, size_t seed_size);
+
+void
+mono_rand_win_close_provider (MONO_WIN32_CRYPT_PROVIDER_HANDLE provider);
+
+#endif /* HOST_WIN32 */
+#endif /* _MONO_UTILS_RAND_WINDOWS_H_ */
+
index e9030fe85511cb086af7420b8ef91f38762b4be2..7d92434526c2e900198ccda099b6f7721e956ff3 100644 (file)
@@ -6,10 +6,11 @@
 */
 #include <config.h>
 #include <glib.h>
+#include "mono/utils/mono-compiler.h"
 
 #if G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT)
-#include <Windows.h>
-#include "mono/utils/mono-rand-windows.h"
+#include <windows.h>
+#include "mono/utils/mono-rand-windows-internals.h"
 
 MONO_WIN32_CRYPT_PROVIDER_HANDLE
 mono_rand_win_open_provider (void)
@@ -45,8 +46,5 @@ mono_rand_win_close_provider (MONO_WIN32_CRYPT_PROVIDER_HANDLE provider)
 
 #else /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
 
-#ifdef _MSC_VER
-// Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
-void __mono_win32_mono_rand_windows_uwp_quiet_lnk4221(void) {}
-#endif
+MONO_EMPTY_SOURCE_FILE (mono_rand_windows_uwp);
 #endif /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
index 2ff32a99fa15977b4b2fe21b76e31aeb6e7a6ed8..97f57cee4ee331024d2088ed9b5b04c53ac151f6 100644 (file)
@@ -12,7 +12,7 @@
 
 #if defined(HOST_WIN32)
 #include <windows.h>
-#include "mono/utils/mono-rand-windows.h"
+#include "mono/utils/mono-rand-windows-internals.h"
 
 #if G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT)
 #ifndef PROV_INTEL_SEC
diff --git a/mono/utils/mono-rand-windows.h b/mono/utils/mono-rand-windows.h
deleted file mode 100644 (file)
index f60c121..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef _MONO_UTILS_RAND_WINDOWS_H_
-#define _MONO_UTILS_RAND_WINDOWS_H_
-
-#include <config.h>
-#include <glib.h>
-
-#ifdef HOST_WIN32
-
-#if G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT)
-#include <wincrypt.h>
-#define MONO_WIN32_CRYPT_PROVIDER_HANDLE HCRYPTPROV
-
-#else
-
-#include <bcrypt.h>
-#define MONO_WIN32_CRYPT_PROVIDER_HANDLE BCRYPT_ALG_HANDLE
-#endif
-
-MONO_WIN32_CRYPT_PROVIDER_HANDLE
-mono_rand_win_open_provider (void);
-
-gboolean
-mono_rand_win_gen (MONO_WIN32_CRYPT_PROVIDER_HANDLE provider, guchar *buffer, size_t buffer_size);
-
-gboolean
-mono_rand_win_seed (MONO_WIN32_CRYPT_PROVIDER_HANDLE provider, guchar *seed, size_t seed_size);
-
-void
-mono_rand_win_close_provider (MONO_WIN32_CRYPT_PROVIDER_HANDLE provider);
-
-#endif /* HOST_WIN32 */
-#endif /* _MONO_UTILS_RAND_WINDOWS_H_ */
-
index 763c85b0d3757f6244eef499a30492de291cc39d..8c8c75b5a1012ffdaab66fdac3d976abb6c76cea 100644 (file)
@@ -8,6 +8,7 @@
  */
 
 #include <mono/utils/networking.h>
+#include <mono/utils/mono-compiler.h>
 #include <glib.h>
 
 #ifdef HAVE_NETDB_H
@@ -55,8 +56,5 @@ inet_pton (int family, const char *address, void *inaddrp)
 
 #else /* !HAVE_INET_PTON */
 
-#ifdef _MSC_VER
-// Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
-void __mono_win32_networking_missing_lnk4221(void) {}
-#endif
+MONO_EMPTY_SOURCE_FILE (networking_missing);
 #endif /* !HAVE_INET_PTON */
index 94a7127d7318cad19bd892a6f7e50eb800455856..98a8849ab35efb07f61a8c00374ca6cdce77dbe9 100644 (file)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>\r
+<?xml version="1.0" encoding="utf-8"?>\r
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
   <ItemGroup Label="ProjectConfigurations">\r
     <ProjectConfiguration Include="Debug|Win32">\r
     <ClCompile Include="..\eglib\src\gstr.c" />\r
     <ClCompile Include="..\eglib\src\gstring.c" />\r
     <ClCompile Include="..\eglib\src\gtimer-win32.c" />\r
+    <ClCompile Include="..\eglib\src\gunicode-win32.c" />\r
     <ClCompile Include="..\eglib\src\gunicode.c" />\r
     <ClCompile Include="..\eglib\src\gutf8.c" />\r
   </ItemGroup>\r
   <ItemGroup>\r
     <ClInclude Include="..\eglib\src\glib.h" />\r
+    <ClInclude Include="..\eglib\src\gmodule-win32-internals.h" />\r
     <ClInclude Include="..\eglib\src\gmodule.h" />\r
     <ClInclude Include="..\eglib\src\sort.frag.h" />\r
   </ItemGroup>\r
       <Project>{92ae7622-5f58-4234-9a26-9ec71876b3f4}</Project>\r
     </ProjectReference>\r
   </ItemGroup>\r
+  <ItemGroup>\r
+    <None Include="..\eglib\src\Makefile.am" />\r
+  </ItemGroup>\r
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
   <ImportGroup Label="ExtensionTargets">\r
   </ImportGroup>\r
-</Project>\r
+</Project>
\ No newline at end of file
index 680ff1a9fd998f8e518d723e3d93cb9f68a901c4..f49e42ae1598c84abe46799a2e66114c1017bfa9 100644 (file)
@@ -88,7 +88,7 @@
     <ClCompile Include="..\eglib\src\gutf8.c">\r
       <Filter>Source Files</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\eglib\src\vasprintf.c">\r
+    <ClCompile Include="..\eglib\src\gunicode-win32.c">\r
       <Filter>Source Files</Filter>\r
     </ClCompile>\r
   </ItemGroup>\r
     <ClInclude Include="..\eglib\src\sort.frag.h">\r
       <Filter>Header Files</Filter>\r
     </ClInclude>\r
+    <ClInclude Include="..\eglib\src\gmodule-win32-internals.h">\r
+      <Filter>Header Files</Filter>\r
+    </ClInclude>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <Filter Include="Source Files">\r
       <UniqueIdentifier>{38a39ff1-842b-431b-b54b-24094e8283eb}</UniqueIdentifier>\r
     </Filter>\r
   </ItemGroup>\r
+  <ItemGroup>\r
+    <None Include="..\eglib\src\Makefile.am">\r
+      <Filter>Resource Files</Filter>\r
+    </None>\r
+  </ItemGroup>\r
 </Project>
\ No newline at end of file
index 775c7b8e5e3c98948f5eefbe4603b6f662985c80..b8ba2add1e26cb63a52cf948d3b12717f7d75910 100644 (file)
       <Project>{8fc2b0c8-51ad-49df-851f-5d01a77a75e4}</Project>\r
     </ProjectReference>\r
   </ItemGroup>\r
+  <ItemGroup>\r
+    <None Include="..\mono\mini\Makefile.am.in" />\r
+  </ItemGroup>\r
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
   <ImportGroup Label="ExtensionTargets">\r
   </ImportGroup>\r
index e0a3ad1227f88d363f3e10bf3fe48b46bde5e444..77099bed2f10b87c0f4fcfd21ac3839069c5e2a6 100644 (file)
       <UniqueIdentifier>{5370c3c4-b6ec-4f8a-8b21-ce4e782720a6}</UniqueIdentifier>\r
     </Filter>\r
   </ItemGroup>\r
+  <ItemGroup>\r
+    <None Include="..\mono\mini\Makefile.am.in">\r
+      <Filter>Resource Files</Filter>\r
+    </None>\r
+  </ItemGroup>\r
 </Project>
\ No newline at end of file
index 54361b9ef2db6adeb8cee68bd67b9a19b36e65f5..3078de5130ed843310034e91945e45808f5e42e4 100644 (file)
       <Project>{158073ed-99ae-4196-9edc-ddb2344f8466}</Project>\r
     </ProjectReference>\r
   </ItemGroup>\r
+  <ItemGroup>\r
+    <None Include="..\mono\metadata\Makefile.am" />\r
+  </ItemGroup>\r
   <PropertyGroup Label="Globals">\r
     <ProjectGuid>{C36612BD-22D3-4B95-85E2-7FDC4FC5D739}</ProjectGuid>\r
     <Keyword>Win32Proj</Keyword>\r
index c412bbe885d12e98bc9fdd639fb5a338928b049b..6227790707d6c7b3f6d3b197799992ea9cfb8d18 100644 (file)
       <UniqueIdentifier>{e37c9a88-bfb3-47dd-948c-a74dea25b3ad}</UniqueIdentifier>\r
     </Filter>\r
   </ItemGroup>\r
+  <ItemGroup>\r
+    <None Include="..\mono\metadata\Makefile.am">\r
+      <Filter>Resource Files</Filter>\r
+    </None>\r
+  </ItemGroup>\r
 </Project>
\ No newline at end of file
index ae6dadbcc61146d58e65abbb5f1a488b72250a34..bd512ab75e69be5420df3b1f02b3fdfaec296edc 100644 (file)
     <ClInclude Include="..\mono\utils\mono-counters.h" />\r
     <ClInclude Include="..\mono\utils\mono-digest.h" />\r
     <ClInclude Include="..\mono\utils\mono-dl-fallback.h" />\r
-    <ClInclude Include="..\mono\utils\mono-dl-windows.h" />\r
+    <ClInclude Include="..\mono\utils\mono-dl-windows-internals.h" />\r
     <ClInclude Include="..\mono\utils\mono-dl.h" />\r
     <ClInclude Include="..\mono\utils\mono-error-internals.h" />\r
     <ClInclude Include="..\mono\utils\mono-error.h" />\r
     <ClInclude Include="..\mono\utils\mono-math.h" />\r
     <ClInclude Include="..\mono\utils\mono-membar.h" />\r
     <ClInclude Include="..\mono\utils\mono-memory-model.h" />\r
-    <ClInclude Include="..\mono\utils\mono-mmap-windows.h" />\r
+    <ClInclude Include="..\mono\utils\mono-mmap-internals.h" />\r
+    <ClInclude Include="..\mono\utils\mono-mmap-windows-internals.h" />\r
     <ClInclude Include="..\mono\utils\mono-mmap.h" />\r
     <ClInclude Include="..\mono\utils\mono-networkinterfaces.h" />\r
     <ClInclude Include="..\mono\utils\mono-once.h" />\r
     <ClInclude Include="..\mono\utils\mono-os-semaphore.h" />\r
     <ClInclude Include="..\mono\utils\mono-path.h" />\r
     <ClInclude Include="..\mono\utils\mono-poll.h" />\r
-    <ClInclude Include="..\mono\utils\mono-proclib-windows.h" />\r
+    <ClInclude Include="..\mono\utils\mono-proclib-windows-internals.h" />\r
     <ClInclude Include="..\mono\utils\mono-proclib.h" />\r
     <ClInclude Include="..\mono\utils\mono-property-hash.h" />\r
     <ClInclude Include="..\mono\utils\mono-publib.h" />\r
-    <ClInclude Include="..\mono\utils\mono-rand-windows.h" />\r
+    <ClInclude Include="..\mono\utils\mono-rand-windows-internals.h" />\r
     <ClInclude Include="..\mono\utils\mono-rand.h" />\r
     <ClInclude Include="..\mono\utils\mono-sigcontext.h" />\r
     <ClInclude Include="..\mono\utils\mono-stack-unwinding.h" />\r
       <Project>{158073ed-99ae-4196-9edc-ddb2344f8466}</Project>\r
     </ProjectReference>\r
   </ItemGroup>\r
+  <ItemGroup>\r
+    <None Include="..\mono\utils\Makefile.am" />\r
+  </ItemGroup>\r
   <PropertyGroup Label="Globals">\r
     <ProjectGuid>{8FC2B0C8-51AD-49DF-851F-5D01A77A75E4}</ProjectGuid>\r
     <Keyword>Win32Proj</Keyword>\r
index 8ee4fbe7c970d69acf6a6fec35b887ca710aaec5..30b819626b6fc91f3f5f3cea2ffabec06f416384 100644 (file)
     <ClInclude Include="..\mono\utils\valgrind.h">\r
       <Filter>Header Files</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\mono\utils\mono-rand-windows.h">\r
+    <ClInclude Include="..\mono\utils\mono-mmap-windows-internals.h">\r
       <Filter>Header Files</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\mono\utils\mono-dl-windows.h">\r
+    <ClInclude Include="..\mono\utils\mono-mmap-internals.h">\r
       <Filter>Header Files</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\mono\utils\mono-mmap-windows.h">\r
+    <ClInclude Include="..\mono\utils\mono-proclib-windows-internals.h">\r
       <Filter>Header Files</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\mono\utils\mono-proclib-windows.h">\r
+    <ClInclude Include="..\mono\utils\mono-rand-windows-internals.h">\r
+      <Filter>Header Files</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="..\mono\utils\mono-dl-windows-internals.h">\r
       <Filter>Header Files</Filter>\r
     </ClInclude>\r
     <ClInclude Include="..\mono\utils\os-event.h">\r
       <Filter>Resource Files</Filter>\r
     </MASM>\r
   </ItemGroup>\r
+  <ItemGroup>\r
+    <None Include="..\mono\utils\Makefile.am">\r
+      <Filter>Resource Files</Filter>\r
+    </None>\r
+  </ItemGroup>\r
 </Project>
\ No newline at end of file
index d15685302eb4ca05c6a649ecba90f9911b7e6131..73f67534019a237795922f6b7b855ce5e4c8a259 100644 (file)
 #elif WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
        #define HAVE_CLASSIC_WINAPI_SUPPORT 0
        #define HAVE_UWP_WINAPI_SUPPORT 1
+#ifndef HAVE_EXTERN_DEFINED_WINAPI_SUPPORT
+       #error Unsupported WINAPI family
+#endif
 #else
        #define HAVE_CLASSIC_WINAPI_SUPPORT 0
        #define HAVE_UWP_WINAPI_SUPPORT 0
+#ifndef HAVE_EXTERN_DEFINED_WINAPI_SUPPORT
+       #error Unsupported WINAPI family
+#endif
 #endif
 
 #endif