Alexandre Julliard : makefiles: Add a makefile for the po directory.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Mar 1 10:44:05 CST 2016


Module: wine
Branch: master
Commit: 0bb029f92912d3a69967316cccb084e05f3eb9b0
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=0bb029f92912d3a69967316cccb084e05f3eb9b0

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue Mar  1 14:21:01 2016 +0900

makefiles: Add a makefile for the po directory.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 Makefile.in          |  3 +--
 configure            | 55 +++-------------------------------------------------
 configure.ac         | 52 ++-----------------------------------------------
 po/Makefile.in       | 46 +++++++++++++++++++++++++++++++++++++++++++
 tools/make_makefiles | 10 +++++++---
 tools/makedep.c      | 23 +++++++++++-----------
 6 files changed, 71 insertions(+), 118 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index b9b58cd..5b658a2 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -70,7 +70,6 @@ CONVERT         = @CONVERT@
 ICOTOOL         = @ICOTOOL@
 MSGFMT          = @MSGFMT@
 CROSSTARGET     = @CROSSTARGET@
-LINGUAS         = @LINGUAS@
 SUBDIRS         = @SUBDIRS@
 RUNTESTFLAGS    = -q -P wine
 MAKEDEP         = $(TOOLSDIR)/tools/makedep$(TOOLSEXT)
@@ -139,7 +138,7 @@ install-manpages:: manpages
 
 # dependencies needed to build any dll or program
 __tooldeps__: libs/port libs/wpp
-__builddeps__: __tooldeps__ libs/wine include
+__builddeps__: __tooldeps__ libs/wine include po
 .PHONY: depend dummy check test testclean crosstest __tooldeps__ __builddeps__
 
 dummy:
diff --git a/configure b/configure
index 7bf9178..2f40d7e 100755
--- a/configure
+++ b/configure
@@ -625,7 +625,6 @@ ac_includes_default="\
 ac_subst_vars='LTLIBOBJS
 LIBOBJS
 WINELOADER_INSTALL
-LINGUAS
 ALL_VARS_RULES
 LDAP_LIBS
 RT_LIBS
@@ -1439,6 +1438,7 @@ enable_libs_port
 enable_libs_wine
 enable_libs_wpp
 enable_loader
+enable_po
 enable_arp
 enable_aspnet_regiis
 enable_attrib
@@ -6116,6 +6116,7 @@ if test "$MSGFMT" = false; then :
 This is an error since --with-gettext was requested." "$LINENO" 5 ;;
 esac
 fi
+test "$MSGFMT" = false && enable_po=${enable_po:-no}
 
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for i386_set_ldt in -li386" >&5
@@ -18070,6 +18071,7 @@ wine_fn_config_makefile libs/port enable_libs_port
 wine_fn_config_makefile libs/wine enable_libs_wine clean,implib,install-dev,install-lib
 wine_fn_config_makefile libs/wpp enable_libs_wpp
 wine_fn_config_makefile loader enable_loader clean,install-lib
+wine_fn_config_makefile po enable_po clean
 wine_fn_config_program arp enable_arp install
 wine_fn_config_program aspnet_regiis enable_aspnet_regiis install
 wine_fn_config_program attrib enable_attrib clean,install
@@ -18174,55 +18176,6 @@ wine_fn_config_tool tools/winemaker clean,install-dev
 wine_fn_config_tool tools/wmc clean,install-dev
 wine_fn_config_tool tools/wrc clean,install-dev
 
-LINGUAS="\
-ar \
-bg \
-ca \
-cs \
-da \
-de \
-el \
-en \
-en_US \
-eo \
-es \
-fa \
-fi \
-fr \
-he \
-hi \
-hr \
-hu \
-it \
-ja \
-ko \
-lt \
-ml \
-nb_NO \
-nl \
-or \
-pa \
-pl \
-pt_BR \
-pt_PT \
-rm \
-ro \
-ru \
-sk \
-sl \
-sr_RS at cyrillic \
-sr_RS at latin \
-sv \
-te \
-th \
-tr \
-uk \
-wa \
-zh_CN \
-zh_TW"
-
-
-
 
 wine_fn_append_file CONFIGURE_TARGETS "TAGS"
 wine_fn_append_file CONFIGURE_TARGETS "tags"
@@ -18257,8 +18210,6 @@ include/stamp-h.in: configure.ac aclocal.m4
 	@echo timestamp > \$@"
 fi
 
-test "$MSGFMT" != false || LINGUAS=
-
 if test "x$enable_tools" != xno
 then
     wine_fn_append_rule "tools/makedep$ac_exeext: $srcdir/tools/makedep.c include/config.h config.status
diff --git a/configure.ac b/configure.ac
index 19abd08..54b16f6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -362,6 +362,7 @@ EOF
 fi
 WINE_WARNING_WITH(gettext,[test "$MSGFMT" = false],
                   [gettext tools not found (or too old), translations won't be built.])
+test "$MSGFMT" = false && enable_po=${enable_po:-no}
 
 dnl **** Check for some libraries ****
 
@@ -3430,6 +3431,7 @@ WINE_CONFIG_MAKEFILE([libs/port])
 WINE_CONFIG_MAKEFILE([libs/wine],,[clean,implib,install-dev,install-lib])
 WINE_CONFIG_MAKEFILE([libs/wpp])
 WINE_CONFIG_MAKEFILE([loader],,[clean,install-lib])
+WINE_CONFIG_MAKEFILE([po],,[clean])
 WINE_CONFIG_PROGRAM(arp,,[install])
 WINE_CONFIG_PROGRAM(aspnet_regiis,,[install])
 WINE_CONFIG_PROGRAM(attrib,,[clean,install])
@@ -3533,54 +3535,6 @@ WINE_CONFIG_TOOL(tools/winegcc,[clean,install-dev])
 WINE_CONFIG_TOOL(tools/winemaker,[clean,install-dev])
 WINE_CONFIG_TOOL(tools/wmc,[clean,install-dev])
 WINE_CONFIG_TOOL(tools/wrc,[clean,install-dev])
-
-AC_SUBST([LINGUAS],["\
-ar \
-bg \
-ca \
-cs \
-da \
-de \
-el \
-en \
-en_US \
-eo \
-es \
-fa \
-fi \
-fr \
-he \
-hi \
-hr \
-hu \
-it \
-ja \
-ko \
-lt \
-ml \
-nb_NO \
-nl \
-or \
-pa \
-pl \
-pt_BR \
-pt_PT \
-rm \
-ro \
-ru \
-sk \
-sl \
-sr_RS at cyrillic \
-sr_RS at latin \
-sv \
-te \
-th \
-tr \
-uk \
-wa \
-zh_CN \
-zh_TW"])
-
 dnl End of auto-generated output commands
 
 dnl Main ignore file
@@ -3629,8 +3583,6 @@ include/stamp-h.in: configure.ac aclocal.m4
 	@echo timestamp > \$[@]])
 fi
 
-test "$MSGFMT" != false || LINGUAS=
-
 if test "x$enable_tools" != xno
 then
     WINE_APPEND_RULE(
diff --git a/po/Makefile.in b/po/Makefile.in
new file mode 100644
index 0000000..430a9a8
--- /dev/null
+++ b/po/Makefile.in
@@ -0,0 +1,46 @@
+PO_SRCS = \
+	ar.po \
+	bg.po \
+	ca.po \
+	cs.po \
+	da.po \
+	de.po \
+	el.po \
+	en.po \
+	en_US.po \
+	eo.po \
+	es.po \
+	fa.po \
+	fi.po \
+	fr.po \
+	he.po \
+	hi.po \
+	hr.po \
+	hu.po \
+	it.po \
+	ja.po \
+	ko.po \
+	lt.po \
+	ml.po \
+	nb_NO.po \
+	nl.po \
+	or.po \
+	pa.po \
+	pl.po \
+	pt_BR.po \
+	pt_PT.po \
+	rm.po \
+	ro.po \
+	ru.po \
+	sk.po \
+	sl.po \
+	sr_RS at cyrillic.po \
+	sr_RS at latin.po \
+	sv.po \
+	te.po \
+	th.po \
+	tr.po \
+	uk.po \
+	wa.po \
+	zh_CN.po \
+	zh_TW.po
diff --git a/tools/make_makefiles b/tools/make_makefiles
index ce38c53..98f65d3 100755
--- a/tools/make_makefiles
+++ b/tools/make_makefiles
@@ -211,7 +211,7 @@ sub parse_makefile($)
             ${$make{"=flags"}}{"implib"} = 1 if $var eq "IMPORTLIB";
             next;
         }
-        if (/^\s*(BISON_SRCS|LEX_SRCS|IDL_SRCS|C_SRCS|OBJC_SRCS|MC_SRCS|RC_SRCS|SVG_SRCS|FONT_SRCS|IN_SRCS|PROGRAMS|EXTRA_TARGETS|MANPAGES|EXTRA_OBJS|INSTALL_LIB|INSTALL_DEV)\s*=\s*(.*)/)
+        if (/^\s*(BISON_SRCS|LEX_SRCS|IDL_SRCS|C_SRCS|OBJC_SRCS|MC_SRCS|RC_SRCS|SVG_SRCS|FONT_SRCS|IN_SRCS|PO_SRCS|PROGRAMS|EXTRA_TARGETS|MANPAGES|EXTRA_OBJS|INSTALL_LIB|INSTALL_DEV)\s*=\s*(.*)/)
         {
             my $var = $1;
             my @list = split(/\s+/, $2);
@@ -388,6 +388,11 @@ sub assign_sources_to_makefiles(@)
             push @{${$make}{"=MC_SRCS"}}, $name;
             ${${$make}{"=flags"}}{"clean"} = 1;
         }
+        elsif ($name =~ /\.po$/)
+        {
+            push @{${$make}{"=PO_SRCS"}}, $name;
+            ${${$make}{"=flags"}}{"clean"} = 1;
+        }
         elsif ($name =~ /\.idl$/)
         {
             die "no makedep flags specified in $file" unless %flags || $dir eq "include";
@@ -502,8 +507,6 @@ sub update_makefiles(@)
         }
     }
 
-    push @lines, "\nAC_SUBST([LINGUAS],[\"\\\n", join( " \\\n", sort @linguas ), "\"])\n\n";
-
     # update the source variables in all the makefiles
 
     foreach my $file (sort @_)
@@ -519,6 +522,7 @@ sub update_makefiles(@)
         replace_makefile_variable( $file, "IDL_SRCS" );
         replace_makefile_variable( $file, "HEADER_SRCS" );
         replace_makefile_variable( $file, "XTEMPLATE_SRCS" );
+        replace_makefile_variable( $file, "PO_SRCS" );
         replace_makefile_variable( $file, "IN_SRCS" );
         replace_makefile_variable( $file, "MANPAGES" );
     }
diff --git a/tools/makedep.c b/tools/makedep.c
index 12f5395..687bf3f 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -1811,6 +1811,11 @@ static void add_generated_sources( struct makefile *make )
             if (!make->staticimplib && make->importlib && *dll_ext)
                 make->staticimplib = strmake( "lib%s.def.a", make->importlib );
         }
+        if (strendswith( source->name, ".po" ))
+        {
+            if (!make->disabled)
+                strarray_add_uniq( &linguas, replace_extension( source->name, ".po", "" ));
+        }
     }
     if (make->testdll)
     {
@@ -2536,6 +2541,12 @@ static struct strarray output_sources( const struct makefile *make )
                         top_dir_path( make, "tools/buildimage" ), source->filename );
             }
         }
+        else if (!strcmp( ext, "po" ))  /* po file */
+        {
+            output( "%s.mo: %s\n", obj_dir_path( make, obj ), source->filename );
+            output( "\t%s -o $@ %s\n", msgfmt, source->filename );
+            strarray_add( &all_targets, strmake( "%s.mo", obj ));
+        }
         else if (!strcmp( ext, "res" ))
         {
             strarray_add( &res_files, source->name );
@@ -3080,16 +3091,6 @@ static struct strarray output_sources( const struct makefile *make )
         output( "\n" );
         strarray_add( &phony_targets, "distclean" );
 
-        if (msgfmt && strcmp( msgfmt, "false" ))
-        {
-            strarray_addall( &build_deps, mo_files );
-            for (i = 0; i < linguas.count; i++)
-            {
-                output( "%s/%s.mo:", obj_dir_path( make, "po" ), linguas.str[i] );
-                output( " %s/%s.po\n", src_dir_path( make, "po" ), linguas.str[i] );
-                output( "\t%s -o $@ %s/%s.po\n", msgfmt, src_dir_path( make, "po" ), linguas.str[i] );
-            }
-        }
         if (build_deps.count)
         {
             output( "__builddeps__:" );
@@ -3360,6 +3361,7 @@ static void load_sources( struct makefile *make )
         "SVG_SRCS",
         "FONT_SRCS",
         "IN_SRCS",
+        "PO_SRCS",
         "MANPAGES",
         NULL
     };
@@ -3537,7 +3539,6 @@ int main( int argc, char *argv[] )
 
     top_makefile = parse_makefile( NULL );
 
-    linguas      = get_expanded_make_var_array( top_makefile, "LINGUAS" );
     target_flags = get_expanded_make_var_array( top_makefile, "TARGETFLAGS" );
     msvcrt_flags = get_expanded_make_var_array( top_makefile, "MSVCRTFLAGS" );
     dll_flags    = get_expanded_make_var_array( top_makefile, "DLLFLAGS" );




More information about the wine-cvs mailing list