Skip to content

Instantly share code, notes, and snippets.

@nascheme
Created October 21, 2021 15:14
Show Gist options
  • Save nascheme/599c278acf7e9d740ab982fb5697a269 to your computer and use it in GitHub Desktop.
Save nascheme/599c278acf7e9d740ab982fb5697a269 to your computer and use it in GitHub Desktop.
From 57b03a632906c762c84316d39fb7eddc7eff9145 Mon Sep 17 00:00:00 2001
From: Neil Schemenauer <nas@arctrix.com>
Date: Thu, 21 Oct 2021 08:10:41 -0700
Subject: [PATCH] Remove use of ifeq in Makefile.
---
Makefile.pre.in | 48 ++++++++++++++++++++----------------------------
configure | 7 +++++--
configure.ac | 3 ++-
3 files changed, 27 insertions(+), 31 deletions(-)
diff --git a/Makefile.pre.in b/Makefile.pre.in
index fdfbc6cb057..891a07fdece 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -54,7 +54,6 @@ DTRACE= @DTRACE@
DFLAGS= @DFLAGS@
DTRACE_HEADERS= @DTRACE_HEADERS@
DTRACE_OBJS= @DTRACE_OBJS@
-WITH_MIMALLOC= @WITH_MIMALLOC@
GNULD= @GNULD@
@@ -398,8 +397,24 @@ PYTHON_OBJS= \
Python/$(DYNLOADFILE) \
$(LIBOBJS) \
$(MACHDEP_OBJS) \
- $(DTRACE_OBJS)
+ $(DTRACE_OBJS) \
+ @MIMALLOC_OBJS@
+MIMALLOC_OBJS = \
+ Objects/mimalloc/alloc-aligned.o \
+ Objects/mimalloc/alloc-posix.o \
+ Objects/mimalloc/alloc.o \
+ Objects/mimalloc/arena.o \
+ Objects/mimalloc/bitmap.o \
+ Objects/mimalloc/heap.o \
+ Objects/mimalloc/init.o \
+ Objects/mimalloc/options.o \
+ Objects/mimalloc/os.o \
+ Objects/mimalloc/page.o \
+ Objects/mimalloc/random.o \
+ Objects/mimalloc/region.o \
+ Objects/mimalloc/segment.o \
+ Objects/mimalloc/stats.o
##########################################################################
# Objects
@@ -449,26 +464,6 @@ OBJECT_OBJS= \
Objects/unionobject.o \
Objects/weakrefobject.o
-MIMALLOC_OBJS = \
- Objects/mimalloc/alloc-aligned.o \
- Objects/mimalloc/alloc-posix.o \
- Objects/mimalloc/alloc.o \
- Objects/mimalloc/arena.o \
- Objects/mimalloc/bitmap.o \
- Objects/mimalloc/heap.o \
- Objects/mimalloc/init.o \
- Objects/mimalloc/options.o \
- Objects/mimalloc/os.o \
- Objects/mimalloc/page.o \
- Objects/mimalloc/random.o \
- Objects/mimalloc/region.o \
- Objects/mimalloc/segment.o \
- Objects/mimalloc/stats.o
-
-ifeq ($(WITH_MIMALLOC),1)
-OBJECT_OBJS := $(OBJECT_OBJS) $(MIMALLOC_OBJS)
-endif
-
##########################################################################
# objects that get linked into the Python library
LIBRARY_OBJS_OMIT_FROZEN= \
@@ -1305,17 +1300,14 @@ PYTHON_HEADERS= \
$(srcdir)/Include/internal/pycore_warnings.h \
$(DTRACE_HEADERS) \
\
- $(srcdir)/Python/stdlib_module_names.h
+ $(srcdir)/Python/stdlib_module_names.h \
+ @MIMALLOC_HEADERS@
MIMALLOC_HEADERS = \
$(srcdir)/Include/mimalloc/mimalloc-atomic.h \
$(srcdir)/Include/mimalloc/mimalloc.h \
$(srcdir)/Include/mimalloc/mimalloc-internal.h \
- $(srcdir)/Include/mimalloc/mimalloc-types.h \
-
-ifeq ($(WITH_MIMALLOC),1)
-PYTHON_HEADERS := $(PYTHON_HEADERS) $(MIMALLOC_HEADERS)
-endif
+ $(srcdir)/Include/mimalloc/mimalloc-types.h
$(LIBRARY_OBJS) $(MODOBJS) Programs/python.o: $(PYTHON_HEADERS)
diff --git a/configure b/configure
index dfe7f05eb84..8aba384fd5c 100755
--- a/configure
+++ b/configure
@@ -658,7 +658,8 @@ DTRACE_OBJS
DTRACE_HEADERS
DFLAGS
DTRACE
-WITH_MIMALLOC
+MIMALLOC_HEADERS
+MIMALLOC_OBJS
TCLTK_LIBS
TCLTK_INCLUDES
LIBFFI_INCLUDEDIR
@@ -11735,7 +11736,9 @@ $as_echo "yes" >&6; }
$as_echo "#define WITH_MIMALLOC 1" >>confdefs.h
- WITH_MIMALLOC=1
+ MIMALLOC_OBJS='$(MIMALLOC_OBJS)'
+
+ MIMALLOC_HEADERS='$(MIMALLOC_HEADERS)'
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
diff --git a/configure.ac b/configure.ac
index a2d0730429d..645f81e3767 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3617,7 +3617,8 @@ if test "$with_mimalloc" != no; then
# AC_CHECK_HEADERS([mimalloc.h], [], [AC_MSG_ERROR([--with-mimalloc requires mimalloc.h])] )
# AC_SEARCH_LIBS([mi_malloc], [mimalloc], [], [AC_MSG_ERROR([--with-mimalloc requires libmimalloc])] )
AC_DEFINE(WITH_MIMALLOC, 1, Define Python uses mimalloc memory allocator.)
- AC_SUBST(WITH_MIMALLOC, 1)
+ AC_SUBST(MIMALLOC_OBJS, '$(MIMALLOC_OBJS)')
+ AC_SUBST(MIMALLOC_HEADERS, '$(MIMALLOC_HEADERS)')
else
AC_MSG_RESULT(no)
fi
--
2.33.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment