X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fasdf-module.mk;h=8087ab9c71069bffdf637c4177d44672cdfaab78;hb=2f1071f50ae43bce938aacf03d67d9626014a076;hp=9c98ea425c609096d8576ae998437d6120058ac5;hpb=44dbdff97fbcc1e5b12e1330da92c5a3dcb94a3b;p=sbcl.git diff --git a/contrib/asdf-module.mk b/contrib/asdf-module.mk index 9c98ea4..8087ab9 100644 --- a/contrib/asdf-module.mk +++ b/contrib/asdf-module.mk @@ -1,11 +1,27 @@ CC=gcc -export CC SBCL + +# We need to extend flags to the C compiler and the linker +# here. sb-posix, sb-grovel, and sb-bsd-sockets depends upon these +# being set on x86_64. Setting these in their Makefiles is not +# adequate since, while we're building contrib, they can be compiled +# directly via ASDF from a non-C-aware module which has these tricky +# ones as dependencies. + +UNAME:=$(shell uname -m) +ifeq (x86_64,$(UNAME)) + export EXTRA_LDFLAGS=-m32 -shared + export EXTRA_CFLAGS+=-m32 +endif + +export CC SBCL EXTRA_CFLAGS EXTRA_LDFLAGS all: $(EXTRA_ALL_TARGETS) $(MAKE) -C ../asdf $(SBCL) --eval '(load "../asdf/asdf")' \ --eval "(setf asdf::*central-registry* '((MERGE-PATHNAMES \"systems/\" (TRUENAME (SB-EXT:POSIX-GETENV \"SBCL_HOME\")))))" \ + --eval "(push :sb-building-contrib *features*)" \ --eval "(asdf:operate 'asdf:load-op :$(SYSTEM))" \ + --eval "(progn (when (probe-file \"$(SYSTEM).fasl\") (error \"fasl file exists\")) (with-open-file (s \"$(SYSTEM).lisp\" :direction :output :if-exists :error) (print (quote (require :asdf)) s) (print (quote (require :$(SYSTEM))) s)) (compile-file \"$(SYSTEM).lisp\") (delete-file \"$(SYSTEM).lisp\"))" \ --eval "(quit)" test: all