don't share "gmp.c" compilation between CGC and 3m

Using `--disable-jit` causes futures to be disabled, and places are
always disabled for CGC; in that case thread-local variables are
not needed. Meanwhile, the 3m build still has places, so a "gmp.c"
compiled without thread-local support is broken.
This commit is contained in:
Matthew Flatt 2016-12-22 18:39:26 -07:00
parent 992f990860
commit 5a4391dd90
2 changed files with 7 additions and 3 deletions

View File

@ -66,6 +66,7 @@ OBJS = salloc.@LTO@ \
file.@LTO@ \
fun.@LTO@ \
future.@LTO@ \
gmp.@LTO@ \
hash.@LTO@ \
jit.@LTO@ \
jitalloc.@LTO@ \
@ -346,6 +347,9 @@ fun.@LTO@: $(XSRCDIR)/fun.c
$(CC) $(ALL_CFLAGS) -c $(XSRCDIR)/fun.c -o fun.@LTO@
future.@LTO@: $(XSRCDIR)/future.c
$(CC) $(ALL_CFLAGS) -c $(XSRCDIR)/future.c -o future.@LTO@
gmp.@LTO@: $(srcdir)/../src/gmp/gmp.c $(srcdir)/../src/gmp/gmplonglong.h \
$(srcdir)/../include/schthread.h $(srcdir)/../sconfig.h
$(CC) $(ALL_CFLAGS) -DMZ_PRECISE_GC -c $(srcdir)/../src/gmp/gmp.c -o gmp.@LTO@
hash.@LTO@: $(XSRCDIR)/hash.c
$(CC) $(ALL_CFLAGS) -c $(XSRCDIR)/hash.c -o hash.@LTO@
jit.@LTO@: $(XSRCDIR)/jit.c
@ -497,8 +501,8 @@ FOREIGN_NOT_USED_OBJSLIB =
EXTRA_GMP_DEP_FILE = ../src/@EXTRA_GMP_OBJ@
EXTRA_GMP = @EXTRA_GMP_DEP@
EXTRA_OBJS_T = ../src/gmp.@LTO@ $(EXTRA_GMP) ../src/unwind.@LTO@ $(@FOREIGN_IF_USED@_LIB)
EXTRA_OBJS_L = ../src/gmp.@LTO@ $(EXTRA_GMP) ../src/unwind.@LTO@ $(@FOREIGN_IF_USED@_OBJSLIB)
EXTRA_OBJS_T = $(EXTRA_GMP) ../src/unwind.@LTO@ $(@FOREIGN_IF_USED@_LIB)
EXTRA_OBJS_L = $(EXTRA_GMP) ../src/unwind.@LTO@ $(@FOREIGN_IF_USED@_OBJSLIB)
../libracket3m.@LIBSFX@: $(OBJS) $(EXTRA_OBJS_T) gc2.@LTO@
$(NICEAR) $(AR) $(ARFLAGS) ../libracket3m.@LIBSFX@ $(OBJS) $(EXTRA_OBJS_L) gc2.@LTO@

View File

@ -142,7 +142,7 @@ mzheaders: $(srcdir)/schemex.h $(srcdir)/schemexm.h $(srcdir)/schemex.inc $(srcd
mzobjects: $(OBJS)
# Linked into 3m:
plain-objs: gmp.@LTO@ unwind.@LTO@
plain-objs: unwind.@LTO@
$(srcdir)/schemex.h : $(srcdir)/schemef.h $(srcdir)/makex.rkt
racket $(srcdir)/makex.rkt < $(srcdir)/schemef.h > $(srcdir)/schemex.h