[Cxplorer-cvs 01230] CVS update: libcxp

Zurück zum Archiv-Index

Yasumichi Akahoshi yasum****@users*****
2005年 9月 3日 (土) 01:22:59 JST


Index: libcxp/Makefile.am
diff -u libcxp/Makefile.am:1.4 libcxp/Makefile.am:1.5
--- libcxp/Makefile.am:1.4	Fri Sep  2 00:42:24 2005
+++ libcxp/Makefile.am	Sat Sep  3 01:22:59 2005
@@ -4,7 +4,7 @@
 schemadir   = @GCONF_SCHEMA_FILE_DIR@
 schema_DATA = libcxp.schemas
 
-SUBDIRS = include src common po
+SUBDIRS = include src common pixmaps po
 EXTRA_DIST = libcxp.pc.in intltool-extract.in  intltool-merge.in  intltool-update.in $(schema_DATA)
 
 install-data-local:
Index: libcxp/Makefile.in
diff -u libcxp/Makefile.in:1.8 libcxp/Makefile.in:1.9
--- libcxp/Makefile.in:1.8	Fri Sep  2 00:42:24 2005
+++ libcxp/Makefile.in	Sat Sep  3 01:22:59 2005
@@ -129,9 +129,12 @@
 INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@
 INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@
 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
+INTLTOOL_ICONV = @INTLTOOL_ICONV@
 INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@
 INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@
 INTLTOOL_MERGE = @INTLTOOL_MERGE@
+INTLTOOL_MSGFMT = @INTLTOOL_MSGFMT@
+INTLTOOL_MSGMERGE = @INTLTOOL_MSGMERGE@
 INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@
 INTLTOOL_PERL = @INTLTOOL_PERL@
 INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@
@@ -144,6 +147,8 @@
 INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@
 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
 INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@
+INTLTOOL_XGETTEXT = @INTLTOOL_XGETTEXT@
+INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@
 INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
@@ -225,7 +230,7 @@
 pkgconfig_DATA = libcxp.pc
 schemadir = @GCONF_SCHEMA_FILE_DIR@
 schema_DATA = libcxp.schemas
-SUBDIRS = include src common po
+SUBDIRS = include src common pixmaps po
 EXTRA_DIST = libcxp.pc.in intltool-extract.in  intltool-merge.in  intltool-update.in $(schema_DATA)
 all: config.h
 	$(MAKE) $(AM_MAKEFLAGS) all-recursive
Index: libcxp/aclocal.m4
diff -u libcxp/aclocal.m4:1.9 libcxp/aclocal.m4:1.10
--- libcxp/aclocal.m4:1.9	Fri Sep  2 00:42:24 2005
+++ libcxp/aclocal.m4	Sat Sep  3 01:22:59 2005
@@ -451,11 +451,10 @@
 AC_DEFUN([AM_GLIB_DEFINE_LOCALEDIR],[GLIB_DEFINE_LOCALEDIR($@)])
 ])dnl
 
-ll## intltool.m4 - Configure intltool for the target system. -*-Shell-script-*-
 
-dnl AC_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml])
-# serial 1 AC_PROG_INTLTOOL
-AC_DEFUN([AC_PROG_INTLTOOL],
+dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml])
+# serial 2 IT_PROG_INTLTOOL
+AC_DEFUN([IT_PROG_INTLTOOL],
 [
 
 if test -n "$1"; then
@@ -486,6 +485,7 @@
 INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
        INTLTOOL_UI_RULE='%.ui:        %.ui.in        $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
       INTLTOOL_XML_RULE='%.xml:       %.xml.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+      INTLTOOL_XML_NOMERGE_RULE='%.xml:       %.xml.in       $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< [$]@' 
       INTLTOOL_XAM_RULE='%.xam:       %.xml.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
       INTLTOOL_KBD_RULE='%.kbd:       %.kbd.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
     INTLTOOL_CAVES_RULE='%.caves:     %.caves.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
@@ -505,6 +505,7 @@
 AC_SUBST(INTLTOOL_XAM_RULE)
 AC_SUBST(INTLTOOL_KBD_RULE)
 AC_SUBST(INTLTOOL_XML_RULE)
+AC_SUBST(INTLTOOL_XML_NOMERGE_RULE)
 AC_SUBST(INTLTOOL_CAVES_RULE)
 AC_SUBST(INTLTOOL_SCHEMAS_RULE)
 AC_SUBST(INTLTOOL_THEME_RULE)
@@ -535,6 +536,11 @@
    fi
 fi
 
+AC_PATH_PROG(INTLTOOL_ICONV, iconv, iconv)
+AC_PATH_PROG(INTLTOOL_MSGFMT, msgfmt, msgfmt)
+AC_PATH_PROG(INTLTOOL_MSGMERGE, msgmerge, msgmerge)
+AC_PATH_PROG(INTLTOOL_XGETTEXT, xgettext, xgettext)
+
 # Remove file type tags (using []) from po/POTFILES.
 
 ifdef([AC_DIVERSION_ICMDS],[
@@ -555,13 +561,47 @@
         changequote([,])
     ])
   ])
+
+if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+  # Keeping the `.' argument allows $(mkdir_p) to be used without
+  # argument.  Indeed, we sometimes output rules like
+  #   $(mkdir_p) $(somedir)
+  # where $(somedir) is conditionally defined.
+  # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more
+  # expensive solution, as it forces Make to start a sub-shell.)
+  mkdir_p='mkdir -p -- .'
+else
+  # On NextStep and OpenStep, the `mkdir' command does not
+  # recognize any option.  It will interpret all options as
+  # directories to create, and then abort because `.' already
+  # exists.
+  for d in ./-p ./--version;
+  do
+    test -d $d && rmdir $d
+  done
+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+  if test -f "$ac_aux_dir/mkinstalldirs"; then
+    mkdir_p='$(mkinstalldirs)'
+  else
+    mkdir_p='$(install_sh) -d'
+  fi
+fi
+AC_SUBST([mkdir_p])
 ])
 
 # Manually sed perl in so people don't have to put the intltool scripts in AC_OUTPUT.
 
-AC_OUTPUT_COMMANDS([
+AC_CONFIG_COMMANDS([intltool], [
 
-sed -e "s:@INTLTOOL_PERL@:${INTLTOOL_PERL}:;" < ${ac_aux_dir}/intltool-extract.in > intltool-extract.out
+intltool_edit="-e 's#@INTLTOOL_EXTRACT@#`pwd`/intltool-extract#g' \
+               -e 's#@INTLTOOL_ICONV@#${INTLTOOL_ICONV}#g' \
+               -e 's#@INTLTOOL_MSGFMT@#${INTLTOOL_MSGFMT}#g' \
+               -e 's#@INTLTOOL_MSGMERGE@#${INTLTOOL_MSGMERGE}#g' \
+               -e 's#@INTLTOOL_XGETTEXT@#${INTLTOOL_XGETTEXT}#g' \
+               -e 's#@INTLTOOL_PERL@#${INTLTOOL_PERL}#g'"
+
+eval sed ${intltool_edit} < ${ac_aux_dir}/intltool-extract.in \
+  > intltool-extract.out
 if cmp -s intltool-extract intltool-extract.out 2>/dev/null; then
   rm -f intltool-extract.out
 else
@@ -570,8 +610,8 @@
 chmod ugo+x intltool-extract
 chmod u+w intltool-extract
 
-sed -e "s:@INTLTOOL_PERL@:${INTLTOOL_PERL}:;" \
-    < ${ac_aux_dir}/intltool-merge.in > intltool-merge.out
+eval sed ${intltool_edit} < ${ac_aux_dir}/intltool-merge.in \
+  > intltool-merge.out
 if cmp -s intltool-merge intltool-merge.out 2>/dev/null; then
   rm -f intltool-merge.out
 else
@@ -580,7 +620,8 @@
 chmod ugo+x intltool-merge
 chmod u+w intltool-merge
 
-sed -e "s:@INTLTOOL_PERL@:${INTLTOOL_PERL}:;" < ${ac_aux_dir}/intltool-update.in > intltool-update.out
+eval sed ${intltool_edit} < ${ac_aux_dir}/intltool-update.in \
+  > intltool-update.out
 if cmp -s intltool-update intltool-update.out 2>/dev/null; then
   rm -f intltool-update.out
 else
@@ -589,10 +630,17 @@
 chmod ugo+x intltool-update
 chmod u+w intltool-update
 
-], INTLTOOL_PERL=${INTLTOOL_PERL} ac_aux_dir=${ac_aux_dir})
+], INTLTOOL_PERL='${INTLTOOL_PERL}' ac_aux_dir=${ac_aux_dir}
+INTLTOOL_EXTRACT='${INTLTOOL_EXTRACT}' ICONV='${INTLTOOL_ICONV}'
+MSGFMT='${INTLTOOL_MSGFMT}' MSGMERGE='${INTLTOOL_MSGMERGE}'
+XGETTEXT='${INTLTOOL_XGETTEXT}')
 
 ])
 
+# deprecated macros
+AC_DEFUN([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL($@)])
+
+
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 
 # serial 47 AC_PROG_LIBTOOL
Index: libcxp/config.h.in
diff -u libcxp/config.h.in:1.5 libcxp/config.h.in:1.6
--- libcxp/config.h.in:1.5	Fri Sep  2 22:19:10 2005
+++ libcxp/config.h.in	Sat Sep  3 01:22:59 2005
@@ -69,6 +69,9 @@
 /* Define to the full name of this package. */
 #undef PACKAGE_NAME
 
+/* Define pixmas directory of package. */
+#undef PACKAGE_PIXMAPS_DIR
+
 /* Define to the full name and version of this package. */
 #undef PACKAGE_STRING
 
Index: libcxp/configure
diff -u libcxp/configure:1.21 libcxp/configure:1.22
--- libcxp/configure:1.21	Fri Sep  2 23:20:43 2005
+++ libcxp/configure	Sat Sep  3 01:22:59 2005
@@ -465,7 +465,7 @@
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT GCONF_SCHEMA_CONFIG_SOURCE GCONF_SCHEMA_FILE_DIR GCONF_SCHEMAS_INSTALL_TRUE GCONF_SCHEMAS_INSTALL_FALSE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP EGREP build build_cpu build_vendor build_os host host_cpu host_vendor host_os LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL PKG_CONFIG ac_pt_PKG_CONFIG GTK_CFLAGS GTK_LIBS GCONF_CFLAGS GCONF_LIBS SMI_CFLAGS SMI_LIBS INTLTOOL_DESKTOP_RULE INTLTOOL_DIRECTORY_RULE INTLTOOL_KEYS_RULE INTLTOOL_PROP_RULE INTLTOOL_OAF_RULE INTLTOOL_PONG_RULE INTLTOOL_SERVER_RULE INTLTOOL_SHEET_RULE INTLTOOL_SOUNDLIST_RULE INTLTOOL_UI_RULE INTLTOOL_XAM_RULE INTLTOOL_KBD_RULE INTLTOOL_XML_RULE INTLTOOL_CAVES_RULE INTLTOOL_SCHEMAS_RULE INTLTOOL_THEME_RULE INTLTOOL_EXTRACT INTLTOOL_MERGE INTLTOOL_UPDATE INTLTOOL_PERL GETTEXT_PACKAGE USE_NLS MSGFMT GMSGFMT XGETTEXT CATALOGS CATOBJEXT DATADIRNAME GMOFILES INSTOBJEXT INTLLIBS PO_IN_DATADIR_TRUE PO_IN_DATADIR_FALSE POFILES POSUB MKINSTALLDIRS LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT GCONF_SCHEMA_CONFIG_SOURCE GCONF_SCHEMA_FILE_DIR GCONF_SCHEMAS_INSTALL_TRUE GCONF_SCHEMAS_INSTALL_FALSE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP EGREP build build_cpu build_vendor build_os host host_cpu host_vendor host_os LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL PKG_CONFIG ac_pt_PKG_CONFIG GTK_CFLAGS GTK_LIBS GCONF_CFLAGS GCONF_LIBS SMI_CFLAGS SMI_LIBS INTLTOOL_DESKTOP_RULE INTLTOOL_DIRECTORY_RULE INTLTOOL_KEYS_RULE INTLTOOL_PROP_RULE INTLTOOL_OAF_RULE INTLTOOL_PONG_RULE INTLTOOL_SERVER_RULE INTLTOOL_SHEET_RULE INTLTOOL_SOUNDLIST_RULE INTLTOOL_UI_RULE INTLTOOL_XAM_RULE INTLTOOL_KBD_RULE INTLTOOL_XML_RULE INTLTOOL_XML_NOMERGE_RULE INTLTOOL_CAVES_RULE INTLTOOL_SCHEMAS_RULE INTLTOOL_THEME_RULE INTLTOOL_EXTRACT INTLTOOL_MERGE INTLTOOL_UPDATE INTLTOOL_PERL INTLTOOL_ICONV INTLTOOL_MSGFMT INTLTOOL_MSGMERGE INTLTOOL_XGETTEXT GETTEXT_PACKAGE USE_NLS MSGFMT GMSGFMT XGETTEXT CATALOGS CATOBJEXT DATADIRNAME GMOFILES INSTOBJEXT INTLLIBS PO_IN_DATADIR_TRUE PO_IN_DATADIR_FALSE POFILES POSUB MKINSTALLDIRS LIBOBJS LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -20531,6 +20531,7 @@
 INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
        INTLTOOL_UI_RULE='%.ui:        %.ui.in        $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
       INTLTOOL_XML_RULE='%.xml:       %.xml.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+      INTLTOOL_XML_NOMERGE_RULE='%.xml:       %.xml.in       $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@'
       INTLTOOL_XAM_RULE='%.xam:       %.xml.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
       INTLTOOL_KBD_RULE='%.kbd:       %.kbd.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
     INTLTOOL_CAVES_RULE='%.caves:     %.caves.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
@@ -20554,6 +20555,7 @@
 
 
 
+
 # Use the tools built into the package, not the ones that are installed.
 
 INTLTOOL_EXTRACT='$(top_builddir)/intltool-extract'
@@ -20626,6 +20628,167 @@
    fi
 fi
 
+# Extract the first word of "iconv", so it can be a program name with args.
+set dummy iconv; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_INTLTOOL_ICONV+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $INTLTOOL_ICONV in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_INTLTOOL_ICONV="$INTLTOOL_ICONV" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_INTLTOOL_ICONV="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_path_INTLTOOL_ICONV" && ac_cv_path_INTLTOOL_ICONV="iconv"
+  ;;
+esac
+fi
+INTLTOOL_ICONV=$ac_cv_path_INTLTOOL_ICONV
+
+if test -n "$INTLTOOL_ICONV"; then
+  echo "$as_me:$LINENO: result: $INTLTOOL_ICONV" >&5
+echo "${ECHO_T}$INTLTOOL_ICONV" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+# Extract the first word of "msgfmt", so it can be a program name with args.
+set dummy msgfmt; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_INTLTOOL_MSGFMT+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $INTLTOOL_MSGFMT in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_INTLTOOL_MSGFMT="$INTLTOOL_MSGFMT" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_INTLTOOL_MSGFMT="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_path_INTLTOOL_MSGFMT" && ac_cv_path_INTLTOOL_MSGFMT="msgfmt"
+  ;;
+esac
+fi
+INTLTOOL_MSGFMT=$ac_cv_path_INTLTOOL_MSGFMT
+
+if test -n "$INTLTOOL_MSGFMT"; then
+  echo "$as_me:$LINENO: result: $INTLTOOL_MSGFMT" >&5
+echo "${ECHO_T}$INTLTOOL_MSGFMT" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+# Extract the first word of "msgmerge", so it can be a program name with args.
+set dummy msgmerge; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_INTLTOOL_MSGMERGE+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $INTLTOOL_MSGMERGE in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_INTLTOOL_MSGMERGE="$INTLTOOL_MSGMERGE" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_INTLTOOL_MSGMERGE="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_path_INTLTOOL_MSGMERGE" && ac_cv_path_INTLTOOL_MSGMERGE="msgmerge"
+  ;;
+esac
+fi
+INTLTOOL_MSGMERGE=$ac_cv_path_INTLTOOL_MSGMERGE
+
+if test -n "$INTLTOOL_MSGMERGE"; then
+  echo "$as_me:$LINENO: result: $INTLTOOL_MSGMERGE" >&5
+echo "${ECHO_T}$INTLTOOL_MSGMERGE" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+# Extract the first word of "xgettext", so it can be a program name with args.
+set dummy xgettext; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_INTLTOOL_XGETTEXT+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $INTLTOOL_XGETTEXT in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_INTLTOOL_XGETTEXT="$INTLTOOL_XGETTEXT" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_INTLTOOL_XGETTEXT="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_path_INTLTOOL_XGETTEXT" && ac_cv_path_INTLTOOL_XGETTEXT="xgettext"
+  ;;
+esac
+fi
+INTLTOOL_XGETTEXT=$ac_cv_path_INTLTOOL_XGETTEXT
+
+if test -n "$INTLTOOL_XGETTEXT"; then
+  echo "$as_me:$LINENO: result: $INTLTOOL_XGETTEXT" >&5
+echo "${ECHO_T}$INTLTOOL_XGETTEXT" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+
 # Remove file type tags (using []) from po/POTFILES.
 
 
@@ -20633,10 +20796,36 @@
 
 
 
+if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+  # Keeping the `.' argument allows $(mkdir_p) to be used without
+  # argument.  Indeed, we sometimes output rules like
+  #   $(mkdir_p) $(somedir)
+  # where $(somedir) is conditionally defined.
+  # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more
+  # expensive solution, as it forces Make to start a sub-shell.)
+  mkdir_p='mkdir -p -- .'
+else
+  # On NextStep and OpenStep, the `mkdir' command does not
+  # recognize any option.  It will interpret all options as
+  # directories to create, and then abort because `.' already
+  # exists.
+  for d in ./-p ./--version;
+  do
+    test -d $d && rmdir $d
+  done
+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+  if test -f "$ac_aux_dir/mkinstalldirs"; then
+    mkdir_p='$(mkinstalldirs)'
+  else
+    mkdir_p='$(install_sh) -d'
+  fi
+fi
+
+
 
 # Manually sed perl in so people don't have to put the intltool scripts in AC_OUTPUT.
 
-          ac_config_commands="$ac_config_commands default-1"
+          ac_config_commands="$ac_config_commands intltool"
 
 
 
@@ -22137,7 +22326,7 @@
     # We need to process the po/ directory.
     POSUB=po
 
-              ac_config_commands="$ac_config_commands default-2"
+              ac_config_commands="$ac_config_commands default-1"
 
 
                 for lang in $ALL_LINGUAS; do
@@ -22236,6 +22425,13 @@
 _ACEOF
 
 
+PACKAGE_PIXMAPS_DIR=`eval echo ${datadir}`/pixmaps/cxp
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_PIXMAPS_DIR "$PACKAGE_PIXMAPS_DIR"
+_ACEOF
+
+
 # Checks for library functions.
 
 for ac_func in mkdir
@@ -22339,7 +22535,7 @@
 fi
 done
 
-                                                            ac_config_files="$ac_config_files Makefile src/Makefile include/Makefile common/Makefile po/Makefile.in libcxp.pc"
+                                                                                                                                  ac_config_files="$ac_config_files Makefile src/Makefile include/Makefile common/Makefile pixmaps/Makefile pixmaps/application/Makefile pixmaps/audio/Makefile pixmaps/image/Makefile pixmaps/message/Makefile pixmaps/text/Makefile pixmaps/video/Makefile po/Makefile.in libcxp.pc"
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
 # tests run on this system so they can be shared between configure
@@ -22907,7 +23103,10 @@
 #
 
 AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-INTLTOOL_PERL=${INTLTOOL_PERL} ac_aux_dir=${ac_aux_dir}
+INTLTOOL_PERL='${INTLTOOL_PERL}' ac_aux_dir=${ac_aux_dir}
+INTLTOOL_EXTRACT='${INTLTOOL_EXTRACT}' ICONV='${INTLTOOL_ICONV}'
+MSGFMT='${INTLTOOL_MSGFMT}' MSGMERGE='${INTLTOOL_MSGMERGE}'
+XGETTEXT='${INTLTOOL_XGETTEXT}'
 
 
 _ACEOF
@@ -22923,11 +23122,18 @@
   "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
   "include/Makefile" ) CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
   "common/Makefile" ) CONFIG_FILES="$CONFIG_FILES common/Makefile" ;;
+  "pixmaps/Makefile" ) CONFIG_FILES="$CONFIG_FILES pixmaps/Makefile" ;;
+  "pixmaps/application/Makefile" ) CONFIG_FILES="$CONFIG_FILES pixmaps/application/Makefile" ;;
+  "pixmaps/audio/Makefile" ) CONFIG_FILES="$CONFIG_FILES pixmaps/audio/Makefile" ;;
+  "pixmaps/image/Makefile" ) CONFIG_FILES="$CONFIG_FILES pixmaps/image/Makefile" ;;
+  "pixmaps/message/Makefile" ) CONFIG_FILES="$CONFIG_FILES pixmaps/message/Makefile" ;;
+  "pixmaps/text/Makefile" ) CONFIG_FILES="$CONFIG_FILES pixmaps/text/Makefile" ;;
+  "pixmaps/video/Makefile" ) CONFIG_FILES="$CONFIG_FILES pixmaps/video/Makefile" ;;
   "po/Makefile.in" ) CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
   "libcxp.pc" ) CONFIG_FILES="$CONFIG_FILES libcxp.pc" ;;
   "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+  "intltool" ) CONFIG_COMMANDS="$CONFIG_COMMANDS intltool" ;;
   "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
-  "default-2" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-2" ;;
   "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
   *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
 echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
@@ -23105,6 +23311,7 @@
 s, @ INTLTOOL_XAM_RULE@,$INTLTOOL_XAM_RULE,;t t
 s, @ INTLTOOL_KBD_RULE@,$INTLTOOL_KBD_RULE,;t t
 s, @ INTLTOOL_XML_RULE@,$INTLTOOL_XML_RULE,;t t
+s, @ INTLTOOL_XML_NOMERGE_RULE@,$INTLTOOL_XML_NOMERGE_RULE,;t t
 s, @ INTLTOOL_CAVES_RULE@,$INTLTOOL_CAVES_RULE,;t t
 s, @ INTLTOOL_SCHEMAS_RULE@,$INTLTOOL_SCHEMAS_RULE,;t t
 s, @ INTLTOOL_THEME_RULE@,$INTLTOOL_THEME_RULE,;t t
@@ -23112,6 +23319,10 @@
 s, @ INTLTOOL_MERGE@,$INTLTOOL_MERGE,;t t
 s, @ INTLTOOL_UPDATE@,$INTLTOOL_UPDATE,;t t
 s, @ INTLTOOL_PERL@,$INTLTOOL_PERL,;t t
+s, @ INTLTOOL_ICONV@,$INTLTOOL_ICONV,;t t
+s, @ INTLTOOL_MSGFMT@,$INTLTOOL_MSGFMT,;t t
+s, @ INTLTOOL_MSGMERGE@,$INTLTOOL_MSGMERGE,;t t
+s, @ INTLTOOL_XGETTEXT@,$INTLTOOL_XGETTEXT,;t t
 s, @ GETTEXT_PACKAGE@,$GETTEXT_PACKAGE,;t t
 s, @ USE_NLS@,$USE_NLS,;t t
 s, @ MSGFMT@,$MSGFMT,;t t
@@ -23818,9 +24029,17 @@
   done
 done
  ;;
-    default-1 )
+    intltool )
+
+intltool_edit="-e 's#@INTLTOOL_EXTRACT@#`pwd`/intltool-extract#g' \
+               -e 's#@INTLTOOL_ICONV@#${INTLTOOL_ICONV}#g' \
+               -e 's#@INTLTOOL_MSGFMT@#${INTLTOOL_MSGFMT}#g' \
+               -e 's#@INTLTOOL_MSGMERGE@#${INTLTOOL_MSGMERGE}#g' \
+               -e 's#@INTLTOOL_XGETTEXT@#${INTLTOOL_XGETTEXT}#g' \
+               -e 's#@INTLTOOL_PERL@#${INTLTOOL_PERL}#g'"
 
-sed -e "s:@INTLTOOL_PERL@:${INTLTOOL_PERL}:;" < ${ac_aux_dir}/intltool-extract.in > intltool-extract.out
+eval sed ${intltool_edit} < ${ac_aux_dir}/intltool-extract.in \
+  > intltool-extract.out
 if cmp -s intltool-extract intltool-extract.out 2>/dev/null; then
   rm -f intltool-extract.out
 else
@@ -23829,8 +24048,8 @@
 chmod ugo+x intltool-extract
 chmod u+w intltool-extract
 
-sed -e "s:@INTLTOOL_PERL@:${INTLTOOL_PERL}:;" \
-    < ${ac_aux_dir}/intltool-merge.in > intltool-merge.out
+eval sed ${intltool_edit} < ${ac_aux_dir}/intltool-merge.in \
+  > intltool-merge.out
 if cmp -s intltool-merge intltool-merge.out 2>/dev/null; then
   rm -f intltool-merge.out
 else
@@ -23839,7 +24058,8 @@
 chmod ugo+x intltool-merge
 chmod u+w intltool-merge
 
-sed -e "s:@INTLTOOL_PERL@:${INTLTOOL_PERL}:;" < ${ac_aux_dir}/intltool-update.in > intltool-update.out
+eval sed ${intltool_edit} < ${ac_aux_dir}/intltool-update.in \
+  > intltool-update.out
 if cmp -s intltool-update intltool-update.out 2>/dev/null; then
   rm -f intltool-update.out
 else
@@ -23849,7 +24069,7 @@
 chmod u+w intltool-update
 
  ;;
-    default-2 ) case "$CONFIG_FILES" in *po/Makefile.in*)
+    default-1 ) case "$CONFIG_FILES" in *po/Makefile.in*)
         sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
       esac ;;
   esac
Index: libcxp/configure.ac
diff -u libcxp/configure.ac:1.19 libcxp/configure.ac:1.20
--- libcxp/configure.ac:1.19	Fri Sep  2 23:20:43 2005
+++ libcxp/configure.ac	Sat Sep  3 01:22:59 2005
@@ -53,6 +53,9 @@
 PACKAGE_CONF_DIR=`eval echo ${sysconfdir}`/cxp
 AC_DEFINE_UNQUOTED(PACKAGE_CONF_DIR, "$PACKAGE_CONF_DIR", Define config directory of package.)
 
+PACKAGE_PIXMAPS_DIR=`eval echo ${datadir}`/pixmaps/cxp
+AC_DEFINE_UNQUOTED(PACKAGE_PIXMAPS_DIR, "$PACKAGE_PIXMAPS_DIR", Define pixmas directory of package.)
+
 # Checks for library functions.
 AC_CHECK_FUNCS([mkdir])
 AC_OUTPUT([
@@ -60,6 +63,13 @@
 	   src/Makefile
 	   include/Makefile
 	   common/Makefile
+	   pixmaps/Makefile
+	   pixmaps/application/Makefile
+	   pixmaps/audio/Makefile
+	   pixmaps/image/Makefile
+	   pixmaps/message/Makefile
+	   pixmaps/text/Makefile
+	   pixmaps/video/Makefile
 	   po/Makefile.in
 	   libcxp.pc
 	   ])
Index: libcxp/intltool-extract.in
diff -u libcxp/intltool-extract.in:1.1 libcxp/intltool-extract.in:1.2
--- libcxp/intltool-extract.in:1.1	Thu Mar 31 00:07:50 2005
+++ libcxp/intltool-extract.in	Sat Sep  3 01:22:59 2005
@@ -32,7 +32,7 @@
 ## Release information
 my $PROGRAM      = "intltool-extract";
 my $PACKAGE      = "intltool";
-my $VERSION      = "0.31.2";
+my $VERSION      = "0.33";
 
 ## Loaded modules
 use strict; 
@@ -115,6 +115,7 @@
 }   
 
 sub place_local {
+    $FILE	 = $ARGV[0];
     $OUTFILE     = fileparse($FILE, ());
     if (!-e "tmp/") { 
         system("mkdir tmp/"); 
@@ -266,12 +267,12 @@
 sub type_xml {
     ### For generic translatable XML files ###
         
-    while ($input =~ /(?:<!--([^>]*?)-->[^\n]*\n?[^\n]*)?\s_$w+\s*=\s*\"([^"]+)\"/sg) { # "
+    while ($input =~ /(?:<!--([^>]*?)-->[^\n]*\n?[^\n]*)?\s_$w+\s*=\s*\"([^"]*)\"/sg) { # "
         $messages{entity_decode_minimal($2)} = [];
         $comments{entity_decode_minimal($2)} = $1 if (defined($1));
     }
 
-    while ($input =~ /(?:<!--([^>]*?)-->\s*)?<_($w+)(?: xml:space="($w+)")?[^>]*>(.+?)<\/_\2>/sg) {
+    while ($input =~ /(?:<!--([^>]*?)-->\s*)?<_($w+)(?: xml:space="($w+)")?[^>]*>(.*?)<\/_\2>/sg) {
         $_ = $4;
         if (!defined($3) || $3 ne "preserve") {
             s/\s+/ /g;
@@ -394,7 +395,7 @@
 	# Glade sometimes uses tags that normally mark translatable things for
         # little bits of non-translatable content. We work around this by not
         # translating strings that only includes something like label4 or window1.
-	$messages{entity_decode($2)} = [] unless $2 =~ /^(window|label)[0-9]+$/;
+	$messages{entity_decode($2)} = [] unless $2 =~ /^(window|label|dialog)[0-9]+$/;
     }
     
     while ($input =~ /<items>(..[^<]*)<\/items>/sg) {
@@ -404,8 +405,11 @@
     }
 
     ## handle new glade files
-    while ($input =~ /<(property|atkproperty)\s+[^>]*translatable\s*=\s*"yes"[^>]*>([^<]+)<\/\1>/sg) {
-	$messages{entity_decode($2)} = [] unless $2 =~ /^(window|label)[0-9]+$/;
+    while ($input =~ /<(property|atkproperty)\s+[^>]*translatable\s*=\s*"yes"(?:\s+[^>]*comments\s*=\s*"([^"]*)")?[^>]*>([^<]+)<\/\1>/sg) {
+	$messages{entity_decode($3)} = [] unless $3 =~ /^(window|label)[0-9]+$/;
+        if (defined($2) and !($3 =~ /^(window|label)[0-9]+$/)) {
+	   $comments{entity_decode($3)} = entity_decode($2) ;
+        }
     }
     while ($input =~ /<atkaction\s+action_name="([^>]*)"\s+description="([^>]+)"\/>/sg) {
         $messages{entity_decode_minimal($2)} = [];
@@ -413,8 +417,47 @@
 }
 
 sub type_scheme {
-    while ($input =~ /_\w*\(?"((?:[^"\\]+|\\.)*)"\)?/sg) {
-	$messages{$1} = [];
+    my ($line, $i, $state, $str, $trcomment, $char);
+    for $line (split(/\n/, $input)) {
+        $i = 0;
+        $state = 0; # 0 - nothing, 1 - string, 2 - translatable string
+        while ($i < length($line)) {
+            if (substr($line,$i,1) eq "\"") {
+                if ($state == 2) {
+                    $comments{$str} = $trcomment if ($trcomment);
+                    $messages{$str} = [];
+                    $str = '';
+                    $state = 0; $trcomment = "";
+                } elsif ($state == 1) {
+                    $str = '';
+                    $state = 0; $trcomment = "";
+                } else {
+                    $state = 1;
+                    $str = '';
+                    if ($i>0 && substr($line,$i-1,1) eq '_') {
+                        $state = 2;
+                    }
+                }
+            } elsif (!$state) {
+                if (substr($line,$i,1) eq ";") {
+                    $trcomment = substr($line,$i+1);
+                    $trcomment =~ s/^;*\s*//;
+                    $i = length($line);
+                } elsif ($trcomment && substr($line,$i,1) !~ /\s|\(|\)|_/) {
+                    $trcomment = "";
+                }
+            } else {
+                if (substr($line,$i,1) eq "\\") {
+                    $char = substr($line,$i+1,1);
+                    if ($char ne "\"" && $char ne "\\") {
+                       $str = $str . "\\";
+                    }
+                    $i++;
+                }
+                $str = $str . substr($line,$i,1);
+            }
+            $i++;
+        }
     }
 }
 
Index: libcxp/intltool-merge.in
diff -u libcxp/intltool-merge.in:1.1 libcxp/intltool-merge.in:1.2
--- libcxp/intltool-merge.in:1.1	Thu Mar 31 00:07:50 2005
+++ libcxp/intltool-merge.in	Sat Sep  3 01:22:59 2005
@@ -35,7 +35,7 @@
 ## Release information
 my $PROGRAM = "intltool-merge";
 my $PACKAGE = "intltool";
-my $VERSION = "0.31.2";
+my $VERSION = "0.33";
 
 ## Loaded modules
 use strict; 
@@ -91,7 +91,7 @@
 
 my %po_files_by_lang = ();
 my %translations = ();
-my $iconv = $ENV{"INTLTOOL_ICONV"} || "iconv";
+my $iconv = $ENV{"ICONV"} || $ENV{"INTLTOOL_ICONV"} || "/usr/bin/iconv";
 
 # Use this instead of \w for XML files to handle more possible characters.
 my $w = "[-A-Za-z0-9._:]";
@@ -111,6 +111,7 @@
 } 
 elsif ($BA_STYLE_ARG && @ARGV > 2) 
 {
+	&utf8_sanity_check;
 	&preparation;
 	&print_message;
 	&ba_merge_translations;
@@ -118,41 +119,41 @@
 } 
 elsif ($XML_STYLE_ARG && @ARGV > 2) 
 {
-        &utf8_sanity_check;
+	&utf8_sanity_check;
 	&preparation;
 	&print_message;
-	
-    &xml_merge_output;
-
+	&xml_merge_output;
 	&finalize;
 } 
 elsif ($KEYS_STYLE_ARG && @ARGV > 2) 
 {
-        &utf8_sanity_check;
-        &preparation;
-        &print_message;
-        &keys_merge_translations;
+	&utf8_sanity_check;
+	&preparation;
+	&print_message;
+	&keys_merge_translations;
 	&finalize;
 } 
 elsif ($DESKTOP_STYLE_ARG && @ARGV > 2) 
 {
-        &preparation;
-        &print_message;
-        &desktop_merge_translations;
+	&utf8_sanity_check;
+	&preparation;
+	&print_message;
+	&desktop_merge_translations;
 	&finalize;
 } 
 elsif ($SCHEMAS_STYLE_ARG && @ARGV > 2) 
 {
-        &preparation;
-        &print_message;
-        &schemas_merge_translations;
+	&utf8_sanity_check;
+	&preparation;
+	&print_message;
+	&schemas_merge_translations;
 	&finalize;
 } 
 elsif ($RFC822DEB_STYLE_ARG && @ARGV > 2) 
 {
-        &preparation;
-        &print_message;
-        &rfc822deb_merge_translations;
+	&preparation;
+	&print_message;
+	&rfc822deb_merge_translations;
 	&finalize;
 } 
 else 
@@ -194,9 +195,9 @@
   -x, --xml-style        includes translations in the standard xml style
 
 Other options:
-  -u, --utf8             convert all strings to UTF-8 before merging
-  -p, --pass-through     use strings as found in .po files, without
-                         conversion (STRONGLY unrecommended with -x)
+  -u, --utf8             convert all strings to UTF-8 before merging 
+                         (default for everything except RFC822 style)
+  -p, --pass-through     deprecated, does nothing and issues a warning
   -m, --multiple-output  output one localized file per locale, instead of 
 	                 a single file containing all localized elements
   -c, --cache=FILE       specify cache file name
@@ -308,13 +309,8 @@
 
 sub utf8_sanity_check 
 {
-    if (!$UTF8_ARG) 
-    {
-        if (!$PASS_THROUGH_ARG) 
-        {
-            $PASS_THROUGH_ARG="1";
-        }
-    }
+    print STDERR "Warning: option --pass-through has been removed.\n" if $PASS_THROUGH_ARG;
+    $UTF8_ARG = 1;
 }
 
 sub get_translation_database
@@ -462,9 +458,17 @@
     return "\\" if $sequence eq "\\\\";
     return "\"" if $sequence eq "\\\"";
     return "\n" if $sequence eq "\\n";
+    return "\r" if $sequence eq "\\r";
+    return "\t" if $sequence eq "\\t";
+    return "\b" if $sequence eq "\\b";
+    return "\f" if $sequence eq "\\f";
+    return "\a" if $sequence eq "\\a";
+    return chr(11) if $sequence eq "\\v"; # vertical tab, see ascii(7)
+
+    return chr(hex($1)) if ($sequence =~ /\\x([0-9a-fA-F]{2})/);
+    return chr(oct($1)) if ($sequence =~ /\\([0-7]{3})/);
 
-    # gettext also handles \n, \t, \b, \r, \f, \v, \a, \xxx (octal),
-    # \xXX (hex) and has a comment saying they want to handle \u and \U.
+    # FIXME: Is \0 supported as well? Kenneth and Rodney don't want it, see bug #48489
 
     return $sequence;
 }
@@ -473,7 +477,7 @@
 {
     my ($string) = @_;
 
-    $string =~ s/(\\.)/unescape_one_sequence($1)/eg;
+    $string =~ s/(\\x[0-9a-fA-F]{2}|\\[0-7]{3}|\\.)/unescape_one_sequence($1)/eg;
 
     return $string;
 }
@@ -494,8 +498,7 @@
  
 # entity_encode: (string)
 #
-# Encode the given string to XML format (encode '<' etc). It also 
-# encodes high bit if not in UTF-8 mode.
+# Encode the given string to XML format (encode '<' etc).
 
 sub entity_encode
 {
@@ -503,15 +506,8 @@
 
     my @list_of_chars = unpack ('C*', $pre_encoded);
 
-    if ($PASS_THROUGH_ARG) 
-    {
-        return join ('', map (&entity_encode_int_even_high_bit, @list_of_chars));
-    } 
-    else 
-    {
-	# with UTF-8 we only encode minimalistic
-        return join ('', map (&entity_encode_int_minimalist, @list_of_chars));
-    }
+    # with UTF-8 we only encode minimalistic
+    return join ('', map (&entity_encode_int_minimalist, @list_of_chars));
 }
 
 sub entity_encode_int_minimalist
@@ -523,19 +519,6 @@
     return chr $_;
 }
 
-sub entity_encode_int_even_high_bit
-{
-    if ($_ > 127 || $_ == 34 || $_ == 38 || $_ == 39 || $_ == 60) 
-    {
-        # the ($_ > 127) should probably be removed
-	return "&#" . $_ . ";"; 
-    } 
-    else 
-    {
-	return chr $_;
-    }
-}
-
 sub entity_encoded_translation
 {
     my ($lang, $string) = @_;
@@ -608,6 +591,7 @@
     my $do_translate = shift || 0;
     my $language = shift || "";
     my $result = "";
+    my $translate = shift;
     foreach my $e (reverse(sort(keys %{ $sub }))) {
 	my $key    = $e;
 	my $string = $sub->{$e};
@@ -634,8 +618,16 @@
 		if ($translation) {
 		    $translation = entity_encode($translation);
 		    $string = $translation;
-		}
-	    }
+                    $$translate = 2;
+		} else {
+                    $$translate = 2; # we still want translations for deep nesting (FIXME: this will cause
+                                     # problems since we might get untranslated duplicated entries, but with xml:lang set)
+                    # Fix would be to set it here to eg. 3, and do a check in traverse() to see if any of the containing tags
+                    # really need translation, and only emit "translation" if there is (this means parsing same data twice)
+                }
+            } else {
+                 $$translate = 2 if ($translate && (!$$translate)); # watch not to "overwrite" if $translate == 2
+            }
 	}
 	
 	$result .= " $key=$quote$string$quote";
@@ -657,6 +649,7 @@
     my $count = scalar(@list);
     my $attrs = $list[0];
     my $index = 1;
+
     while ($index < $count) {
 	my $type = $list[$index];
 	my $content = $list[$index+1];
@@ -664,7 +657,7 @@
 	    # We've got CDATA
 	    if ($content) {
 		# lets strip the whitespace here, and *ONLY* here
-		$content =~ s/\s+/ /gs;
+                $content =~ s/\s+/ /gs if (!((exists $attrs->{"xml:space"}) && ($attrs->{"xml:space"} =~ /^["']?preserve["']?$/)));
 		$result .= ($content);
 	    } else {
 		#print "no cdata content when expected it\n"; # is this possible, is this ok?
@@ -674,7 +667,7 @@
 	} else {
 	    # We've got another element
 	    $result .= "<$type";
-	    $result .= getAttributeString($attrs, 0); # no nested translatable elements
+	    $result .= getAttributeString(@{$content}[0], 0); # no nested translatable elements
 	    if ($content) {
 		my $subresult = getXMLstring($content);
 		if ($subresult) {
@@ -691,6 +684,33 @@
     return $result;
 }
 
+# Translate list of nodes if necessary
+sub translate_subnodes
+{
+    my $fh = shift;
+    my $content = shift;
+    my $language = shift || "";
+    my $singlelang = shift || 0;
+
+    my @nodes = @{ $content };
+
+    my $count = scalar(@nodes);
+    my $index = 0;
+    while ($index < $count) {
+        my $type = $nodes[$index];
+        my $rest = $nodes[$index+1];
+        if ($singlelang) {
+            my $oldMO = $MULTIPLE_OUTPUT;
+            $MULTIPLE_OUTPUT = 1;
+            traverse($fh, $type, $rest, $language);
+            $MULTIPLE_OUTPUT = $oldMO;
+        } else {
+            traverse($fh, $type, $rest, $language);
+        }
+        $index += 2;
+    }
+}
+
 sub traverse
 {
     my $fh = shift; 
@@ -707,53 +727,75 @@
 	# element
 	my @all = @{ $content };
 	my $attrs = shift @all;
-	my $outattr = getAttributeString($attrs, 1, $language);
 	my $translate = 0;
+	my $outattr = getAttributeString($attrs, 1, $language, \$translate);
 
 	if ($nodename =~ /^_/) {
 	    $translate = 1;
 	    $nodename =~ s/^_//;
 	}
 	my $lookup = '';
-	print $fh "<$nodename$outattr";
+	print $fh "<$nodename", $outattr;
 	if ($translate) {
 	    $lookup = getXMLstring($content);
-	    $lookup =~ s/^\s+//s;
-	    $lookup =~ s/\s+$//s;
+            if (!((exists $attrs->{"xml:space"}) && ($attrs->{"xml:space"} =~ /^["']?preserve["']?$/))) {
+                $lookup =~ s/^\s+//s;
+                $lookup =~ s/\s+$//s;
+            }
 
-	    if ($lookup) {
+	    if ($lookup || $translate == 2) {
                 my $translation = $translations{$language, $lookup};
-                if ($MULTIPLE_OUTPUT && $translation) {
-                    print $fh " xml:lang=\"", $language, "\"";
-                    print $fh ">", $translation, "</$nodename>";
+                if ($MULTIPLE_OUTPUT && ($translation || $translate == 2)) {
+                    $translation = $lookup if (!$translation);
+                    print $fh " xml:lang=\"", $language, "\"" if $language;
+                    print $fh ">";
+                    if ($translate == 2) {
+                        translate_subnodes($fh, \@all, $language, 1);
+                    } else {
+                        print $fh $translation;
+                    }
+                    print $fh "</$nodename>";
+
                     return; # this means there will be no same translation with xml:lang="$language"...
                             # if we want them both, just remove this "return"
                 } else {
-                    print $fh ">$lookup</$nodename>";
+                    print $fh ">";
+                    if ($translate == 2) {
+                        translate_subnodes($fh, \@all, $language, 1);
+                    } else {
+                        print $fh $lookup;
+                    }
+                    print $fh "</$nodename>";
                 }
 	    } else {
 		print $fh "/>";
 	    }
-	    
- 
+
 	    for my $lang (sort keys %po_files_by_lang) {
                     if ($MULTIPLE_OUTPUT && $lang ne "$language") {
                         next;
                     }
 		    if ($lang) {
-
                         # Handle translation
                         #
-			my $localattrs = getAttributeString($attrs, 1, $lang);
-                        my $decode_string = ($lookup); #entity_decode($lookup);
-                        my $translation = $translations{$lang, $decode_string};
-                        if ($translation) {
-                            $translation = ($translation);
+                        my $translate = 0;
+                        my $localattrs = getAttributeString($attrs, 1, $lang, \$translate);
+                        my $translation = $translations{$lang, $lookup};
+                        if ($translate && !$translation) {
+                            $translation = $lookup;
+                        }
+
+                        if ($translation || $translate) {
 			    print $fh "\n";
 			    $leading_space =~ s/.*\n//g;
 			    print $fh $leading_space;
- 			    print $fh "<", $nodename, " xml:lang=\"", $lang, "\"", $localattrs;
-			    print $fh ">", $translation , "</$nodename>";
+ 			    print $fh "<", $nodename, " xml:lang=\"", $lang, "\"", $localattrs, ">";
+                            if ($translate == 2) {
+                               translate_subnodes($fh, \@all, $lang, 1);
+                            } else {
+                                print $fh $translation;
+                            }
+                            print $fh "</$nodename>";
 			}
                     }
 	    }
@@ -762,23 +804,39 @@
 	    my $count = scalar(@all);
 	    if ($count > 0) {
 		print $fh ">";
+                my $index = 0;
+                while ($index < $count) {
+                    my $type = $all[$index];
+                    my $rest = $all[$index+1];
+                    traverse($fh, $type, $rest, $language);
+                    $index += 2;
+                }
+		print $fh "</$nodename>";
 	    } else {
 		print $fh "/>";
 	    }
-	    my $index = 0;
-	    while ($index < $count) {
-		my $type = $all[$index];
-		my $rest = $all[$index+1];
-		traverse($fh, $type, $rest, $language);
-		$index += 2;
-	    }
-	    if ($count > 0) {
-		print $fh "</$nodename>";
-	    }
 	}
     }
 }
 
+sub intltool_tree_cdatastart
+{
+    my $expat    = shift;
+    my $clist = $expat->{Curlist};
+    my $pos   = $#$clist;
+
+    push @$clist, 0 => $expat->original_string();
+}
+
+sub intltool_tree_cdataend
+{
+    my $expat    = shift;
+    my $clist = $expat->{Curlist};
+    my $pos   = $#$clist;
+
+    $clist->[$pos] .= $expat->original_string();
+}
+
 sub intltool_tree_char
 {
     my $expat = shift;
@@ -857,6 +915,8 @@
     my $xp = new XML::Parser(Style => 'Tree');
     $xp->setHandlers(Char => \&intltool_tree_char);
     $xp->setHandlers(Start => \&intltool_tree_start);
+    $xp->setHandlers(CdataStart => \&intltool_tree_cdatastart);
+    $xp->setHandlers(CdataEnd => \&intltool_tree_cdataend);
     my $tree = $xp->parsefile($filename);
 
 # <foo><head id="a">Hello <em>there</em></head><bar>Howdy<ref/></bar>do</foo>
Index: libcxp/intltool-update.in
diff -u libcxp/intltool-update.in:1.1 libcxp/intltool-update.in:1.2
--- libcxp/intltool-update.in:1.1	Thu Mar 31 00:07:50 2005
+++ libcxp/intltool-update.in	Sat Sep  3 01:22:59 2005
@@ -30,7 +30,7 @@
 
 ## Release information
 my $PROGRAM = "intltool-update";
-my $VERSION = "0.31.2";
+my $VERSION = "0.33";
 my $PACKAGE = "intltool";
 
 ## Loaded modules
@@ -74,6 +74,7 @@
 "kbd(?:\\.in)+";	# GOK specific. 
 
 my $ini_support =
+"icon(?:\\.in)+|".	# http://www.freedesktop.org/Standards/icon-theme-spec
 "desktop(?:\\.in)+|".	# http://www.freedesktop.org/Standards/menu-spec
 "caves(?:\\.in)+|".	# GNOME Games specific
 "directory(?:\\.in)+|".	# http://www.freedesktop.org/Standards/menu-spec
@@ -148,7 +149,8 @@
 
     ## Report error if the language file supplied
     ## to the command line is non-existent
-    &Console_WriteError_NotExisting("$lang.po") if ! -s "$lang.po";
+    &Console_WriteError_NotExisting("$SRCDIR/$lang.po")
+        if ! -s "$SRCDIR/$lang.po";
 
     if (!$DIST_ARG)
     {
@@ -211,6 +213,16 @@
     exit;
 }
 
+sub echo_n
+{
+    my $str = shift;
+    my $ret = `echo "$str"`;
+
+    $ret =~ s/\n$//; # do we need the "s" flag?
+
+    return $ret;
+}
+
 sub POFile_DetermineType ($) 
 {
    my $type = $_;
@@ -283,6 +295,13 @@
     return $gettext_code;
 }
 
+sub isNotValidMissing
+{
+    my ($file) = @_;
+
+    return if $file =~ /^\{arch\}\/.*$/;
+    return if $file =~ /^$varhash{"PACKAGE"}-$varhash{"VERSION"}\/.*$/;
+}
 
 sub FindLeftoutFiles
 {
@@ -397,15 +416,19 @@
 
 	    if (/\.GetString ?\(QUOTEDTEXT/)
 	    {
-		## Remove the first 3 chars and add newline
-		push @buf_allfiles, unpack("x3 A*", $file) . "\n";
+                if (defined isNotValidMissing (unpack("x3 A*", $file))) {
+                    ## Remove the first 3 chars and add newline
+                    push @buf_allfiles, unpack("x3 A*", $file) . "\n";
+                }
 		last;
 	    }
 
 	    if (/_\(QUOTEDTEXT/)
 	    {
-		## Remove the first 3 chars and add newline
-		push @buf_allfiles, unpack("x3 A*", $file) . "\n";
+                if (defined isNotValidMissing (unpack("x3 A*", $file))) {
+                    ## Remove the first 3 chars and add newline
+                    push @buf_allfiles, unpack("x3 A*", $file) . "\n";
+                }
 		last;
 	    }
 	}
@@ -421,7 +444,9 @@
 	    # FIXME: share the pattern matching code with intltool-extract
 	    if (/\s_(.*)=\"/ || /<_[^>]+>/ || /translatable=\"yes\"/)
 	    {
-		push @buf_allfiles, unpack("x3 A*", $file) . "\n";
+                if (defined isNotValidMissing (unpack("x3 A*", $file))) {
+                    push @buf_allfiles, unpack("x3 A*", $file) . "\n";
+                }
 		last;
 	    }
 	}
@@ -435,7 +460,9 @@
 	{
 	    if (/_(.*)=/)
 	    {
-		push @buf_allfiles, unpack("x3 A*", $file) . "\n";
+                if (defined isNotValidMissing (unpack("x3 A*", $file))) {
+                    push @buf_allfiles, unpack("x3 A*", $file) . "\n";
+                }
 		last;
 	    }
 	}
@@ -444,7 +471,9 @@
 
     foreach my $file (@buf_i18n_xml_unmarked)
     {
-	push @buf_allfiles, unpack("x3 A*", $file) . "\n";
+        if (defined isNotValidMissing (unpack("x3 A*", $file))) {
+            push @buf_allfiles, unpack("x3 A*", $file) . "\n";
+        }
     }
 
 
@@ -525,7 +554,7 @@
 
 sub GenerateHeaders
 {
-    my $EXTRACT = `which intltool-extract 2>/dev/null`;
+    my $EXTRACT = "@INTLTOOL_EXTRACT@";
     chomp $EXTRACT;
 
     $EXTRACT = $ENV{"INTLTOOL_EXTRACT"} if $ENV{"INTLTOOL_EXTRACT"};
@@ -579,13 +608,10 @@
 #
 sub GeneratePOTemplate
 {
-    my $XGETTEXT = `which xgettext 2>/dev/null`;
-    my $XGETTEXT_ARGS = '';
+    my $XGETTEXT = $ENV{"XGETTEXT"} || "/usr/bin/xgettext";
+    my $XGETTEXT_ARGS = $ENV{"XGETTEXT_ARGS"} || '';
     chomp $XGETTEXT;
 
-    $XGETTEXT = $ENV{"XGETTEXT"} if $ENV{"XGETTEXT"};
-    $XGETTEXT_ARGS = $ENV{"XGETTEXT_ARGS"} if $ENV{"XGETTEXT_ARGS"};
-
     if (! -x $XGETTEXT)
     {
 	print STDERR " *** xgettext is not found on this system!\n".
@@ -597,7 +623,7 @@
 
     open INFILE, $POTFILES_in;
     unlink "POTFILES.in.temp";
-    open OUTFILE, ">POTFILES.in.temp";
+    open OUTFILE, ">POTFILES.in.temp" or die("Cannot open POTFILES.in.temp for writing");
 
     my $gettext_support_nonascii = 0;
 
@@ -636,14 +662,14 @@
 	elsif (/\.($xml_support|$ini_support)$/ || /^\[/)
 	{
 	    s/^\[.*]\s*//;
-	    print OUTFILE "$_.h\n";
+            print OUTFILE "../$_.h\n";
 	    push @temp_headers, "../$_.h";
 	    $gettext_code = &TextFile_DetermineEncoding ("../$_.h") if ($gettext_support_nonascii and not defined $forced_gettext_code);
 	} 
 	else 
 	{
 	    if ($SRCDIR eq ".") {
-	        print OUTFILE "$_\n";
+	        print OUTFILE "../$_\n";
 	    } else {
 	        print OUTFILE "$SRCDIR/../$_\n";
 	    }
@@ -688,7 +714,7 @@
     unlink "$MODULE.pot";
     my @xgettext_argument=("$XGETTEXT",
 			   "--add-comments",
-			   "--directory\=\.\.",
+			   "--directory\=\.",
 			   "--output\=$MODULE\.pot",
 			   "--files-from\=\.\/POTFILES\.in\.temp");
     my $XGETTEXT_KEYWORDS = &FindPOTKeywords;
@@ -753,15 +779,16 @@
 {
     -f "$MODULE.pot" or die "$PROGRAM: $MODULE.pot does not exist.\n";
 
+    my $MSGMERGE = $ENV{"MSGMERGE"} || "/usr/bin/msgmerge";
     my ($lang, $outfile) = @_;
 
-    print "Merging $lang.po with $MODULE.pot..." if $VERBOSE;
+    print "Merging $SRCDIR/$lang.po with $MODULE.pot..." if $VERBOSE;
 
-    my $infile = "$lang.po";
-    $outfile = "$lang.po" if ($outfile eq "");
+    my $infile = "$SRCDIR/$lang.po";
+    $outfile = "$SRCDIR/$lang.po" if ($outfile eq "");
 
     # I think msgmerge won't overwrite old file if merge is not successful
-    system ("msgmerge", "-o", $outfile, $infile, "$MODULE.pot");
+    system ("$MSGMERGE", "-o", $outfile, $infile, "$MODULE.pot");
 }
 
 sub Console_WriteError_NotExisting
@@ -795,14 +822,17 @@
 sub Console_Write_TranslationStatus
 {
     my ($lang, $output_file) = @_;
+    my $MSGFMT = $ENV{"MSGFMT"} || "/usr/bin/msgfmt";
 
-    $output_file = "$lang.po" if ($output_file eq "");
+    $output_file = "$SRCDIR/$lang.po" if ($output_file eq "");
 
-    system ("msgfmt", "-o", "/dev/null", "--statistics", $output_file);
+    system ("$MSGFMT", "-o", "/dev/null", "--statistics", $output_file);
 }
 
 sub Console_Write_CoverageReport
 {
+    my $MSGFMT = $ENV{"MSGFMT"} || "/usr/bin/msgfmt";
+
     &GatherPOFiles;
 
     foreach my $lang (@languages) 
@@ -816,7 +846,7 @@
     foreach my $lang (@languages)
     {
 	print "$lang: ";
-	system ("msgfmt", "-o", "/dev/null", "--statistics", "$lang.po");
+	system ("$MSGFMT", "-o", "/dev/null", "--statistics", "$SRCDIR/$lang.po");
     }
 }
 
@@ -833,7 +863,7 @@
     {
 	if (/^(\w+)=(.*)$/)
 	{
-	    ($varhash{$1} = $2) =~  s/^["'](.*)["']$/$1)/;
+	    ($varhash{$1} = $2) =~  s/^["'](.*)["']$/$1/;
 	}
     }
     
@@ -845,7 +875,10 @@
 	
 	return SubstituteVariable ("$untouched$sub$rest");
     }
-    return $str;
+    
+    # We're using Perl backticks ` and "echo -n" here in order to 
+    # expand any shell escapes (such as backticks themselves) in every variable
+    return echo_n ($str);
 }
 
 sub CONF_Handle_Open
@@ -993,7 +1026,7 @@
 sub FindPOTKeywords
 {
 
-    my $keywords = "--keyword\=\_ --keyword\=N\_ --keyword\=U\_";
+    my $keywords = "--keyword\=\_ --keyword\=N\_ --keyword\=U\_ --keyword\=Q\_";
     my $varname = "XGETTEXT_OPTIONS";
     my $make_source; {
 	local (*IN);


Cxplorer-cvs メーリングリストの案内
Zurück zum Archiv-Index