From 410bc428302ed3bd74f06eedf5f05a135970f003 Mon Sep 17 00:00:00 2001 From: Ivan Pelipenko Date: Mon, 7 Sep 2020 10:40:52 +0300 Subject: [PATCH] deploy_tool strip support --- utils/deploy_tool/main.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/utils/deploy_tool/main.cpp b/utils/deploy_tool/main.cpp index 45455398..602c9a1a 100644 --- a/utils/deploy_tool/main.cpp +++ b/utils/deploy_tool/main.cpp @@ -84,6 +84,7 @@ void usage() { piCout << "-D " << Green << "- \"dpkg\" path, default \"/usr/bin/dpkg\""; piCout << "--dpkg-workdir " << Green << "- dpkg \"admindir\" path, default \"\""; piCout << "--name-tool " << Green << "- \"install_name_tool\" path, default \"install_name_tool\""; + piCout << "--strip " << Green << "- \"strip\" path, default \"strip\""; piCout << "-d " << Green << "- maximum dependepcies depth, default 8"; piCout << ""; piCout << Bold << "Qt control"; @@ -127,7 +128,7 @@ QtDep qt_deps[] = { int depth = 8; bool fake = false, is_ldd = true, is_deps = false, need_qt = false; -PIString ldd, readelf, objdump, otool, dpkg, nametool, out_dir, qt_dir, out_plugins_dir, dpkg_workdir; +PIString ldd, readelf, objdump, otool, dpkg, nametool, strip, out_dir, qt_dir, out_plugins_dir, dpkg_workdir; PIStringList styles, lib_dirs, add_libs, platforms, sqldrivers, input_files, plugin_libs; PISet all_libs, miss_libs, all_deps, frameworks, framework_libs, miss_frameworks, qt_plugins, ignore_libs; PIMap qt_filters; @@ -488,6 +489,7 @@ int main(int argc, char * argv[]) { cli.addArgument("Wobjdump", true); cli.addArgument("Motool", true); cli.addArgument("name-tool", PIChar('\0'), true); + cli.addArgument("strip", PIChar('\0'), true); cli.addArgument("Dpkg", true); cli.addArgument("dpkg-workdir", PIChar('\0'), true); cli.addArgument("depth", true); @@ -512,8 +514,11 @@ int main(int argc, char * argv[]) { objdump = cli.argumentValue("Wobjdump"); otool = cli.argumentValue("Motool"); nametool = cli.argumentValue("name-tool"); + strip = cli.argumentValue("strip"); if (nametool.isEmpty()) nametool = "install_name_tool"; + if (strip.isEmpty()) + strip = "strip"; dpkg = cli.argumentValue("Dpkg"); dpkg_workdir = cli.argumentValue("dpkg-workdir"); #ifdef WINDOWS @@ -628,6 +633,8 @@ int main(int argc, char * argv[]) { #endif PIVector clibs = all_libs.toVector(); piForeach (PIString l, clibs) { + PIFile::FileInfo fi; + fi.path = l; #ifdef WINDOWS l.replaceAll("/", "\\"); #endif @@ -636,8 +643,10 @@ int main(int argc, char * argv[]) { need_cp = !procDpkg(l); if (need_cp) { piCout << "copy" << l; - if (!fake) + if (!fake) { system(cmd_copy + "\"" + l + "\" \"" + out_dir + "\"" + cmd_suffix); + system(strip + " -s \"" + out_dir + fi.name() + "\""); + } } } PIVector fwdirs = frameworks.toVector();