ded4da5ce5
Change "make install" to install catalog files with version suffix and modify the sources to look for suffixed catalog first, while still falling back to just the base name if the variant with the version is not found, because the message catalogs are copied manually in practice under MSW/macOS systems and so won't have the version suffix there. This allows to make message catalogs installed by different wxWidgets versions to coexist on the same system, see https://groups.google.com/g/wx-users/c/L9gC8UgrO6Y Closes https://github.com/wxWidgets/wxWidgets/pull/2219 Co-Authored-By: Vadim Zeitlin <vadim@wxwidgets.org>
239 lines
8.0 KiB
XML
239 lines
8.0 KiB
XML
<?xml version="1.0" ?>
|
|
|
|
|
|
<!-- Master bakefile for wxWidgets -->
|
|
|
|
<makefile>
|
|
|
|
<!-- make sure setup.h is created as soon as possible: -->
|
|
<phony id="setup_h" cond="FORMAT!='autoconf'">
|
|
<dependency-of>all</dependency-of>
|
|
</phony>
|
|
|
|
<set var="BUILDING_LIB">1</set>
|
|
|
|
<!-- common rules, names etc. for wx: -->
|
|
<include file="common.bkl"/>
|
|
|
|
<!-- list of files sorted into categories: -->
|
|
<include file="files.bkl"/>
|
|
|
|
<!-- wxWidgets variant where everything is in one library: -->
|
|
<include file="monolithic.bkl"/>
|
|
<!-- ...and when there are multiple libraries: -->
|
|
<include file="multilib.bkl"/>
|
|
|
|
<if cond="IS_MSVC_PRJ">
|
|
<set var="MSVC6PRJ_MERGED_TARGETS">
|
|
<if cond="MONOLITHIC=='0'">$(MSVC6PRJ_MERGED_TARGETS_MULTILIB)</if>
|
|
<if cond="MONOLITHIC=='1'">$(MSVC6PRJ_MERGED_TARGETS_MONOLIB)</if>
|
|
</set>
|
|
</if>
|
|
|
|
<!-- OpenGL canvas is built as separate library in both cases: -->
|
|
<include file="opengl.bkl"/>
|
|
<!-- Dynamically loadable plugins: -->
|
|
<include file="plugins.bkl"/>
|
|
|
|
<!-- Samples target (not dependency of 'all'): -->
|
|
<subproject id="samples">
|
|
<installable>no</installable>
|
|
<dir cond="FORMAT=='autoconf'">samples</dir>
|
|
<dir cond="FORMAT!='autoconf'">../../samples</dir>
|
|
</subproject>
|
|
|
|
<if cond="FORMAT=='autoconf'">
|
|
|
|
<!-- WXRC compiler is built by default: -->
|
|
<!-- FIXME: this is dirty hack, better bakefile support for
|
|
conditional and optional subprojects is needed -->
|
|
<action id="wxrc" cond="USE_XRC=='1'">
|
|
<dependency-of>all</dependency-of>
|
|
|
|
<!-- some of these are not built in all configurations, <depends>
|
|
takes care of ignoring the disabled ones: -->
|
|
<depends>monodll</depends>
|
|
<depends>monolib</depends>
|
|
<depends>basedll</depends>
|
|
<depends>baselib</depends>
|
|
<depends>xmldll</depends>
|
|
<depends>xmllib</depends>
|
|
|
|
<command>
|
|
(if test -f utils/wxrc/Makefile ; then cd utils/wxrc && $(DOLLAR)(MAKE) all ; fi)
|
|
</command>
|
|
</action>
|
|
<action id="clean-wxrc" cond="USE_XRC=='1'">
|
|
<dependency-of>clean</dependency-of>
|
|
<command>
|
|
(if test -f utils/wxrc/Makefile ; then cd utils/wxrc && $(DOLLAR)(MAKE) clean ; fi)
|
|
</command>
|
|
</action>
|
|
<action id="install-wxrc" cond="USE_XRC=='1'">
|
|
<dependency-of>install</dependency-of>
|
|
<depends>wxrc</depends>
|
|
<command>
|
|
(if test -f utils/wxrc/Makefile ; then cd utils/wxrc && $(DOLLAR)(MAKE) install ; fi)
|
|
</command>
|
|
</action>
|
|
|
|
<!-- "make install": -->
|
|
|
|
<data-files>
|
|
<files>wxwin.m4</files>
|
|
<install-to>$(DATADIR)/aclocal</install-to>
|
|
</data-files>
|
|
|
|
<data-files>
|
|
<srcdir>$(SRCDIR)/build/bakefiles/wxpresets/presets</srcdir>
|
|
<files>wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py</files>
|
|
<install-to>$(DATADIR)/bakefile/presets</install-to>
|
|
</data-files>
|
|
|
|
<action id="install-wxconfig">
|
|
<dependency-of>install</dependency-of>
|
|
<command>
|
|
$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
|
|
$(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/wx/config
|
|
$(INSTALL_SCRIPT) 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 || cp -p $(DESTDIR)$(LIBDIR)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config)
|
|
</command>
|
|
</action>
|
|
|
|
<modify-target target="install">
|
|
<command>
|
|
$(DYLIB_RPATH_INSTALL)
|
|
</command>
|
|
</modify-target>
|
|
|
|
<set var="RCDEFS_H">
|
|
<if cond="TOOLKIT=='MSW'">msw/rcdefs.h</if>
|
|
</set>
|
|
|
|
|
|
<data-files-tree>
|
|
<srcdir>
|
|
$(BUILDDIR)/lib/wx/include/$(TOOLCHAIN_FULLNAME)/wx
|
|
</srcdir>
|
|
<files>
|
|
setup.h $(RCDEFS_H)
|
|
</files>
|
|
<install-to>
|
|
$(LIBDIR)/wx/include/$(TOOLCHAIN_FULLNAME)/wx
|
|
</install-to>
|
|
</data-files-tree>
|
|
|
|
<!-- FIXME: make this use per-target <headers> once it supports
|
|
prefix removal -->
|
|
<data-files-tree>
|
|
<srcdir>$(SRCDIR)/include</srcdir>
|
|
<files>$(ALL_HEADERS)</files>
|
|
<install-to>
|
|
$(INCLUDEDIR)/wx-$(WX_RELEASE)$(WX_FLAVOUR)
|
|
</install-to>
|
|
</data-files-tree>
|
|
|
|
<!-- Locales: -->
|
|
<using module="gettext"/>
|
|
<gettext-catalogs id="locale">
|
|
<srcdir>$(SRCDIR)/locale</srcdir>
|
|
<catalog-name>wxstd-$(WX_RELEASE)</catalog-name>
|
|
<linguas>
|
|
ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk
|
|
zh zh_CN zh_TW
|
|
</linguas>
|
|
<install-to>$(LOCALEDIR)</install-to>
|
|
</gettext-catalogs>
|
|
</if>
|
|
|
|
|
|
<!-- copy setup.h on DOS/Windows if the format supports it: -->
|
|
<if cond="FORMAT!='autoconf' and IS_MSVC_PRJ=='0'">
|
|
<mkdir id="libdir">
|
|
<dir>$(LIBDIRNAME)</dir>
|
|
</mkdir>
|
|
<mkdir id="libdir_setup">
|
|
<depends>libdir</depends>
|
|
<dir>$(SETUPHDIR)</dir>
|
|
</mkdir>
|
|
<mkdir id="libdir_setup_wx">
|
|
<depends>libdir_setup</depends>
|
|
<dependency-of>setup_h</dependency-of>
|
|
<dir>$(SETUPHDIR)/wx</dir>
|
|
</mkdir>
|
|
|
|
<set var="SETUP_H_SUBDIR">
|
|
<if cond="WXUNIV=='1'">univ</if>
|
|
<if cond="WXUNIV=='0'">$(TOOLKIT_LOWERCASE)</if>
|
|
</set>
|
|
|
|
<copy-file-to-file-if-not-exist id="setup.h">
|
|
<dependency-of>setup_h</dependency-of>
|
|
<src>$(SRCDIR)/include/wx/$(SETUP_H_SUBDIR)/setup.h</src>
|
|
<dst>$(SETUPHDIR)/wx/setup.h</dst>
|
|
</copy-file-to-file-if-not-exist>
|
|
</if>
|
|
|
|
|
|
<!-- create rcdefs.h on Windows: -->
|
|
<if cond="FORMAT in ['borland','mingw','msvc','watcom']">
|
|
|
|
<mkdir id="libdir_setup_wx_msw">
|
|
<depends>libdir_setup_wx</depends>
|
|
<dir>$(SETUPHDIR)/wx/msw</dir>
|
|
</mkdir>
|
|
|
|
<action id="rcdefs.h">
|
|
|
|
<!-- Can't seem to set id to a name with a dollar sign
|
|
so use __targetname as a temporary work around -->
|
|
<set var="__targetname">$(SETUPHDIR)\wx\msw\rcdefs.h</set>
|
|
|
|
<dependency-of>setup_h</dependency-of>
|
|
<depends>libdir_setup_wx_msw</depends>
|
|
<depends-on-file>$(SRCDIR)/include/wx/msw/genrcdefs.h</depends-on-file>
|
|
|
|
<command>
|
|
$(DOLLAR)(CPP) $(DOLLAR)(CPPFLAGS) "$(nativePaths(SRCDIR))\include\wx\msw\genrcdefs.h" > "$(SETUPHDIR)\wx\msw\rcdefs.h"
|
|
</command>
|
|
|
|
</action>
|
|
|
|
</if>
|
|
|
|
|
|
<if cond="FORMAT=='autoconf'">
|
|
|
|
<!-- Show this banner after installation: -->
|
|
<modify-target target="install">
|
|
<command>
|
|
@echo " "
|
|
@echo " ------------------------------------------------------"
|
|
@echo " "
|
|
@echo " The installation of wxWidgets is finished. On certain"
|
|
@echo " platforms (e.g. Linux) you'll now have to run ldconfig"
|
|
@echo " if you installed a shared library and also modify the"
|
|
@echo " LD_LIBRARY_PATH (or equivalent) environment variable."
|
|
@echo " "
|
|
@echo " wxWidgets comes with no guarantees and doesn't claim"
|
|
@echo " to be suitable for any purpose."
|
|
@echo " "
|
|
@echo " Read the wxWindows Licence on licencing conditions."
|
|
@echo " "
|
|
@echo " ------------------------------------------------------"
|
|
@echo " "
|
|
</command>
|
|
</modify-target>
|
|
|
|
<!-- add "make dist" target to autoconf: -->
|
|
<set var="VARS_DONT_ELIMINATE" append="1">
|
|
ALL_PORTS_BASE_HEADERS ALL_BASE_SOURCES WX_VERSION
|
|
</set>
|
|
<fragment format="autoconf" file="make_dist.mk"/>
|
|
|
|
</if>
|
|
|
|
<include file="build_cfg.bkl"/>
|
|
|
|
</makefile>
|