toolbox 16.2 KB
Newer Older
1
2
#! /bin/sh

3
##  toolbox for the VLC media player
Sam Hocevar's avatar
Sam Hocevar committed
4
##  $Id: toolbox,v 1.29 2003/06/28 01:17:47 sam Exp $
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
##
##  Authors: Samuel Hocevar <sam@zoy.org>

###
###  Get a sane environment, just in case
###
LANG=C
export LANG
CYGWIN=binmode
export CYGWIN

##
##  Give help
##
help()
{
  cat << EOF
recognized flags are:
Sam Hocevar's avatar
Sam Hocevar committed
23
24
25
26
27
28
  --update-vc             update Microsoft Visual Studio files
  --update-po             update translation files
  --update-includes       generate various include files
  --update-glade          generate and fix Glade code
  --update-glade2         generate and fix Glade 2 code
  --update-flexml         generate and fix flexml and flex code
Sam Hocevar's avatar
Sam Hocevar committed
29
  --changelog             update the CVS changelog
Sam Hocevar's avatar
Sam Hocevar committed
30
  --distclean             "make distclean"
31
32
33
34
EOF
  exit 1
}

35
36
37
38
39
40
41
##
##  Extract stuff from Makefile.am
##
getfiles()
{
  awk 'BEGIN{a=0}{if(!a&&/^'"$1"'[^-_a-zA-Z0-9]*=/){a=1;print$0;next;}if(a){if(/^[a-zA-Z]/){exit;}print $0}}' < Makefile.am | \
    tr '\\ ' '\n\n' | \
42
    sed -ne 's/[^-$()_a-zA-Z0-9][^-$()_a-zA-Z0-9]*\([a-zA-Z]\)/\1/p'
43
44
}

45
46
47
###
###  argument check
###
48
49

if test "$1" = ""
50
51
52
53
then
  help
fi

54
case "$1" in
Sam Hocevar's avatar
Sam Hocevar committed
55
  --changelog|--update-changelog)
56
    action=changelog
57
58
    ;;
  --update-vc)
59
    action=vc
60
61
    ;;
  --update-po)
62
    action=po
63
64
    ;;
  --update-includes)
65
    action=includes
66
    ;;
ipkiss's avatar
ipkiss committed
67
68
69
  --update-flexml)
    action=flexml
    ;;
70
  --update-glade|--fix-glade)
71
    action=glade
72
    ;;
73
74
75
  --update-glade2|--update-glade-2|--fix-glade2)
    action=glade2
    ;;
76
77
78
  --distclean)
    action=distclean
    ;;
79
80
81
82
83
84
85
86
87
88
  --help)
    help
    ;;
  *)
    echo "$0: unknown option $1"
    help
    ;;
esac
shift

89
90
91
##
##  Update the CVS changelog
##
92
if test "${action}" = "changelog"
93
then
Sam Hocevar's avatar
Sam Hocevar committed
94
95
  set -e
  set -x
96
  cvs2cl --help >/dev/null 2>&1 || exit 1
Sam Hocevar's avatar
Sam Hocevar committed
97
98
  rm -f ChangeLog ChangeLog.tmp
  cvs2cl --utc --hide-filenames --no-wrap -w --stdout -g -z9 | \
99
    sed -e 's/^[^0-9]/ /' -e 's/^  *$//' | \
Sam Hocevar's avatar
Sam Hocevar committed
100
101
102
103
104
105
    uniq > ChangeLog.tmp
  YEAR=`sed -e 's/\(....\)-..-.*/\1/;q' ChangeLog.tmp`
  LASTYEAR="$((${YEAR} - 1))"
  sed -ne "/^${YEAR}-..-../,/^${LASTYEAR}-..-../{/^${LASTYEAR}-..-../d;p}" \
    < ChangeLog.tmp > Changelog
  rm -f ChangeLog.tmp
106
  exit 0
Sam Hocevar's avatar
Sam Hocevar committed
107
108
  # To generate changelog for the year 2001:
  # sed -ne '/^2001/,/^2000/{/^2000/d;p}'
109
110
fi

111
112
113
##
##  Update the MSVC project files
##
114
if test "${action}" = "vc"
115
116
117
118
then
  echo "generating Visual Studio files..."

  #  The evil ^M
Sam Hocevar's avatar
Sam Hocevar committed
119
  M="`printf '\r'`"
120

121
122
123
  #  Variables we get from configure.ac
  LIBVLC_VERSION=`sed -ne '/AC_INIT/s/.*,\(.*\))/\1/p' < configure.ac`
  LIBVLC_CODENAME=`sed -ne '/CODENAME=/s/.*"\(.*\)"/\1/p' < configure.ac`
124
125
  LIBVLC_SYMBOL=`echo $LIBVLC_VERSION | sed -e 'y/.-/__/'`

126
  #  Sources that get built under Win32 - FIXME: anyone wanna deuglify this? :)
127
  LIBVLC_SOURCES=`getfiles SOURCES_libvlc_common; getfiles SOURCES_libvlc_win32; getfiles SOURCES_libvlc_dirent; getfiles SOURCES_libvlc_getopt; getfiles SOURCES_libvlc_libc`
128

129
  LIBVLC_HEADERS=`getfiles HEADERS_include; getfiles HEADERS_include_built`
130

131
  LIBVLC_PKG_HEADERS=`getfiles dist_pkginclude_HEADERS`
132
133
134
135

  # Clean up
  rm -f evc/*.vcp msvc/*.dsp

136
137
138
139
140
141
142
143
144
145
  # config files
  for target in evc/config.h msvc/config.h
  do
    echo "${target}"
    rm -f ${target}
    sed -e "s/@CODENAME@/${LIBVLC_CODENAME}/" \
        -e "s/@VERSION@/${LIBVLC_VERSION}/" \
        -e "s/@SYMBOL@/${LIBVLC_SYMBOL}/" < ${target}.in > ${target}
  done

146
147
148
149
150
151
152
153
154
155
156
157
  # libvlc files
  for target in evc/libvlc.vcp msvc/libvlc.dsp
  do
    echo "${target}"
    #  Top of the project file
    perl -pe 'if(/SOURCES/){last;}' < ${target}.in > ${target}
    #  The source files
    for file in `for i in ${LIBVLC_SOURCES} ; do echo $i ; done | grep -v "/.*/"`
    do
      cat >> ${target} << EOF
# Begin Source File${M}
SOURCE="..\\`echo $file | sed -e 's%/%\\\\%g'`"${M}
gbazin's avatar
   
gbazin committed
158
# ADD CPP /D "__VLC__" /D PLUGIN_PATH=\\".\\" /D DATA_PATH=\\"share\\"${M}
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# End Source File${M}
EOF
    done
    for subdir in `for i in ${LIBVLC_SOURCES} ; do echo $i ; done | grep "/.*/" | cut -f2 -d/ | sort | uniq`
    do
      cat >> ${target} << EOF
# Begin Group "${subdir}"${M}
EOF
      for file in `for i in ${LIBVLC_SOURCES} ; do echo $i ; done | grep "/${subdir}/"`
      do
      if test "${target}" = "evc/libvlc.vcp"
      then
        cat >> ${target} << EOF
# Begin Source File${M}
SOURCE="..\\`echo $file | sed -e 's%/%\\\\%g'`"${M}
gbazin's avatar
   
gbazin committed
174
# ADD CPP /D "__VLC__" /D PLUGIN_PATH=\\".\\" /D DATA_PATH=\\"share\\"${M}
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
!IF "\$(CFG)" == "libvlc - Win32 (WCE MIPS) Release"${M}
# PROP Output_Dir "MIPSRel\\${subdir}"${M}
# PROP Intermediate_Dir "MIPSRel\\${subdir}"${M}
!ELSEIF "\$(CFG)" == "libvlc - Win32 (WCE MIPS) Debug"${M}
# PROP Output_Dir "MIPSDbg\\${subdir}"${M}
# PROP Intermediate_Dir "MIPSDbg\\${subdir}"${M}
!ELSEIF "\$(CFG)" == "libvlc - Win32 (WCE SH4) Release"${M}
# PROP Output_Dir "SH4Rel\\${subdir}"${M}
# PROP Intermediate_Dir "SH4Rel\\${subdir}"${M}
!ELSEIF "\$(CFG)" == "libvlc - Win32 (WCE SH4) Debug"${M}
# PROP Output_Dir "SH4Dbg\\${subdir}"${M}
# PROP Intermediate_Dir "SH4Dbg\\${subdir}"${M}
!ELSEIF "\$(CFG)" == "libvlc - Win32 (WCE SH3) Release"${M}
# PROP Output_Dir "SH3Rel\\${subdir}"${M}
# PROP Intermediate_Dir "SH3Rel\\${subdir}"${M}
!ELSEIF "\$(CFG)" == "libvlc - Win32 (WCE SH3) Debug"${M}
# PROP Output_Dir "SH3Dbg\\${subdir}"${M}
# PROP Intermediate_Dir "SH3Dbg\\${subdir}"${M}
!ELSEIF "\$(CFG)" == "libvlc - Win32 (WCE ARM) Release"${M}
# PROP Output_Dir "ARMRel\\${subdir}"${M}
# PROP Intermediate_Dir "ARMRel\\${subdir}"${M}
!ELSEIF "\$(CFG)" == "libvlc - Win32 (WCE ARM) Debug"${M}
# PROP Output_Dir "ARMDbg\\${subdir}"${M}
# PROP Intermediate_Dir "ARMDbg\\${subdir}"${M}
!ELSEIF "\$(CFG)" == "libvlc - Win32 (WCE x86em) Release"${M}
# PROP Output_Dir "X86EMRel\\${subdir}"${M}
# PROP Intermediate_Dir "X86EMRel\\${subdir}"${M}
!ELSEIF "\$(CFG)" == "libvlc - Win32 (WCE x86em) Debug"${M}
# PROP Output_Dir "X86EMDbg\\${subdir}"${M}
# PROP Intermediate_Dir "X86EMDbg\\${subdir}"${M}
!ENDIF${M}
# End Source File${M}
EOF
        else
          cat >> ${target} << EOF
# Begin Source File${M}
SOURCE="..\\`echo $file | sed -e 's%/%\\\\%g'`"${M}
gbazin's avatar
   
gbazin committed
212
# ADD CPP /D "__VLC__" /D PLUGIN_PATH=\\".\\" /D DATA_PATH=\\"share\\"${M}
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
!IF "\$(CFG)" == "libvlc - Win32 Release"${M}
# PROP Output_Dir "Release\\${subdir}"${M}
# PROP Intermediate_Dir "Release\\${subdir}"${M}
!ELSEIF "\$(CFG)" == "libvlc - Win32 Debug"${M}
# PROP Output_Dir "Debug\\${subdir}"${M}
# PROP Intermediate_Dir "Debug\\${subdir}"${M}
!ENDIF${M}
# End Source File${M}
EOF
        fi
      done
      cat >> ${target} << EOF
# End Group${M}
EOF
    done
    #  The headers
    perl -e 'while(<>){if(/SOURCES/){last;}}while(<>){if(/HEADERS/){last;}print $_}' < ${target}.in >> ${target}
    for file in ${LIBVLC_HEADERS}
    do
      cat >> ${target} << EOF
# Begin Source File${M}
SOURCE="..\\`echo $file | sed -e 's%/%\\\\%g'`"${M}
# End Source File${M}
EOF
    done
    cat >> ${target} << EOF
# Begin Group "vlc"${M}
EOF
    for file in ${LIBVLC_PKG_HEADERS}
    do
      cat >> ${target} << EOF
# Begin Source File${M}
SOURCE="..\\`echo $file | sed -e 's%/%\\\\%g'`"${M}
# End Source File${M}
EOF
    done
    cat >> ${target} << EOF
# End Group${M}
EOF
    perl -e 'while(<>){if(/HEADERS/){last;}}while(<>){print $_}' < ${target}.in >> ${target}
  done

  # plugins files
  grep '^L_[^ ]*_pic =' Modules.am | while read a b c
  do
    makefile="`echo $c | sed -e 's@/[^/]*$@/Modules.am@'`"
    plugin="`echo $a | sed 's/L_\(.*\)_pic/\1/'`"
    # this is an attempt at getting a list of plugin sources... we take the
    # production and remove everything that does not contain "module", which
    # means you miss $(NULL), but other variables too.
    cfiles=`grep -v '[^-_a-zA-Z0-9]*#' ${makefile} | awk 'BEGIN{a=0}{if(!a&&/^SOURCES_'${plugin}'[^-_a-zA-Z0-9]*=/){a=1;print$0;next;}if(a){if(/^[a-zA-Z]/){exit;}print $0}}' | tr '\\ ' '\n\n' | sed -ne 's,/,\\\\,g; s/.*modules/modules/p'`
    hfiles=`for i in ${cfiles} ; do echo $i ; done | grep '\.h$'`
    cfiles=`for i in ${cfiles} ; do echo $i ; done | grep -v '\.h$'`
    for dir in evc msvc
    do
      test "${dir}" = "evc" && suf="vcp" || suf="dsp"
      source="${dir}/plugins.${suf}.in"
      target="${dir}/plugin_${plugin}.${suf}"
      echo "${target}"
      perl -pe 'if(/SOURCES/){last;} s/PLUGIN/'${plugin}'/g' < ${source} > ${target}
      for cfile in ${cfiles}
      do
        cat >> ${target} << EOF
# Begin Source File${M}
SOURCE="..\\${cfile}"${M}
gbazin's avatar
   
gbazin committed
278
# ADD CPP /D "__VLC__" /D "__PLUGIN__"  /D "MODULE_NAME=${plugin}" /D "MODULE_NAME_IS_${plugin}" ${M}
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
# End Source File${M}
EOF
      done
      # sed is really nicer for this... unfortunately it's broken under cygwin
      # sed -ne '1,/SOURCES/d; /HEADERS/,$d; p' < ${source} >> ${target}
      perl -e 'while(<>){if(/SOURCES/){last;}}while(<>){if(/HEADERS/){last;}print $_}' < ${source} >> ${target}
      for hfile in ${hfiles}
      do
        cat >> ${target} << EOF
# Begin Source File${M}
SOURCE="..\\${hfile}"${M}
# End Source File${M}
EOF
      done
      # sed -ne '1,/HEADERS/d; p' < ${source} >> ${target}
      perl -e 'while(<>){if(/HEADERS/){last;}}while(<>){print $_}' < ${source} >> ${target}
    done
  done

  # vlc files
  for target in evc/vlc.vcp msvc/vlc.dsp
  do
    echo "${target}"
    #  Top of the project file
    perl -pe 'if(/SOURCES/){last;}' < ${target}.in > ${target}
    #  The source files
    if test "${target}" = "evc/vlc.vcp"
    then
      cat >> ${target} << EOF
# Begin Source File${M}
SOURCE="..\\evc\\vlc.c"${M}
# End Source File${M}
EOF
    else
      cat >> ${target} << EOF
# Begin Source File${M}
SOURCE="..\\src\\vlc.c"${M}
# End Source File${M}
EOF
    fi
    #  Bottom of the project file - handles resource files too
    perl -e 'while(<>){if(/SOURCES/){last;}}while(<>){print $_}' < ${target}.in >> ${target}
  done

  echo "done."
  exit 0
fi

##
##  Update the potfiles because no one ever does it
##
330
if test "${action}" = "po"
331
then
332
333
  # create a fake file containing win32 strings
  rm -f modules/gui/win32/strings.cpp
334
335
336
337
338
339
  #printf "/* Automatically generated by 'toolbox --update-po', please don't compile */\n" > modules/gui/win32/strings.cpp
  #find modules/gui/win32 -name '*.dfm' | while read file
  #do
  #  printf "\n/*\n * from $file:\n */\n\n" >> modules/gui/win32/strings.cpp
  #  perl -ne 'chop; chop; if( / (Caption|Text|Hint) / || $buffer =~ /[+=] *$/ ) { $buffer =~ s/\+ *$//; $buffer .= $_; } if( $buffer =~ /'"'"' *$/) { $buffer =~ s/'"'"'/"/g; $buffer =~ s/\\/\\\\/g; $buffer =~ s/=/= _(/; print $buffer." );\n"; $buffer = "";}' < $file | grep -v '"-*"' | grep -v '"http://' | grep -v '"vlcs"' >> modules/gui/win32/strings.cpp || exit 1
  #done
340
341
342
343
344
  # find out the source files
  rm -f po/POTFILES.in
  echo "# automatically created by toolbox --update-po" > po/POTFILES.in
  echo "" >> po/POTFILES.in
  echo "# main sources" >> po/POTFILES.in
Sam Hocevar's avatar
Sam Hocevar committed
345
  find include src -name '*.[chm]' -o -name '*.[ch]pp' | sort >> po/POTFILES.in
346
347
  echo "" >> po/POTFILES.in
  echo "# modules" >> po/POTFILES.in
Sam Hocevar's avatar
Sam Hocevar committed
348
  find modules -name '*.[chm]' -o -name '*.[ch]pp' | grep -v 'gui/win32/' | sort >> po/POTFILES.in
349
  # clean old potfiles
350
351
  cd po
  rm -f vlc.pot
352
353
354
  # update
  make vlc.pot || exit 1
  make update-po || exit 1
355
356
357
358
359
  cd ..

  exit 0
fi

360
361
362
##
##  Create include files
##
363
if test "${action}" = "includes"
364
then
Sam Hocevar's avatar
Sam Hocevar committed
365
  #set -x
366
367

  LIBVLC_HEADERS=`getfiles HEADERS_include`
Sam Hocevar's avatar
Sam Hocevar committed
368
  BUILTINS=`sed -ne 's/.*builtins *= *" *\([^"]*\)".*/\1/p' vlc-config`
369
370
371
372
373
374
375
376
377
378
379

  file=include/vlc_symbols.h

  rm -f ${file}.in
  echo '/* DO NOT EDIT THIS FILE! See Makefile.am */' >> ${file}.in
  echo 'struct module_symbols_t {' >> ${file}.in
  cat ${LIBVLC_HEADERS} | grep '^ *VLC_EXPORT.*;' | sed -e 's/VLC_EXPORT( *\([^,]*\), *\([^,]*\), *\(.*\));.*/    \1 (* \2_inner) \3;/' >> ${file}.in
  echo '};' >> ${file}.in
  echo '#ifdef __PLUGIN__' >> ${file}.in
  cat ${LIBVLC_HEADERS} | grep '^ *VLC_EXPORT.*;' | sed -e 's/VLC_EXPORT( *\([^,]*\), *\([^,]*\), *\(.*\));.*/#   define \2 p_symbols->\2_inner/' >> ${file}.in
  echo '#endif /* __PLUGIN__ */' >> ${file}.in
Sam Hocevar's avatar
Sam Hocevar committed
380
  if diff >/dev/null 2>&1 ${file} ${file}.in
381
382
  then
    rm -f ${file}.in
Sam Hocevar's avatar
Sam Hocevar committed
383
  else
Sam Hocevar's avatar
Sam Hocevar committed
384
    echo "creating new ${file}"
Sam Hocevar's avatar
Sam Hocevar committed
385
    mv -f ${file}.in ${file}
386
387
388
389
390
391
392
393
394
  fi

  file=src/misc/modules_plugin.h

  rm -f ${file}.tmp && cp ${file}.in ${file}.tmp
  sed -e 's#.*\$[I][d]:.*# * Automatically generated from '${file}'.in by bootstrap#' < ${file}.in > ${file}.tmp
  echo '#define STORE_SYMBOLS( p_symbols ) \' >> ${file}.tmp
  cat ${LIBVLC_HEADERS} | grep '^ *VLC_EXPORT.*;' | sed -e 's/VLC_EXPORT( *\([^,]*\), *\([^,]*\), *\(.*\));.*/    (p_symbols)->\2_inner = \2; \\/' >> ${file}.tmp
  echo '' >> ${file}.tmp
Sam Hocevar's avatar
Sam Hocevar committed
395
  if diff >/dev/null 2>&1 ${file} ${file}.tmp
396
397
  then
    rm -f ${file}.tmp
Sam Hocevar's avatar
Sam Hocevar committed
398
  else
Sam Hocevar's avatar
Sam Hocevar committed
399
    echo "creating new ${file}"
Sam Hocevar's avatar
Sam Hocevar committed
400
    mv -f ${file}.tmp ${file}
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
  fi

  file=src/misc/modules_builtin.h

  rm -f ${file}.tmp && cp ${file}.in ${file}.tmp
  if test "${BUILTINS}" != ""
  then
    for i in `echo ${BUILTINS}`
    do
      echo "int vlc_entry__`echo $i | sed -e 'y@/@_@' -e 's@\..*@@'`( module_t* );" >>${file}.tmp
    done
    echo "" >> ${file}.tmp
  fi
  echo "#define ALLOCATE_ALL_BUILTINS() \\" >> ${file}.tmp
  echo "    do \\" >> ${file}.tmp
  echo "    { \\" >> ${file}.tmp
  if test "${BUILTINS}" != ""
  then
    for i in `echo ${BUILTINS}`
    do
      echo "        ALLOCATE_BUILTIN(`echo $i | sed -e 'y@/@_@' -e 's@\..*@@'`); \\" >> ${file}.tmp
    done
  fi
  echo "    } while( 0 );" >> ${file}.tmp
  echo "" >> ${file}.tmp
Sam Hocevar's avatar
Sam Hocevar committed
426
  if diff >/dev/null 2>&1 ${file} ${file}.tmp
427
428
  then
    rm -f ${file}.tmp
Sam Hocevar's avatar
Sam Hocevar committed
429
  else
Sam Hocevar's avatar
Sam Hocevar committed
430
    echo "creating new ${file}"
Sam Hocevar's avatar
Sam Hocevar committed
431
    mv -f ${file}.tmp ${file}
432
433
434
435
436
  fi

  exit 0
fi

437
438
439
##
##  Fix glade-generated files
##
440
if test "${action}" = "glade"
441
442
443
444
445
446
447
448
449
450
then
  for file in modules/gui/gtk/gnome.glade modules/gui/gtk/gtk.glade modules/gui/familiar/familiar.glade
  do
    echo "generating code from $file"
    glade -w $file || exit 1
  done

  for file in modules/gui/gtk/gnome_interface.c modules/gui/gtk/gtk_interface.c modules/gui/familiar/interface.c
  do
    echo "fixing $file"
Sam Hocevar's avatar
Sam Hocevar committed
451
    if grep "DO NOT EDIT THIS FILE" $file >/dev/null 2>&1
452
453
454
455
456
457
458
459
460
    then
      rm -f $file.$$.bak
      cat > $file.$$.bak << EOF
/* This file was created automatically by glade and fixed by bootstrap */

#include <vlc/vlc.h>
EOF
      sed -e 1,7d \
          -e 's#_(\(".:..:.."\))#\1#' \
461
          -e 's#_(\("[a-z0-9]*://[^"]*"\))#\1#' \
462
463
464
465
466
467
468
469
470
471
472
473
          -e 's#_("---")#"---"#' \
          -e 's#_("--")#"--"#' \
          -e 's#_("/dev/dvd")#"/dev/dvd"#' \
          -e 's#_(\("./."\))#\1#' \
          < $file >> $file.$$.bak
      mv -f $file.$$.bak $file
    fi
  done

  for file in modules/gui/gtk/gtk_support.h modules/gui/familiar/support.h
  do
    echo "fixing $file"
Sam Hocevar's avatar
Sam Hocevar committed
474
    if grep "DO NOT EDIT THIS FILE" $file >/dev/null 2>&1
475
476
477
478
479
480
481
482
483
484
485
486
487
488
    then
      rm -f $file.$$.bak
      sed -e 's/DO NOT EDIT.*/Created by glade, fixed by bootstrap/' \
          -e 's,<config.h>,<vlc/vlc.h>,' \
          -e 's,#if.*ENABLE_NLS.*,#if 0 /* Disabled by bootstrap */,' \
          -e 's,#else,/* & */,' \
          < $file > $file.$$.bak
      mv -f $file.$$.bak $file
    fi
  done

  exit 0
fi

489
490
491
492
493
494
495
496
497
498
499
500
501
502
##
##  Fix glade2-generated files
##
if test "${action}" = "glade2"
then
  for file in modules/gui/gtk2/gnome2.glade modules/gui/gtk2/gtk2.glade
  do
    echo "generating code from $file"
    glade-2 -w $file || exit 1
  done

  exit 0
fi

ipkiss's avatar
ipkiss committed
503
504
505
506
507
508
509
510
511
512
513
514
515
516
##
##  Fix flexml-generated files
##
if test "${action}" = "flexml"
then
  cd modules/gui/skins/parser
  flexml -SH -a skin.act skin.dtd
  # comment the dummy main function
  file=skin.c
  sed 's@int main@//int main@' < $file > $file.$$.bak
  mv -f $file.$$.bak $file
  flex -oflex.c -BLs skin.l
fi

517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
##
##  Make distclean
##
if test "${action}" = "distclean"
then
  set -x
  # a naive sanity check to make sure we are in a VLC tree
  test -f vlc.spec -a -f debian/rules || exit 1
  # let's rock!
  find . -type f '(' -name '*.[oa]' -o -name '*.so' -o -name '*.sl' -o -name '*.dylib' -o -name '*.dll' -o -name .dirstamp -o -name Makefile.in -o -name 'stamp-h*' -o -name '*~' -o -name '*.bak' -o -name '*.moc.cpp' ')' -exec rm -f '{}' ';'
  (cd autotools && find . -name '[a-z]*' -exec rm -f '{}' ';')
  (cd debian && find . -type d -name '[a-z]*' -maxdepth 1 -exec rm -Rf '{}' ';')
  find msvc -type f -name '*.dsp' -exec rm -f '{}' ';'
  find evc -type f -name '*.vcp' -exec rm -f '{}' ';'
  #find . -type d -name '.deps' -exec rm -Rf '{}' ';'
  # there's some more cruft all around
533
  rm -f config.h config.log config.status
534
535
536
537
538
539
  rm -f vlc vlc-config Makefile Modules.am
  rm -Rf autom4te.cache
  rm -f mozilla/vlcintf.h mozilla/vlcintf.xpt
  # FIXME: a lot of Makefiles are still there
fi