You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by va...@apache.org on 2010/03/19 00:24:12 UTC
svn commit: r925041 - in /lucene/pylucene/trunk/jcc: CHANGES jcc/windows.py
setup.py
Author: vajda
Date: Thu Mar 18 23:24:12 2010
New Revision: 925041
URL: http://svn.apache.org/viewvc?rev=925041&view=rev
Log:
- added support for extracting JAVAHOME from windows registry (Bill Janssen)
Added:
lucene/pylucene/trunk/jcc/jcc/windows.py (with props)
Modified:
lucene/pylucene/trunk/jcc/CHANGES
lucene/pylucene/trunk/jcc/setup.py
Modified: lucene/pylucene/trunk/jcc/CHANGES
URL: http://svn.apache.org/viewvc/lucene/pylucene/trunk/jcc/CHANGES?rev=925041&r1=925040&r2=925041&view=diff
==============================================================================
--- lucene/pylucene/trunk/jcc/CHANGES (original)
+++ lucene/pylucene/trunk/jcc/CHANGES Thu Mar 18 23:24:12 2010
@@ -3,6 +3,7 @@ Version 2.5 ->
------------------
- added freebsd7 settings to setup.py (Sujan Shakya)
- added support for unix-specific --home distutils install parameter
+ - added support for extracting JAVAHOME from windows registry (Bill Janssen)
-
Version 2.4 -> 2.5
Added: lucene/pylucene/trunk/jcc/jcc/windows.py
URL: http://svn.apache.org/viewvc/lucene/pylucene/trunk/jcc/jcc/windows.py?rev=925041&view=auto
==============================================================================
--- lucene/pylucene/trunk/jcc/jcc/windows.py (added)
+++ lucene/pylucene/trunk/jcc/jcc/windows.py Thu Mar 18 23:24:12 2010
@@ -0,0 +1,43 @@
+
+import sys
+
+global JAVAHOME
+JAVAHOME = None
+
+if sys.platform == "win32":
+ # figure out where the JDK lives
+
+ try:
+ import _winreg as wreg
+
+ class WindowsRegistry:
+ # see the Python Cookbook, #146305, Dirk Holtwick
+
+ def __init__(self, keyname):
+ " handle registry access "
+ self.reg = wreg.ConnectRegistry(None, wreg.HKEY_LOCAL_MACHINE)
+ self.key = wreg.OpenKey(self.reg, keyname)
+
+ def get(self, name):
+ " get value out of registry "
+ v, t = wreg.QueryValueEx(self.key, name)
+ return v, t
+
+ def close(self):
+ " close the key finally "
+ self.key.Close()
+ self.reg.Close()
+
+ def __del__(self):
+ self.close()
+
+ def get_registry_value(vname, subname):
+ r = WindowsRegistry(vname)
+ v, t = r.get(subname)
+ return v
+
+ javaversion = get_registry_value(r"SOFTWARE\JavaSoft\Java Development Kit", "CurrentVersion")
+ JAVAHOME = get_registry_value(r"SOFTWARE\JavaSoft\Java Development Kit\%s" % javaversion, "JavaHome")
+
+ except:
+ JAVAHOME = 'c:/Program Files/Java/jdk1.6.0_18'
Propchange: lucene/pylucene/trunk/jcc/jcc/windows.py
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: lucene/pylucene/trunk/jcc/jcc/windows.py
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: lucene/pylucene/trunk/jcc/setup.py
URL: http://svn.apache.org/viewvc/lucene/pylucene/trunk/jcc/setup.py?rev=925041&r1=925040&r2=925041&view=diff
==============================================================================
--- lucene/pylucene/trunk/jcc/setup.py (original)
+++ lucene/pylucene/trunk/jcc/setup.py Thu Mar 18 23:24:12 2010
@@ -17,6 +17,8 @@ machine = platform.machine()
if machine.startswith("iPod") or machine.startswith("iPhone"):
platform = 'ipod'
+elif (sys.platform == "win32") and "--compiler=mingw32" in sys.argv:
+ platform = 'mingw32'
else:
platform = sys.platform
@@ -33,13 +35,22 @@ else:
# JCC_LFLAGS and JCC_JAVAC environment variables using os.pathsep as value
# separator.
+if sys.platform == "win32":
+ try:
+ from jcc.windows import JAVAHOME
+ except ImportError:
+ JAVAHOME = None
+else:
+ JAVAHOME = None
+
JDK = {
'darwin': '/System/Library/Frameworks/JavaVM.framework/Versions/Current',
'ipod': '/usr/include/gcc',
'linux2': '/usr/lib/jvm/java-6-openjdk',
'sunos5': '/usr/jdk/instances/jdk1.6.0',
- 'win32': 'o:/Java/jdk1.6.0_02',
- 'freebsd7': '/usr/local/diablo-jdk1.6.0',
+ 'win32': JAVAHOME,
+ 'mingw32': JAVAHOME,
+ 'freebsd7': '/usr/local/diablo-jdk1.6.0'
}
if 'JCC_JDK' in os.environ:
JDK[platform] = os.environ['JCC_JDK']
@@ -53,6 +64,8 @@ INCLUDES = {
'%(sunos5)s/include/solaris' %(JDK)],
'win32': ['%(win32)s/include' %(JDK),
'%(win32)s/include/win32' %(JDK)],
+ 'mingw32': ['%(win32)s/include' %(JDK),
+ '%(win32)s/include/win32' %(JDK)],
'freebsd7': ['%(freebsd7)s/include' %(JDK),
'%(freebsd7)s/include/freebsd' %(JDK)],
}
@@ -64,6 +77,7 @@ CFLAGS = {
'sunos5': ['-features=iddollar',
'-erroff=badargtypel2w,wbadinitl,wvarhidemem'],
'win32': [],
+ 'mingw32': ['-Wno-write-strings'],
'freebsd7': ['-fno-strict-aliasing', '-Wno-write-strings'],
}
@@ -74,6 +88,7 @@ DEBUG_CFLAGS = {
'linux2': ['-O0', '-g', '-DDEBUG'],
'sunos5': ['-DDEBUG'],
'win32': ['/Od', '/DDEBUG'],
+ 'mingw32': ['-O0', '-g', '-DDEBUG'],
'freebsd7': ['-O0', '-g', '-DDEBUG'],
}
@@ -94,6 +109,7 @@ LFLAGS = {
'-L%(sunos5)s/jre/lib/i386/client' %(JDK), '-ljvm',
'-R%(sunos5)s/jre/lib/i386:%(sunos5)s/jre/lib/i386/client' %(JDK)],
'win32': ['/LIBPATH:%(win32)s/lib' %(JDK), 'jvm.lib'],
+ 'mingw32': ['-L%(mingw32)s/lib' %(JDK), '-ljvm'],
'freebsd7': ['-L%(freebsd7)s/jre/lib/i386' %(JDK), '-ljava', '-lverify',
'-L%(freebsd7)s/jre/lib/i386/client' %(JDK), '-ljvm',
'-Wl,-rpath=%(freebsd7)s/jre/lib/i386:%(freebsd7)s/jre/lib/i386/client' %(JDK)],
@@ -107,7 +123,8 @@ JAVAC = {
'ipod': ['jikes', '-cp', '/usr/share/classpath/glibj.zip'],
'linux2': ['javac'],
'sunos5': ['javac'],
- 'win32': ['javac.exe'],
+ 'win32': ['%(win32)s/bin/javac.exe' % (JDK)],
+ 'mingw32': ['%(mingw32)s/bin/javac.exe' % (JDK)],
'freebsd7': ['javac'],
}