1# really-big.conf - just about everything, just for testing.
2#	This ends up having some good examples of the use of specials for
3#	those hard-to-reach programs.  I stopped when I got tired, but we
4#	could probably get even more stuff (like libexec stuff) in here.
5#
6#       This produces a 4608000 byte binary.  Pretty sick and twisted, eh?
7#
8# $FreeBSD: head/usr.sbin/crunch/examples/really-big.conf 246256 2013-02-02 21:51:14Z pfg $
9#
10
11# =========================================================================
12
13srcdirs /usr/src/bin
14
15progs cat chmod cp csh date dd df domainname echo ed expr hostname kill
16progs ln ls mkdir mt mv ps pwd rcp rm rmail rmdir sh sleep stty sync test
17
18ln test [
19ln sh -sh
20
21
22# =========================================================================
23
24srcdirs /usr/src/sbin
25
26progs badsect bim clri disklabel dmesg dump dumpfs fdisk fsck halt
27progs ifconfig init mknod modload modunload mount mount_isofs
28progs mount_lofs mount_msdosfs mountd
29progs newfs nfsd nfsiod ping quotacheck reboot restore route routed savecore
30progs shutdown swapon ttyflags tunefs umount
31# shell scripts: fastboot
32
33ln dump rdump
34ln restore rrestore
35
36
37# =========================================================================
38
39srcdirs /usr/src/usr.bin
40
41progs apropos ar asa at basename biff cal calendar cap_mkdb checknr chpass
42progs cksum cmp col colcrt colrm column comm compress crontab ctags cut
43progs dirname du env error expand false file find finger fmt fold fpr from
44progs fsplit fstat ftp getconf getopt gprof head hexdump id indent ipcrm
45progs ipcs join kdump ktrace last lastcomm leave lex lock logger locate
46progs login logname look m4 machine mail make man mesg mkfifo
47progs mkstr modstat more msgs netstat newsyslog nfsstat nice nm nohup
48progs pagesize passwd paste patch pr printenv printf quota ranlib
49progs renice rev rlogin rpcgen rpcinfo rsh rup ruptime rusers rwall rwho
50progs script sed showmount size soelim split strings strip su tail talk
51progs tcopy tee telnet tftp time tip tn3270 touch tput tr true tset tsort
52progs tty ul uname unexpand unifdef uniq units unvis users uudecode uuencode
53progs vacation vgrind vi vis vmstat w wall wc what whatis whereis who
54progs whois window write xargs xinstall xstr yacc yes ypcat ypmatch ypwhich
55
56# shell scripts: lorder mkdep shar which
57# problems: rdist uses libcompat.a(regex.o), which conflicts with
58#           libedit(readline.o) over regerror().
59
60# special requirements
61
62special locate srcdir /usr/src/usr.bin/locate/locate
63special tn3270 srcdir /usr/src/usr.bin/tn3270/tn3270
64
65
66# =========================================================================
67
68srcdirs /usr/src/usr.sbin
69
70progs ac accton amd arp bad144 catman chown chroot config config.new cron
71progs dev_mkdb diskpart edquota flcopy gettable grfinfo hilinfo htable inetd
72progs iostat iteconfig kvm_mkdb mtree named portmap
73progs pstat pwd_mkdb quot quotaon rarpd rbootd repquota rmt rpc.bootparamd
74progs rwhod sa spray sysctl syslogd tcpdump
75progs traceroute trpt update vipw vnconfig ypbind yppoll ypset
76
77special amd srcdir /usr/src/usr.sbin/amd/amd
78special amd objs vers.amd.o afs_ops.o am_ops.o clock.o util.o xutil.o efs_ops.o mapc.o info_file.o info_hes.o info_ndbm.o info_passwd.o info_nis.o info_union.o map.o srvr_afs.o srvr_nfs.o mntfs.o misc_rpc.o mount_fs.o mtab.o mtab_bsd.o nfs_ops.o nfs_prot_svc.o nfs_start.o nfs_subr.o opts.o pfs_ops.o rpc_fwd.o sched.o sfs_ops.o amq_svc.o amq_subr.o umount_fs.o host_ops.o nfsx_ops.o ufs_ops.o ifs_ops.o amd.o get_args.o restart.o wire.o
79
80
81srcdirs /usr/src/usr.sbin/lpr		# lpr subsystem
82progs lpr lpc lpq lprm pac lptest
83special lpr srcdir /usr/src/usr.sbin/lpr/lpr
84
85srcdirs /usr/src/usr.sbin/sendmail	# sendmail subsystem
86progs mailstats makemap praliases sendmail
87special sendmail srcdir /usr/src/usr.sbin/sendmail/src
88ln sendmail newaliases
89ln sendmail mailq
90
91srcdirs /usr/src/usr.sbin/timed		# timed & timedc
92progs timed timedc
93special timed srcdir /usr/src/usr.sbin/timed/timed
94
95srcdirs /usr/src/usr.sbin/xntpd		# NTP subsystem
96# xntpd uses a gross hack to pass some information in the global
97# variable `progname' between the actual program (ntpdate in this
98# case), and the NTP library.  Add `progname' to the keep list.
99progs ntpdate
100special ntpdate srcdir /usr/src/usr.sbin/xntpd/ntpdate
101special ntpdate keep progname
102libs -L/usr/src/usr.sbin/xntpd/lib -lntp
103
104srcdirs /usr/src/usr.sbin/yp		# yp subsystem
105progs ypbind ypwhich ypcat ypmatch ypset yppoll
106
107
108# =========================================================================
109
110srcdirs /usr/src/gnu/usr.bin
111
112progs bc cpio diff diff3 gas gawk grep gzip sdiff sort tar
113# shell scripts: send-pr
114
115srcdirs /usr/src/gnu/usr.bin/ld		# ldd and ldconfig
116progs ld ldd ldconfig
117
118# rcs stuff loses because there are cross dependencies between librcs.a and
119# the individual programs.  The solution would be to specify the objpaths
120# directly for each one, and include the full path to librcs.a each the
121# objpaths.
122
123# srcdirs /usr/src/gnu/usr.bin/rcs	# rcs subsystem
124# progs ci co ident merge rcs rcsclean rcsdiff rcsmerge rlog
125# # shell script: rcsfreeze
126# special rcs srcdir /usr/src/gnu/usr.bin/rcs/rcs
127# libs /usr/src/gnu/usr.bin/rcs/lib/obj/librcs.a
128
129# gdb loses too
130# progs gdb
131# special gdb srcdir /usr/src/gnu/usr.bin/gdb/gdb
132# libs /usr/src/gnu/usr.bin/gdb/bfd/obj/libbfd.a
133# libs /usr/src/gnu/usr.bin/gdb/readline/obj/libreadline.a
134# libs /usr/src/gnu/usr.bin/gdb/libiberty/obj/libiberty.a
135
136# groff has the same problem as rcs
137# srcdirs /usr/src/gnu/usr.bin/groff	# groff subsystem
138# progs groff troff tbl pic eqn grops grotty grodvi refer lookbib
139# progs indxbib lkbib tfmtodit addftinfo pfbtops psbb
140# shell script: nroff
141# special groff srcdir /usr/src/gnu/usr.bin/groff/groff
142# libs /usr/src/gnu/usr.bin/groff/libgroff/obj/libgroff.a
143# libs /usr/src/gnu/usr.bin/groff/libbib/obj/libbib.a
144# libs /usr/src/gnu/usr.bin/groff/libdriver/obj/libdriver.a
145
146srcdirs /usr/src/gnu/usr.bin/gcc2	# gcc & friends
147progs cc cpp cc1
148
149# cc1 has the same problem as rcs and groff, but since there's only one program
150# I'll go ahead and solve it as an example.
151
152special cc1 objpaths /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-parse.o /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-lang.o /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-lex.o /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-pragma.o /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-decl.o /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-typeck.o /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-convert.o /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-aux-info.o /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-iterate.o /usr/src/gnu/usr.bin/gcc2/common/obj/libcc1.a
153
154ln gzip gunzip
155ln gzip gzcat
156
157libs -lprivate_edit -lgnumalloc -lc -lcrypt -lprivate_ncurses -ltelnet -lutil -lkvm
158libs -ll -ly -lm -lresolv -lrpcsvc -lcompat
159