| 1 | ?RCS: $Id: Oldsym.U 1 2006-08-24 12:32:52Z rmanfredi $ |
| 2 | ?RCS: |
| 3 | ?RCS: Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi |
| 4 | ?RCS: |
| 5 | ?RCS: You may redistribute only under the terms of the Artistic License, |
| 6 | ?RCS: as specified in the README file that comes with the distribution. |
| 7 | ?RCS: You may reuse parts of this distribution only within the terms of |
| 8 | ?RCS: that same Artistic License; a copy of which may be found at the root |
| 9 | ?RCS: of the source tree for dist 4.0. |
| 10 | ?RCS: |
| 11 | ?RCS: $Log: Oldsym.U,v $ |
| 12 | ?RCS: Revision 3.0.1.1 1997/02/28 15:06:58 ram |
| 13 | ?RCS: patch61: added support for src.U |
| 14 | ?RCS: |
| 15 | ?RCS: Revision 3.0 1993/08/18 12:05:13 ram |
| 16 | ?RCS: Baseline for dist 3.0 netwide release. |
| 17 | ?RCS: |
| 18 | ?X: |
| 19 | ?X: This unit follows the creation of the config.sh file. It adds some |
| 20 | ?X: special symbols: defines from patchlevel.h file if any and PERL_CONFIG_SH, |
| 21 | ?X: which is set to true. Then, we try to keep all the new symbols that |
| 22 | ?X: may come from a hint file or a previous config.sh file. |
| 23 | ?X: |
| 24 | ?MAKE:Oldsym: Config_sh cat test hint src sed sort uniq perl_patchlevel |
| 25 | ?MAKE: -pick add $@ %< |
| 26 | ?T:PERL_CONFIG_SH PERL_PATCHLEVEL sym tmp |
| 27 | ?F:!UU |
| 28 | : add special variables |
| 29 | $test -f $src/patchlevel.h && \ |
| 30 | awk '/^#define[ ]+PERL_/ {printf "%s=%s\n",$2,$3}' $src/patchlevel.h >>config.sh |
| 31 | echo "PERL_PATCHLEVEL='$perl_patchlevel'" >>config.sh |
| 32 | echo "PERL_CONFIG_SH=true" >>config.sh |
| 33 | |
| 34 | : propagate old symbols |
| 35 | if $test -f UU/config.sh; then |
| 36 | ?X: Make sure each symbol is unique in oldconfig.sh |
| 37 | <UU/config.sh $sort | $uniq >UU/oldconfig.sh |
| 38 | ?X: |
| 39 | ?X: All the symbols that appear twice come only from config.sh (hence the |
| 40 | ?X: two config.sh in the command line). These symbols will be removed by |
| 41 | ?X: the uniq -u command. The oldsyms file thus contains all the symbols |
| 42 | ?X: that did not appear in the produced config.sh (Larry Wall). |
| 43 | ?X: |
| 44 | ?X: Do not touch the -u flag of uniq. This means you too, Jarkko. |
| 45 | ?X: |
| 46 | $sed -n 's/^\([a-zA-Z_0-9]*\)=.*/\1/p' \ |
| 47 | config.sh config.sh UU/oldconfig.sh |\ |
| 48 | $sort | $uniq -u >UU/oldsyms |
| 49 | set X `$cat UU/oldsyms` |
| 50 | shift |
| 51 | case $# in |
| 52 | 0) ;; |
| 53 | *) |
| 54 | $cat <<EOM |
| 55 | Hmm...You had some extra variables I don't know about...I'll try to keep 'em... |
| 56 | EOM |
| 57 | echo ": Variables propagated from previous config.sh file." >>config.sh |
| 58 | for sym in `$cat UU/oldsyms`; do |
| 59 | echo " Propagating $hint variable "'$'"$sym..." |
| 60 | eval 'tmp="$'"${sym}"'"' |
| 61 | echo "$tmp" | \ |
| 62 | sed -e "s/'/'\"'\"'/g" -e "s/^/$sym='/" -e "s/$/'/" >>config.sh |
| 63 | done |
| 64 | ;; |
| 65 | esac |
| 66 | fi |
| 67 | |