cvs.sh
上传用户:center1979
上传日期:2022-07-26
资源大小:50633k
文件大小:19k
源码类别:

OpenGL

开发平台:

Visual C++

  1. #! /bin/sh
  2. #
  3. # cvs.sh
  4. #
  5. # This file contains support code from Makefile.common
  6. # It defines a shell function for each known target
  7. # and then does a case to call the correct function.
  8. unset MAKEFLAGS
  9. call_and_fix_autoconf()
  10. {
  11.   $AUTOCONF || exit 1
  12.   if test -r configure.in.in ; then
  13.     perl -pi -e "print "if test \"x\$with_fast_perl\" = \"xyes\"; then
  14.     \n  perl -i.bak \$ac_aux_dir/conf.change.pl \$CONFIG_STATUS
  15.     \\\n    || mv \$CONFIG_STATUS.bak \$CONFIG_STATUS
  16.     \n  rm -f \$CONFIG_STATUS.bak\nfi
  17.     \n" if /^\s*chmod\s+.*\+x\s+.*CONFIG_STATUS/; s,^#line.*LINENO.*$,/* $& */, ;" configure
  18.   fi
  19. }
  20. strip_makefile()
  21. {
  22.   if test ! -f $makefile_wo; then
  23.     perl -e '$in=0; while ( <> ) { $in = 1 if ($_ =~ m/^if / ); print $_ unless ($in || $_ =~ m/^include /); $in = 0 if ($_ =~ m/^endif/); }' < $makefile_am > $makefile_wo
  24.   fi
  25. }
  26. check_autotool_versions()
  27. {
  28. required_autoconf_version="2.53 or newer"
  29. AUTOCONF_VERSION=`$AUTOCONF --version | head -n 1`
  30. case $AUTOCONF_VERSION in
  31.   Autoconf*2.5* | autoconf*2.5* | autoconf*2.6* ) : ;;
  32.   "" )
  33.     echo "*** AUTOCONF NOT FOUND!."
  34.     echo "*** KDE requires autoconf $required_autoconf_version"
  35.     exit 1
  36.     ;;
  37.   * )
  38.     echo "*** YOU'RE USING $AUTOCONF_VERSION."
  39.     echo "*** KDE requires autoconf $required_autoconf_version"
  40.     exit 1
  41.     ;;
  42. esac
  43. AUTOHEADER_VERSION=`$AUTOHEADER --version | head -n 1`
  44. case $AUTOHEADER_VERSION in
  45.   Autoconf*2.5* | autoheader*2.5* | autoheader*2.6* ) : ;;
  46.   "" )
  47.     echo "*** AUTOHEADER NOT FOUND!."
  48.     echo "*** KDE requires autoheader $required_autoconf_version"
  49.     exit 1
  50.     ;;
  51.   * )
  52.     echo "*** YOU'RE USING $AUTOHEADER_VERSION."
  53.     echo "*** KDE requires autoheader $required_autoconf_version"
  54.     exit 1
  55.     ;;
  56. esac
  57. AUTOMAKE_STRING=`$AUTOMAKE --version | head -n 1`
  58. required_automake_version="1.6.1 or newer"
  59. case $AUTOMAKE_STRING in
  60.   automake*1.5d* | automake*1.5* | automake*1.5-* )
  61.     echo "*** YOU'RE USING $AUTOMAKE_STRING."
  62.     echo "*** KDE requires automake $required_automake_version"
  63.     exit 1
  64.     ;;
  65.   automake*1.6.* | automake*1.7* | automake*1.8* | automake*1.9* | automake*1.10*)
  66.     echo "*** $AUTOMAKE_STRING found."
  67.     UNSERMAKE=no
  68.     ;;
  69.   "" )
  70.     echo "*** AUTOMAKE NOT FOUND!."
  71.     echo "*** KDE requires automake $required_automake_version"
  72.     exit 1
  73.     ;;
  74.   *unsermake* ) :
  75.     echo "*** YOU'RE USING UNSERMAKE."
  76.     echo "*** GOOD LUCK!! :)"
  77.     UNSERMAKE=unsermake
  78.     ;;
  79.   * )
  80.     echo "*** YOU'RE USING $AUTOMAKE_STRING."
  81.     echo "*** KDE requires automake $required_automake_version"
  82.     exit 1
  83.     ;;
  84. esac
  85. unset required_automake_version
  86. }
  87. cvs()
  88. {
  89. check_autotool_versions
  90. acinclude_m4 
  91. ### Make new subdirs and configure.in.
  92. ### The make calls could be optimized away here,
  93. ### with a little thought.
  94. if test -r configure.in.in; then
  95.     rm -f configure.in
  96.     echo "*** Creating list of subdirectories"
  97.     create_subdirs
  98.     if test -r Makefile.am.in; then
  99.         echo "*** Creating Makefile.am"
  100.         if grep '$(top_srcdir)/Makefile.am:' $makefile_am >/dev/null; then 
  101.             strip_makefile
  102.             $MAKE -f $makefile_wo top_srcdir=. ./Makefile.am || exit 1
  103.         else
  104.             Makefile_am
  105.         fi
  106.      fi
  107.      configure_files
  108.      echo "*** Creating configure.in"
  109.      if grep '$(top_srcdir)/configure.in:' $makefile_am >/dev/null; then 
  110.        strip_makefile
  111.        $MAKE -f $makefile_wo top_srcdir=. ./configure.in || exit 1
  112.      else
  113.        configure_in
  114.      fi
  115. fi
  116. echo "*** Creating aclocal.m4"
  117. $ACLOCAL $ACLOCALFLAGS || exit 1
  118. echo "*** Creating configure"
  119. call_and_fix_autoconf
  120. if egrep "^AM_CONFIG_HEADER" configure.in >/dev/null 2>&1; then
  121.   echo "*** Creating config.h template"
  122.   $AUTOHEADER || exit 1
  123.   touch config.h.in
  124. fi
  125. echo "*** Creating Makefile templates"
  126. $AUTOMAKE || exit 1
  127. if test "$UNSERMAKE" = no; then
  128.   echo "*** Postprocessing Makefile templates"
  129.   perl -w admin/am_edit || exit 1
  130. fi
  131. if egrep "^cvs-local:" $makefile_am >/dev/null; then 
  132.   strip_makefile
  133.   $MAKE -f $makefile_wo cvs-local top_srcdir=. || exit 1
  134. fi
  135. echo "*** Creating date/time stamp"
  136. touch stamp-h.in
  137. echo "*** Finished"
  138. echo "    Don't forget to run ./configure"
  139. echo "    If you haven't done so in a while, run ./configure --help"
  140. }
  141. dist()
  142. {
  143. check_autotool_versions
  144. ###
  145. ### First build all of the files necessary to do just "make"
  146. ###
  147. acinclude_m4
  148. if test -r configure.in.in; then
  149.   rm -f configure.in
  150.   create_subdirs
  151.   if test -r Makefile.am.in; then
  152.     if grep '$(top_srcdir)/Makefile.am:' $makefile_am >/dev/null; then 
  153.       strip_makefile
  154.       $MAKE -f $makefile_wo top_srcdir=. ./Makefile.am || exit 1
  155.     else
  156.       Makefile_am
  157.     fi
  158.   fi
  159.   configure_files
  160.   if grep '$(top_srcdir)/configure.in:' $makefile_am >/dev/null; then 
  161.     strip_makefile
  162.     $MAKE -f $makefile_wo top_srcdir=. ./configure.in || exit 1
  163.   else
  164.     configure_in
  165.   fi
  166. fi
  167. $ACLOCAL $ACLOCALFLAGS
  168. if egrep "^AM_CONFIG_HEADER" configure.in >/dev/null 2>&1; then
  169.   echo "*** Creating config.h template"
  170.   $AUTOHEADER || exit 1
  171.   touch config.h.in
  172. fi
  173. $AUTOMAKE --foreign || exit 1
  174. if test "$UNSERMAKE" = no; then
  175.   echo "*** Postprocessing Makefile templates"
  176.   perl -w admin/am_edit || exit 1
  177. fi
  178. call_and_fix_autoconf
  179. touch stamp-h.in
  180. if grep "^cvs-local:" $makefile_am >/dev/null; then
  181.   strip_makefile
  182.   $MAKE -f $makefile_wo cvs-local top_srcdir=.
  183. fi
  184. ###
  185. ### Then make messages
  186. ###
  187. if test -d po; then
  188.  LIST=`find ./po -name "*.po"`
  189.  for i in $LIST; do
  190.   file2=`echo $i | sed -e "s#.po#.gmo#"`
  191.   msgfmt -o $file2 $i || touch $file2
  192.  done
  193. fi
  194. if grep "^cvs-dist-local:" $makefile_am >/dev/null; then
  195.   strip_makefile
  196.   $MAKE -f $makefile_wo cvs-dist-local top_srcdir=.
  197. fi
  198. }
  199. subdir_dist()
  200. {
  201. $ACLOCAL $ACLOCALFLAGS
  202. $AUTOHEADER
  203. touch config.h.in
  204. $AUTOMAKE
  205. AUTOMAKE_STRING=`$AUTOMAKE --version | head -n 1`
  206. case $AUTOMAKE_STRING in
  207.   *unsermake* ) :
  208.     ;;
  209.   *)
  210.      perl -w ../admin/am_edit --path=../admin
  211. esac
  212. call_and_fix_autoconf
  213. touch stamp-h.in
  214. }
  215. configure_in()
  216. {
  217. rm -f configure.in configure.in.new
  218. kde_use_qt_param=
  219. test -f configure.files || { echo "need configure.files for configure.in"; exit 1; }
  220. list=`fgrep -v "configure.in.bot" < configure.files | fgrep -v "configure.in.mid"`
  221. : > configure.in.new
  222. for file in $list; do 
  223.   echo "dnl =======================================================" >> configure.in.new
  224.   echo "dnl FILE: $file" >> configure.in.new
  225.   echo "dnl =======================================================" >> configure.in.new
  226.   echo "" >> configure.in.new
  227.   cat $file >> configure.in.new
  228. done
  229. echo "KDE_CREATE_SUBDIRSLIST" >> configure.in.new
  230. if test -f Makefile.am.in; then
  231.   subdirs=`cat subdirs`
  232.   for dir in $subdirs; do
  233.     vdir=`echo $dir | sed -e 's,[-+.@],_,g'`
  234.     echo "AM_CONDITIONAL($vdir""_SUBDIR_included, test "x$$vdir""_SUBDIR_included" = xyes)" >> configure.in.new
  235.     if test -f "$dir/configure.in"; then
  236.         echo "if test "x$$vdir""_SUBDIR_included" = xyes; then " >> configure.in.new
  237.         echo "  AC_CONFIG_SUBDIRS($dir)" >> configure.in.new
  238.         echo "fi" >> configure.in.new
  239.     fi
  240.   done
  241. fi
  242. echo "AC_CONFIG_FILES([ Makefile ])" >> configure.in.new
  243. if test -f inst-apps; then
  244.     topleveldirs=`cat inst-apps`
  245. else
  246.     topleveldirs=
  247.     for dir in `ls -1d * | sort`; do
  248. if test "$dir" != "debian" && test -d $dir; then
  249.     topleveldirs="$topleveldirs $dir"
  250. fi
  251.     done
  252. fi
  253. for topleveldir in $topleveldirs; do 
  254.   if test -f $topleveldir/configure.in; then
  255. continue
  256.   fi
  257.   if test -f $topleveldir/Makefile.am; then :; else
  258. continue
  259.   fi
  260.   mfs=`find $topleveldir -follow -name Makefile.am -print | fgrep -v "/." | 
  261.        sed -e 's#./##; s#/Makefile.am$##' | sort | sed -e 's#$#/Makefile#'`
  262.   for i in $mfs; do
  263.      echo "AC_CONFIG_FILES([ $i ])" >> configure.in.new
  264.   done
  265. done
  266. files=`cat configure.files`
  267. list=`egrep '^dnl AC_OUTPUT(.*)' $files | sed -e "s#^.*dnl AC_OUTPUT((.*))#1#"`
  268. for file in $list; do 
  269.     echo "AC_CONFIG_FILES([ $file ])" >>  configure.in.new
  270. done
  271. midfiles=`cat configure.files | fgrep "configure.in.mid"`
  272. test -n "$midfiles" && cat $midfiles >> configure.in.new
  273. echo "AC_OUTPUT" >> configure.in.new
  274. modulename=
  275. if test -f configure.in.in; then
  276.    if head -n 2 configure.in.in | egrep "^#MIN_CONFIG(.*)$" > /dev/null; then
  277.       kde_use_qt_param=`cat configure.in.in | sed -n -e "s/#MIN_CONFIG((.*))/1/p"`
  278.    fi
  279.    if head -n 2 configure.in.in | egrep "^#MIN_CONFIG" > /dev/null; then
  280.       line=`grep "^AM_INIT_AUTOMAKE(" configure.in.in`
  281.       if test -n "$line"; then
  282.   modulename=`echo $line | sed -e "s#AM_INIT_AUTOMAKE(([^,]*),.*#1#"`
  283.   VERSION=`echo $line | sed -e "s#AM_INIT_AUTOMAKE([^,]*, *([^)]*)).*#1#"`
  284.       fi
  285.       sed -e "s#AM_INIT_AUTOMAKE([^@].*#dnl PACKAGE set before#" 
  286.           configure.in.new > configure.in && mv configure.in configure.in.new
  287.    fi
  288. fi
  289. if test -z "$VERSION" || test "$VERSION" = "@VERSION@"; then
  290.      VERSION=""3.5.10""
  291. fi
  292. if test -z "$modulename" || test "$modulename" = "@MODULENAME@"; then
  293.    modulename=`pwd`; 
  294.    modulename=`basename $modulename`
  295.    esc_VERSION=`echo $VERSION | sed -e "s#[^.0-9a-zA-Z]##g"`
  296.    modulename=`echo $modulename | sed -e "s#-$esc_VERSION##"`   
  297. fi
  298. if test -n "$kde_use_qt_param"; then
  299.       sed -e "s#^dnl KDE_USE_QT#KDE_USE_QT($kde_use_qt_param)#" 
  300.        configure.in.new > configure.in && mv configure.in configure.in.new
  301. fi
  302. sed -e "s#@MODULENAME@#$modulename#" configure.in.new |
  303. sed -e "s#@VERSION@#$VERSION#" > configure.in
  304. botfiles=`cat configure.files | egrep "configure.in.bot"`
  305. test -n "$botfiles" && cat $botfiles >> configure.in
  306. cat $admindir/configure.in.bot.end >> configure.in
  307. rm -f configure.in.new
  308. }
  309. configure_files()
  310. {
  311. echo "*** Creating configure.files"
  312. admindir=NO
  313. for i in . .. ../.. ../../..; do
  314.   if test -x $i/admin; then admindir=$i/admin; break; fi
  315. done
  316. rm -f configure.files
  317. touch configure.files
  318. if test -f configure.in.in && head -n 2 configure.in.in | grep "^#MIN_CONFIG" > /dev/null; then
  319. echo $admindir/configure.in.min >> configure.files
  320. fi
  321. test -f configure.in.in && echo configure.in.in >> configure.files
  322. # we collect files in the subdirs and do some sorting tricks, so subsubdirs come after subdirs
  323. if test -f inst-apps; then
  324.    inst=`cat inst-apps`
  325.    list=""
  326.    for i in $inst; do
  327.       list="$list `find $i/ -follow -name "configure.in.in" -o -name "configure.in.bot" -o -name "configure.in.mid" | 
  328. sed -e "s,/configure,/aaaconfigure," | sort | sed -e "s,/aaaconfigure,/configure,"`"
  329.    done
  330. else
  331.    list=`find . -follow -name "configure.in.in" -o -name "configure.in.bot" -o -name "configure.in.mid" | 
  332. sed -e "s,/configure,/aaaconfigure," | sort | sed -e "s,/aaaconfigure,/configure,"`
  333. fi
  334. for i in $list; do if test -f $i && test `dirname $i` != "." ; then
  335.   echo $i >> configure.files
  336. fi; done
  337. test -f configure.in.mid && echo configure.in.mid >> configure.files
  338. test -f configure.in.bot && echo configure.in.bot >> configure.files
  339. if test ! -s configure.files; then
  340.    echo "There are no files to build a configure. Please check your checkout."
  341.    exit 1
  342. fi
  343. }
  344. create_subdirs()
  345. {
  346. if grep '$(top_srcdir)/subdirs:' $makefile_am >/dev/null; then 
  347.     # as many modules contain rules to create subdirs without any
  348.     # dependencies make won't create it unless there is no file.
  349.     # so we check if that's a dummy rule or one that works
  350.     rm -f subdirs.cvs.sh.$$
  351.     if test -f subdirs; then
  352. mv subdirs subdirs.cvs.sh.$$
  353.     fi
  354.     strip_makefile
  355.     $MAKE -f $makefile_wo top_srcdir=. ./subdirs || exit 1
  356.     if test -f subdirs.cvs.sh.$$; then
  357. if test -s subdirs; then
  358.     rm subdirs.cvs.sh.$$ 
  359. else
  360.     mv subdirs.cvs.sh.$$ subdirs
  361. fi
  362.     fi
  363. else
  364.     subdirs
  365. fi
  366. }
  367. subdirs()
  368. {
  369. dirs=
  370. idirs=
  371. if test -f inst-apps; then
  372.    idirs=`cat inst-apps`
  373. else
  374.    idirs=`ls -1 | sort`
  375. fi
  376. compilefirst=`sed -ne 's#^COMPILE_FIRST[ ]*=[ ]*##p' $makefile_am | head -n 1`
  377. compilelast=`sed -ne 's#^COMPILE_LAST[ ]*=[ ]*##p' $makefile_am | head -n 1`
  378. for i in $idirs; do
  379.     if test -f $i/Makefile.am; then
  380.        case " $compilefirst $compilelast " in
  381.          *" $i "*) ;;
  382.          *) dirs="$dirs $i"
  383.        esac
  384.     fi
  385. done
  386. : > ./_SUBDIRS
  387. for d in $compilefirst; do
  388.    echo $d >> ./_SUBDIRS
  389. done
  390. (for d in $dirs; do 
  391.    list=`sed -ne "s#^COMPILE_BEFORE_$d""[ ]*=[ ]*##p" $makefile_am | head -n 1`
  392.    for s in $list; do
  393.       echo $s $d
  394.    done
  395.    list=`sed -ne "s#^COMPILE_AFTER_$d""[ ]*=[ ]*##p" $makefile_am | head -n 1`
  396.    for s in $list; do
  397.       echo $d $s
  398.    done
  399.    echo $d $d
  400. done ) | tsort >> ./_SUBDIRS
  401. for d in $compilelast; do
  402.    echo $d >> ./_SUBDIRS
  403. done
  404. if test -r subdirs && cmp -s subdirs _SUBDIRS; then
  405.     rm -f _SUBDIRS
  406. fi
  407. test -r _SUBDIRS && mv _SUBDIRS subdirs || true
  408. }
  409. Makefile_am()
  410. {
  411. if test -f Makefile.am.in; then
  412.   compilefirst=`sed -ne 's#^COMPILE_FIRST[ ]*=[ ]*##p' $makefile_am | head -n 1`
  413.   compilelast=`sed -ne 's#^COMPILE_LAST[ ]*=[ ]*##p' $makefile_am | head -n 1`
  414.   idirs=
  415.   dirs=
  416.   if test -f inst-apps; then
  417.      idirs=`cat inst-apps`
  418.   else
  419.      idirs=`cat subdirs`
  420.   fi
  421.   for i in $idirs; do
  422.     case " $compilefirst $compilelast " in
  423.       *" $i "*) ;;
  424.       *) dirs="$dirs $i"
  425.     esac
  426.   done
  427.   adds=`fgrep '$(top_srcdir)/acinclude.m4:' Makefile.am.in | sed -e 's,^[^:]*: *,,; s,$(top_srcdir)/,,g'`
  428.   if echo "$adds" | fgrep "*" >/dev/null ; then
  429.     adds=`ls -d -1 $adds 2>/dev/null`
  430.     fgrep -v  '$(top_srcdir)/acinclude.m4:' Makefile.am.in > Makefile.am.in.adds
  431.     str='$(top_srcdir)/acinclude.m4:'
  432.     for add in $adds; do 
  433. str="$str $(top_srcdir)/$add"
  434.     done
  435.     echo $str >> Makefile.am.in.adds
  436.   else
  437.     cat Makefile.am.in > Makefile.am.in.adds
  438.   fi
  439.   cat Makefile.am.in.adds | 
  440.       sed -e 's,^s*(COMPILE_BEFORE.*),# 1,' | 
  441.       sed -e 's,^s*(COMPILE_AFTER.*),# 1,' > Makefile.am
  442.     echo "SUBDIRS="'$(TOPSUBDIRS)' >> Makefile.am
  443.   rm Makefile.am.in.adds
  444. fi
  445. }
  446. acinclude_m4()
  447. {
  448.   echo "*** Creating acinclude.m4"
  449.   adds=
  450.   if grep '$(top_srcdir)/acinclude.m4:' $makefile_am >/dev/null; then 
  451.     strip_makefile
  452.     rm -f acinclude.m4
  453.     adds=`grep '$(top_srcdir)/acinclude.m4:' $makefile_wo | sed -e 's,^[^:]*: *,,; s,$(top_srcdir),.,g'`
  454.     if echo $adds | fgrep "*" >/dev/null ; then
  455.       adds=`ls -d -1 $adds 2>/dev/null`
  456.     else
  457.       $MAKE -f $makefile_wo top_srcdir=. ./acinclude.m4 || exit 1
  458.     fi
  459.   else
  460.     rm -f acinclude.m4
  461.   fi
  462.   # if it wasn't created up to now, then we do it better
  463.   if test ! -f acinclude.m4; then
  464.      cat admin/acinclude.m4.in $adds > acinclude.m4
  465.   fi
  466. }
  467. package_merge()
  468. {
  469. catalogs=$POFILES
  470. for cat in $catalogs; do
  471.   msgmerge -o $cat.new $cat $PACKAGE.pot
  472.   if test -s $cat.new; then
  473.     grep -v ""POT-Creation" $cat.new > $cat.new.2
  474.     grep -v ""POT-Creation" $cat >> $cat.new.1
  475.     if diff $cat.new.1 $cat.new.2; then
  476. rm $cat.new
  477.     else
  478. mv $cat.new $cat
  479.     fi
  480.     rm -f $cat.new.1 $cat.new.2
  481.   fi
  482. done
  483. }
  484. extract_messages()
  485. {
  486. podir=${podir:-$PWD/po}
  487. files=`find . -name Makefile.am | xargs egrep -l '^messages:' `
  488. dirs=`for i in $files; do echo `dirname $i`; done`
  489. tmpname="$PWD/messages.log"
  490. if test -z "$EXTRACTRC"; then EXTRACTRC=extractrc ; fi
  491. if test -z "$PREPARETIPS"; then PREPARETIPS=preparetips ; fi
  492. export EXTRACTRC PREPARETIPS
  493. for subdir in $dirs; do
  494.   test -z "$VERBOSE" || echo "Making messages in $subdir"
  495.   (cd $subdir
  496.    if test -n "`grep -e '^messages:.*rc.cpp' Makefile.am`"; then
  497. $EXTRACTRC *.rc *.ui *.kcfg > rc.cpp
  498.    else
  499. candidates=`ls -1 *.rc *.ui *.kcfg 2>/dev/null`
  500. if test -n "$candidates"; then
  501.     echo "$subdir has *.rc, *.ui or *.kcfg files, but not correct messages line"
  502. fi
  503.    fi
  504.    if find . -name *.c* -o -name *.h* | fgrep -v ".svn" | xargs fgrep -s -q KAboutData ; then
  505. echo -e 'i18n("_: NAME OF TRANSLATORS\n"n"Your names")ni18n("_: EMAIL OF TRANSLATORS\n"n"Your emails")' > _translatorinfo.cpp
  506.    else echo " " > _translatorinfo.cpp
  507.    fi
  508.    perl -e '$mes=0; while (<STDIN>) { next if (/^(ifs|elses|endif)/); if (/^messages:/) { $mes=1; print $_; next; } if ($mes) { if (/$\(XGETTEXT)/ && / -o/) { s/ -o $(podir)/ _translatorinfo.cpp -o $(podir)/ } print $_; } else { print $_; } }' < Makefile.am | egrep -v '^include ' > _transMakefile
  509.    kdepotpath=${includedir:-`kde-config --expandvars --install include`}/kde.pot
  510.    if ! test -f $kdepotpath; then
  511. kdepotpath=`kde-config --expandvars --prefix`/include/kde.pot
  512.    fi
  513.    $MAKE -s -f _transMakefile podir=$podir EXTRACTRC="$EXTRACTRC" PREPARETIPS="$PREPARETIPS" srcdir=. 
  514. XGETTEXT="${XGETTEXT:-xgettext} --foreign-user -C -ci18n -ki18n -ktr2i18n -kI18N_NOOP -kI18N_NOOP2 -kaliasLocale -x $kdepotpath" messages
  515.    exit_code=$?
  516.    if test "$exit_code" != 0; then
  517.        echo "make exit code: $exit_code"
  518.    fi
  519.    ) 2>&1 | grep -v '^make[1]' > $tmpname
  520.    test -s $tmpname && { echo $subdir ; cat "$tmpname"; }
  521.    test -f $subdir/rc.cpp && rm -f $subdir/rc.cpp
  522.    rm -f $subdir/_translatorinfo.cpp
  523.    rm -f $subdir/_transMakefile
  524. done
  525. rm -f $tmpname
  526. }
  527. package_messages()
  528. {
  529. rm -rf po.backup
  530. mkdir po.backup
  531. for i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do
  532.   egrep -v '^#[^,]' po/$i | egrep '^.*[^ ]+.*$' | grep -v ""POT-Creation" > po.backup/$i
  533.   cat po/$i > po.backup/backup_$i
  534.   touch -r po/$i po.backup/backup_$i
  535.   rm po/$i
  536. done
  537. extract_messages
  538. for i in `ls -1 po.backup/*.pot 2>/dev/null | sed -e "s#po.backup/##" | egrep -v '^backup_'`; do
  539.   test -f po/$i || echo "disappeared: $i"
  540. done
  541. for i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do
  542.   sed -e 's,^"Content-Type: text/plain; charset=CHARSET\n"$,"Content-Type: text/plain; charset=UTF-8\n",' po/$i > po/$i.new && mv po/$i.new po/$i
  543.   #msgmerge -q -o po/$i po/$i po/$i
  544.   egrep -v '^#[^,]' po/$i | egrep '^.*[^ ]+.*$' | grep -v ""POT-Creation" > temp.pot
  545.   if test -f po.backup/$i && ! cmp -s temp.pot po.backup/$i; then
  546.     echo "will update $i"
  547.   else
  548.     if test -f po.backup/backup_$i; then
  549.       test -z "$VERBOSE" || echo "I'm restoring $i"
  550.       mv po.backup/backup_$i po/$i
  551.       rm po.backup/$i
  552.     else
  553.       echo "will add $i"
  554.     fi
  555.   fi
  556. done
  557. rm -f temp.pot
  558. rm -rf po.backup
  559. }
  560. # Make sure that sorting is always done the same way
  561. LC_ALL=C
  562. export LC_ALL
  563. unset LANG || :
  564. unset LC_CTYPE || :
  565. unset LANGUAGE || :
  566. unset CDPATH || :
  567. admindir=`echo "$0" | sed 's%[\/][^\/][^\/]*$%%'`
  568. test "x$admindir" = "x$0" && admindir=.
  569. test "x$MAKE" = x && MAKE=make
  570. makefile_am=Makefile.am
  571. makefile_wo=Makefile.am.wo
  572. if test -f Makefile.am.in; then
  573.   makefile_am=Makefile.am.in
  574.   makefile_wo=Makefile.am.in.wo
  575.   rm -f $makefile_wo
  576. fi
  577. # Call script to find autoconf and friends.  Uses eval since the script outputs
  578. # sh-compatible code.
  579. eval `$admindir/detect-autoconf.pl`
  580. ###
  581. ### Main
  582. ###
  583. arg=`echo $1 | tr .- __`
  584. case $arg in
  585.   cvs | dist | subdir_dist | configure_in | configure_files | subdirs | 
  586.   cvs_clean | package_merge | package_messages | Makefile_am | acinclude_m4 | extract_messages ) $arg ;;
  587.   configure ) call_and_fix_autoconf ;;
  588.   * ) echo "Usage: cvs.sh <target>"
  589.       echo "Target can be one of:"
  590.       echo "    cvs svn dist"
  591.       echo "    configure.in configure.files"
  592.       echo "    package-merge package-messages"
  593.       echo ""
  594.       echo "Usage: anything but $1"
  595.       exit 1 ;;
  596. esac
  597. if test -f $makefile_wo; then
  598.   rm $makefile_wo
  599. fi
  600. exit 0