summary refs log tree commit diff
path: root/gnu/packages/java.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <ricardo.wurmus@mdc-berlin.de>2015-05-11 15:50:34 +0200
committerRicardo Wurmus <rekado@elephly.net>2015-05-12 13:59:17 +0200
commit4cbaf2ab6569cf5b4acbd0242ef9ef12ef7e4743 (patch)
tree2a1bdc7a4ff5f654787106aece3c1c07c2bb7d98 /gnu/packages/java.scm
parent73b6cf429bfa6fd441581e45b83a7828f0c25cfb (diff)
downloadguix-4cbaf2ab6569cf5b4acbd0242ef9ef12ef7e4743.tar.gz
gnu: icedtea6: Add target-dependent include directory to CPATH.
* gnu/packages/java.scm (gcj-4.8)[arguments]: Add target-dependent GCJ include
  directory to CPATH environment variable.
Diffstat (limited to 'gnu/packages/java.scm')
-rw-r--r--gnu/packages/java.scm16
1 files changed, 14 insertions, 2 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 26fc3eccf5..ea8de9e2cf 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -250,6 +250,11 @@ build process and its dependencies, whereas Make uses Makefile format.")
        ;; gremlin) doesn't support it yet, so skip this phase.
        #:validate-runpath? #f
 
+       #:modules ((guix build utils)
+                  (guix build gnu-build-system)
+                  (ice-9 popen)
+                  (ice-9 rdelim))
+
        #:configure-flags
        (let* ((gcjdir (assoc-ref %build-inputs "gcj"))
               (ecj    (string-append gcjdir "/share/java/ecj.jar"))
@@ -378,9 +383,16 @@ build process and its dependencies, whereas Make uses Makefile format.")
            (lambda* (#:key inputs #:allow-other-keys)
              (let* ((gcjdir  (assoc-ref %build-inputs "gcj"))
                     (gcjlib  (string-append gcjdir "/lib"))
-                    (antpath (string-append (getcwd) "/../apache-ant-1.9.4")))
+                    (antpath (string-append (getcwd) "/../apache-ant-1.9.4"))
+                    ;; Get target-specific include directory so that
+                    ;; libgcj-config.h is found when compiling hotspot.
+                    (gcjinclude (let* ((port (open-input-pipe "gcj -print-file-name=include"))
+                                       (str  (read-line port)))
+                                  (close-pipe port)
+                                  str)))
                (setenv "CPATH"
-                       (string-append (assoc-ref %build-inputs "libxrender")
+                       (string-append gcjinclude ":"
+                                      (assoc-ref %build-inputs "libxrender")
                                       "/include/X11/extensions" ":"
                                       (assoc-ref %build-inputs "libxtst")
                                       "/include/X11/extensions" ":"