Prevent file collisions between multiple installed SLOTs. - Don't install wxwin.m4. It is installed with app-admin/eselect-wxwidgets. - Version the bakefile preset filenames. Unversioned symlinks to these files are handled by eselect. - Version wx-config and wxrc. Unversioned wrapper scripts are installed with eselect-wxwidgets. - Version wxstd.mo and modify AddCatalog to find it. (this might need more work but no one has complained yet) --- a/Makefile.in +++ b/Makefile.in @@ -11695,10 +11695,9 @@ COND_wxUSE_REGEX_builtin___LIB_REGEX_p = \ all: $(__wxregex___depname) $(__wxzlib___depname) $(__wxpng___depname) $(__wxjpeg___depname) $(__wxtiff___depname) $(__wxodbc___depname) $(__wxexpat___depname) $(__monodll___depname) $(__monolib___depname) $(__basedll___depname) $(__baselib___depname) $(__netdll___depname) $(__netlib___depname) $(__coredll___depname) $(__corelib___depname) $(__advdll___depname) $(__advlib___depname) $(__mediadll___depname) $(__medialib___depname) $(__odbcdll___depname) $(__odbclib___depname) $(__dbgriddll___depname) $(__dbgridlib___depname) $(__htmldll___depname) $(__htmllib___depname) $(__qadll___depname) $(__qalib___depname) $(__xmldll___depname) $(__xmllib___depname) $(__xrcdll___depname) $(__xrclib___depname) $(__auidll___depname) $(__auilib___depname) $(__richtextdll___depname) $(__richtextlib___depname) $(__gldll___depname) $(__gllib___depname) $(__sound_sdl___depname) $(__wxrc___depname) $(__cocoa_res___depname) install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__install_wxpng___depname) $(__install_wxjpeg___depname) $(__install_wxtiff___depname) $(__install_wxodbc___depname) $(__install_wxexpat___depname) $(__install_monodll___depname) $(__install_monolib___depname) $(__install_basedll___depname) $(__install_baselib___depname) $(__install_netdll___depname) $(__install_netlib___depname) $(__install_coredll___depname) $(__install_corelib___depname) $(__install_advdll___depname) $(__install_advlib___depname) $(__install_mediadll___depname) $(__install_medialib___depname) $(__install_odbcdll___depname) $(__install_odbclib___depname) $(__install_dbgriddll___depname) $(__install_dbgridlib___depname) $(__install_htmldll___depname) $(__install_htmllib___depname) $(__install_qadll___depname) $(__install_qalib___depname) $(__install_xmldll___depname) $(__install_xmllib___depname) $(__install_xrcdll___depname) $(__install_xrclib___depname) $(__install_auidll___depname) $(__install_auilib___depname) $(__install_richtextdll___depname) $(__install_richtextlib___depname) $(__install_gldll___depname) $(__install_gllib___depname) $(__install_sound_sdl___depname) $(__install_wxrc___depname) install-wxconfig locale_install locale_msw_install $(__cocoa_res_install___depname) - $(INSTALL_DIR) $(DESTDIR)$(datadir)/aclocal - (cd $(srcdir) ; $(INSTALL_DATA) wxwin.m4 $(DESTDIR)$(datadir)/aclocal) $(INSTALL_DIR) $(DESTDIR)$(datadir)/bakefile/presets - (cd $(srcdir)/build/bakefiles/wxpresets/presets ; $(INSTALL_DATA) wx.bkl wx_unix.bkl wx_win32.bkl $(DESTDIR)$(datadir)/bakefile/presets) + (cd $(srcdir)/build/bakefiles/wxpresets/presets/ ; for i in wx.bkl wx_unix.bkl wx_win32.bkl; do \ + $(INSTALL_DATA) $$i $(DESTDIR)$(datadir)/bakefile/presets/wx$(WX_RELEASE_NODOT)$${i##wx} ; done) $(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/include/$(TOOLCHAIN_FULLNAME)/wx for f in setup.h $(RCDEFS_H); do \ if test ! -d $(DESTDIR)$(libdir)/wx/include/$(TOOLCHAIN_FULLNAME)/wx/`dirname $$f` ; then \ @@ -12455,7 +12454,8 @@ install-wxconfig: $(INSTALL_DIR) $(DESTDIR)$(bindir) $(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/config $(INSTALL_PROGRAM) lib/wx/config/$(TOOLCHAIN_FULLNAME) $(DESTDIR)$(libdir)/wx/config - (cd $(DESTDIR)$(bindir) && rm -f wx-config && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config) + (cd $(DESTDIR)$(bindir) && rm -f wx-config-$(WX_RELEASE) \ + && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE)) locale_install: $(INSTALL_DIR) $(DESTDIR)$(datadir)/locale @@ -12463,7 +12463,7 @@ locale_install: $(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \ $(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \ if test -f $(srcdir)/locale/$$l.mo ; then \ - $(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd.mo ; \ + $(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd$(WX_RELEASE_NODOT).mo ; \ fi ; \ done --- a/src/common/intl.cpp +++ b/src/common/intl.cpp @@ -1529,6 +1529,8 @@ void wxLocale::DoCommonInit() m_initialized = false; } +#define wxSTRINGIZE2(x) wxSTRINGIZE(x) + // NB: this function has (desired) side effect of changing current locale bool wxLocale::Init(const wxChar *szName, const wxChar *szShort, @@ -1597,7 +1599,7 @@ bool wxLocale::Init(const wxChar *szName, bool bOk = true; if ( bLoadDefault ) { - bOk = AddCatalog(wxT("wxstd")); + bOk = AddCatalog(wxT("wxstd" wxSTRINGIZE2(wxMAJOR_VERSION) wxSTRINGIZE2(wxMINOR_VERSION))); // there may be a catalog with toolkit specific overrides, it is not // an error if this does not exist --- a/utils/wxrc/Makefile.in +++ b/utils/wxrc/Makefile.in @@ -120,7 +120,6 @@ distclean: clean @COND_USE_XRC_1@ rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE) @COND_USE_XRC_1@ $(INSTALL_PROGRAM) wxrc$(EXEEXT) $(DESTDIR)$(bindir) @COND_USE_XRC_1@ mv -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE) -@COND_USE_XRC_1@ (cd $(DESTDIR)$(bindir) && $(LN_S) wxrc-$(WX_RELEASE) wxrc$(EXEEXT)) @COND_USE_XRC_1@uninstall_wxrc: @COND_USE_XRC_1@ rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT)