forked from sjackman/linuxbrew-core
-
Notifications
You must be signed in to change notification settings - Fork 0
/
android-ndk.rb
61 lines (50 loc) · 1.88 KB
/
android-ndk.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
class AndroidNdk < Formula
desc "Android native-code language toolset"
homepage "https://developer.android.com/ndk/index.html"
if OS.mac?
url "https://dl.google.com/android/repository/android-ndk-r14b-darwin-x86_64.zip"
sha256 "f5373dcb8ddc1ba8a4ccee864cba2cbdf500b2a32d6497378dfd32b375a8e6fa"
elsif OS.linux?
url "https://dl.google.com/android/repository/android-ndk-r14b-linux-x86_64.zip"
sha256 "0ecc2017802924cf81fffc0f51d342e3e69de6343da892ac9fa1cd79bc106024"
end
version "r14b"
version_scheme 1
bottle :unneeded
# As of r10e, only a 64-bit version is provided
depends_on :arch => :x86_64
depends_on "android-sdk" => :recommended
conflicts_with "crystax-ndk",
:because => "both install `ndk-build`, `ndk-gdb` and `ndk-stack` binaries"
def install
bin.mkpath
# Now we can install both 64-bit and 32-bit targeting toolchains
prefix.install Dir["*"]
# Create a dummy script to launch the ndk apps
ndk_exec = prefix+"ndk-exec.sh"
ndk_exec.write <<-EOS.undent
#!/bin/sh
BASENAME=`basename $0`
EXEC="#{prefix}/$BASENAME"
test -f "$EXEC" && exec "$EXEC" "$@"
EOS
ndk_exec.chmod 0755
%w[ndk-build ndk-depends ndk-gdb ndk-stack ndk-which].each { |app| bin.install_symlink ndk_exec => app }
end
def caveats; <<-EOS.undent
We agreed to the Android NDK License Agreement for you by downloading the NDK.
If this is unacceptable you should uninstall.
License information at:
https://developer.android.com/sdk/terms.html
Software and System requirements at:
https://developer.android.com/sdk/ndk/index.html#requirements
For more documentation on Android NDK, please check:
#{prefix}/docs
EOS
end
test do
(testpath/"test.c").write("int main() { return 0; }")
cc = Utils.popen_read("#{bin}/ndk-which gcc").strip
system cc, "-c", "test.c", "-o", "test"
end
end