@@ -39,18 +39,18 @@ if scala_home == None:
39
39
sys .exit ()
40
40
41
41
# starting to build spark project
42
- spark_process = subprocess .Popen ('sbt/sbt package ' , shell = True , executable = "/bin/bash" )
42
+ spark_process = subprocess .Popen ('sbt/sbt assembly ' , shell = True , executable = "/bin/bash" )
43
43
spark_process .wait ()
44
44
45
45
if spark_process .returncode != 0 :
46
- print "Buil spark error ! \n "
46
+ print "Build spark error ! \n "
47
47
sys .exit ()
48
48
49
49
#decompress spark jar
50
- if os .path .exists (home + '/.class ' ):
51
- command = 'cd ' + home + '/.class && jar -xf ' + current + '/core/target/spark*.jar && cd ' + current
50
+ if os .path .exists (home + '/.classes ' ):
51
+ command = 'cd ' + home + '/.classes && jar -xf ' + current + '/core/target/spark*.jar && cd ' + current
52
52
else :
53
- command = 'mkdir ' + home + '/.class && cd ' + home + '/.class && jar -xf ' + current + '/core/target/spark*.jar && cd ' + current
53
+ command = 'mkdir ' + home + '/.classes && cd ' + home + '/.classes && jar -xf ' + current + '/core/target/spark*.jar && cd ' + current
54
54
55
55
spark_process = subprocess .Popen (command , shell = True , executable = "/bin/bash" )
56
56
spark_process .wait ()
@@ -60,55 +60,45 @@ os.environ['SPARK_CLASS_PATH'] = home + '/.class'
60
60
61
61
env = env .Append (CPPPATH = [java_home + '/include' ,
62
62
java_home + '/include/linux' ,
63
- java_home + '/jre/lib/amd64/server' ])
63
+ java_home + '/jre/lib/amd64/server' ,
64
+ current + '/c++/' ],
65
+ LIBS = ['jvm' , 'pthread' ],
66
+ LIBPATH = [java_home + '/jre/lib/amd64/server' ])
64
67
65
- sources = Glob ('*.c*' )
66
- spark_jni_so = env .SharedLibrary ('#c++/spark/jni/spark_jni' ,
67
- sources ,
68
- LIBS = 'jvm' ,
69
- srcdir = '#c++/spark/jni' )
68
+ print 'starting to compile c++ API code ....'
70
69
71
- spark_api_so = env .SharedLibrary ('#c++/spark/spark_api' ,
72
- sources ,
73
- LIBS = 'jvm' ,
74
- srcdir = '#c++/spark/' )
70
+ jni_sources = Glob ('#c++/spark/jni/*.c*' )
75
71
76
- header_files = Glob ( '#c++/spark/*.h* ' )
72
+ spark_jni_obj = Object ( jni_sources , srcdir = '#c++/spark/jni ' )
77
73
78
- env .Alias ('install-lib' , Install (os .path .join (prefix , "/lib" ), spark_jni_so , spark_api_so ))
79
- env .Alias ('install-include' , Install (os .path .join (prefix , "/include" ), header_files ))
80
- env .Alias ('install' , ['install-include' , 'install-lib' ])
74
+ spark_jni_so = SharedLibrary ('#c++/spark/jni/spark_jni' ,spark_jni_obj )
81
75
82
- from SCons .Script .SConscript import SConsEnvironment
83
- SConsEnvironment .Chmod = SCons .ActionFactory (os .chmod , lambda dest , mode : 'Chmod("%s", "0%o")' % (dest , mode ))
76
+ api_sources = Glob ('#c++/spark/*.c*' )
84
77
85
- def InstallPerm (env , dest , files , perm ):
86
- obj = env .Install (dest , files )
87
- for i in obj :
88
- env .AddPostAction (i , env .Chmod (str (i ), perm ))
89
- return dest
78
+ spark_api_obj = Object (api_sources , srcdir = '#c++/spark' )
90
79
91
- SConsEnvironment .InstallPerm = InstallPerm
92
- SConsEnvironment .InstallProgram = lambda env , dest , files : InstallPerm (env , dest , files , 0755 )
93
- SConsEnvironment .InstallHeader = lambda env , dest , files : InstallPerm (env , dest , files , 0644 )
80
+ spark_api_so = SharedLibrary ('#c++/spark/spark_api' ,spark_api_obj )
94
81
95
82
header_files = Glob ('#c++/spark/*.h*' )
96
- env .InstallHeader (include_dir , header_files )
97
83
98
- try :
99
- umask = os .umask (022 )
100
- print 'setting umask to 022 (was )%o)' % umask
101
- except :
102
- pass
84
+ #Alias('install-lib', Install(os.path.join(prefix, "/lib"), spark_jni_so, spark_api_so))
85
+ #Alias('install-include', Install(os.path.join(prefix, "/include"), header_files))
86
+ #Alias('install', ['install-include', 'install-lib'])
87
+
88
+ command = 'cp c++/spark/*.h* /usr/local/include/spark'
89
+ subprocess .Popen (command , shell = True , executable = "/bin/bash" )
90
+ command = 'cp c++/spark/jni/*.h* /usr/local/include/spark/jni'
91
+ subprocess .Popen (command , shell = True , executable = "/bin/bash" )
103
92
93
+ print 'starting to compile examples code ....'
104
94
examples_dir = current + '/c++/examples'
105
95
106
- env . Program ('#c++/examples/wordcount' ,
107
- '#c++/examples/ wordcount.cpp' ,
96
+ Program ('#c++/examples/wordcount' ,
97
+ 'wordcount.cpp' ,
108
98
LIBS = ['spark_api' , 'jvm' ],
109
99
srcdir = '#c++/examples/' )
110
100
111
- env . Program ('#c++/examples/kmeans' ,
112
- '#c++/examples/ kmeans.cpp' ,
101
+ Program ('#c++/examples/kmeans' ,
102
+ 'kmeans.cpp' ,
113
103
LIBS = ['spark_api' , 'jvm' ],
114
104
srcdir = '#c++/examples/' )
0 commit comments