mirror of
https://github.com/openharmony/third_party_gettext.git
synced 2026-07-21 00:25:49 -04:00
Example showing integration of GNU gettext with wxWidgets.
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
This example relies on:
|
||||
- wxWidgets (libwx_*) and its dependencies
|
||||
- the C++ runtime libraries (libstdc++)
|
||||
|
||||
Installation:
|
||||
./autogen.sh
|
||||
./configure --prefix=/some/prefix --with-wx-prefix=/opt/wxw
|
||||
make
|
||||
make install
|
||||
Cleanup:
|
||||
make distclean
|
||||
./autoclean.sh
|
||||
@@ -0,0 +1,33 @@
|
||||
# Example for use of GNU gettext.
|
||||
# Copyright (C) 2003, 2006 Free Software Foundation, Inc.
|
||||
# This file is in the public domain.
|
||||
#
|
||||
# Makefile configuration - processed by automake.
|
||||
|
||||
# General automake options.
|
||||
AUTOMAKE_OPTIONS = foreign no-dependencies
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
# The list of subdirectories containing Makefiles.
|
||||
SUBDIRS = m4 po
|
||||
|
||||
# The list of programs that are built.
|
||||
bin_PROGRAMS = hello
|
||||
|
||||
# The source files of the 'hello' program.
|
||||
hello_SOURCES = hello.cc
|
||||
|
||||
# Define a C macro LOCALEDIR indicating where catalogs will be installed.
|
||||
localedir = $(datadir)/locale
|
||||
DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
|
||||
|
||||
CPPFLAGS += $(WX_CPPFLAGS)
|
||||
CFLAGS = $(WX_CFLAGS_ONLY)
|
||||
CXXFLAGS += $(WX_CXXFLAGS_ONLY)
|
||||
|
||||
# Link time dependencies.
|
||||
LDADD = $(WX_LDADD)
|
||||
LIBS += $(WX_LIBS)
|
||||
|
||||
# Additional files to be distributed.
|
||||
EXTRA_DIST = autogen.sh autoclean.sh
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
#!/bin/sh
|
||||
# Example for use of GNU gettext.
|
||||
# Copyright (C) 2003, 2005-2006 Free Software Foundation, Inc.
|
||||
# This file is in the public domain.
|
||||
#
|
||||
# Script for cleaning all autogenerated files.
|
||||
|
||||
test ! -f Makefile || make distclean
|
||||
|
||||
# Brought in by explicit copy.
|
||||
rm -f m4/nls.m4
|
||||
rm -f m4/po.m4
|
||||
rm -f m4/progtest.m4
|
||||
rm -f m4/lib-ld.m4
|
||||
rm -f m4/lib-link.m4
|
||||
rm -f m4/lib-prefix.m4
|
||||
rm -f config.rpath
|
||||
rm -f po/remove-potcdate.sin
|
||||
|
||||
# Generated by aclocal.
|
||||
rm -f aclocal.m4
|
||||
|
||||
# Generated by autoconf.
|
||||
rm -f configure
|
||||
|
||||
# Generated or brought in by automake.
|
||||
rm -f Makefile.in
|
||||
rm -f m4/Makefile.in
|
||||
rm -f po/Makefile.in
|
||||
rm -f install-sh
|
||||
rm -f mkinstalldirs
|
||||
rm -f missing
|
||||
rm -f config.guess
|
||||
rm -f config.sub
|
||||
rm -f po/*.pot
|
||||
rm -f po/stamp-po
|
||||
rm -f po/*.gmo
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
#!/bin/sh
|
||||
# Example for use of GNU gettext.
|
||||
# Copyright (C) 2003-2006 Free Software Foundation, Inc.
|
||||
# This file is in the public domain.
|
||||
#
|
||||
# Script for regenerating all autogenerated files.
|
||||
|
||||
if test -r ../Makefile.am; then
|
||||
# Inside the gettext source directory.
|
||||
GETTEXT_TOPSRCDIR=../../..
|
||||
else
|
||||
if test -r ../Makefile; then
|
||||
# Inside a gettext build directory.
|
||||
GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile`
|
||||
# Adjust a relative top_srcdir.
|
||||
case $GETTEXT_TOOLS_SRCDIR in
|
||||
/*) ;;
|
||||
*) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;;
|
||||
esac
|
||||
GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/..
|
||||
else
|
||||
# Installed under ${prefix}/share/doc/gettext/examples.
|
||||
. ../installpaths
|
||||
fi
|
||||
fi
|
||||
|
||||
cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/nls.m4 m4/nls.m4
|
||||
cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/po.m4 m4/po.m4
|
||||
cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/progtest.m4 m4/progtest.m4
|
||||
cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/autoconf-lib-link/m4}/lib-ld.m4 m4/lib-ld.m4
|
||||
cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/autoconf-lib-link/m4}/lib-link.m4 m4/lib-link.m4
|
||||
cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/autoconf-lib-link/m4}/lib-prefix.m4 m4/lib-prefix.m4
|
||||
cp -p ${GETTEXTSRCDIR-$GETTEXT_TOPSRCDIR/autoconf-lib-link}/config.rpath config.rpath
|
||||
cp -p ${GETTEXTSRCPODIR-$GETTEXT_TOPSRCDIR/gettext-runtime/po}/remove-potcdate.sin po/remove-potcdate.sin
|
||||
|
||||
aclocal -I m4
|
||||
|
||||
autoconf
|
||||
|
||||
automake -a -c
|
||||
|
||||
cd po
|
||||
for f in *.po; do
|
||||
if test -r "$f"; then
|
||||
lang=`echo $f | sed -e 's,\.po$,,'`
|
||||
msgfmt -c -o $lang.gmo $lang.po
|
||||
fi
|
||||
done
|
||||
cd ..
|
||||
@@ -0,0 +1,24 @@
|
||||
dnl Example for use of GNU gettext.
|
||||
dnl Copyright (C) 2003, 2006 Free Software Foundation, Inc.
|
||||
dnl This file is in the public domain.
|
||||
dnl
|
||||
dnl Configuration file - processed by autoconf.
|
||||
|
||||
AC_INIT
|
||||
AC_CONFIG_SRCDIR(hello.cc)
|
||||
AM_INIT_AUTOMAKE(hello-c++-wxwidgets, 0)
|
||||
|
||||
AC_PROG_CXX
|
||||
AC_CHECK_HEADERS([unistd.h])
|
||||
|
||||
AM_OPTIONS_WXCONFIG
|
||||
AM_PATH_WXCONFIG([2.6.0], [], [AC_MSG_ERROR([wxWidgets not found])])
|
||||
AC_LIB_LINKFLAGS_FROM_LIBS([WX_LDADD], [$WX_LIBS])
|
||||
|
||||
dnl Support for the po directory.
|
||||
AM_PO_SUBDIRS
|
||||
|
||||
AC_CONFIG_FILES([Makefile])
|
||||
AC_CONFIG_FILES([m4/Makefile])
|
||||
AC_CONFIG_FILES([po/Makefile], [AM_POSTPROCESS_PO_MAKEFILE])
|
||||
AC_OUTPUT
|
||||
@@ -0,0 +1,81 @@
|
||||
// Example for use of GNU gettext.
|
||||
// Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
// This file is in the public domain.
|
||||
|
||||
// Source code of the C++ program.
|
||||
|
||||
#include <wx/wx.h>
|
||||
#include <wx/intl.h>
|
||||
|
||||
/* Get getpid() declaration. */
|
||||
#if HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
class MyApp: public wxApp
|
||||
{
|
||||
public:
|
||||
virtual bool OnInit();
|
||||
private:
|
||||
// wxWidgets has the concept of a "current locale". It is the one returned
|
||||
// by wxGetLocale() and implicitly used by wxGetTranslation.
|
||||
// But there is no way to explicitly set this current locale! Rather, it is
|
||||
// always set to the last constructed locale(!), and is modified when a
|
||||
// locale is destroyed. In such a way that the current locale points to
|
||||
// invalid memory after you do
|
||||
// wxLocale *a = new wxLocale;
|
||||
// wxLocale *b = new wxLocale;
|
||||
// delete a;
|
||||
// delete b;
|
||||
// So, to avoid problems, we use exactly one instance of wxLocale, and keep
|
||||
// it alive for the entire application lifetime.
|
||||
wxLocale appLocale;
|
||||
};
|
||||
|
||||
class MyFrame: public wxFrame
|
||||
{
|
||||
public:
|
||||
MyFrame();
|
||||
};
|
||||
|
||||
// This defines the main() function.
|
||||
IMPLEMENT_APP(MyApp)
|
||||
|
||||
bool MyApp::OnInit()
|
||||
{
|
||||
// First, register the base directory where to look up .mo files.
|
||||
wxLocale::AddCatalogLookupPathPrefix(wxT(LOCALEDIR));
|
||||
// Second, initialize the locale and set the application-wide message domain.
|
||||
appLocale.Init();
|
||||
appLocale.AddCatalog(wxT("hello-c++-wxwidgets"));
|
||||
// Now wxGetLocale() is initialized appropriately.
|
||||
|
||||
// Then only start building the GUI elements of the application.
|
||||
|
||||
// Create the main frame window.
|
||||
MyFrame *frame = new MyFrame();
|
||||
|
||||
// Show the frame.
|
||||
frame->Show(true);
|
||||
SetTopWindow(frame);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
MyFrame::MyFrame()
|
||||
: wxFrame(NULL, wxID_ANY, _T("Hello example"))
|
||||
{
|
||||
wxStaticText *label1 =
|
||||
new wxStaticText(this, wxID_ANY, _("Hello, world!"));
|
||||
|
||||
wxString label2text =
|
||||
wxString::Format(_("This program is running as process number %d."),
|
||||
getpid());
|
||||
wxStaticText *label2 =
|
||||
new wxStaticText(this, wxID_ANY, label2text);
|
||||
|
||||
wxBoxSizer *topSizer = new wxBoxSizer(wxVERTICAL);
|
||||
topSizer->Add(label1);
|
||||
topSizer->Add(label2);
|
||||
SetSizer(topSizer);
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
EXTRA_DIST = \
|
||||
nls.m4 po.m4 \
|
||||
wxwidgets.m4
|
||||
@@ -0,0 +1,345 @@
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Macros for wxWidgets detection. Typically used in configure.in as:
|
||||
dnl
|
||||
dnl AC_ARG_ENABLE(...)
|
||||
dnl AC_ARG_WITH(...)
|
||||
dnl ...
|
||||
dnl AM_OPTIONS_WXCONFIG
|
||||
dnl ...
|
||||
dnl ...
|
||||
dnl AM_PATH_WXCONFIG(2.6.0, wxWin=1)
|
||||
dnl if test "$wxWin" != 1; then
|
||||
dnl AC_MSG_ERROR([
|
||||
dnl wxWidgets must be installed on your system
|
||||
dnl but wx-config script couldn't be found.
|
||||
dnl
|
||||
dnl Please check that wx-config is in path, the directory
|
||||
dnl where wxWidgets libraries are installed (returned by
|
||||
dnl 'wx-config --libs' command) is in LD_LIBRARY_PATH or
|
||||
dnl equivalent variable and wxWidgets version is 2.3.4 or above.
|
||||
dnl ])
|
||||
dnl fi
|
||||
dnl CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS"
|
||||
dnl CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY"
|
||||
dnl CFLAGS="$CFLAGS $WX_CFLAGS_ONLY"
|
||||
dnl
|
||||
dnl LIBS="$LIBS $WX_LIBS"
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl AM_OPTIONS_WXCONFIG
|
||||
dnl
|
||||
dnl adds support for --wx-prefix, --wx-exec-prefix, --with-wxdir and
|
||||
dnl --wx-config command line options
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
AC_DEFUN([AM_OPTIONS_WXCONFIG],
|
||||
[
|
||||
AC_ARG_WITH(wxdir,
|
||||
[ --with-wxdir=PATH Use uninstalled version of wxWidgets in PATH],
|
||||
[ wx_config_name="$withval/wx-config"
|
||||
wx_config_args="--inplace"])
|
||||
AC_ARG_WITH(wx-config,
|
||||
[ --with-wx-config=CONFIG wx-config script to use (optional)],
|
||||
wx_config_name="$withval" )
|
||||
AC_ARG_WITH(wx-prefix,
|
||||
[ --with-wx-prefix=PREFIX Prefix where wxWidgets is installed (optional)],
|
||||
wx_config_prefix="$withval", wx_config_prefix="")
|
||||
AC_ARG_WITH(wx-exec-prefix,
|
||||
[ --with-wx-exec-prefix=PREFIX
|
||||
Exec prefix where wxWidgets is installed (optional)],
|
||||
wx_config_exec_prefix="$withval", wx_config_exec_prefix="")
|
||||
])
|
||||
|
||||
dnl Helper macro for checking if wx version is at least $1.$2.$3, set's
|
||||
dnl wx_ver_ok=yes if it is:
|
||||
AC_DEFUN([_WX_PRIVATE_CHECK_VERSION],
|
||||
[
|
||||
wx_ver_ok=""
|
||||
if test "x$WX_VERSION" != x ; then
|
||||
if test $wx_config_major_version -gt $1; then
|
||||
wx_ver_ok=yes
|
||||
else
|
||||
if test $wx_config_major_version -eq $1; then
|
||||
if test $wx_config_minor_version -gt $2; then
|
||||
wx_ver_ok=yes
|
||||
else
|
||||
if test $wx_config_minor_version -eq $2; then
|
||||
if test $wx_config_micro_version -ge $3; then
|
||||
wx_ver_ok=yes
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
])
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl AM_PATH_WXCONFIG(VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND
|
||||
dnl [, WX-LIBS [, ADDITIONAL-WX-CONFIG-FLAGS]]]])
|
||||
dnl
|
||||
dnl Test for wxWidgets, and define WX_C*FLAGS, WX_LIBS and WX_LIBS_STATIC
|
||||
dnl (the latter is for static linking against wxWidgets). Set WX_CONFIG_NAME
|
||||
dnl environment variable to override the default name of the wx-config script
|
||||
dnl to use. Set WX_CONFIG_PATH to specify the full path to wx-config - in this
|
||||
dnl case the macro won't even waste time on tests for its existence.
|
||||
dnl
|
||||
dnl Optional WX-LIBS argument contains comma- or space-separated list of
|
||||
dnl wxWidgets libraries to link against (it may include contrib libraries). If
|
||||
dnl it is not specified then WX_LIBS and WX_LIBS_STATIC will contain flags to
|
||||
dnl link with all of the core wxWidgets libraries.
|
||||
dnl
|
||||
dnl Optional ADDITIONAL-WX-CONFIG-FLAGS argument is appended to wx-config
|
||||
dnl invocation command in present. It can be used to fine-tune lookup of
|
||||
dnl best wxWidgets build available.
|
||||
dnl
|
||||
dnl Example use:
|
||||
dnl AM_PATH_WXCONFIG([2.6.0], [wxWin=1], [wxWin=0], [html,core,net]
|
||||
dnl [--unicode --debug])
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
dnl
|
||||
dnl Get the cflags and libraries from the wx-config script
|
||||
dnl
|
||||
AC_DEFUN([AM_PATH_WXCONFIG],
|
||||
[
|
||||
dnl do we have wx-config name: it can be wx-config or wxd-config or ...
|
||||
if test x${WX_CONFIG_NAME+set} != xset ; then
|
||||
WX_CONFIG_NAME=wx-config
|
||||
fi
|
||||
|
||||
if test "x$wx_config_name" != x ; then
|
||||
WX_CONFIG_NAME="$wx_config_name"
|
||||
fi
|
||||
|
||||
dnl deal with optional prefixes
|
||||
if test x$wx_config_exec_prefix != x ; then
|
||||
wx_config_args="$wx_config_args --exec-prefix=$wx_config_exec_prefix"
|
||||
WX_LOOKUP_PATH="$wx_config_exec_prefix/bin"
|
||||
fi
|
||||
if test x$wx_config_prefix != x ; then
|
||||
wx_config_args="$wx_config_args --prefix=$wx_config_prefix"
|
||||
WX_LOOKUP_PATH="$WX_LOOKUP_PATH:$wx_config_prefix/bin"
|
||||
fi
|
||||
if test "$cross_compiling" = "yes"; then
|
||||
wx_config_args="$wx_config_args --host=$host_alias"
|
||||
fi
|
||||
|
||||
dnl don't search the PATH if WX_CONFIG_NAME is absolute filename
|
||||
if test -x "$WX_CONFIG_NAME" ; then
|
||||
AC_MSG_CHECKING(for wx-config)
|
||||
WX_CONFIG_PATH="$WX_CONFIG_NAME"
|
||||
AC_MSG_RESULT($WX_CONFIG_PATH)
|
||||
else
|
||||
AC_PATH_PROG(WX_CONFIG_PATH, $WX_CONFIG_NAME, no, "$WX_LOOKUP_PATH:$PATH")
|
||||
fi
|
||||
|
||||
if test "$WX_CONFIG_PATH" != "no" ; then
|
||||
WX_VERSION=""
|
||||
|
||||
min_wx_version=ifelse([$1], ,2.2.1,$1)
|
||||
if test -z "$5" ; then
|
||||
AC_MSG_CHECKING([for wxWidgets version >= $min_wx_version])
|
||||
else
|
||||
AC_MSG_CHECKING([for wxWidgets version >= $min_wx_version ($5)])
|
||||
fi
|
||||
|
||||
WX_CONFIG_WITH_ARGS="$WX_CONFIG_PATH $wx_config_args $5 $4"
|
||||
|
||||
WX_VERSION=`$WX_CONFIG_WITH_ARGS --version 2>/dev/null`
|
||||
wx_config_major_version=`echo $WX_VERSION | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
||||
wx_config_minor_version=`echo $WX_VERSION | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
||||
wx_config_micro_version=`echo $WX_VERSION | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
||||
|
||||
wx_requested_major_version=`echo $min_wx_version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
||||
wx_requested_minor_version=`echo $min_wx_version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
||||
wx_requested_micro_version=`echo $min_wx_version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
||||
|
||||
_WX_PRIVATE_CHECK_VERSION([$wx_requested_major_version],
|
||||
[$wx_requested_minor_version],
|
||||
[$wx_requested_micro_version])
|
||||
|
||||
if test -n "$wx_ver_ok"; then
|
||||
|
||||
AC_MSG_RESULT(yes (version $WX_VERSION))
|
||||
WX_LIBS=`$WX_CONFIG_WITH_ARGS --libs`
|
||||
|
||||
dnl is this even still appropriate? --static is a real option now
|
||||
dnl and WX_CONFIG_WITH_ARGS is likely to contain it if that is
|
||||
dnl what the user actually wants, making this redundant at best.
|
||||
dnl For now keep it in case anyone actually used it in the past.
|
||||
AC_MSG_CHECKING([for wxWidgets static library])
|
||||
WX_LIBS_STATIC=`$WX_CONFIG_WITH_ARGS --static --libs 2>/dev/null`
|
||||
if test "x$WX_LIBS_STATIC" = "x"; then
|
||||
AC_MSG_RESULT(no)
|
||||
else
|
||||
AC_MSG_RESULT(yes)
|
||||
fi
|
||||
|
||||
dnl starting with version 2.2.6 wx-config has --cppflags argument
|
||||
wx_has_cppflags=""
|
||||
if test $wx_config_major_version -gt 2; then
|
||||
wx_has_cppflags=yes
|
||||
else
|
||||
if test $wx_config_major_version -eq 2; then
|
||||
if test $wx_config_minor_version -gt 2; then
|
||||
wx_has_cppflags=yes
|
||||
else
|
||||
if test $wx_config_minor_version -eq 2; then
|
||||
if test $wx_config_micro_version -ge 6; then
|
||||
wx_has_cppflags=yes
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$wx_has_cppflags" = x ; then
|
||||
dnl no choice but to define all flags like CFLAGS
|
||||
WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags`
|
||||
WX_CPPFLAGS=$WX_CFLAGS
|
||||
WX_CXXFLAGS=$WX_CFLAGS
|
||||
|
||||
WX_CFLAGS_ONLY=$WX_CFLAGS
|
||||
WX_CXXFLAGS_ONLY=$WX_CFLAGS
|
||||
else
|
||||
dnl we have CPPFLAGS included in CFLAGS included in CXXFLAGS
|
||||
WX_CPPFLAGS=`$WX_CONFIG_WITH_ARGS --cppflags`
|
||||
WX_CXXFLAGS=`$WX_CONFIG_WITH_ARGS --cxxflags`
|
||||
WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags`
|
||||
|
||||
WX_CFLAGS_ONLY=`echo $WX_CFLAGS | sed "s@^$WX_CPPFLAGS *@@"`
|
||||
WX_CXXFLAGS_ONLY=`echo $WX_CXXFLAGS | sed "s@^$WX_CFLAGS *@@"`
|
||||
fi
|
||||
|
||||
ifelse([$2], , :, [$2])
|
||||
|
||||
else
|
||||
|
||||
if test "x$WX_VERSION" = x; then
|
||||
dnl no wx-config at all
|
||||
AC_MSG_RESULT(no)
|
||||
else
|
||||
AC_MSG_RESULT(no (version $WX_VERSION is not new enough))
|
||||
fi
|
||||
|
||||
WX_CFLAGS=""
|
||||
WX_CPPFLAGS=""
|
||||
WX_CXXFLAGS=""
|
||||
WX_LIBS=""
|
||||
WX_LIBS_STATIC=""
|
||||
ifelse([$3], , :, [$3])
|
||||
|
||||
fi
|
||||
else
|
||||
|
||||
WX_CFLAGS=""
|
||||
WX_CPPFLAGS=""
|
||||
WX_CXXFLAGS=""
|
||||
WX_LIBS=""
|
||||
WX_LIBS_STATIC=""
|
||||
ifelse([$3], , :, [$3])
|
||||
|
||||
fi
|
||||
|
||||
AC_SUBST(WX_CPPFLAGS)
|
||||
AC_SUBST(WX_CFLAGS)
|
||||
AC_SUBST(WX_CXXFLAGS)
|
||||
AC_SUBST(WX_CFLAGS_ONLY)
|
||||
AC_SUBST(WX_CXXFLAGS_ONLY)
|
||||
AC_SUBST(WX_LIBS)
|
||||
AC_SUBST(WX_LIBS_STATIC)
|
||||
AC_SUBST(WX_VERSION)
|
||||
])
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Get information on the wxrc program for making C++, Python and xrs
|
||||
dnl resource files.
|
||||
dnl
|
||||
dnl AC_ARG_ENABLE(...)
|
||||
dnl AC_ARG_WITH(...)
|
||||
dnl ...
|
||||
dnl AM_OPTIONS_WXCONFIG
|
||||
dnl AM_OPTIONS_WXRC
|
||||
dnl ...
|
||||
dnl AM_PATH_WXCONFIG(2.6.0, wxWin=1)
|
||||
dnl if test "$wxWin" != 1; then
|
||||
dnl AC_MSG_ERROR([
|
||||
dnl wxWidgets must be installed on your system
|
||||
dnl but wx-config script couldn't be found.
|
||||
dnl
|
||||
dnl Please check that wx-config is in path, the directory
|
||||
dnl where wxWidgets libraries are installed (returned by
|
||||
dnl 'wx-config --libs' command) is in LD_LIBRARY_PATH or
|
||||
dnl equivalent variable and wxWidgets version is 2.6.0 or above.
|
||||
dnl ])
|
||||
dnl fi
|
||||
dnl
|
||||
dnl AM_PATH_WXRC([HAVE_WXRC=1], [HAVE_WXRC=0])
|
||||
dnl if test "x$HAVE_WXRC" != x1; then
|
||||
dnl AC_MSG_ERROR([
|
||||
dnl The wxrc program was not installed or not found.
|
||||
dnl
|
||||
dnl Please check the wxWidgets installation.
|
||||
dnl ])
|
||||
dnl fi
|
||||
dnl
|
||||
dnl CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS"
|
||||
dnl CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY"
|
||||
dnl CFLAGS="$CFLAGS $WX_CFLAGS_ONLY"
|
||||
dnl
|
||||
dnl LDFLAGS="$LDFLAGS $WX_LIBS"
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl AM_PATH_WXRC([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
|
||||
dnl
|
||||
dnl Test for wxWidgets' wxrc program for creating either C++, Python or XRS
|
||||
dnl resources. The variable WXRC will be set and substituted in the configure
|
||||
dnl script and Makefiles.
|
||||
dnl
|
||||
dnl Example use:
|
||||
dnl AM_PATH_WXRC([wxrc=1], [wxrc=0])
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
dnl
|
||||
dnl wxrc program from the wx-config script
|
||||
dnl
|
||||
AC_DEFUN([AM_PATH_WXRC],
|
||||
[
|
||||
AC_ARG_VAR([WXRC], [Path to wxWidget's wxrc resource compiler])
|
||||
|
||||
if test "x$WX_CONFIG_NAME" = x; then
|
||||
AC_MSG_ERROR([The wxrc tests must run after wxWidgets test.])
|
||||
else
|
||||
|
||||
AC_MSG_CHECKING([for wxrc])
|
||||
|
||||
if test "x$WXRC" = x ; then
|
||||
dnl wx-config --utility is a new addition to wxWidgets:
|
||||
_WX_PRIVATE_CHECK_VERSION(2,5,3)
|
||||
if test -n "$wx_ver_ok"; then
|
||||
WXRC=`$WX_CONFIG_WITH_ARGS --utility=wxrc`
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$WXRC" = x ; then
|
||||
AC_MSG_RESULT([not found])
|
||||
ifelse([$2], , :, [$2])
|
||||
else
|
||||
AC_MSG_RESULT([$WXRC])
|
||||
ifelse([$1], , :, [$1])
|
||||
fi
|
||||
|
||||
AC_SUBST(WXRC)
|
||||
fi
|
||||
])
|
||||
@@ -0,0 +1 @@
|
||||
*.po
|
||||
@@ -0,0 +1,6 @@
|
||||
# Example for use of GNU gettext.
|
||||
# Copyright (C) 2003-2005 Free Software Foundation, Inc.
|
||||
# This file is in the public domain.
|
||||
#
|
||||
# Set of available languages.
|
||||
af ca de el es fr ga it ja nl pl ro ru sk sr sv tr uk vi zh_CN zh_TW
|
||||
@@ -0,0 +1,328 @@
|
||||
# Example for use of GNU gettext.
|
||||
# Copyright (C) 2003-2006 Free Software Foundation, Inc.
|
||||
# This file is in the public domain.
|
||||
#
|
||||
# Makefile configuration - processed by automake.
|
||||
|
||||
# List of files which contain translatable strings.
|
||||
POTFILES = \
|
||||
hello.cc
|
||||
|
||||
# Usually the message domain is the same as the package name.
|
||||
DOMAIN = $(PACKAGE)
|
||||
|
||||
# These options get passed to xgettext.
|
||||
XGETTEXT_OPTIONS = \
|
||||
--keyword=wxGetTranslation:1 --keyword=wxGetTranslation:1,2 \
|
||||
--flag=wxGetTranslation:1:pass-c-format --flag=wxGetTranslation:2:pass-c-format \
|
||||
--keyword=wxTRANSLATE --flag=wxTRANSLATE:1:pass-c-format \
|
||||
--keyword=wxPLURAL:1,2 --flag=wxPLURAL:1:pass-c-format --flag=wxPLURAL:2:pass-c-format \
|
||||
--keyword=_ --flag=_:1:pass-c-format \
|
||||
--keyword=N_ --flag=N_:1:pass-c-format
|
||||
|
||||
# This is the copyright holder that gets inserted into the header of the
|
||||
# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
|
||||
# package. (Note that the msgstr strings, extracted from the package's
|
||||
# sources, belong to the copyright holder of the package.) Translators are
|
||||
# expected to transfer the copyright for their translations to this person
|
||||
# or entity, or to disclaim their copyright. The empty string stands for
|
||||
# the public domain; in this case the translators are expected to disclaim
|
||||
# their copyright.
|
||||
COPYRIGHT_HOLDER = Yoyodyne, Inc.
|
||||
|
||||
# This is the email address or URL to which the translators shall report
|
||||
# bugs in the untranslated strings:
|
||||
# - Strings which are not entire sentences, see the maintainer guidelines
|
||||
# in the GNU gettext documentation, section 'Preparing Strings'.
|
||||
# - Strings which use unclear terms or require additional context to be
|
||||
# understood.
|
||||
# - Strings which make invalid assumptions about notation of date, time or
|
||||
# money.
|
||||
# - Pluralisation problems.
|
||||
# - Incorrect English spelling.
|
||||
# - Incorrect formatting.
|
||||
# It can be your email address, or a mailing list address where translators
|
||||
# can write to without being subscribed, or the URL of a web page through
|
||||
# which the translators can contact you.
|
||||
MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org
|
||||
|
||||
# This is the list of locale categories, beyond LC_MESSAGES, for which the
|
||||
# message catalogs shall be used. It is usually empty.
|
||||
EXTRA_LOCALE_CATEGORIES =
|
||||
|
||||
localedir = $(datadir)/locale
|
||||
|
||||
MSGMERGE = msgmerge
|
||||
MSGMERGE_UPDATE = @MSGMERGE@ --update
|
||||
MSGINIT = msginit
|
||||
MSGCONV = msgconv
|
||||
MSGFILTER = msgfilter
|
||||
|
||||
# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
|
||||
POTFILES_DEPS = @POTFILES_DEPS@
|
||||
|
||||
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
|
||||
POFILES = @POFILES@
|
||||
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).gmo)
|
||||
GMOFILES = @GMOFILES@
|
||||
# This is computed as $(foreach lang, $(LINGUAS), $(lang).po-update)
|
||||
UPDATEPOFILES = @UPDATEPOFILES@
|
||||
# This is computed as $(foreach lang, $(LINGUAS), $(lang).nop)
|
||||
DUMMYPOFILES = @DUMMYPOFILES@
|
||||
|
||||
# This is computed as
|
||||
# $(foreach lang, user-specified subset of $(LINGUAS), $(lang).gmo)
|
||||
CATALOGS = @CATALOGS@
|
||||
|
||||
SUFFIXES = .po .gmo .mo .sed .sin .nop .po-create .po-update
|
||||
|
||||
.po.mo:
|
||||
@echo "$(MSGFMT) -c -o $@ $<"; \
|
||||
$(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
|
||||
|
||||
.po.gmo:
|
||||
@lang=`echo $* | sed -e 's,.*/,,'`; \
|
||||
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
|
||||
echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \
|
||||
cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
|
||||
|
||||
.sin.sed:
|
||||
sed -e '/^#/d' $< > t-$@
|
||||
mv t-$@ $@
|
||||
|
||||
|
||||
all-local: all-local-@USE_NLS@
|
||||
|
||||
all-local-yes: stamp-po
|
||||
all-local-no:
|
||||
|
||||
# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
|
||||
# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
|
||||
# we don't want to bother translators with empty POT files). We assume that
|
||||
# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
|
||||
# In this case, stamp-po is a nop (i.e. a phony target).
|
||||
|
||||
# stamp-po is a timestamp denoting the last time at which the CATALOGS have
|
||||
# been loosely updated. Its purpose is that when a developer or translator
|
||||
# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
|
||||
# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
|
||||
# invocations of "make" will do nothing. This timestamp would not be necessary
|
||||
# if updating the $(CATALOGS) would always touch them; however, the rule for
|
||||
# $(POFILES) has been designed to not touch files that don't need to be
|
||||
# changed.
|
||||
stamp-po: $(srcdir)/$(DOMAIN).pot
|
||||
test ! -f $(srcdir)/$(DOMAIN).pot || \
|
||||
test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
|
||||
@test ! -f $(srcdir)/$(DOMAIN).pot || { \
|
||||
echo "touch stamp-po" && \
|
||||
echo timestamp > stamp-poT && \
|
||||
mv stamp-poT stamp-po; \
|
||||
}
|
||||
|
||||
# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
|
||||
# otherwise packages like GCC can not be built if only parts of the source
|
||||
# have been downloaded.
|
||||
|
||||
# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
|
||||
# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
|
||||
$(DOMAIN).pot-update: $(POTFILES_DEPS) remove-potcdate.sed
|
||||
if test -n '$(MSGID_BUGS_ADDRESS)'; then \
|
||||
msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
|
||||
else \
|
||||
msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
|
||||
fi; \
|
||||
$(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
|
||||
--add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
|
||||
--copyright-holder='$(COPYRIGHT_HOLDER)' \
|
||||
--msgid-bugs-address="$$msgid_bugs_address" \
|
||||
$(POTFILES)
|
||||
test ! -f $(DOMAIN).po || { \
|
||||
if test -f $(srcdir)/$(DOMAIN).pot; then \
|
||||
sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
|
||||
sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
|
||||
if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
|
||||
rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
|
||||
else \
|
||||
rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
|
||||
mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
|
||||
fi; \
|
||||
else \
|
||||
mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
|
||||
fi; \
|
||||
}
|
||||
|
||||
# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
|
||||
# every "make" invocation, only create it when it is missing.
|
||||
# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
|
||||
$(srcdir)/$(DOMAIN).pot:
|
||||
$(MAKE) $(DOMAIN).pot-update
|
||||
|
||||
# This target rebuilds a PO file if $(DOMAIN).pot has changed.
|
||||
# Note that a PO file is not touched if it doesn't need to be changed.
|
||||
$(POFILES): $(srcdir)/$(DOMAIN).pot
|
||||
@lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
|
||||
if test -f "$(srcdir)/$${lang}.po"; then \
|
||||
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
|
||||
echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
|
||||
cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \
|
||||
else \
|
||||
$(MAKE) $${lang}.po-create; \
|
||||
fi
|
||||
|
||||
|
||||
install-data-local: install-data-local-@USE_NLS@
|
||||
install-data-local-no: all-local
|
||||
install-data-local-yes: all-local
|
||||
$(mkinstalldirs) $(DESTDIR)$(datadir)
|
||||
@catalogs='$(CATALOGS)'; \
|
||||
for cat in $$catalogs; do \
|
||||
cat=`basename $$cat`; \
|
||||
lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
|
||||
dir=$(localedir)/$$lang/LC_MESSAGES; \
|
||||
$(mkinstalldirs) $(DESTDIR)$$dir; \
|
||||
if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
|
||||
$(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
|
||||
echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
|
||||
for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
|
||||
if test -n "$$lc"; then \
|
||||
if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
|
||||
link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
|
||||
mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
|
||||
mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
|
||||
(cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
|
||||
for file in *; do \
|
||||
if test -f $$file; then \
|
||||
ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
|
||||
fi; \
|
||||
done); \
|
||||
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
|
||||
else \
|
||||
if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
|
||||
:; \
|
||||
else \
|
||||
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
|
||||
mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
|
||||
fi; \
|
||||
fi; \
|
||||
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
|
||||
ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
|
||||
ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
|
||||
cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
|
||||
echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
|
||||
fi; \
|
||||
done; \
|
||||
done
|
||||
|
||||
installdirs-local: installdirs-local-@USE_NLS@
|
||||
installdirs-local-no:
|
||||
installdirs-local-yes:
|
||||
$(mkinstalldirs) $(DESTDIR)$(datadir)
|
||||
@catalogs='$(CATALOGS)'; \
|
||||
for cat in $$catalogs; do \
|
||||
cat=`basename $$cat`; \
|
||||
lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
|
||||
dir=$(localedir)/$$lang/LC_MESSAGES; \
|
||||
$(mkinstalldirs) $(DESTDIR)$$dir; \
|
||||
for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
|
||||
if test -n "$$lc"; then \
|
||||
if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
|
||||
link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
|
||||
mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
|
||||
mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
|
||||
(cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
|
||||
for file in *; do \
|
||||
if test -f $$file; then \
|
||||
ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
|
||||
fi; \
|
||||
done); \
|
||||
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
|
||||
else \
|
||||
if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
|
||||
:; \
|
||||
else \
|
||||
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
|
||||
mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
|
||||
fi; \
|
||||
fi; \
|
||||
fi; \
|
||||
done; \
|
||||
done
|
||||
|
||||
uninstall-local: uninstall-local-@USE_NLS@
|
||||
uninstall-local-no:
|
||||
uninstall-local-yes:
|
||||
catalogs='$(CATALOGS)'; \
|
||||
for cat in $$catalogs; do \
|
||||
cat=`basename $$cat`; \
|
||||
lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
|
||||
for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
|
||||
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
|
||||
done; \
|
||||
done
|
||||
|
||||
html ID:
|
||||
|
||||
MOSTLYCLEANFILES =
|
||||
MOSTLYCLEANFILES += remove-potcdate.sed
|
||||
MOSTLYCLEANFILES += stamp-poT
|
||||
MOSTLYCLEANFILES += core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
|
||||
MOSTLYCLEANFILES += *.o
|
||||
|
||||
DISTCLEANFILES = *.mo
|
||||
|
||||
MAINTAINERCLEANFILES = stamp-po $(GMOFILES)
|
||||
|
||||
EXTRA_DIST = remove-potcdate.sin LINGUAS $(POFILES) $(GMOFILES)
|
||||
|
||||
# Hidden from automake, but really activated. Works around an automake-1.5 bug.
|
||||
#distdir: distdir1
|
||||
distdir1:
|
||||
$(MAKE) update-po
|
||||
if test -f $(srcdir)/$(DOMAIN).pot; then \
|
||||
for file in $(DOMAIN).pot stamp-po; do \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
cp -p $$d/$$file $(distdir)/$$file || exit 1; \
|
||||
done; \
|
||||
fi
|
||||
|
||||
update-po: Makefile
|
||||
$(MAKE) $(DOMAIN).pot-update
|
||||
test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
|
||||
$(MAKE) update-gmo
|
||||
|
||||
# General rule for creating PO files.
|
||||
|
||||
.nop.po-create:
|
||||
@lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
|
||||
echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
|
||||
exit 1
|
||||
|
||||
# General rule for updating PO files.
|
||||
|
||||
.nop.po-update:
|
||||
@lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
|
||||
tmpdir=`pwd`; \
|
||||
echo "$$lang:"; \
|
||||
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
|
||||
echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
|
||||
cd $(srcdir); \
|
||||
if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \
|
||||
if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
else \
|
||||
if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
|
||||
:; \
|
||||
else \
|
||||
echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
fi; \
|
||||
else \
|
||||
echo "msgmerge for $$lang.po failed!" 1>&2; \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
fi
|
||||
|
||||
$(DUMMYPOFILES):
|
||||
|
||||
update-gmo: Makefile $(GMOFILES)
|
||||
@:
|
||||
Reference in New Issue
Block a user