Skip to content

Commit 72d5ee0

Browse files
GH-137218: Fix Makefile to handle FreeBSD (fix for JIT stencil changes) (GH-139170)
1 parent 4fb338d commit 72d5ee0

File tree

3 files changed

+64
-19
lines changed

3 files changed

+64
-19
lines changed

Makefile.pre.in

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3127,27 +3127,11 @@ JIT_DEPS = \
31273127
$(srcdir)/Tools/jit/*.py \
31283128
$(srcdir)/Python/executor_cases.c.h \
31293129
pyconfig.h
3130-
3131-
ifneq ($(filter aarch64-apple-darwin%,$(HOST_GNU_TYPE)),)
3132-
JIT_STENCIL_HEADER := jit_stencils-aarch64-apple-darwin.h
3133-
else ifneq ($(filter x86_64-apple-darwin%,$(HOST_GNU_TYPE)),)
3134-
JIT_STENCIL_HEADER := jit_stencils-x86_64-apple-darwin.h
3135-
else ifeq ($(HOST_GNU_TYPE), aarch64-pc-windows-msvc)
3136-
JIT_STENCIL_HEADER := jit_stencils-aarch64-pc-windows-msvc.h
3137-
else ifeq ($(HOST_GNU_TYPE), i686-pc-windows-msvc)
3138-
JIT_STENCIL_HEADER := jit_stencils-i686-pc-windows-msvc.h
3139-
else ifeq ($(HOST_GNU_TYPE), x86_64-pc-windows-msvc)
3140-
JIT_STENCIL_HEADER := jit_stencils-x86_64-pc-windows-msvc.h
3141-
else ifneq ($(filter aarch64-%-linux-gnu,$(HOST_GNU_TYPE)),)
3142-
JIT_STENCIL_HEADER := jit_stencils-$(HOST_GNU_TYPE).h
3143-
else ifneq ($(filter x86_64-%-linux-gnu,$(HOST_GNU_TYPE)),)
3144-
JIT_STENCIL_HEADER := jit_stencils-$(HOST_GNU_TYPE).h
3145-
endif
3146-
3147-
jit_stencils.h $(JIT_STENCIL_HEADER): $(JIT_DEPS)
3130+
3131+
jit_stencils.h @JIT_STENCILS_H@: $(JIT_DEPS)
31483132
@REGEN_JIT_COMMAND@
31493133

3150-
Python/jit.o: $(srcdir)/Python/jit.c jit_stencils.h $(JIT_STENCIL_HEADER)
3134+
Python/jit.o: $(srcdir)/Python/jit.c jit_stencils.h @JIT_STENCILS_H@
31513135
$(CC) -c $(PY_CORE_CFLAGS) -o $@ $<
31523136

31533137
.PHONY: regen-jit

configure

Lines changed: 31 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

configure.ac

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2787,11 +2787,13 @@ AS_VAR_IF([jit_flags],
27872787
[AS_VAR_APPEND([CFLAGS_NODIST], [" $jit_flags"])
27882788
AS_VAR_SET([REGEN_JIT_COMMAND],
27892789
["\$(PYTHON_FOR_REGEN) \$(srcdir)/Tools/jit/build.py ${ARCH_TRIPLES:-$host} --output-dir . --pyconfig-dir . --cflags=\"$CFLAGS_JIT\""])
2790+
AS_VAR_SET([JIT_STENCILS_H], ["jit_stencils.h"])
27902791
AS_VAR_IF([Py_DEBUG],
27912792
[true],
27922793
[AS_VAR_APPEND([REGEN_JIT_COMMAND], [" --debug"])],
27932794
[])])
27942795
AC_SUBST([REGEN_JIT_COMMAND])
2796+
AC_SUBST([JIT_STENCILS_H])
27952797
AC_MSG_RESULT([$tier2_flags $jit_flags])
27962798

27972799
if test "$disable_gil" = "yes" -a "$enable_experimental_jit" != "no"; then
@@ -8171,6 +8173,34 @@ dnl Emscripten does not support shared libraries yet.
81718173
PY_STDLIB_MOD([xxlimited], [test "$TEST_MODULES" = yes], [test "$ac_cv_func_dlopen" = yes])
81728174
PY_STDLIB_MOD([xxlimited_35], [test "$TEST_MODULES" = yes], [test "$ac_cv_func_dlopen" = yes])
81738175

8176+
# Determine JIT stencils header files based on target platform
8177+
JIT_STENCILS_H=""
8178+
case "$host" in
8179+
aarch64-apple-darwin*)
8180+
JIT_STENCILS_H="jit_stencils-aarch64-apple-darwin.h"
8181+
;;
8182+
x86_64-apple-darwin*)
8183+
JIT_STENCILS_H="jit_stencils-x86_64-apple-darwin.h"
8184+
;;
8185+
aarch64-pc-windows-msvc)
8186+
JIT_STENCILS_H="jit_stencils-aarch64-pc-windows-msvc.h"
8187+
;;
8188+
i686-pc-windows-msvc)
8189+
JIT_STENCILS_H="jit_stencils-i686-pc-windows-msvc.h"
8190+
;;
8191+
x86_64-pc-windows-msvc)
8192+
JIT_STENCILS_H="jit_stencils-x86_64-pc-windows-msvc.h"
8193+
;;
8194+
aarch64-*-linux-gnu)
8195+
JIT_STENCILS_H="jit_stencils-$host.h"
8196+
;;
8197+
x86_64-*-linux-gnu)
8198+
JIT_STENCILS_H="jit_stencils-$host.h"
8199+
;;
8200+
esac
8201+
8202+
AC_SUBST([JIT_STENCILS_H])
8203+
81748204
# substitute multiline block, must come after last PY_STDLIB_MOD()
81758205
AC_SUBST([MODULE_BLOCK])
81768206

0 commit comments

Comments
 (0)