From 653678818403f8a42bde0b73b912f447421c0ee7 Mon Sep 17 00:00:00 2001 From: "Robert P. Goldman" <rpgoldman@sift.net> Date: Thu, 18 Aug 2016 13:40:02 -0500 Subject: [PATCH] Fix functioning under Cygwin. Under Cygwin, the CL_SOURCE_REGISTRY will be a set of *cygwin* pathnames. But when this gets passed to the Windows lisps (and through them to other programs), that caused failures. So now we check for cygwin, and if we find it, we use the Cygwin "cygpath" command to translate the CL_SOURCE_REGISTRY into Windows native paths. Possible problem: originally the CL_SOURCE_REGISTRY in the Makefile was terminated with ":" which at least sometimes was treated as an implicit ".". But then I found that this caused failures on some Windows tests, because that was a relative pathname, which the path translator didn't like. --- Makefile | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index f35d0a5f1..ee396100a 100644 --- a/Makefile +++ b/Makefile @@ -52,8 +52,14 @@ else export CL_SOURCE_REGISTRY = ${ASDF_DEVEL_SOURCE_REGISTRY} endif else # no ASDF_DEVEL_SOURCE_REGISTRY -export CL_SOURCE_REGISTRY = ${sourceDirectory}/:${sourceDirectory}/uiop/:${sourceDirectory}/ext//: +export CL_SOURCE_REGISTRY = ${sourceDirectory}/:${sourceDirectory}/uiop/:${sourceDirectory}/ext// endif +#$(error "CL_SOURCE_REGISTRY is ${CL_SOURCE_REGISTRY}") +sys := $(shell uname -o) +ifeq ($(sys),Cygwin) +CL_SOURCE_REGISTRY := $(shell cygpath -pw "${CL_SOURCE_REGISTRY}") +endif + l ?= sbcl @@ -76,6 +82,8 @@ driver_lisp := uiop/package.lisp uiop/common-lisp.lisp uiop/utility.lisp uiop/os defsystem_lisp := upgrade.lisp component.lisp system.lisp cache.lisp find-system.lisp find-component.lisp operation.lisp action.lisp lisp-action.lisp plan.lisp operate.lisp output-translations.lisp source-registry.lisp parse-defsystem.lisp bundle.lisp concatenate-source.lisp package-inferred-system.lisp backward-internals.lisp backward-interface.lisp interface.lisp user.lisp footer.lisp all_lisp := $(header_lisp) $(driver_lisp) $(defsystem_lisp) +print-% : ; @echo $* = $($*) + # Making ASDF itself should be our first, default, target: build/asdf.lisp: $(all_lisp) mkdir -p build -- GitLab