]> git.saurik.com Git - wxWidgets.git/blame - distrib/scripts/update-manifests.sh
better variant support, fixes #11114
[wxWidgets.git] / distrib / scripts / update-manifests.sh
CommitLineData
ca152e4c
VS
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
16MANIFESTS_DIR=$(pwd)/manifests
17WX_ROOT=$(cd ../.. ; pwd)
18
19cd $WX_ROOT
20
21# generates manifest from bakefile output files:
22generate_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:
45do_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
74list_all_cvs_files()
75{
76 rm -f "${MANIFESTS_DIR}/$1"
77 do_list_all_cvs_files $*
78}
79
80
81list_all_cvs_files generic_samples.rsp \
82 samples
83
84
85generate_manifest dmc.rsp \
86 dmars,dmars_smake
87
88generate_manifest vc.rsp \
89 msvc6prj \
90 "include/msvc/wx/setup.h" \
91 `(cd $WX_ROOT/src ; ls */*.ds?)`
92
93generate_manifest makefile.rsp \
94 autoconf \
95 "locale/Makefile" \
0e6383ef 96 "samples/Makefile.in" \
ca152e4c
VS
97 "libs/vms.opt" \
98 "libs/vms_gtk.opt" \
99 `find . -name descrip.mms`
100
101generate_manifest wince.rsp \
102 msevc4prj \
103 "build/wince/missing"