X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2FConfig.ppc-darwin;h=2dfdbc98b1b0c152f7d63229488306c266732c2c;hb=5e92e9ed61903658015c2a75c79a32ad41dbd29d;hp=7f66fd4a2031096abc462e5e32e7e93c51f0e453;hpb=506253505641855dc8bb87033f7af894904f848b;p=sbcl.git diff --git a/src/runtime/Config.ppc-darwin b/src/runtime/Config.ppc-darwin index 7f66fd4..2dfdbc9 100644 --- a/src/runtime/Config.ppc-darwin +++ b/src/runtime/Config.ppc-darwin @@ -1,19 +1,55 @@ -# -*- makefile -*- -CFLAGS = -ggdb -Wall -O3 -traditional-cpp -OS_SRC = bsd-os.c os-common.c ppc-darwin-os.c -OS_LIBS = -lSystem -lc -lm /sw/lib/libdl.a +# -*- makefile -*- for the C-level run-time support for SBCL + +# This software is part of the SBCL system. See the README file for +# more information. +# +# This software is derived from the CMU CL system, which was +# written at Carnegie Mellon University and released into the +# public domain. The software is in the public domain and is +# provided with absolutely no warranty. See the COPYING and CREDITS +# files for more information. + +CFLAGS = -g -Wall -O2 -fdollars-in-identifiers +OS_SRC = bsd-os.c ppc-darwin-os.c ppc-darwin-dlshim.c ppc-darwin-langinfo.c +OS_LIBS = -lSystem -lc +OS_OBJS = ppc-darwin-rospace.o + +CC = gcc ASSEM_SRC = ppc-assem.S ldso-stubs.S ARCH_SRC = ppc-arch.c -CPP = cpp -traditional-cpp +CPPFLAGS += -no-cpp-precomp + +# KLUDGE: in OS X 10.3, Apple started putting the heap right where we +# expect our read-only space mapped. This hack causes the linker to +# place a zero-fill-on-demand segment in the same place and size as +# read-only-space, which is the only thing capable of keeping malloc +# out of this range. +LINKFLAGS += -dynamic `cat ppc-darwin-link-flags` -twolevel_namespace -bind_at_load + +GC_SRC = cheneygc.c + +OS_CLEAN_FILES += ppc-darwin-mkrospace ppc-darwin-fix-rospace ppc-darwin-link-flags + +ppc-darwin-mkrospace: ppc-darwin-mkrospace.c + $(CC) -g -Wall -pedantic -o $@ $< + +ppc-darwin-fix-rospace: ppc-darwin-fix-rospace.c + $(CC) -g -Wall -pedantic -o $@ $< + +ppc-darwin-rospace.o ppc-darwin-link-flags: ppc-darwin-mkrospace + ./ppc-darwin-mkrospace > ppc-darwin-link-flags -# Until sbcl-0.6.7.3, we used "OS_LINK_FLAGS=-static" here, which -# worked fine for most things, but LOAD-FOREIGN & friends require -# dlopen() etc., which in turn depend on dynamic linking of the -# runtime. -OS_LINK_FLAGS = -dynamic -L/sw/lib +.PHONY: after-grovel-headers -GC_SRC= cheneygc.c +# Fix the sbcl runtime to avoid Panther placing the heap where +# it wants read only space (in the first 32 megabytes, where it +# can be absolute-branched to with BA.) Must be done after +# grovel-headers, because Apple's nm is broken. +after-grovel-headers: ppc-darwin-fix-rospace + ./ppc-darwin-fix-rospace -CFLAGS=-DDARWIN -Dppc -g -traditional-cpp +# Fortunatly make-target-1.sh does a make clean all the time. +# Otherwise we would have to make sure that sbcl gets rebuilt without +# the readonlyspace hack before groveling headers again.