summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-05-29 13:23:36 +0200
committerLudovic Courtès <ludo@gnu.org>2017-05-29 13:46:25 +0200
commitbe99170ddbb3c7bc46b8e3cc5184e2e51bdb3785 (patch)
tree6202c8ed3be938c29cd518b86653b7317e9c618c
parent0f3847bfd84bb52a7f6da52cfa358aded8570310 (diff)
downloadguix-be99170ddbb3c7bc46b8e3cc5184e2e51bdb3785.tar.gz
gnu: cross-base: Turn '%xgcc' into a macro.
Previously:

  ./pre-inst-env guile -c '(use-modules (gnu packages gcc))'

would fail due to circular dependencies.

* gnu/packages/cross-base.scm (%xgcc): Turn into a macro.
-rw-r--r--gnu/packages/cross-base.scm9
1 files changed, 6 insertions, 3 deletions
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index d5ca9b8da0..abc3a2821c 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
@@ -40,10 +40,13 @@
             cross-gcc
             cross-newlib?))
 
-(define %xgcc
+(define-syntax %xgcc
   ;; GCC package used as the basis for cross-compilation.  It doesn't have to
   ;; be 'gcc' and can be a specific variant such as 'gcc-4.8'.
-  gcc)
+  ;;
+  ;; Note: This is a macro so that we do not refer to 'gcc' from the top
+  ;; level, which would lead to circular-dependency issues.
+  (identifier-syntax gcc))
 
 (define %gcc-include-paths
   ;; Environment variables for header search paths.