office-gobmx/onlineupdate/Executable_updater.mk
Stephan Bergmann 13595f6220 Fix --enable-online-update-mar on Windows
The code had apparently rotten a bit,

* a wchar_t vs. char16_t confusion in desktop/source/app/updater.cxx

* code broken by 926e4e469d "Rename online updater
  functions and strcmp relpath" in
  onlineupdate/source/update/updater/updater.cxx

* -DUNICODE missing in some places (so that plain Windows functions resolve to
  the ...W variant), which had been set centrally in the past IIRC

* silencing some warnings like "C4267: 'initializing': conversion from 'size_t'
  to 'int', possible loss of data" (where silencing is the right thing to do for
  effectively extern code); no sure why those apparently didn't hit in the past,
  maybe it is all warnings that compilers only started to emit in recent years,
  or only for recent -std:c++... modes

* silencing some "Conversion from string literal loses const qualifier" errors
  with -Zc:strictStrings-; these hit at least with recent VS 2022 Preview and
  --with-latest-c++, where -Zc:strictStrings is apparently now on by default

Change-Id: I7fe46f5aa2b42fc9c03f24f7f0236512b4d3b936
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160451
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2023-12-08 09:49:41 +01:00

95 lines
2.3 KiB
Makefile

# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_Executable_Executable,updater))
$(eval $(call gb_Executable_set_include,updater,\
-I$(SRCDIR)/onlineupdate/inc \
-I$(SRCDIR)/onlineupdate/source/update/common \
-I$(SRCDIR)/onlineupdate/source/update/updater/xpcom/glue \
$$(INCLUDE) \
$(if $(filter-out WNT,$(OS)),$$(GTK3_CFLAGS) ) \
))
$(eval $(call gb_Executable_use_custom_headers,updater,onlineupdate/generated))
$(eval $(call gb_Executable_use_static_libraries,updater,\
libmar \
libmarverify \
updatehelper \
$(if $(filter WNT,$(OS)), \
windows_process )\
))
$(eval $(call gb_Executable_use_externals,updater,\
bzip2 \
))
ifeq ($(OS),WNT)
$(eval $(call gb_Executable_add_libs,updater,\
Ws2_32.lib \
Gdi32.lib \
Comctl32.lib \
Shell32.lib \
Shlwapi.lib \
Crypt32.lib \
))
$(eval $(call gb_Executable_set_targettype_gui,updater,YES))
$(eval $(call gb_Executable_add_nativeres,updater,updaterres))
$(eval $(call gb_Executable_add_ldflags,updater,\
/ENTRY:wmainCRTStartup \
))
$(eval $(call gb_Executable_add_defs,updater,\
-DVERIFY_MAR_SIGNATURE \
))
else
$(eval $(call gb_Executable_add_defs,updater,\
-DVERIFY_MAR_SIGNATURE \
-DNSS3 \
))
$(eval $(call gb_Executable_use_externals,updater,\
nss3 \
))
$(eval $(call gb_Executable_add_libs,updater,\
$(GTK3_LIBS) \
))
endif
$(eval $(call gb_Executable_add_exception_objects,updater,\
onlineupdate/source/update/updater/xpcom/glue/nsVersionComparator \
onlineupdate/source/update/updater/archivereader \
onlineupdate/source/update/updater/bspatch \
onlineupdate/source/update/updater/progressui_gtk \
onlineupdate/source/update/updater/updater \
$(if $(filter WNT,$(OS)),\
onlineupdate/source/update/updater/loaddlls \
onlineupdate/source/update/updater/progressui_win \
onlineupdate/source/update/updater/win_dirent )\
))
$(eval $(call gb_Executable_set_warnings_not_errors,updater))
ifeq ($(OS),WNT)
$(eval $(call gb_Executable_add_cxxflags,updater,-Zc:strictStrings-))
$(eval $(call gb_Executable_add_defs,updater,-DUNICODE))
endif
# vim:set shiftwidth=4 tabstop=4 noexpandtab: */