summaryrefslogtreecommitdiff
path: root/gnu/packages/java.scm
diff options
context:
space:
mode:
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" ":"