Advertisement
Guest User

Untitled

a guest
Jul 30th, 2014
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.98 KB | None | 0 0
  1. def setupFiles(self) :
  2. cpp_files = [
  3. map(lambda x : "src/native/common/"+x, os.listdir("src/native/common")),
  4. map(lambda x : "src/native/python/"+x, os.listdir("src/native/python")),
  5. ]
  6.  
  7. all_src = []
  8. for i in cpp_files :
  9. all_src += i
  10.  
  11. self.cpp = filter(lambda x : x[-4:] == '.cpp', all_src)
  12. self.objc = filter(lambda x : x[-2:] == '.m', all_src)
  13.  
  14.  
  15.  
  16. def setupWindows(self):
  17. print 'Choosing the Windows profile'
  18. self.javaHome = os.getenv("JAVA_HOME")
  19. if self.javaHome is None :
  20. print "environment variable JAVA_HOME must be set"
  21. sys.exit(-1)
  22. self.jdkInclude = "win32"
  23. self.libraries = ["Advapi32"]
  24. self.libraryDir = [self.javaHome+"/lib"]
  25. self.macros = [ ("WIN32",1) ]
  26. self.extra_compile_args = ['/EHsc']
  27.  
  28. def setupMacOSX(self):
  29. #self.javaHome = '/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers/jni.h'
  30. #self.javaHome = '/System/Library/Frameworks/JavaVM.framework/Versions/'
  31. self.javaHome = '/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/'
  32. self.jdkInclude = ""
  33. self.libraries = ["dl"]
  34. #self.libraryDir = [self.javaHome+"/System/Library"]
  35. self.libraryDir = [self.javaHome+"/Libraries"]
  36. self.macros = [('MACOSX',1)]
  37.  
  38. def setupLinux(self):
  39. self.javaHome = os.getenv("JAVA_HOME")
  40. if self.javaHome is None :
  41. self.javaHome = '/usr/lib/jvm/java-1.5.0-sun-1.5.0.08' # Ubuntu linux
  42. # self.javaHome = '/usr/java/jdk1.5.0_05'
  43. self.jdkInclude = "linux"
  44. self.libraries = ["dl"]
  45. self.libraryDir = [self.javaHome+"/lib"]
  46.  
  47. def setupPlatform(self):
  48. if sys.platform == 'win32' :
  49. self.setupWindows()
  50. elif sys.platform == 'darwin' :
  51. self.setupMacOSX()
  52. else:
  53. self.setupLinux()
  54.  
  55. def setupInclusion(self):
  56. self.includeDirs = [
  57. self.javaHome+"/Headers",
  58. self.javaHome+"/Headers/"+self.jdkInclude,
  59. "src/native/common/include",
  60. "src/native/python/include",
  61. ]
  62.  
  63.  
  64. def setup(self):
  65. self.setupFiles()
  66. self.setupPlatform()
  67. self.setupInclusion()
  68.  
  69. jpypeLib = Extension("_jpype",
  70. self.cpp,
  71. libraries=self.libraries,
  72. define_macros=self.macros,
  73. include_dirs=self.includeDirs,
  74. library_dirs=self.libraryDir,
  75. extra_compile_args=self.extra_compile_args
  76. )
  77.  
  78. distSetup(
  79. name="JPype",
  80. version="0.5.4.2",
  81. description="Python-Java bridge",
  82. author="Steve Menard",
  83. author_email="devilwolf@users.sourceforge.net",
  84. url="http://jpype.sourceforge.net/",
  85. packages=[
  86. "jpype", 'jpype.awt', 'jpype.awt.event',
  87. 'jpypex', 'jpypex.swing'],
  88. package_dir={
  89. "jpype" : "src/python/jpype",
  90. 'jpypex' : 'src/python/jpypex',
  91. },
  92.  
  93. ext_modules=[jpypeLib]
  94. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement