Build obmalloc.c directly instead of #include'ing from object.c.
Also move all _PyMalloc_XXX entry points into obmalloc.c.
The Windows build works fine.
The Unix build is changed here (Makefile.pre.in), but not tested.
No other platform's build process has been fiddled.
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 5bed545..8a10a10 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -263,6 +263,7 @@
Objects/methodobject.o \
Objects/moduleobject.o \
Objects/object.o \
+ Objects/obmalloc.o \
Objects/rangeobject.o \
Objects/sliceobject.o \
Objects/stringobject.o \
@@ -424,8 +425,6 @@
Python/importdl.o: $(srcdir)/Python/importdl.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c
-Objects/object.o: $(srcdir)/Objects/object.c $(srcdir)/Objects/obmalloc.c
-
Objects/unicodectype.o: $(srcdir)/Objects/unicodectype.c \
$(srcdir)/Objects/unicodetype_db.h