From 4cbaf2ab6569cf5b4acbd0242ef9ef12ef7e4743 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 11 May 2015 15:50:34 +0200 Subject: 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. --- gnu/packages/java.scm | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'gnu/packages/java.scm') 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" ":" -- cgit v1.2.3