aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCory Fields <cory-nospam-@coryfields.com>2014-06-10 15:43:02 -0400
committerCory Fields <cory-nospam-@coryfields.com>2014-06-10 15:53:21 -0400
commit38e324af8693eb0c3d4bf22df9cbb73667f195ce (patch)
tree80073ad077da4771178fa276a79b358507d0c4bc
parent3d7399cb171c2468b81a9179cb04358c56b4c7c4 (diff)
build: qt: split locale resources. Fixes non-deterministic distcheck
The rcc tool is quirky and only honors files in the same directory as the qrc. When doing an out-of-tree build (as 'make distcheck' does), the generated translation files end up in a different path, so rcc can't find them. Split them up so that rcc is run twice: once for static source files and once for generated files.
-rw-r--r--src/Makefile.qt.include18
-rw-r--r--src/qt/bitcoin.cpp1
-rw-r--r--src/qt/bitcoin.qrc73
-rw-r--r--src/qt/bitcoin_locale.qrc75
4 files changed, 89 insertions, 78 deletions
diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include
index 749b976c44..72c7486258 100644
--- a/src/Makefile.qt.include
+++ b/src/Makefile.qt.include
@@ -152,6 +152,8 @@ QT_MOC = \
QT_QRC_CPP = qt/qrc_bitcoin.cpp
QT_QRC = qt/bitcoin.qrc
+QT_QRC_LOCALE_CPP = qt/qrc_bitcoin_locale.cpp
+QT_QRC_LOCALE = qt/bitcoin_locale.qrc
PROTOBUF_CC = qt/paymentrequest.pb.cc
PROTOBUF_H = qt/paymentrequest.pb.h
@@ -321,10 +323,10 @@ qt_libbitcoinqt_a_CPPFLAGS = $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \
$(QT_INCLUDES) $(QT_DBUS_INCLUDES) $(PROTOBUF_CFLAGS) $(QR_CFLAGS)
qt_libbitcoinqt_a_SOURCES = $(BITCOIN_QT_CPP) $(BITCOIN_QT_H) $(QT_FORMS_UI) \
- $(QT_QRC) $(QT_TS) $(PROTOBUF_PROTO) $(RES_ICONS) $(RES_IMAGES) $(RES_MOVIES)
+ $(QT_QRC) $(QT_QRC_LOCALE) $(QT_TS) $(PROTOBUF_PROTO) $(RES_ICONS) $(RES_IMAGES) $(RES_MOVIES)
nodist_qt_libbitcoinqt_a_SOURCES = $(QT_MOC_CPP) $(QT_MOC) $(PROTOBUF_CC) \
- $(PROTOBUF_H) $(QT_QRC_CPP)
+ $(PROTOBUF_H) $(QT_QRC_CPP) $(QT_QRC_LOCALE_CPP)
# forms/foo.h -> forms/ui_foo.h
QT_FORMS_H=$(join $(dir $(QT_FORMS_UI)),$(addprefix ui_, $(notdir $(QT_FORMS_UI:.ui=.h))))
@@ -371,10 +373,16 @@ translate: qt/bitcoinstrings.cpp $(QT_FORMS_UI) $(QT_FORMS_UI) $(BITCOIN_QT_CPP)
@test -n $(LUPDATE) || echo "lupdate is required for updating translations"
$(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(LUPDATE) $^ -locations relative -no-obsolete -ts qt/locale/bitcoin_en.ts
-$(QT_QRC_CPP): $(QT_QRC) $(QT_QM) $(QT_FORMS_H) $(RES_ICONS) $(RES_IMAGES) $(RES_MOVIES) $(PROTOBUF_H)
+$(QT_QRC_LOCALE_CPP): $(QT_QRC_LOCALE) $(QT_QM)
@test -f $(RCC)
- $(AM_V_GEN) cd $(srcdir); QT_SELECT=$(QT_SELECT) $(RCC) -name bitcoin $< | \
- $(SED) -e '/^\*\*.*Created:/d' -e '/^\*\*.*by:/d' > $(abs_builddir)/$@
+ @test -f $(@D)/$(<F) || cp -f $< $(@D)
+ $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(RCC) -name bitcoin_locale $(@D)/$(<F) | \
+ $(SED) -e '/^\*\*.*Created:/d' -e '/^\*\*.*by:/d' > $@
+
+$(QT_QRC_CPP): $(QT_QRC) $(QT_FORMS_H) $(RES_ICONS) $(RES_IMAGES) $(RES_MOVIES) $(PROTOBUF_H)
+ @test -f $(RCC)
+ $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(RCC) -name bitcoin $< | \
+ $(SED) -e '/^\*\*.*Created:/d' -e '/^\*\*.*by:/d' > $@
CLEAN_QT = $(nodist_qt_libbitcoinqt_a_SOURCES) $(QT_QM) $(QT_FORMS_H) qt/*.gcda qt/*.gcno
diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp
index 45d7a52889..2be8191eb5 100644
--- a/src/qt/bitcoin.cpp
+++ b/src/qt/bitcoin.cpp
@@ -475,6 +475,7 @@ int main(int argc, char *argv[])
#endif
Q_INIT_RESOURCE(bitcoin);
+ Q_INIT_RESOURCE(bitcoin_locale);
BitcoinApplication app(argc, argv);
#if QT_VERSION > 0x050100
// Generate high-dpi pixmaps
diff --git a/src/qt/bitcoin.qrc b/src/qt/bitcoin.qrc
index e1c739b022..f38200c7f7 100644
--- a/src/qt/bitcoin.qrc
+++ b/src/qt/bitcoin.qrc
@@ -84,77 +84,4 @@
<file alias="spinner-033">res/movies/spinner-033.png</file>
<file alias="spinner-034">res/movies/spinner-034.png</file>
</qresource>
- <qresource prefix="/translations">
- <file alias="ach">locale/bitcoin_ach.qm</file>
- <file alias="af_ZA">locale/bitcoin_af_ZA.qm</file>
- <file alias="ar">locale/bitcoin_ar.qm</file>
- <file alias="be_BY">locale/bitcoin_be_BY.qm</file>
- <file alias="bg">locale/bitcoin_bg.qm</file>
- <file alias="bs">locale/bitcoin_bs.qm</file>
- <file alias="ca_ES">locale/bitcoin_ca_ES.qm</file>
- <file alias="ca">locale/bitcoin_ca.qm</file>
- <file alias="ca@valencia">locale/bitcoin_ca@valencia.qm</file>
- <file alias="cmn">locale/bitcoin_cmn.qm</file>
- <file alias="cs">locale/bitcoin_cs.qm</file>
- <file alias="cy">locale/bitcoin_cy.qm</file>
- <file alias="da">locale/bitcoin_da.qm</file>
- <file alias="de">locale/bitcoin_de.qm</file>
- <file alias="el_GR">locale/bitcoin_el_GR.qm</file>
- <file alias="en">locale/bitcoin_en.qm</file>
- <file alias="eo">locale/bitcoin_eo.qm</file>
- <file alias="es_CL">locale/bitcoin_es_CL.qm</file>
- <file alias="es_DO">locale/bitcoin_es_DO.qm</file>
- <file alias="es_MX">locale/bitcoin_es_MX.qm</file>
- <file alias="es">locale/bitcoin_es.qm</file>
- <file alias="es_UY">locale/bitcoin_es_UY.qm</file>
- <file alias="et">locale/bitcoin_et.qm</file>
- <file alias="eu_ES">locale/bitcoin_eu_ES.qm</file>
- <file alias="fa_IR">locale/bitcoin_fa_IR.qm</file>
- <file alias="fa">locale/bitcoin_fa.qm</file>
- <file alias="fi">locale/bitcoin_fi.qm</file>
- <file alias="fr_CA">locale/bitcoin_fr_CA.qm</file>
- <file alias="fr">locale/bitcoin_fr.qm</file>
- <file alias="gl">locale/bitcoin_gl.qm</file>
- <file alias="gu_IN">locale/bitcoin_gu_IN.qm</file>
- <file alias="he">locale/bitcoin_he.qm</file>
- <file alias="hi_IN">locale/bitcoin_hi_IN.qm</file>
- <file alias="hr">locale/bitcoin_hr.qm</file>
- <file alias="hu">locale/bitcoin_hu.qm</file>
- <file alias="id_ID">locale/bitcoin_id_ID.qm</file>
- <file alias="it">locale/bitcoin_it.qm</file>
- <file alias="ja">locale/bitcoin_ja.qm</file>
- <file alias="ka">locale/bitcoin_ka.qm</file>
- <file alias="kk_KZ">locale/bitcoin_kk_KZ.qm</file>
- <file alias="ko_KR">locale/bitcoin_ko_KR.qm</file>
- <file alias="ky">locale/bitcoin_ky.qm</file>
- <file alias="la">locale/bitcoin_la.qm</file>
- <file alias="lt">locale/bitcoin_lt.qm</file>
- <file alias="lv_LV">locale/bitcoin_lv_LV.qm</file>
- <file alias="mn">locale/bitcoin_mn.qm</file>
- <file alias="ms_MY">locale/bitcoin_ms_MY.qm</file>
- <file alias="nb">locale/bitcoin_nb.qm</file>
- <file alias="nl">locale/bitcoin_nl.qm</file>
- <file alias="pam">locale/bitcoin_pam.qm</file>
- <file alias="pl">locale/bitcoin_pl.qm</file>
- <file alias="pt_BR">locale/bitcoin_pt_BR.qm</file>
- <file alias="pt_PT">locale/bitcoin_pt_PT.qm</file>
- <file alias="ro_RO">locale/bitcoin_ro_RO.qm</file>
- <file alias="ru">locale/bitcoin_ru.qm</file>
- <file alias="sah">locale/bitcoin_sah.qm</file>
- <file alias="sk">locale/bitcoin_sk.qm</file>
- <file alias="sl_SI">locale/bitcoin_sl_SI.qm</file>
- <file alias="sq">locale/bitcoin_sq.qm</file>
- <file alias="sr">locale/bitcoin_sr.qm</file>
- <file alias="sv">locale/bitcoin_sv.qm</file>
- <file alias="th_TH">locale/bitcoin_th_TH.qm</file>
- <file alias="tr">locale/bitcoin_tr.qm</file>
- <file alias="uk">locale/bitcoin_uk.qm</file>
- <file alias="ur_PK">locale/bitcoin_ur_PK.qm</file>
- <file alias="uz@Cyrl">locale/bitcoin_uz@Cyrl.qm</file>
- <file alias="vi">locale/bitcoin_vi.qm</file>
- <file alias="vi_VN">locale/bitcoin_vi_VN.qm</file>
- <file alias="zh_CN">locale/bitcoin_zh_CN.qm</file>
- <file alias="zh_HK">locale/bitcoin_zh_HK.qm</file>
- <file alias="zh_TW">locale/bitcoin_zh_TW.qm</file>
- </qresource>
</RCC>
diff --git a/src/qt/bitcoin_locale.qrc b/src/qt/bitcoin_locale.qrc
new file mode 100644
index 0000000000..b70a107397
--- /dev/null
+++ b/src/qt/bitcoin_locale.qrc
@@ -0,0 +1,75 @@
+<!DOCTYPE RCC><RCC version="1.0">
+ <qresource prefix="/translations">
+ <file alias="ach">locale/bitcoin_ach.qm</file>
+ <file alias="af_ZA">locale/bitcoin_af_ZA.qm</file>
+ <file alias="ar">locale/bitcoin_ar.qm</file>
+ <file alias="be_BY">locale/bitcoin_be_BY.qm</file>
+ <file alias="bg">locale/bitcoin_bg.qm</file>
+ <file alias="bs">locale/bitcoin_bs.qm</file>
+ <file alias="ca_ES">locale/bitcoin_ca_ES.qm</file>
+ <file alias="ca">locale/bitcoin_ca.qm</file>
+ <file alias="ca@valencia">locale/bitcoin_ca@valencia.qm</file>
+ <file alias="cmn">locale/bitcoin_cmn.qm</file>
+ <file alias="cs">locale/bitcoin_cs.qm</file>
+ <file alias="cy">locale/bitcoin_cy.qm</file>
+ <file alias="da">locale/bitcoin_da.qm</file>
+ <file alias="de">locale/bitcoin_de.qm</file>
+ <file alias="el_GR">locale/bitcoin_el_GR.qm</file>
+ <file alias="en">locale/bitcoin_en.qm</file>
+ <file alias="eo">locale/bitcoin_eo.qm</file>
+ <file alias="es_CL">locale/bitcoin_es_CL.qm</file>
+ <file alias="es_DO">locale/bitcoin_es_DO.qm</file>
+ <file alias="es_MX">locale/bitcoin_es_MX.qm</file>
+ <file alias="es">locale/bitcoin_es.qm</file>
+ <file alias="es_UY">locale/bitcoin_es_UY.qm</file>
+ <file alias="et">locale/bitcoin_et.qm</file>
+ <file alias="eu_ES">locale/bitcoin_eu_ES.qm</file>
+ <file alias="fa_IR">locale/bitcoin_fa_IR.qm</file>
+ <file alias="fa">locale/bitcoin_fa.qm</file>
+ <file alias="fi">locale/bitcoin_fi.qm</file>
+ <file alias="fr_CA">locale/bitcoin_fr_CA.qm</file>
+ <file alias="fr">locale/bitcoin_fr.qm</file>
+ <file alias="gl">locale/bitcoin_gl.qm</file>
+ <file alias="gu_IN">locale/bitcoin_gu_IN.qm</file>
+ <file alias="he">locale/bitcoin_he.qm</file>
+ <file alias="hi_IN">locale/bitcoin_hi_IN.qm</file>
+ <file alias="hr">locale/bitcoin_hr.qm</file>
+ <file alias="hu">locale/bitcoin_hu.qm</file>
+ <file alias="id_ID">locale/bitcoin_id_ID.qm</file>
+ <file alias="it">locale/bitcoin_it.qm</file>
+ <file alias="ja">locale/bitcoin_ja.qm</file>
+ <file alias="ka">locale/bitcoin_ka.qm</file>
+ <file alias="kk_KZ">locale/bitcoin_kk_KZ.qm</file>
+ <file alias="ko_KR">locale/bitcoin_ko_KR.qm</file>
+ <file alias="ky">locale/bitcoin_ky.qm</file>
+ <file alias="la">locale/bitcoin_la.qm</file>
+ <file alias="lt">locale/bitcoin_lt.qm</file>
+ <file alias="lv_LV">locale/bitcoin_lv_LV.qm</file>
+ <file alias="mn">locale/bitcoin_mn.qm</file>
+ <file alias="ms_MY">locale/bitcoin_ms_MY.qm</file>
+ <file alias="nb">locale/bitcoin_nb.qm</file>
+ <file alias="nl">locale/bitcoin_nl.qm</file>
+ <file alias="pam">locale/bitcoin_pam.qm</file>
+ <file alias="pl">locale/bitcoin_pl.qm</file>
+ <file alias="pt_BR">locale/bitcoin_pt_BR.qm</file>
+ <file alias="pt_PT">locale/bitcoin_pt_PT.qm</file>
+ <file alias="ro_RO">locale/bitcoin_ro_RO.qm</file>
+ <file alias="ru">locale/bitcoin_ru.qm</file>
+ <file alias="sah">locale/bitcoin_sah.qm</file>
+ <file alias="sk">locale/bitcoin_sk.qm</file>
+ <file alias="sl_SI">locale/bitcoin_sl_SI.qm</file>
+ <file alias="sq">locale/bitcoin_sq.qm</file>
+ <file alias="sr">locale/bitcoin_sr.qm</file>
+ <file alias="sv">locale/bitcoin_sv.qm</file>
+ <file alias="th_TH">locale/bitcoin_th_TH.qm</file>
+ <file alias="tr">locale/bitcoin_tr.qm</file>
+ <file alias="uk">locale/bitcoin_uk.qm</file>
+ <file alias="ur_PK">locale/bitcoin_ur_PK.qm</file>
+ <file alias="uz@Cyrl">locale/bitcoin_uz@Cyrl.qm</file>
+ <file alias="vi">locale/bitcoin_vi.qm</file>
+ <file alias="vi_VN">locale/bitcoin_vi_VN.qm</file>
+ <file alias="zh_CN">locale/bitcoin_zh_CN.qm</file>
+ <file alias="zh_HK">locale/bitcoin_zh_HK.qm</file>
+ <file alias="zh_TW">locale/bitcoin_zh_TW.qm</file>
+ </qresource>
+</RCC>