]> gitweb.factorcode.org Git - factor.git/blobdiff - vm/master.hpp
Put brackets around ipv6 addresses in `inet6 present`
[factor.git] / vm / master.hpp
index 36b56e5f8bfd38d67f945b1966791311973e5bb0..653b9fda9cd669a3a3ab603bb3f7f2c2d8e87f70 100644 (file)
@@ -43,6 +43,8 @@
 #elif defined(__INTEL_COMPILER)
 #define FACTOR_COMPILER_VERSION \
   "Intel C Compiler " FACTOR_STRINGIZE(__INTEL_COMPILER)
+#elif defined(__MINGW32__)
+#define FACTOR_COMPILER_VERSION "MinGW (GCC " __VERSION__ ")"
 #elif defined(__GNUC__)
 #define FACTOR_COMPILER_VERSION "GCC " __VERSION__
 #elif defined(_MSC_FULL_VER)
 #define FACTOR_COMPILER_VERSION "unknown"
 #endif
 
-// Record compilation time
-#define FACTOR_COMPILE_TIME __TIMESTAMP__
+#if defined(FACTOR_REPRODUCIBLE)
+  #define FACTOR_COMPILE_TIME "[reproducible]"
+#else
+  // Record compilation time
+  #define FACTOR_COMPILE_TIME  __DATE__ " " __TIME__
+#endif
 
 // Detect target CPU type
 #if defined(__arm__)
 #define FACTOR_ARM
+#elif defined(__aarch64__)
+#define FACTOR_ARM64
+#define FACTOR_64
 #elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64)
 #define FACTOR_AMD64
 #define FACTOR_64
@@ -75,7 +84,7 @@
 #error "Unsupported architecture"
 #endif
 
-#if defined(_MSC_VER)
+#if defined(_MSC_VER) || defined (__MINGW32__)
 #define WINDOWS
 #define WINNT
 #elif defined(WIN32)
@@ -103,6 +112,7 @@ namespace factor { struct factor_vm; }
 #include "bignum.hpp"
 #include "booleans.hpp"
 #include "instruction_operands.hpp"
+#include "tagged.hpp"
 #include "code_blocks.hpp"
 #include "bump_allocator.hpp"
 #include "bitwise_hacks.hpp"
@@ -122,7 +132,6 @@ namespace factor { struct factor_vm; }
 #include "callbacks.hpp"
 #include "dispatch.hpp"
 #include "vm.hpp"
-#include "tagged.hpp"
 #include "allot.hpp"
 #include "data_roots.hpp"
 #include "code_roots.hpp"