Commit b7250688 authored by Joerg Bruehe's avatar Joerg Bruehe

Tool fix, needed for "compile-dist" to succeed on Solaris:

The default "awk" there cannot handle some of the scripts
which are used by BDB for configuration.

The fix:
1) Introduce a variable "AWK" in some of the BDB shell scripts,
2) search "gawk" and give it precedence over "awk"
   when assigning a value to the "AWK" variable,
   fail if neither is found,
3) use that variable when calling an "awk" program with one
   of the critical scripts.

The perfect solution would be to use the "awk" program found
by "configure", but we cannot follow that approach because
BDB's configuration is handled as a special case before the
overall "configure" is run. Because of this,
1) the "configure" result isn't yet available,
2) "configure" will not handle these BDB files.
Searching "gawk" is a (not-so-nice) way out.

Note that all this need not be perfectly portable,
it is needed only when we create a source distribution tarball
from a develkopment tree.
parent f730c8e4
#!/bin/sh - #!/bin/sh -
# $Id: s_all,v 1.10 2001/08/04 14:01:44 bostic Exp $ # $Id: s_all,v 1.10 2001/08/04 14:01:44 bostic Exp $
# Search an AWK program, use GNU awk if available
for x in gawk awk ; do
if type $x; then
AWK=$x
break
fi
done
if test -z "$AWK"; then
echo 'No AWK program found'
exit 1
fi
export AWK
# end of AWK search
sh s_dir sh s_dir
#sh s_perm # permissions. #sh s_perm # permissions.
......
...@@ -79,7 +79,7 @@ for i in db btree clib common dbreg env fileops hash hmac \ ...@@ -79,7 +79,7 @@ for i in db btree clib common dbreg env fileops hash hmac \
[ $i = os ] && f="$f ../os_win32/*.c" [ $i = os ] && f="$f ../os_win32/*.c"
[ $i = rpc_server ] && f="../$i/c/*.c" [ $i = rpc_server ] && f="../$i/c/*.c"
[ $i = crypto ] && f="../$i/*.c ../$i/*/*.c" [ $i = crypto ] && f="../$i/*.c ../$i/*/*.c"
awk -f gen_inc.awk \ $AWK -f gen_inc.awk \
-v db_version_unique_name=$DB_VERSION_UNIQUE_NAME \ -v db_version_unique_name=$DB_VERSION_UNIQUE_NAME \
-v e_dfile=$e_dfile \ -v e_dfile=$e_dfile \
-v e_pfile=$e_pfile \ -v e_pfile=$e_pfile \
...@@ -97,7 +97,7 @@ done ...@@ -97,7 +97,7 @@ done
# files. # files.
for i in dbm hsearch; do for i in dbm hsearch; do
f="../$i/*.c" f="../$i/*.c"
awk -f gen_inc.awk \ $AWK -f gen_inc.awk \
-v db_version_unique_name=$DB_VERSION_UNIQUE_NAME \ -v db_version_unique_name=$DB_VERSION_UNIQUE_NAME \
-v e_dfile=$e_dfile \ -v e_dfile=$e_dfile \
-v e_pfile=$e_pfile \ -v e_pfile=$e_pfile \
...@@ -142,7 +142,7 @@ head space defonly _DB_EXT_185_DEF_IN_ > $e_dfile ...@@ -142,7 +142,7 @@ head space defonly _DB_EXT_185_DEF_IN_ > $e_dfile
head space _DB_EXT_185_PROT_IN_ > $e_pfile head space _DB_EXT_185_PROT_IN_ > $e_pfile
f="../db185/*.c" f="../db185/*.c"
awk -f gen_inc.awk \ $AWK -f gen_inc.awk \
-v db_version_unique_name=$DB_VERSION_UNIQUE_NAME \ -v db_version_unique_name=$DB_VERSION_UNIQUE_NAME \
-v e_dfile=$e_dfile \ -v e_dfile=$e_dfile \
-v e_pfile=$e_pfile \ -v e_pfile=$e_pfile \
......
...@@ -45,7 +45,7 @@ cmp $loglist $f > /dev/null 2>&1 || ...@@ -45,7 +45,7 @@ cmp $loglist $f > /dev/null 2>&1 ||
for i in db dbreg btree fileops hash qam txn; do for i in db dbreg btree fileops hash qam txn; do
for f in ../$i/*.src; do for f in ../$i/*.src; do
subsystem=`basename $f .src` subsystem=`basename $f .src`
awk -f gen_rec.awk \ $AWK -f gen_rec.awk \
-v source_file=$source \ -v source_file=$source \
-v header_file=$header \ -v header_file=$header \
-v template_file=$template < $f -v template_file=$template < $f
......
...@@ -43,7 +43,7 @@ rm -f $client_file \ ...@@ -43,7 +43,7 @@ rm -f $client_file \
xidsize=\ xidsize=\
`awk '/^#define/ { if ($2 == "DB_XIDDATASIZE") { print $3 }}' $dbinc_file` `awk '/^#define/ { if ($2 == "DB_XIDDATASIZE") { print $3 }}' $dbinc_file`
awk -f gen_rpc.awk \ $AWK -f gen_rpc.awk \
-v major=$DB_VERSION_MAJOR \ -v major=$DB_VERSION_MAJOR \
-v minor=$DB_VERSION_MINOR \ -v minor=$DB_VERSION_MINOR \
-v xidsize=$xidsize \ -v xidsize=$xidsize \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment