Subversion Repositories public

Rev

Rev 88 | Details | Compare with Previous | Last modification | View Log | RSS feed

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