~ubuntu-branches/ubuntu/lucid/cmake/lucid

« back to all changes in this revision

Viewing changes to debian/patches/FindJNI.cmake-more-arches.diff

  • Committer: Bazaar Package Importer
  • Author(s): Artur Rona
  • Date: 2009-12-16 11:11:54 UTC
  • mfrom: (3.1.9 sid)
  • Revision ID: james.westby@ubuntu.com-20091216111154-6accvv6yq86h2hkc
Tags: 2.8.0-5ubuntu1
* Merge from debian testing (LP: #497349). Remaining changes:
  - Keep the Replaces: on cmake-data to cover the Kubuntu version from
    Jaunty in case someone decides to do an (unsupported) Jaunty->Lucid
    upgrade.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
From: Modestas Vainius <modestas@vainius.eu>
2
 
Subject: Arch independent FindJNI.cmake on Linux
3
 
 Backport Modules/FindJNI.cmake from CMake 2.8 CVS. It supports most Linux
4
 
 arches and is capable of finding Sun Java, OpenJDK, Kaffe and GCJ JVMs.
5
 
 It also adds support for Debian specific "default-java" paths.
6
 
Bug: http://public.kitware.com/Bug/view.php?id=9611
7
 
Bug-Debian: http://bugs.debian.org/544674
8
 
 
9
 
--- a/Modules/FindJNI.cmake
10
 
+++ b/Modules/FindJNI.cmake
11
 
@@ -12,6 +12,53 @@
12
 
 #  JAVA_AWT_INCLUDE_PATH = the include path to jawt.h
13
 
 #
14
 
 
15
 
+#=============================================================================
16
 
+# Copyright 2001-2009 Kitware, Inc.
17
 
+#
18
 
+# Distributed under the OSI-approved BSD License (the "License");
19
 
+# see accompanying file Copyright.txt for details.
20
 
+#
21
 
+# This software is distributed WITHOUT ANY WARRANTY; without even the
22
 
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
23
 
+# See the License for more information.
24
 
+#=============================================================================
25
 
+# (To distributed this file outside of CMake, substitute the full
26
 
+#  License text for the above reference.)
27
 
+
28
 
+# Expand {libarch} occurences to java_libarch subdirectory(-ies) and set ${_var}
29
 
+MACRO(java_append_library_directories _var)
30
 
+    # Determine java arch-specific library subdir
31
 
+    IF (CMAKE_SYSTEM_NAME MATCHES "Linux")
32
 
+        # Based on openjdk/jdk/make/common/shared/Platform.gmk as of 6b16
33
 
+        # and kaffe as of 1.1.8 which uses the first part of the
34
 
+        # GNU config.guess platform triplet.
35
 
+        IF(CMAKE_SYSTEM_PROCESSOR MATCHES "^i[3-9]86$")
36
 
+            SET(_java_libarch "i386")
37
 
+        ELSEIF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
38
 
+            SET(_java_libarch "amd64" "x86_64")
39
 
+        ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc")
40
 
+            SET(_java_libarch "ppc" "powerpc" "ppc64")
41
 
+        ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^sparc")
42
 
+            SET(_java_libarch "sparc" "sparcv9")
43
 
+        ELSE(CMAKE_SYSTEM_PROCESSOR MATCHES "^i[3-9]86$")
44
 
+            SET(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}")
45
 
+        ENDIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^i[3-9]86$")
46
 
+    ELSE(CMAKE_SYSTEM_NAME MATCHES "Linux")
47
 
+        SET(_java_libarch "i386" "amd64" "ppc") # previous default
48
 
+    ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
49
 
+
50
 
+    FOREACH(_path ${ARGN})
51
 
+        IF(_path MATCHES "{libarch}")
52
 
+            FOREACH(_libarch ${_java_libarch})
53
 
+                STRING(REPLACE "{libarch}" "${_libarch}" _newpath "${_path}")
54
 
+                LIST(APPEND ${_var} "${_newpath}")
55
 
+            ENDFOREACH(_libarch)
56
 
+        ELSE(_path MATCHES "{libarch}")
57
 
+            LIST(APPEND ${_var} "${_path}")
58
 
+        ENDIF(_path MATCHES "{libarch}")
59
 
+    ENDFOREACH(_path)
60
 
+ENDMACRO(java_append_library_directories)
61
 
+
62
 
 GET_FILENAME_COMPONENT(java_install_version
63
 
   "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit;CurrentVersion]" NAME)
64
 
 
65
 
@@ -19,29 +66,29 @@
66
 
   "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/lib"
67
 
   "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/lib"
68
 
   "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\${java_install_version};JavaHome]/lib"
69
 
-  $ENV{JAVA_HOME}/jre/lib/i386
70
 
-  $ENV{JAVA_HOME}/jre/lib/amd64
71
 
-  $ENV{JAVA_HOME}/jre/lib/ppc
72
 
+  )
73
 
+JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_LIBRARY_DIRECTORIES
74
 
+  $ENV{JAVA_HOME}/jre/lib/{libarch}
75
 
+  $ENV{JAVA_HOME}/jre/lib
76
 
+  $ENV{JAVA_HOME}/lib
77
 
+  $ENV{JAVA_HOME}
78
 
   /usr/lib
79
 
   /usr/local/lib
80
 
   /usr/lib/jvm/java/lib
81
 
-  /usr/lib/java/jre/lib/i386
82
 
-  /usr/local/lib/java/jre/lib/i386
83
 
-  /usr/local/share/java/jre/lib/i386
84
 
-  /usr/lib/j2sdk1.4-sun/jre/lib/i386
85
 
-  /usr/lib/j2sdk1.5-sun/jre/lib/i386
86
 
-  /opt/sun-jdk-1.5.0.04/jre/lib/amd64
87
 
-  /usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/amd64
88
 
-  /usr/lib/java/jre/lib/amd64
89
 
-  /usr/local/lib/java/jre/lib/amd64
90
 
-  /usr/local/share/java/jre/lib/amd64
91
 
-  /usr/lib/j2sdk1.4-sun/jre/lib/amd64
92
 
-  /usr/lib/j2sdk1.5-sun/jre/lib/amd64
93
 
-  /usr/lib/java/jre/lib/ppc
94
 
-  /usr/local/lib/java/jre/lib/ppc
95
 
-  /usr/local/share/java/jre/lib/ppc
96
 
-  /usr/lib/j2sdk1.4-sun/jre/lib/ppc
97
 
-  /usr/lib/j2sdk1.5-sun/jre/lib/ppc
98
 
+  /usr/lib/java/jre/lib/{libarch}
99
 
+  /usr/local/lib/java/jre/lib/{libarch}
100
 
+  /usr/local/share/java/jre/lib/{libarch}
101
 
+  /usr/lib/j2sdk1.4-sun/jre/lib/{libarch}
102
 
+  /usr/lib/j2sdk1.5-sun/jre/lib/{libarch}
103
 
+  /opt/sun-jdk-1.5.0.04/jre/lib/{libarch}
104
 
+  /usr/lib/jvm/java-6-sun/jre/lib/{libarch}
105
 
+  /usr/lib/jvm/java-1.5.0-sun/jre/lib/{libarch}
106
 
+  /usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/{libarch}       # can this one be removed according to #8821 ? Alex
107
 
+  /usr/lib/jvm/java-6-openjdk/jre/lib/{libarch}
108
 
+  # Debian specific paths for default JVM
109
 
+  /usr/lib/jvm/default-java/jre/lib/{libarch}
110
 
+  /usr/lib/jvm/default-java/jre/lib
111
 
+  /usr/lib/jvm/default-java/lib
112
 
   )
113
 
 
114
 
 SET(JAVA_JVM_LIBRARY_DIRECTORIES)
115
 
@@ -65,11 +112,16 @@
116
 
   /usr/lib/java/include
117
 
   /usr/local/lib/java/include
118
 
   /usr/lib/jvm/java/include
119
 
-  /usr/lib/jvm/java-6-sun-1.6.0.00/include
120
 
+  /usr/lib/jvm/java-6-sun/include
121
 
+  /usr/lib/jvm/java-1.5.0-sun/include
122
 
+  /usr/lib/jvm/java-6-sun-1.6.0.00/include       # can this one be removed according to #8821 ? Alex
123
 
+  /usr/lib/jvm/java-6-openjdk/include
124
 
   /usr/local/share/java/include
125
 
   /usr/lib/j2sdk1.4-sun/include
126
 
   /usr/lib/j2sdk1.5-sun/include
127
 
   /opt/sun-jdk-1.5.0.04/include
128
 
+  # Debian specific path for default JVM
129
 
+  /usr/lib/jvm/default-java/include
130
 
   )
131
 
 
132
 
 FOREACH(JAVA_PROG "${JAVA_RUNTIME}" "${JAVA_COMPILE}" "${JAVA_ARCHIVE}")