From 8db393e45d9d14e1181df05348d19c696b70b37d Mon Sep 17 00:00:00 2001
From: "Robert P. Goldman" <rpgoldman@real-time.com>
Date: Wed, 10 Feb 2010 17:19:59 -0600
Subject: [PATCH] Alternative solution for the module dependency bug.

This solution, unlike the earlier candidate, does not make /systems/
re<operate> when their dependencies are triggered, but only /modules/ that
are not systems.  The intended result is to trigger the behavior only for
INTRA-system dependencies.
---
 asdf.lisp | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/asdf.lisp b/asdf.lisp
index 15bf12de..dd6e869b 100644
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -1276,7 +1276,12 @@ recursive calls to traverse.")
                            ;; this is set based on the results of the
                            ;; dependencies and whether we are in the
                            ;; context of a *forcing* call...
-                           (must-operate (or *forcing* forced))
+                           (must-operate (or *forcing*
+                                             ;; inter-system dependencies do NOT trigger
+                                             ;; building components
+                                             (and
+                                              (not (typep c 'system)))
+                                             forced))
                            (error nil))
                        (dolist (kid (module-components c))
                            (handler-case
-- 
GitLab