Skip to content

Commit 33b5421

Browse files
committed
Add -fuse-lipo option
1 parent 815343e commit 33b5421

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

clang/include/clang/Driver/Options.td

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6654,6 +6654,7 @@ def fbinutils_version_EQ : Joined<["-"], "fbinutils-version=">,
66546654
def fuse_ld_EQ : Joined<["-"], "fuse-ld=">, Group<f_Group>,
66556655
Flags<[LinkOption]>, Visibility<[ClangOption, FlangOption, CLOption]>;
66566656
def ld_path_EQ : Joined<["--"], "ld-path=">, Group<Link_Group>;
6657+
def fuse_lipo_EQ : Joined<["-"], "fuse-lipo=">, Group<f_clang_Group>, Flags<[LinkOption]>;
66576658

66586659
defm align_labels : BooleanFFlag<"align-labels">, Group<clang_ignored_gcc_optimization_f_Group>;
66596660
def falign_labels_EQ : Joined<["-"], "falign-labels=">, Group<clang_ignored_gcc_optimization_f_Group>;

clang/lib/Driver/ToolChains/Darwin.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -910,7 +910,10 @@ void darwin::Lipo::ConstructJob(Compilation &C, const JobAction &JA,
910910
CmdArgs.push_back(II.getFilename());
911911
}
912912

913-
const char *Exec = Args.MakeArgString(getToolChain().GetProgramPath("lipo"));
913+
std::string LipoName =
914+
std::string(Args.getLastArgValue(options::OPT_fuse_lipo_EQ, "lipo"));
915+
const char *Exec =
916+
Args.MakeArgString(getToolChain().GetProgramPath(LipoName.c_str()));
914917
C.addCommand(std::make_unique<Command>(JA, *this, ResponseFileSupport::None(),
915918
Exec, CmdArgs, Inputs, Output));
916919
}

0 commit comments

Comments
 (0)