1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-13 23:10:26 -08:00

Adjust configure.ac and src/Makefile.in for in-tree MPS

This commit is contained in:
Helmut Eller 2025-09-08 17:30:04 +02:00
parent 026d2ff9c1
commit 4fa84f64e4
2 changed files with 22 additions and 24 deletions

View file

@ -5554,34 +5554,26 @@ if test "${with_gpm}" != "no"; then
fi
AC_SUBST([LIBGPM])
### Use -lmps if available, unless '--with-mps=no'.
AC_SUBST([HAVE_MPS])
HAVE_MPS=no
LIBMPS=
MPSOBJ=
IGCOBJ=
MPS_CFLAGS=
MPS_CONFIG=
if test "${with_mps}" != "no"; then
AC_CHECK_HEADER([mps.h],
[AC_CHECK_LIB([mps], [mps_arena_create], [HAVE_MPS=yes], [], [$LIB_PTHREAD])])
if test "${HAVE_MPS}" = "yes"; then
IGCOBJ="igc.o"
AC_DEFINE([HAVE_MPS], [1],
[Define to 1 if you have the mps library (-lmps).])
if test "${with_mps}" = "debug"; then
LIBMPS="-lmps-debug $LIB_PTHREAD"
else
LIBMPS="-lmps $LIB_PTHREAD"
fi
# Force -fno-omit-frame-pointer to avoid register scanning bug:
# https://github.com/Ravenbrook/mps/pull/38
MPS_CFLAGS="-fno-omit-frame-pointer"
else
AC_MSG_ERROR([The MPS library libmps is missing]):
HAVE_MPS=yes
IGCOBJ="igc.o"
MPSOBJ="mps.o"
AC_DEFINE([HAVE_MPS], [1], [Define to build with MPS.])
if test "${with_mps}" = "debug"; then
MPS_CONFIG=-DCONFIG_VAR_COOL
fi
# Force -fno-omit-frame-pointer to avoid register scanning bug:
# https://github.com/Ravenbrook/mps/pull/38
MPS_CFLAGS="-fno-omit-frame-pointer -I\$(top_srcdir)/mps/code"
fi
# FIXME: update for in-tree MPS
if test "$REALLY_ANDROID" = "yes" && test "$with_mps" != "no"; then
HAVE_MPS=no
ndk_SEARCH_MODULE([mps], [MPS], [HAVE_MPS=yes])
@ -5599,9 +5591,9 @@ if test "$REALLY_ANDROID" = "yes" && test "$with_mps" != "no"; then
fi
fi
AC_SUBST([MPS_CFLAGS])
AC_SUBST([LIBMPS])
AC_SUBST([MPSOBJ])
AC_SUBST([IGCOBJ])
AC_SUBST([MPS_CONFIG])
dnl Check for malloc/malloc.h on darwin
AC_CHECK_HEADERS_ONCE([malloc/malloc.h])

View file

@ -345,8 +345,9 @@ FONT_OBJ=@FONT_OBJ@
CM_OBJ=@CM_OBJ@
LIBGPM = @LIBGPM@
LIBMPS = @LIBMPS@
MPSOBJ = @MPSOBJ@
IGCOBJ = @IGCOBJ@
MPS_CONFIG= @MPS_CONFIG@
LIBSELINUX_LIBS = @LIBSELINUX_LIBS@
LIBSELINUX_CFLAGS = @LIBSELINUX_CFLAGS@
@ -499,7 +500,8 @@ VMLIMIT_OBJ=@VMLIMIT_OBJ@
RALLOC_OBJ=@RALLOC_OBJ@
## List of object files that make-docfile should not be told about.
otherobj= $(TERMCAP_OBJ) $(GMALLOC_OBJ) $(RALLOC_OBJ) $(WIDGET_OBJ) $(LIBOBJS)
otherobj= $(TERMCAP_OBJ) $(GMALLOC_OBJ) $(RALLOC_OBJ) $(WIDGET_OBJ) \
$(LIBOBJS) $(MPSOBJ)
## All object files linked into temacs. $(VMLIMIT_OBJ) should be first.
ALLOBJS = $(VMLIMIT_OBJ) $(obj) $(otherobj)
@ -699,6 +701,10 @@ LIBEGNU_ARCHIVE = $(lib)/libgnu.a
$(LIBEGNU_ARCHIVE): $(config_h)
$(MAKE) -C $(dir $@) all
mps.o: $(config_h)
$(AM_V_CC)cd $(top_srcdir)/mps/code && \
$(CC) $(CFLAGS) $(MPS_CONFIG) -c mps.c -o $(abspath $@)
ifeq ($(HAVE_PDUMPER),yes)
MAKE_PDUMPER_FINGERPRINT = $(libsrc)/make-fingerprint$(EXEEXT)
else