at 16.09-beta 47 lines 1.2 kB view raw
1source $stdenv/setup 2 3# Wrap the given `aclocal' program, appending extra `-I' flags 4# corresponding to the directories listed in $ACLOCAL_PATH. (Note 5# that `wrapProgram' can't be used for that purpose since it can only 6# prepend flags, not append them.) 7wrapAclocal() { 8 local program="$1" 9 local wrapped="$(dirname $program)/.$(basename $program)-wrapped" 10 11 mv "$program" "$wrapped" 12 cat > "$program"<<EOF 13#! $SHELL -e 14 15unset extraFlagsArray 16declare -a extraFlagsArray 17 18oldIFS=\$IFS 19IFS=: 20for dir in \$ACLOCAL_PATH; do 21 if test -n "\$dir" -a -d "\$dir"; then 22 extraFlagsArray=("\${extraFlagsArray[@]}" "-I" "\$dir") 23 fi 24done 25IFS=\$oldIFS 26 27exec "$wrapped" "\$@" "\${extraFlagsArray[@]}" 28EOF 29 chmod +x "$program" 30} 31 32postInstall() { 33 # Create a wrapper around `aclocal' that converts every element in 34 # `ACLOCAL_PATH' into a `-I dir' option. This way `aclocal' 35 # becomes modular; M4 macros do not need to be stored in a single 36 # global directory, while callers of `aclocal' do not need to pass 37 # `-I' options explicitly. 38 39 for prog in $out/bin/aclocal*; do 40 wrapAclocal "$prog" 41 done 42 43 ln -s aclocal-1.11 $out/share/aclocal 44 ln -s automake-1.11 $out/share/automake 45} 46 47genericBuild