@@ -111,10 +111,15 @@ getProtoFiles := {
111
111
112
112
val getLibuast = TaskKey [Unit ](" getLibuast" , " Retrieve libuast" )
113
113
getLibuast := {
114
+ val os = if (System .getProperty(" os.name" ).toLowerCase.contains(" mac os x" )) " darwin" else " linux"
115
+
116
+ downloadUnpackLibuast(os)
117
+ }
118
+
119
+ def downloadUnpackLibuast (os : String ) = {
114
120
import sys .process ._
115
121
116
122
val ghUrl = " https://github.com/bblfsh/libuast"
117
- val os = if (System .getProperty(" os.name" ).toLowerCase.contains(" mac os x" )) " darwin" else " linux"
118
123
val binaryReleaseUrl = s " ${ghUrl}/releases/download/v ${libuastVersion}/libuast- ${os}-amd64.tar.gz "
119
124
println(s " Downloading libuast binary from ${binaryReleaseUrl}" )
120
125
@@ -124,7 +129,8 @@ getLibuast := {
124
129
" mkdir -p src/main/resources" #&&
125
130
" rm -rf src/main/resources/libuast" #&&
126
131
" mv libuast src/main/resources" #&&
127
- " rm src/main/resources/libuast/libuast.so" #&& // always a static build
132
+ " rm -f src/main/resources/libuast/libuast.so" #&& // always a static build
133
+ " rm -f src/main/resources/libuast/libuast.dylib" #&&
128
134
" rm libuast-bin.tar.gz" !
129
135
130
136
" find src/main/resources" !
@@ -133,7 +139,7 @@ getLibuast := {
133
139
134
140
" nm src/main/resources/libuast/libuast.a" #| " wc -l" !
135
141
136
- println(" Done unpacking libuast" )
142
+ println(s " Done unpacking libuast for ${os} " )
137
143
}
138
144
139
145
val compileScalaLibuast = TaskKey [Unit ](" compileScalaLibuast" , " Compile libScalaUast JNI library" )
@@ -200,11 +206,13 @@ def crossCompileMacOS(sourceFiles: String): Unit = {
200
206
return
201
207
}
202
208
203
- val cmd = osxHome + " /bin/o64-clang++-libc++ -shared -Wall -fPIC -O2 -lxml2 -std=c++11 " +
209
+ downloadUnpackLibuast(" darwin" )
210
+
211
+ val cmd = osxHome + " /bin/o64-clang++-libc++ -shared -Wall -fPIC -O2 -std=c++11 " +
204
212
" -I" + osxHome + " /SDK/MacOSX10.11.sdk/usr/include/ " +
205
213
" -I/usr/lib/jvm/java-8-openjdk-amd64/include " +
206
214
" -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux " +
207
- " -Isrc/libuast-native/ " +
215
+ " -Isrc/main/resources/libuast " +
208
216
" -o src/main/resources/lib/libscalauast.dylib " +
209
217
sourceFiles +
210
218
" src/main/resources/libuast/libuast.a "
0 commit comments