X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fasdf-module.mk;h=b6edb51e83ff87f4fcdc2bd6790b0aa32cdea317;hb=dca20740848a3e316371460a25be29fd574850ed;hp=555546f272de68a9be217cf25d8d93de59f40cfc;hpb=095a47764e687fa76cf0e2803633d30c65c00f40;p=sbcl.git diff --git a/contrib/asdf-module.mk b/contrib/asdf-module.mk index 555546f..b6edb51 100644 --- a/contrib/asdf-module.mk +++ b/contrib/asdf-module.mk @@ -7,7 +7,19 @@ CC=gcc # directly via ASDF from a non-C-aware module which has these tricky # ones as dependencies. -UNAME:=$(shell uname -m) +UNAME:=$(shell uname -s) + +ifeq (SunOS,$(UNAME)) + EXTRA_CFLAGS=-D_XOPEN_SOURCE=500 -D__EXTENSIONS__ + PATH:=/usr/xpg4/bin:${PATH} +endif +ifeq (CYGWIN,$(findstring CYGWIN,$(UNAME))) + EXTRA_CFLAGS=-mno-cygwin + # SBCL can't read cygwin symlinks, and cygwin likes to symlink + # gcc. To further complicate things, SBCL can't handle cygwin + # paths, either. + CC:=$(shell cygpath -m $(shell readlink -fn $(shell which $(CC)))) +endif export CC SBCL EXTRA_CFLAGS EXTRA_LDFLAGS @@ -20,7 +32,8 @@ test: all "(asdf:operate (quote asdf:test-op) :$(SYSTEM))" | \ $(SBCL) --eval '(load "../asdf/asdf")' - +# KLUDGE: There seems to be no portable way to tell tar to not to +# preserve owner, so chown after installing for the current user. install: $(EXTRA_INSTALL_TARGETS) - tar cf - . | ( cd $(BUILD_ROOT)$(INSTALL_DIR) && tar xpvf - ) - ( cd $(BUILD_ROOT)$(SBCL_HOME)/systems && ln -fs ../$(SYSTEM)/$(SYSTEM).asd . ) + tar cf - . | ( cd "$(BUILD_ROOT)$(INSTALL_DIR)" && tar xpvf - ) + find "$(BUILD_ROOT)$(INSTALL_DIR)" -exec chown `id -u`:`id -g` {} \;