123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- #!/bin/sh
- # Generate lists of all coreutils programs, to be fed both to Autoconf
- # and Automake, and with further distinctions about how and when these
- # programs should be built. This is useful to avoid duplicating these
- # list definitions among several files ('configure.ac' and
- # 'src/local.mk' at least); such duplication had proved a source of
- # inconsistencies and bugs in the past.
- set -u
- set -e
- # These are the names of programs that are neither built nor installed
- # by default. This list is *not* intended for programs like 'who',
- # 'nice', 'chroot', etc., that are built only when certain requisite
- # system features are detected.
- # If you would like to install programs from this list anyway, say A and B,
- # use "--enable-install-program=A,B" when invoking configure.
- disabled_by_default_progs='
- arch
- coreutils
- hostname
- '
- # Programs that can be built only when certain requisite system
- # features are detected at configure time.
- build_if_possible_progs='
- chroot
- df
- hostid
- libstdbuf.so
- nice
- pinky
- stdbuf
- stty
- timeout
- uptime
- users
- who
- '
- # All the other programs, to be built by default, and that should
- # be buildable without problems on any target system.
- normal_progs='
- [
- b2sum
- base64
- base32
- basename
- cat
- chcon
- chgrp
- chmod
- chown
- cksum
- comm
- cp
- csplit
- cut
- date
- dd
- dir
- dircolors
- dirname
- du
- echo
- env
- expand
- expr
- factor
- false
- fmt
- fold
- ginstall
- groups
- head
- id
- join
- kill
- link
- ln
- logname
- ls
- md5sum
- mkdir
- mkfifo
- mknod
- mktemp
- mv
- nl
- nproc
- nohup
- numfmt
- od
- paste
- pathchk
- pr
- printenv
- printf
- ptx
- pwd
- readlink
- realpath
- rm
- rmdir
- runcon
- seq
- sha1sum
- sha224sum
- sha256sum
- sha384sum
- sha512sum
- shred
- shuf
- sleep
- sort
- split
- stat
- sum
- sync
- tac
- tail
- tee
- test
- touch
- tr
- true
- truncate
- tsort
- tty
- uname
- unexpand
- uniq
- unlink
- vdir
- wc
- whoami
- yes
- '
- me=`echo "$0" | sed 's,.*/,,'`
- msg="Automatically generated by $me. DO NOT EDIT BY HAND!"
- case $#,$1 in
- 1,--autoconf|1,--for-autoconf)
- echo "dnl $msg"
- for p in $normal_progs; do
- test x"$p" = x"[" && p='@<:@'
- echo "gl_ADD_PROG([optional_bin_progs], [$p])"
- done
- # Extra 'echo' to normalize whitespace.
- echo "no_install_progs_default='`echo $disabled_by_default_progs`'"
- sed 's/^ *//' <<END
- # Given the name of a variable containing a space-separated
- # list of install-by-default programs and the actual list of
- # do-not-install-by-default programs, modify the former variable
- # to reflect any "do-install" and "don't-install" requests.
- # That is, add any program specified via --enable-install-program,
- # and remove any program specified via --enable-no-install-program.
- # Note how the second argument below is a literal, with ","
- # separators. That is required due to the way the macro works,
- # and since the corresponding ./configure option argument is
- # comma-separated on input.
- gl_INCLUDE_EXCLUDE_PROG([optional_bin_progs], [`\
- echo $disabled_by_default_progs \
- | sed 's/ /,/g'`])
- END
- ;;
- 1,--automake|1,--for-automake)
- echo "## $msg"
- progsdir=src
- echo no_install__progs =
- for p in $disabled_by_default_progs; do
- echo no_install__progs += $progsdir/$p
- done
- echo build_if_possible__progs =
- for p in $build_if_possible_progs; do
- echo build_if_possible__progs += $progsdir/$p
- done
- echo default__progs =
- for p in $normal_progs; do
- echo default__progs += $progsdir/$p
- done
- ;;
- 1,--list-progs)
- for p in $disabled_by_default_progs $build_if_possible_progs \
- $normal_progs; do
- echo $p
- done
- ;;
- *)
- echo "$0: invalid usage" >&2; exit 2
- ;;
- esac
- exit 0
|