]> git.saurik.com Git - wxWidgets.git/blob - distrib/scripts/update-manifests.sh
reduce tarballs as discussed on wx-dev
[wxWidgets.git] / distrib / scripts / update-manifests.sh
1 #!/bin/sh
2 ##############################################################################
3 # Name: distrib/scripts/update-manifests.sh
4 # Purpose: Run from this directory to update some of the manifests/*.rsp
5 # files that can be generated automatically (vc, dmc, makefile,
6 # wince).
7 #
8 # Note that it's best to run this after running bakefile_gen,
9 # otherwise this script can be quite slow.
10 # Created: 2006-11-13
11 # RCS-ID: $Id$
12 # Copyright: (c) 2006 Vaclav Slavik <vaclav@wxwindows.org>
13 # Licence: wxWindows licence
14 ##############################################################################
15
16 MANIFESTS_DIR=$(pwd)/manifests
17 WX_ROOT=$(cd ../.. ; pwd)
18
19 cd $WX_ROOT
20
21 # generates manifest from bakefile output files:
22 generate_manifest()
23 {
24 manifest_file="${MANIFESTS_DIR}/$1"
25 formats="$2"
26 shift
27 shift
28
29 # generate files from given format:
30 (
31 cd ${WX_ROOT}/build/bakefiles
32 bakefile_gen -d ../../distrib/scripts/Bakefiles.release.bkgen \
33 --format $formats --list-files | \
34 sed -e "s@^${WX_ROOT}/@@" | sort | uniq \
35 >$manifest_file
36 )
37
38 # and add manually added files to the list:
39 for f in $* ; do
40 echo $f >>$manifest_file
41 done
42 }
43
44 # generates manifest from all files present in CVS under given directories:
45 do_list_all_cvs_files()
46 {
47 local manifest manifest_file files subdirs d f ff s ss
48
49 manifest="$1"
50 manifest_file="${MANIFESTS_DIR}/${manifest}"
51 shift
52
53 for d in $* ; do
54 # list all files:
55 files=$(cat $d/CVS/Entries | sed -ne 's@^/\([^/]*\)/.*@\1@p')
56 for f in $files ; do
57 ff="$d/$f"
58 if [ -f $ff ] ; then
59 echo "$ff" >>$manifest_file
60 fi
61 done
62
63 # recurse into subdirs:
64 subdirs=$(cat $d/CVS/Entries | sed -ne 's@^D/\([^/]*\)/.*@\1@p')
65 for s in $subdirs ; do
66 ss="$d/$s"
67 if [ -d $ss ] ; then
68 do_list_all_cvs_files "$manifest" "$ss"
69 fi
70 done
71 done
72 }
73
74 list_all_cvs_files()
75 {
76 rm -f "${MANIFESTS_DIR}/$1"
77 do_list_all_cvs_files $*
78 }
79
80
81 list_all_cvs_files generic_samples.rsp \
82 samples
83
84
85 generate_manifest dmc.rsp \
86 dmars,dmars_smake
87
88 generate_manifest vc.rsp \
89 msvc6prj \
90 "include/msvc/wx/setup.h" \
91 `(cd $WX_ROOT/src ; ls */*.ds?)`
92
93 generate_manifest makefile.rsp \
94 autoconf \
95 "locale/Makefile" \
96 "samples/Makefile.in" \
97 "libs/vms.opt" \
98 "libs/vms_gtk.opt" \
99 `find . -name descrip.mms`
100
101 generate_manifest wince.rsp \
102 msevc4prj \
103 "build/wince/missing"