From f4c68d3ad80734e15d093eeee211519e97e2a8ec Mon Sep 17 00:00:00 2001 From: Markus Mohrhard Date: Wed, 8 Jun 2016 12:14:30 +0200 Subject: [PATCH] use a dynamic library for minidump shared code This has the disadvantage to make the minidump_upload executable depend on LibreOffice libraries but there seems to be no other way to make the 7.1 SDK happy. Change-Id: I82c37f503ed29cb50711eae7db22063f49747a48 Reviewed-on: https://gerrit.libreoffice.org/26055 Tested-by: Jenkins Reviewed-by: Markus Mohrhard (cherry picked from commit 3498cd3e7b2c820fc3f3025eb4434666a444fda1) Reviewed-on: https://gerrit.libreoffice.org/26915 Reviewed-by: Christian Lohmaier --- desktop/Executable_minidump_upload.mk | 5 +++-- desktop/Library_crashreport.mk | 6 +++++- desktop/Module_desktop.mk | 2 +- desktop/source/minidump/minidump.cxx | 5 +++++ desktop/source/minidump/minidump_upload.cxx | 3 ++- include/desktop/minidump.hxx | 8 +++++++- svx/Library_svx.mk | 8 -------- svx/source/dialog/crashreportdlg.cxx | 2 +- 8 files changed, 24 insertions(+), 15 deletions(-) diff --git a/desktop/Executable_minidump_upload.mk b/desktop/Executable_minidump_upload.mk index 2c0202371a63..959d4af8c7c1 100644 --- a/desktop/Executable_minidump_upload.mk +++ b/desktop/Executable_minidump_upload.mk @@ -10,11 +10,12 @@ $(eval $(call gb_Executable_Executable,minidump_upload)) $(eval $(call gb_Executable_use_libraries,minidump_upload,\ + crashreport \ sal \ )) -$(eval $(call gb_Executable_use_static_libraries,minidump_upload,\ - minidump \ +$(eval $(call gb_Executable_add_defs,minidump_upload,\ + -DUNICODE \ )) $(eval $(call gb_Executable_use_external,minidump_upload,curl)) diff --git a/desktop/Library_crashreport.mk b/desktop/Library_crashreport.mk index 5b14519dd6f3..ba2f3483a416 100644 --- a/desktop/Library_crashreport.mk +++ b/desktop/Library_crashreport.mk @@ -14,7 +14,10 @@ $(eval $(call gb_Library_set_include,crashreport,\ -I$(SRCDIR)/desktop/inc \ )) -$(eval $(call gb_Library_use_external,crashreport,breakpad)) +$(eval $(call gb_Library_use_externals,crashreport,\ + breakpad \ +curl \ +)) $(eval $(call gb_Library_add_defs,crashreport,\ -DCRASHREPORT_DLLIMPLEMENTATION \ @@ -38,6 +41,7 @@ $(eval $(call gb_Library_use_libraries,crashreport,\ $(eval $(call gb_Library_add_exception_objects,crashreport,\ desktop/source/app/crashreport \ + desktop/source/minidump/minidump \ )) diff --git a/desktop/Module_desktop.mk b/desktop/Module_desktop.mk index 22d3647c1386..e52c1b53d612 100644 --- a/desktop/Module_desktop.mk +++ b/desktop/Module_desktop.mk @@ -19,7 +19,7 @@ $(eval $(call gb_Module_add_targets,desktop,\ Library_sofficeapp \ $(if $(ENABLE_BREAKPAD), \ Library_crashreport \ - StaticLibrary_minidump) \ + ) \ $(if $(ENABLE_HEADLESS),,Library_spl) \ Package_branding \ $(if $(CUSTOM_BRAND_DIR),Package_branding_custom) \ diff --git a/desktop/source/minidump/minidump.cxx b/desktop/source/minidump/minidump.cxx index 135b24a78435..e44fc4ccfb2f 100644 --- a/desktop/source/minidump/minidump.cxx +++ b/desktop/source/minidump/minidump.cxx @@ -13,6 +13,7 @@ #include #include #include +#include #include @@ -178,6 +179,8 @@ bool uploadContent(std::map& parameters, std::string& return true; } +namespace crashreport { + bool readConfig(const std::string& iniPath, std::string& response) { std::ifstream file(iniPath); @@ -199,4 +202,6 @@ bool readConfig(const std::string& iniPath, std::string& response) return uploadContent(parameters, response); } +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/desktop/source/minidump/minidump_upload.cxx b/desktop/source/minidump/minidump_upload.cxx index 934f1add7268..ded2f1df0a43 100644 --- a/desktop/source/minidump/minidump_upload.cxx +++ b/desktop/source/minidump/minidump_upload.cxx @@ -10,6 +10,7 @@ #include #include +#include int main(int argc, char** argv) { @@ -21,7 +22,7 @@ int main(int argc, char** argv) std::string iniPath(argv[1]); std::string response; - if (!readConfig(iniPath, response)) + if (!crashreport::readConfig(iniPath, response)) return EXIT_FAILURE; std::cout << "Response: " << response << std::endl; diff --git a/include/desktop/minidump.hxx b/include/desktop/minidump.hxx index bdd91b26dce9..63336cae5595 100644 --- a/include/desktop/minidump.hxx +++ b/include/desktop/minidump.hxx @@ -12,7 +12,13 @@ #include -bool readConfig(const std::string& iniPath, std::string& response); +#include + +namespace crashreport { + +CRASHREPORT_DLLPUBLIC bool readConfig(const std::string& iniPath, std::string& response); + +} #endif diff --git a/svx/Library_svx.mk b/svx/Library_svx.mk index 2233de44eb35..359e231fd6f7 100644 --- a/svx/Library_svx.mk +++ b/svx/Library_svx.mk @@ -40,14 +40,6 @@ $(eval $(call gb_Library_add_defs,svx,\ $(eval $(call gb_Library_set_precompiled_header,svx,$(SRCDIR)/svx/inc/pch/precompiled_svx)) -ifeq ($(ENABLE_BREAKPAD),TRUE) - -$(eval $(call gb_Library_use_static_libraries,svx, \ - minidump \ -)) - -endif - $(eval $(call gb_Library_use_libraries,svx,\ basegfx \ sb \ diff --git a/svx/source/dialog/crashreportdlg.cxx b/svx/source/dialog/crashreportdlg.cxx index b2aff8ee23d4..3d6b61acb7d9 100644 --- a/svx/source/dialog/crashreportdlg.cxx +++ b/svx/source/dialog/crashreportdlg.cxx @@ -60,7 +60,7 @@ IMPL_LINK_TYPED(CrashReportDialog, BtnHdl, Button*, pBtn, void) std::string ini_path = CrashReporter::getIniFileName(); std::string response; - bool bSuccess = readConfig(ini_path, response); + bool bSuccess = crashreport::readConfig(ini_path, response); OUString aCrashID = OUString::createFromAscii(response.c_str());