OpenCores
URL https://opencores.org/ocsvn/firgen/firgen/trunk

Subversion Repositories firgen

[/] [firgen/] [trunk/] [firgen/] [RedFIR/] [admin/] [cvs.sh] - Blame information for rev 10

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 7 redfir
#! /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
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/;" configure
18
  fi
19
}
20
 
21
strip_makefile()
22
{
23
  if test -f $makefile_wo; then :; else
24
    perl -e '$in=0; while ( <> ) { $in = 1 if ($_=~ m/^if /); print $_ unless ($in); $in = 0 if ($_ =~ m/^endif/); }' < Makefile.am.in > $makefile_wo
25
  fi
26
}
27
 
28
check_autotool_versions()
29
{
30
AUTOCONF_VERSION=`$AUTOCONF --version | head -1`
31
case $AUTOCONF_VERSION in
32
  Autoconf*2.5* | autoconf*2.5* ) : ;;
33
  "" )
34
    echo "*** AUTOCONF NOT FOUND!."
35
    echo "*** KDE requires autoconf 2.52, 2.53 or 2.54"
36
    exit 1
37
    ;;
38
  * )
39
    echo "*** YOU'RE USING $AUTOCONF_VERSION."
40
    echo "*** KDE requires autoconf 2.52, 2.53 or 2.54"
41
    exit 1
42
    ;;
43
esac
44
 
45
AUTOHEADER_VERSION=`$AUTOHEADER --version | head -1`
46
case $AUTOHEADER_VERSION in
47
  Autoconf*2.5* | autoheader*2.5* ) : ;;
48
  "" )
49
    echo "*** AUTOHEADER NOT FOUND!."
50
    echo "*** KDE requires autoheader 2.52 or 2.53 (part of autoconf)"
51
    exit 1
52
    ;;
53
  * )
54
    echo "*** YOU'RE USING $AUTOHEADER_VERSION."
55
    echo "*** KDE requires autoheader 2.52 or 2.53 (part of autoconf)"
56
    exit 1
57
    ;;
58
esac
59
 
60
AUTOMAKE_STRING=`$AUTOMAKE --version | head -1`
61
case $AUTOMAKE_STRING in
62
  automake*1.5d* )
63
    echo "*** YOU'RE USING $AUTOMAKE_STRING."
64
    echo "*** KDE requires automake 1.5"
65
    exit 1
66
    ;;
67
  automake*1.5* | automake*1.5-* | automake*1.6.* | automake*1.7* ) : ;;
68
  "" )
69
    echo "*** AUTOMAKE NOT FOUND!."
70
    echo "*** KDE requires automake 1.5"
71
    exit 1
72
    ;;
73
  unsermake* ) :
74
    echo "*** YOU'RE USING UNSERMAKE."
75
    echo "*** GOOD LUCK!! :)"
76
    ;;
77
  * )
78
    echo "*** YOU'RE USING $AUTOMAKE_STRING."
79
    echo "*** KDE requires automake 1.5"
80
    exit 1
81
    ;;
82
esac
83
}
84
 
85
cvs()
86
{
87
check_autotool_versions
88
 
89
### Produce acinclude.m4
90
if grep '\$(top_srcdir)/acinclude.m4:' $makefile_am >/dev/null; then
91
  echo "*** Creating acinclude.m4"
92
  rm -f acinclude.m4 configure.files
93
 
94
  strip_makefile
95
  $MAKE -f $makefile_wo top_srcdir=. ./acinclude.m4
96
fi
97
 
98
### Make new subdirs and configure.in.
99
### The make calls could be optimized away here,
100
### with a little thought.
101
if test -r configure.in.in; then
102
  rm -f subdirs configure.in
103
  echo "*** Creating list of subdirectories"
104
  subdirs
105
  echo "*** Creating configure.in"
106
  configure_files
107
  strip_makefile
108
  $MAKE -f $makefile_wo top_srcdir=. ./configure.in || exit 1
109
fi
110
 
111
echo "*** Creating aclocal.m4"
112
$ACLOCAL || exit 1
113
echo "*** Creating configure"
114
call_and_fix_autoconf
115
 
116
if egrep "^AM_CONFIG_HEADER" configure.in >/dev/null 2>&1; then
117
  echo "*** Creating config.h template"
118
  $AUTOHEADER || exit 1
119
fi
120
 
121
echo "*** Creating Makefile templates"
122
$AUTOMAKE || exit 1
123
if test -z "$UNSERMAKE"; then
124
  echo "*** Postprocessing Makefile templates"
125
  perl -w admin/am_edit || exit 1
126
fi
127
 
128
if egrep "^cvs-local:" $makefile_am >/dev/null; then \
129
  strip_makefile
130
  $MAKE -f $makefile_wo cvs-local top_srcdir=. || exit 1
131
fi
132
 
133
echo "*** Creating date/time stamp"
134
touch stamp-h.in
135
 
136
echo "*** Finished"
137
echo "    Don't forget to run ./configure"
138
echo "    If you haven't done so in a while, run ./configure --help"
139
}
140
 
141
dist()
142
{
143
check_autotool_versions
144
 
145
###
146
### First build all of the files necessary to do just "make"
147
###
148
if grep '\$(top_srcdir)/acinclude.m4:' $makefile_am >/dev/null; then
149
  strip_makefile
150
  $MAKE -f $makefile_wo top_srcdir=. ./acinclude.m4
151
fi
152
if test -r configure.in.in; then
153
  subdirs
154
  configure_files
155
  strip_makefile
156
  $MAKE -f $makefile_wo top_srcdir=. ./configure.in
157
fi
158
$ACLOCAL
159
$AUTOHEADER
160
$AUTOMAKE --foreign --include-deps
161
perl -w admin/am_edit
162
call_and_fix_autoconf
163
touch stamp-h.in
164
if grep "^cvs-local:" $makefile_am >/dev/null; then
165
  strip_makefile
166
  $MAKE -f $makefile_wo cvs-local top_srcdir=.
167
fi
168
 
169
###
170
### Then make messages
171
###
172
if test -d po; then
173
 LIST=`find ./po -name "*.po"`
174
 for i in $LIST; do
175
  file2=`echo $i | sed -e "s#\.po#\.gmo#"`
176
  msgfmt -o $file2 $i || touch $file2
177
 done
178
fi
179
if grep "^cvs-dist-local:" $makefile_am >/dev/null; then
180
  strip_makefile
181
  $MAKE -f $makefile_wo cvs-dist-local top_srcdir=.
182
fi
183
}
184
 
185
subdir_dist()
186
{
187
$ACLOCAL
188
$AUTOHEADER
189
$AUTOMAKE --foreign --include-deps
190
perl -w ../admin/am_edit
191
call_and_fix_autoconf
192
}
193
 
194
configure_in()
195
{
196
rm -f configure.in configure.in.new
197
kde_use_qt_param=
198
test -f configure.files || { echo "need configure.files for configure.in"; exit 1; }
199
cat `egrep -v "configure.in.bot" < configure.files` > configure.in.new
200
echo "KDE_CREATE_SUBDIRSLIST" >> configure.in.new
201
if test -f Makefile.am.in; then
202
  subdirs=`cat subdirs`
203
  for dir in $subdirs; do
204
    dir=`echo $dir | sed -e "s,[-+.],_,g"`
205
    echo "AM_CONDITIONAL($dir""_SUBDIR_included, test \"x\$$dir""_SUBDIR_included\" = xyes)" >> configure.in.new
206
  done
207
fi
208
# echo "AC_OUTPUT( \\" >> configure.in.new
209
mfs=`find . -type d -print | fgrep -v "/." | \
210
     sed -e "s#\./##" -e "/^debian/d" | sort`
211
for i in $mfs; do
212
  topleveldir=`echo $i| sed -e "s#/.*##"`
213
  if test -f $topleveldir/configure.in; then
214
        continue
215
  fi
216
  if test -f $i/Makefile.am; then :; else
217
        continue
218
  fi
219
  if test -s inst-apps; then
220
    if grep "\"^$topleveldir\"" inst-apps > /dev/null 2>&1; then
221
        continue
222
    fi
223
  fi
224
  if test "$i" = "."; then
225
     echo "AC_CONFIG_FILES([ Makefile ])" >> configure.in.new
226
  else
227
     echo "AC_CONFIG_FILES([ $i/Makefile ])" >> configure.in.new
228
  fi
229
  if test -n "$UNSERMAKE"; then
230
      if test "$i" = "."; then
231
        echo "AC_CONFIG_FILES([ Makefile.rules ])" >> configure.in.new
232
      else
233
        echo "AC_CONFIG_FILES([ $i/Makefile.rules ])" >> configure.in.new
234
      fi
235
  fi
236
done
237
 
238
files=`cat configure.files`
239
list=`egrep '^dnl AC_OUTPUT\(.*\)' $files | sed -e "s#^.*dnl AC_OUTPUT(\(.*\))#\1#"`
240
for file in $list; do
241
    echo "AC_CONFIG_FILES([ $file ])" >>  configure.in.new
242
done
243
 
244
if test -n "$UNSERMAKE"; then
245
  echo "AC_CONFIG_FILES([ MakeVars ])" >> configure.in.new
246
fi
247
echo "AC_OUTPUT" >> configure.in.new
248
modulename=
249
if test -f configure.in.in; then
250
   if head -2 configure.in.in | egrep "^#MIN_CONFIG\(.*\)$" > /dev/null; then
251
      kde_use_qt_param=`cat configure.in.in | sed -n -e "s/#MIN_CONFIG(\(.*\))/\1/p"`
252
   fi
253
   if head -2 configure.in.in | egrep "^#MIN_CONFIG" > /dev/null; then
254
      line=`grep "^AM_INIT_AUTOMAKE(" configure.in.in`
255
      if test -n "$line"; then
256
          modulename=`echo $line | sed -e "s#AM_INIT_AUTOMAKE(\([^,]*\),.*#\1#"`
257
          VERSION=`echo $line | sed -e "s#AM_INIT_AUTOMAKE([^,]*, *\([^)]*\)).*#\1#"`
258
      fi
259
      sed -e "s#AM_INIT_AUTOMAKE([^@].*#dnl PACKAGE set before#" \
260
          configure.in.new > configure.in && mv configure.in configure.in.new
261
   fi
262
fi
263
if test -z "$VERSION" || test "$VERSION" = "@VERSION@"; then
264
     VERSION="\"3.1.0\""
265
fi
266
if test -z "$modulename" || test "$modulename" = "@MODULENAME@"; then
267
   modulename=`pwd`;
268
   modulename=`basename $modulename`
269
   esc_VERSION=`echo $VERSION | sed -e "s#[^.0-9a-zA-Z]##g"`
270
   modulename=`echo $modulename | sed -e "s#-$esc_VERSION##"`
271
 
272
fi
273
if test -n "$kde_use_qt_param"; then
274
      sed -e "s#^dnl KDE_USE_QT#KDE_USE_QT($kde_use_qt_param)#" \
275
        configure.in.new > configure.in && mv configure.in configure.in.new
276
fi
277
sed -e "s#@MODULENAME@#$modulename#" configure.in.new |
278
        sed -e "s#@VERSION@#$VERSION#" > configure.in
279
botfiles=`cat configure.files | egrep "configure.in.bot"`
280
test -n "$botfiles" && cat $botfiles >> configure.in
281
cat $admindir/configure.in.bot.end >> configure.in
282
rm -f configure.in.new
283
}
284
 
285
configure_files()
286
{
287
admindir=NO
288
for i in . .. ../.. ../../..; do
289
  if test -x $i/admin; then admindir=$i/admin; break; fi
290
done
291
rm -f configure.files
292
touch configure.files
293
if test -f configure.in.in && head -2 configure.in.in | grep "^#MIN_CONFIG" > /dev/null; then
294
        echo $admindir/configure.in.min >> configure.files
295
fi
296
test -f configure.in.in && echo configure.in.in >> configure.files
297
list=`find . -name "configure.in.in" -o -name "configure.in.bot" | sort`
298
for i in $list; do if test -f $i && test `dirname $i` != "." ; then
299
  echo $i >> configure.files
300
fi; done
301
test -f configure.in.mid && echo configure.in.mid >> configure.files
302
test -f configure.in.bot && echo configure.in.bot >> configure.files
303
}
304
 
305
subdirs()
306
{
307
dirs=
308
compilefirst=`sed -ne 's#^COMPILE_FIRST[ ]*=[ ]*##p' $makefile_am | head -1`
309
compilelast=`sed -ne 's#^COMPILE_LAST[ ]*=[ ]*##p' $makefile_am | head -1`
310
for i in `ls -1`; do
311
    if test -f $i/Makefile.am; then
312
       case " $compilefirst $compilelast " in
313
         *" $i "*) ;;
314
         *) dirs="$dirs $i"
315
       esac
316
    fi
317
done
318
 
319
: > ./_SUBDIRS
320
 
321
for d in $compilefirst; do
322
   echo $d >> ./_SUBDIRS
323
done
324
 
325
(for d in $dirs; do
326
   list=`sed -ne "s#^COMPILE_BEFORE_$d""[ ]*=[ ]*##p" $makefile_am | head -1`
327
   for s in $list; do
328
      echo $s $d
329
   done
330
   list=`sed -ne "s#^COMPILE_AFTER_$d""[ ]*=[ ]*##p" $makefile_am | head -1`
331
   for s in $list; do
332
      echo $d $s
333
   done
334
   echo $d $d
335
done ) | tsort >> ./_SUBDIRS
336
 
337
for d in $compilelast; do
338
   echo $d >> ./_SUBDIRS
339
done
340
 
341
if test -f Makefile.am.in; then
342
  cp Makefile.am.in Makefile.am
343
  if test -n "$UNSERMAKE"; then
344
    topsubdirs=
345
    for i in $compilefirst $dirs $compilelast; do
346
       vari=`echo $i | sed -e "s,[-+],_,g"`
347
       echo "if $vari""_SUBDIR_included" >> Makefile.am
348
       echo "$vari""_SUBDIR=$i" >> Makefile.am
349
       echo "endif" >> Makefile.am
350
       topsubdirs="$topsubdirs \$($vari""_SUBDIR)"
351
    done
352
    echo "SUBDIRS=$topsubdirs" >> Makefile.am
353
  else
354
    echo "SUBDIRS="'$(TOPSUBDIRS)' >> Makefile.am
355
  fi
356
fi
357
if test -r subdirs && diff subdirs _SUBDIRS > /dev/null; then
358
  rm -f _SUBDIRS
359
fi
360
test -r _SUBDIRS && mv _SUBDIRS subdirs || true
361
}
362
 
363
cvs_clean()
364
{
365
if test -d CVS; then :; else
366
  echo "You don't have a toplevel CVS directory."
367
  echo "You most certainly didn't use cvs to get these sources."
368
  echo "But this function depends on cvs's information."
369
  exit 1
370
fi
371
perl $admindir/cvs-clean.pl
372
}
373
 
374
package_merge()
375
{
376
catalogs=$POFILES
377
for cat in $catalogs; do
378
  msgmerge -o $cat.new $cat $PACKAGE.pot
379
  if test -s $cat.new; then
380
    grep -v "\"POT-Creation" $cat.new > $cat.new.2
381
    grep -v "\"POT-Creation" $cat >> $cat.new.1
382
    if diff $cat.new.1 $cat.new.2; then
383
        rm $cat.new
384
    else
385
        mv $cat.new $cat
386
    fi
387
    rm -f $cat.new.1 $cat.new.2
388
  fi
389
done
390
}
391
 
392
package_messages()
393
{
394
rm -rf po.backup
395
mkdir po.backup
396
 
397
for i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do
398
  egrep -v '^#([^:]|$)' po/$i | egrep '^.*[^ ]+.*$' | grep -v "\"POT-Creation" > po.backup/$i
399
  cp po/$i po.backup/backup_$i
400
  touch -r po/$i po.backup/backup_$i
401
  rm po/$i
402
done
403
 
404
podir=${podir:-$PWD/po}
405
files=`find . -name Makefile.am | xargs egrep -l '^messages:' `
406
dirs=`for i in $files; do echo \`dirname $i\`; done`
407
tmpname="$PWD/messages.log"
408
if test -z "$EXTRACTRC"; then EXTRACTRC=extractrc ; fi
409
if test -z "$PREPARETIPS"; then PREPARETIPS=preparetips ; fi
410
export EXTRACTRC PREPARETIPS
411
 
412
for subdir in $dirs; do
413
  test -z "$VERBOSE" || echo "Making messages in $subdir"
414
  (cd $subdir
415
   if test -n "`grep -e '^messages:.*rc.cpp' Makefile.am`"; then
416
        $EXTRACTRC *.rc *.ui > rc.cpp
417
   else
418
        candidates=`ls -1 *.rc *.ui 2>/dev/null`
419
        if test -n "$candidates"; then
420
            echo "$subdir has *.rc or *.ui files, but not correct messages line"
421
        fi
422
   fi
423
   if test -n "`grep -r KAboutData *.c* *.C* 2>/dev/null`"; then
424
        echo -e 'i18n("_: NAME OF TRANSLATORS\\n"\n"Your names")\ni18n("_: EMAIL OF TRANSLATORS\\n"\n"Your emails")' > _translatorinfo.cpp
425
   else echo " " > _translatorinfo.cpp
426
   fi
427
   perl -e '$mes=0; while (<STDIN>) { next if (/^(if|else|endif)\s/); 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
428
 
429
   $MAKE -s -f _transMakefile podir=$podir EXTRACTRC="$EXTRACTRC" PREPARETIPS="$PREPARETIPS" \
430
        XGETTEXT="${XGETTEXT:-xgettext} -C -ki18n -ktr2i18n -kI18N_NOOP -ktranslate -kaliasLocale -x ${includedir:-$KDEDIR/include}/kde.pot" \
431
        messages
432
   ) 2>&1 | grep -v '^make\[1\]' > $tmpname
433
   test -s $tmpname && { echo $subdir ; cat "$tmpname"; }
434
   test -f $subdir/rc.cpp && rm -f $subdir/rc.cpp
435
   rm -f $subdir/_translatorinfo.cpp
436
   rm -f $subdir/_transMakefile
437
done
438
rm -f $tmpname
439
for i in `ls -1 po.backup/*.pot 2>/dev/null | sed -e "s#po.backup/##" | egrep -v '^backup_'`; do
440
  test -f po/$i || echo "disappeared: $i"
441
done
442
for i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do
443
   msgmerge -q -o po/$i po/$i po/$i
444
   egrep -v '^#([^:]|$)' po/$i | egrep '^.*[^ ]+.*$' | grep -v "\"POT-Creation" > temp.pot
445
  if test -f po.backup/$i && test -n "`diff temp.pot po.backup/$i`"; then
446
        echo "will update $i"
447
        msgmerge -q po.backup/backup_$i po/$i > temp.pot
448
        mv temp.pot po/$i
449
  else
450
    if test -f po.backup/backup_$i; then
451
      test -z "$VERBOSE" || echo "I'm restoring $i"
452
      mv po.backup/backup_$i po/$i
453
      rm po.backup/$i
454
    else
455
      echo "will add $i"
456
    fi
457
  fi
458
done
459
rm -f temp.pot
460
rm -rf po.backup
461
}
462
 
463
admindir=`echo "$0" | sed 's%[\\/][^\\/][^\\/]*$%%'`
464
test "x$admindir" = "x$0" && admindir=.
465
 
466
test "x$MAKE" = x && MAKE=make
467
makefile_am=Makefile.am
468
makefile_wo=Makefile.am
469
if test -f Makefile.am.in; then
470
  makefile_am=Makefile.am.in
471
  makefile_wo=Makefile.am.in.wo
472
fi
473
 
474
# Suck in the AUTOCONF detection code
475
. $admindir/detect-autoconf.sh
476
 
477
###
478
### Main
479
###
480
 
481
arg=`echo $1 | tr '\-.' __`
482
case $arg in
483
  cvs | dist | subdir_dist | configure_in | configure_files | subdirs | \
484
  cvs_clean | package_merge | package_messages ) $arg ;;
485
  * ) echo "Usage: cvs.sh <target>"
486
      echo "Target can be one of:"
487
      echo "    cvs cvs-clean dist"
488
      echo "    configure.in configure.files"
489
      echo "    package-merge package-messages"
490
      echo ""
491
      echo "Usage: anything but $1"
492
      exit 1 ;;
493
esac
494
 
495
if test -f Makefile.am.in.wo; then
496
  rm Makefile.am.in.wo
497
fi
498
 
499
exit 0

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.