From c90c0f68a2f1ee8563497a5380a16e71d18d702a Mon Sep 17 00:00:00 2001
From: Paul Sokolovsky <pfalcon@users.sourceforge.net>
Date: Sat, 4 Jan 2014 01:57:00 +0200
Subject: [PATCH] Move INT_FMT, etc. declaration into global mpconfig.h .

This in particular makes it available for stm port.
---
 py/mpconfig.h           | 14 ++++++++++++++
 unix-cpy/mpconfigport.h |  4 ----
 unix/mpconfigport.h     |  4 ----
 3 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/py/mpconfig.h b/py/mpconfig.h
index 17c5a770c..44095bd10 100644
--- a/py/mpconfig.h
+++ b/py/mpconfig.h
@@ -4,6 +4,20 @@
 
 #include <mpconfigport.h>
 
+#ifndef INT_FMT
+// printf format spec to use for machine_int_t and friends
+#ifdef __LP64__
+// Archs where machine_int_t == long, long != int
+#define UINT_FMT "%lu"
+#define INT_FMT "%ld"
+#else
+// Archs where machine_int_t == int
+#define UINT_FMT "%u"
+#define INT_FMT "%d"
+#endif
+#endif //INT_FMT
+
+
 // Any options not explicitly set in mpconfigport.h will get default
 // values below.
 
diff --git a/unix-cpy/mpconfigport.h b/unix-cpy/mpconfigport.h
index db72b3145..983b166a5 100644
--- a/unix-cpy/mpconfigport.h
+++ b/unix-cpy/mpconfigport.h
@@ -11,15 +11,11 @@
 #ifdef __LP64__
 typedef long machine_int_t; // must be pointer size
 typedef unsigned long machine_uint_t; // must be pointer size
-#define UINT_FMT "%lu"
-#define INT_FMT "%ld"
 #else
 // These are definitions for machines where sizeof(int) == sizeof(void*),
 // regardless for actual size.
 typedef int machine_int_t; // must be pointer size
 typedef unsigned int machine_uint_t; // must be pointer size
-#define UINT_FMT "%u"
-#define INT_FMT "%d"
 #endif
 
 #define BYTES_PER_WORD sizeof(machine_int_t)
diff --git a/unix/mpconfigport.h b/unix/mpconfigport.h
index 3d0dc8a56..36cf138c1 100644
--- a/unix/mpconfigport.h
+++ b/unix/mpconfigport.h
@@ -11,15 +11,11 @@
 #ifdef __LP64__
 typedef long machine_int_t; // must be pointer size
 typedef unsigned long machine_uint_t; // must be pointer size
-#define UINT_FMT "%lu"
-#define INT_FMT "%ld"
 #else
 // These are definitions for machines where sizeof(int) == sizeof(void*),
 // regardless for actual size.
 typedef int machine_int_t; // must be pointer size
 typedef unsigned int machine_uint_t; // must be pointer size
-#define UINT_FMT "%u"
-#define INT_FMT "%d"
 #endif
 
 #define BYTES_PER_WORD sizeof(machine_int_t)
-- 
GitLab