listpkgs revision 1.1
1#!/bin/sh
2#
3# Print out the files in some or all lists.
4# Usage: makeflist [-a arch] [-m machine] [-s setsdir] setname
5#
6
7# set defaults
8: ${MAKE=make}
9machine=${MACHINE:-`printf 'xxx:\n\techo ${MACHINE}' | $MAKE -s -f-`}
10arch=${MACHINE_ARCH:-`printf 'xxx:\n\techo ${MACHINE_ARCH}' | $MAKE -s -f-`}
11setd=`dirname $0`
12prefix=/
13
14usage() {
15exec 1>&2
16
17echo "Usage: $0 [-a arch] [-m machine] [-s setsdir] [-p prefix] setname"
18echo "	-a arch		set arch (e.g, m68k, mips, powerpc)	[$arch]"
19echo "	-m machine	set machine (e.g, amiga, i386, macppc)	[$machine]"
20echo "	-s setsdir	directory to find sets			[$setd]"
21echo "	setname set to list packages for"
22
23exit 1
24}
25
26# handle args
27while : ; do
28	case $1 in
29	-a*)
30		arch=$2; shift
31		;;
32	-m*)
33		machine=$2; shift
34		;;
35	-s*)
36		setd=$2; shift
37		;;
38	-*)
39		usage
40		exit 1
41		;;
42	*)
43		break
44		;;
45	esac
46	shift
47done
48if [ -n "$1" ]; then
49	setname="$1"
50else
51	usage
52	exit 1
53fi
54
55# Convert mipse[lb] to mips after processing command line arguments.
56arch=`echo $arch | sed s,^mipse.,mips, | sed s,^sh3e.,sh3,`
57
58# Compute toolchain  used on target cpu.
59if [ "$arch" = "mips" -o "$machine" = "alpha" -o "$arch" = "powerpc" -o "$arch" = "sparc" -o "$arch" = "sparc64" -o "$arch" = "i386" -o "$arch" = "arm26" -o "$machine" = "mvme68k" -o "$machine" = "hp300" ]; then
60	shlib=elf
61else
62	if [ "$arch" = "sh3" ]; then
63		shlib=
64	else
65		shlib=aout
66	fi
67fi
68
69(
70	cat $setd/lists/$setname/mi
71	if [ "$machine" != "$cpu" -a -f $setd/lists/$setname/ad.${arch} ]; then
72		cat $setd/lists/$setname/ad.${arch}
73	fi
74	if [ -f $setd/lists/$setname/md.${machine} ]; then
75		cat $setd/lists/$setname/md.${machine}
76	fi
77	if [ "$shlib" != "" ]; then
78		if [ -f $setd/lists/$setname/shl.mi ]; then
79			cat $setd/lists/$setname/shl.mi
80		fi
81		if [ -f $setd/lists/$setname/shl.${shlib} ]; then
82			cat $setd/lists/$setname/shl.${shlib}
83		fi
84	fi
85)| egrep -v '^#' | awk -- '{print $2}' | sort -u
86