makeobsolete revision 1.18 1 1.1 bouyer #!/bin/sh
2 1.1 bouyer #
3 1.18 tron # $NetBSD: makeobsolete,v 1.18 2003/09/21 19:26:05 tron Exp $
4 1.1 bouyer #
5 1.1 bouyer # Print out the obsolete files for a set
6 1.1 bouyer # Usage: makeobsolete [-b] [-x] [-a arch] [-m machine] [-s setsdir] \
7 1.1 bouyer # [-t target] [setname ...]
8 1.1 bouyer #
9 1.1 bouyer
10 1.1 bouyer # set defaults
11 1.16 lukem make="${MAKE:-make} -j 1 -f `dirname $0`/Makefile"
12 1.16 lukem machine=`${make} print_machine`
13 1.16 lukem arch=`${make} print_machine_arch`
14 1.1 bouyer setd=`pwd`
15 1.7 wiz nlists="base comp etc games man misc text"
16 1.10 tron xlists="xbase xcomp xcontrib xfont xserver xmisc"
17 1.1 bouyer lists=$nlists
18 1.1 bouyer target=./dist
19 1.18 tron have_gcc3="`${make} print_have_gcc3`"
20 1.1 bouyer
21 1.1 bouyer # handle args
22 1.1 bouyer while : ; do
23 1.1 bouyer case $1 in
24 1.1 bouyer -b*)
25 1.1 bouyer lists="$xlists $nlists"
26 1.1 bouyer ;;
27 1.1 bouyer -x*)
28 1.1 bouyer lists=$xlists;;
29 1.1 bouyer -a*)
30 1.1 bouyer arch=$2; shift
31 1.1 bouyer ;;
32 1.1 bouyer -m*)
33 1.1 bouyer machine=$2; shift
34 1.1 bouyer ;;
35 1.1 bouyer -s*)
36 1.1 bouyer setd=$2; shift
37 1.1 bouyer ;;
38 1.1 bouyer -t*)
39 1.1 bouyer target=$2;shift
40 1.1 bouyer ;;
41 1.1 bouyer -*)
42 1.1 bouyer cat 1>&2 <<USAGE
43 1.1 bouyer Usage: $0 [-a arch] [-m machine] [-s setsdir] [setname ...]
44 1.1 bouyer -b make netbsd + x11 lists
45 1.1 bouyer -x only make x11 lists
46 1.1 bouyer -a arch set arch (e.g, m68k, mips, powerpc) [$arch]
47 1.1 bouyer -m machine set machine (e.g, amiga, i386, macppc) [$machine]
48 1.1 bouyer -s setsdir directory to find sets [$setd]
49 1.1 bouyer -t target target directory [$target]
50 1.1 bouyer [setname ...] sets to build
51 1.1 bouyer USAGE
52 1.1 bouyer exit 1
53 1.1 bouyer ;;
54 1.1 bouyer *)
55 1.1 bouyer break
56 1.1 bouyer ;;
57 1.1 bouyer esac
58 1.1 bouyer shift
59 1.1 bouyer done
60 1.1 bouyer if [ -n "$1" ]; then
61 1.1 bouyer lists="$*"
62 1.1 bouyer fi
63 1.1 bouyer
64 1.1 bouyer # Convert mipse[lb] to mips after processing command line arguments.
65 1.8 itojun arch=`echo $arch | sed s,^mipse.,mips, | sed s,^sh3e.,sh3e,`
66 1.1 bouyer
67 1.1 bouyer if [ ! -d $target ] ; then
68 1.14 lukem echo "target directory [$target] doesn't exist"
69 1.1 bouyer exit 1
70 1.1 bouyer fi
71 1.10 tron
72 1.10 tron # Automatically add XFree86 version specific sets
73 1.10 tron for list in $lists
74 1.10 tron do
75 1.10 tron if [ -z "$_lists" ]
76 1.10 tron then
77 1.10 tron _lists=$list
78 1.10 tron else
79 1.10 tron _lists="$_lists $list"
80 1.10 tron fi
81 1.10 tron if [ -d "$setd/lists/$list${x11_version}" ]
82 1.10 tron then
83 1.10 tron _lists="$_lists $list${x11_version}"
84 1.10 tron fi
85 1.10 tron done
86 1.10 tron lists=$_lists
87 1.10 tron unset _lists
88 1.1 bouyer
89 1.1 bouyer for setname in $lists; do
90 1.17 lukem file=$target/${setname}
91 1.1 bouyer (
92 1.1 bouyer if [ -f $setd/lists/$setname/obsolete.mi ]; then
93 1.2 jwise awk -- '{print $1}' $setd/lists/$setname/obsolete.mi
94 1.1 bouyer fi
95 1.1 bouyer if [ "$machine" != "$cpu" -a \
96 1.1 bouyer -f $setd/lists/$setname/obsolete.${arch} ]; then
97 1.2 jwise awk -- '{print $1}' $setd/lists/$setname/obsolete.${arch}
98 1.1 bouyer fi
99 1.1 bouyer if [ -f $setd/lists/$setname/obsolete.${machine} ]; then
100 1.2 jwise awk -- '{print $1}' $setd/lists/$setname/obsolete.${machine}
101 1.18 tron fi
102 1.18 tron if [ "$have_gcc3" = yes -a -f $setd/lists/$setname/obsolete.gcc ]; then
103 1.18 tron awk -- '{print $1}' $setd/lists/$setname/obsolete.gcc
104 1.13 lukem fi
105 1.13 lukem ) | egrep -v '^#' | sort -ru > $file
106 1.1 bouyer if [ ! -s $file ] ; then
107 1.1 bouyer rm $file
108 1.1 bouyer fi
109 1.1 bouyer
110 1.13 lukem done
111