aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMikhail Glushenkov <foldr@codedgers.com>2009-12-01 05:59:55 +0000
committerMikhail Glushenkov <foldr@codedgers.com>2009-12-01 05:59:55 +0000
commit18518603f1acc26768eba40c53bcfc0e2fa85fec (patch)
treec929e34d3760cbd0809c81f3c7a91c8485670af8
parenta9256d07804ea35b27ef74899de5933993e3781f (diff)
downloadexternal_llvm-18518603f1acc26768eba40c53bcfc0e2fa85fec.zip
external_llvm-18518603f1acc26768eba40c53bcfc0e2fa85fec.tar.gz
external_llvm-18518603f1acc26768eba40c53bcfc0e2fa85fec.tar.bz2
Support -[weak_]framework and -F in llvmc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90210 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--docs/CommandGuide/llvmc.pod25
-rw-r--r--tools/llvmc/plugins/Base/Base.td.in10
2 files changed, 28 insertions, 7 deletions
diff --git a/docs/CommandGuide/llvmc.pod b/docs/CommandGuide/llvmc.pod
index e3031e1..e5e0651 100644
--- a/docs/CommandGuide/llvmc.pod
+++ b/docs/CommandGuide/llvmc.pod
@@ -126,24 +126,31 @@ use the B<-Wo,> option.
=item B<-I> I<directory>
-Add a directory to the header file search path. This option can be
-repeated.
+Add a directory to the header file search path.
=item B<-L> I<directory>
-Add I<directory> to the library search path. This option can be
-repeated.
+Add I<directory> to the library search path.
+
+=item B<-F> I<directory>
+
+Add I<directory> to the framework search path.
=item B<-l>I<name>
Link in the library libI<name>.[bc | a | so]. This library should
be a bitcode library.
+=item B<-framework> I<name>
+
+Link in the library libI<name>.[bc | a | so]. This library should
+be a bitcode library.
+
=item B<-emit-llvm>
-Make the output be LLVM bitcode (with B<-c>) or assembly (with B<-S>) instead
-of native object (or assembly). If B<-emit-llvm> is given without either B<-c>
-or B<-S> it has no effect.
+Output LLVM bitcode (with B<-c>) or assembly (with B<-S>) instead of native
+object (or assembly). If B<-emit-llvm> is given without either B<-c> or B<-S>
+it has no effect.
=item B<-Wa>
@@ -157,6 +164,10 @@ Pass options to linker.
Pass options to opt.
+=item B<-Wllc>
+
+Pass options to llc (code generator).
+
=back
=head1 EXIT STATUS
diff --git a/tools/llvmc/plugins/Base/Base.td.in b/tools/llvmc/plugins/Base/Base.td.in
index c26a567..0f481e2 100644
--- a/tools/llvmc/plugins/Base/Base.td.in
+++ b/tools/llvmc/plugins/Base/Base.td.in
@@ -47,6 +47,12 @@ def OptList : OptionList<[
(hidden)),
(parameter_list_option "include",
(help "Include the named file prior to preprocessing")),
+ (parameter_list_option "framework",
+ (help "Specifies a framework to link against")),
+ (parameter_list_option "weak_framework",
+ (help "Specifies a framework to weakly link against"), (hidden)),
+ (prefix_list_option "F",
+ (help "Add a directory to framework search path")),
(prefix_list_option "I",
(help "Add a directory to include path")),
(prefix_list_option "D",
@@ -106,6 +112,7 @@ class llvm_gcc_based <string cmd_prefix, string in_lang, string E_ext> : Tool<
(switch_on "fsyntax-only"), (stop_compilation),
(not_empty "include"), (forward "include"),
(not_empty "I"), (forward "I"),
+ (not_empty "F"), (forward "F"),
(not_empty "D"), (forward "D"),
(switch_on "O1"), (forward "O1"),
(switch_on "O2"), (forward "O2"),
@@ -175,6 +182,9 @@ class llvm_gcc_based_linker <string cmd_prefix> : Tool<
(actions (case
(switch_on "pthread"), (append_cmd "-lpthread"),
(not_empty "L"), (forward "L"),
+ (not_empty "F"), (forward "F"),
+ (not_empty "framework"), (forward "framework"),
+ (not_empty "weak_framework"), (forward "weak_framework"),
(not_empty "l"), (forward "l"),
(not_empty "Wl,"), (forward "Wl,")))
]>;