mirror of
https://github.com/dashpay/dash.git
synced 2024-12-24 19:42:46 +01:00
Force rcc to use resource format version 1. (#1784)
Qt 5.8.0 introduced format version 2 for resources embedded into executable, and now rcc uses this format by default to generate them. Unfortunately, v2 format includes timestamps for embedded resource files. Some of resource files (translations) are generated automatically and have different timestamps for every build. This means that dash-qt executable is slightly different for every build because resource data contain different timestamps. As a result, it makes reproducible build extremely difficult. Fortunately, Qt 5.9.0 introduced --format-version option for rcc. This change adds configure check for whether rcc accepts this option and uses it to force rcc to generate version 1 format data. Signed-off-by: Oleg Girko <ol@infoserver.lv>
This commit is contained in:
parent
86e6f0dd23
commit
837c4fc5de
@ -203,6 +203,21 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
|
||||
BITCOIN_QT_PATH_PROGS([LRELEASE], [lrelease-qt${bitcoin_qt_got_major_vers} lrelease${bitcoin_qt_got_major_vers} lrelease], $qt_bin_path)
|
||||
BITCOIN_QT_PATH_PROGS([LUPDATE], [lupdate-qt${bitcoin_qt_got_major_vers} lupdate${bitcoin_qt_got_major_vers} lupdate],$qt_bin_path, yes)
|
||||
|
||||
BITCOIN_QT_CHECK([
|
||||
AC_CACHE_CHECK([whether $RCC accepts --format-version option],
|
||||
[ac_cv_prog_rcc_accepts_format_version],
|
||||
[ac_cv_prog_rcc_accepts_format_version=no
|
||||
echo '<!DOCTYPE RCC><RCC version="1.0"/>' > conftest.qrc
|
||||
$RCC --format-version 1 conftest.qrc >/dev/null 2>&1 && ac_cv_prog_rcc_accepts_format_version=yes
|
||||
rm -f conftest.qrc])
|
||||
if test "$ac_cv_prog_rcc_accepts_format_version" = yes; then
|
||||
RCCFLAGS="--format-version 1"
|
||||
else
|
||||
RCCFLAGS=
|
||||
fi
|
||||
AC_SUBST(RCCFLAGS)
|
||||
])
|
||||
|
||||
MOC_DEFS='-DHAVE_CONFIG_H -I$(srcdir)'
|
||||
case $host in
|
||||
*darwin*)
|
||||
|
@ -580,12 +580,12 @@ translate: qt/dashstrings.cpp $(QT_FORMS_UI) $(QT_FORMS_UI) $(BITCOIN_QT_CPP) qt
|
||||
$(QT_QRC_LOCALE_CPP): $(QT_QRC_LOCALE) $(QT_QM)
|
||||
@test -f $(RCC)
|
||||
@test -f $(@D)/$(<F) || cp -f $< $(@D)
|
||||
$(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(RCC) -name dash_locale $(@D)/$(<F) | \
|
||||
$(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(RCC) $(RCCFLAGS) -name dash_locale $(@D)/$(<F) | \
|
||||
$(SED) -e '/^\*\*.*Created:/d' -e '/^\*\*.*by:/d' > $@
|
||||
|
||||
$(QT_QRC_CPP): $(QT_QRC) $(QT_FORMS_H) $(RES_ICONS) $(RES_IMAGES) $(RES_CSS) $(RES_MOVIES) $(PROTOBUF_H)
|
||||
@test -f $(RCC)
|
||||
$(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(RCC) -name dash $< | \
|
||||
$(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(RCC) $(RCCFLAGS) -name dash $< | \
|
||||
$(SED) -e '/^\*\*.*Created:/d' -e '/^\*\*.*by:/d' > $@
|
||||
|
||||
CLEAN_QT = $(nodist_qt_libbitcoinqt_a_SOURCES) $(QT_QM) $(QT_FORMS_H) qt/*.gcda qt/*.gcno
|
||||
|
Loading…
Reference in New Issue
Block a user