123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- /**
- * \file
- * Hardware feature detection
- *
- * Authors:
- * Alex Rønne Petersen (alexrp@xamarin.com)
- * Elijah Taylor (elijahtaylor@google.com)
- * Miguel de Icaza (miguel@xamarin.com)
- * Neale Ferguson (Neale.Ferguson@SoftwareAG-usa.com)
- * Paolo Molaro (lupus@xamarin.com)
- * Rodrigo Kumpera (kumpera@gmail.com)
- * Sebastien Pouliot (sebastien@xamarin.com)
- * Zoltan Varga (vargaz@xamarin.com)
- *
- * Copyright 2003 Ximian, Inc.
- * Copyright 2003-2011 Novell, Inc
- * Copyright 2006 Broadcom
- * Copyright 2007-2008 Andreas Faerber
- * Copyright 2011-2013 Xamarin Inc
- * Licensed under the MIT license. See LICENSE file in the project root for full license information.
- */
- #include <stdlib.h>
- #include <string.h>
- #include "mono/utils/mono-hwcap.h"
- #define MONO_HWCAP_VAR(NAME) gboolean mono_hwcap_ ## NAME = FALSE;
- #include "mono/utils/mono-hwcap-vars.h"
- #undef MONO_HWCAP_VAR
- static gboolean hwcap_inited = FALSE;
- void
- mono_hwcap_init (void)
- {
- char *verbose = g_getenv ("MONO_VERBOSE_HWCAP");
- char *conservative = g_getenv ("MONO_CONSERVATIVE_HWCAP");
- if (hwcap_inited)
- return;
- if (!conservative || strncmp (conservative, "1", 1))
- mono_hwcap_arch_init ();
- if (verbose && !strncmp (verbose, "1", 1))
- mono_hwcap_print ();
- g_free (verbose);
- g_free (conservative);
- }
- void
- mono_hwcap_print (void)
- {
- g_print ("[mono-hwcap] Detected following hardware capabilities:\n\n");
- #define MONO_HWCAP_VAR(NAME) g_print ("\t" #NAME " = %s\n", mono_hwcap_ ## NAME ? "yes" : "no");
- #include "mono/utils/mono-hwcap-vars.h"
- #undef MONO_HWCAP_VAR
- g_print ("\n");
- }
|