aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWenHan Gu <Wenhan.gu@mediatek.com>2014-07-31 14:39:49 +0800
committerAndrew Hsieh <andrewhsieh@google.com>2015-03-24 11:55:50 -0700
commit94f23d95cd04e944abe801aad4615a587cd0008a (patch)
tree51333011f648e814e22192262a1b3a1980dd3f8c
parentf50cfd5c757ddea34d6e2b867cb73c1f3c23c4f3 (diff)
downloadllvm-94f23d95cd04e944abe801aad4615a587cd0008a.tar.gz
[ndk][pndk] Let ndk-link support -static.
-rw-r--r--tools/ndk-link/ndk-link.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/tools/ndk-link/ndk-link.cpp b/tools/ndk-link/ndk-link.cpp
index eb09a88011d..3abea229df1 100644
--- a/tools/ndk-link/ndk-link.cpp
+++ b/tools/ndk-link/ndk-link.cpp
@@ -44,6 +44,9 @@ InputFilenames(cl::Positional, cl::OneOrMore,
static cl::opt<bool>
Shared("shared", cl::ZeroOrMore, cl::desc("Generate shared bitcode library"));
+static cl::opt<bool>
+Static("static", cl::ZeroOrMore, cl::desc("Hint for generating static library"));
+
static cl::opt<std::string>
OutputFilename("o", cl::desc("Override output filename"),
cl::value_desc("output bitcode file"));
@@ -382,6 +385,14 @@ static std::string* ProcessArgv(int argc, char **argv,
NativeFileName = sys::path::stem(OutputFilename);
}
+ if (Static) {
+ if (PIE) {
+ errs() << "Cannot use PIE with static build\n";
+ exit (1);
+ }
+ Output << "-static ";
+ }
+
std::string implied_lib = getImpliedLibName(NativeFileName);
if (!implied_lib.empty())
Output << "-l" << implied_lib << " ";