Commit 1fc45823 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.

bdb/dist/s_all:
  Search "gawk" if available, give it precedence over "awk",
  fail if neither is found.
bdb/dist/s_include:
  Ensure we use a modern AWK, similar to GNU awk,
  the default awk on Solaris cannot handle BDB's script.
bdb/dist/s_recover:
  Ensure we use a modern AWK, similar to GNU awk,
  the default awk on Solaris cannot handle BDB's script.
bdb/dist/s_rpc:
  Ensure we use a modern AWK, similar to GNU awk,
  the default awk on Solaris cannot handle BDB's script.
parent 4baf2426
#!/bin/sh -
# $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_perm # permissions.
......
......@@ -79,7 +79,7 @@ for i in db btree clib common dbreg env fileops hash hmac \
[ $i = os ] && f="$f ../os_win32/*.c"
[ $i = rpc_server ] && f="../$i/c/*.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 e_dfile=$e_dfile \
-v e_pfile=$e_pfile \
......@@ -97,7 +97,7 @@ done
# files.
for i in dbm hsearch; do
f="../$i/*.c"
awk -f gen_inc.awk \
$AWK -f gen_inc.awk \
-v db_version_unique_name=$DB_VERSION_UNIQUE_NAME \
-v e_dfile=$e_dfile \
-v e_pfile=$e_pfile \
......@@ -142,7 +142,7 @@ head space defonly _DB_EXT_185_DEF_IN_ > $e_dfile
head space _DB_EXT_185_PROT_IN_ > $e_pfile
f="../db185/*.c"
awk -f gen_inc.awk \
$AWK -f gen_inc.awk \
-v db_version_unique_name=$DB_VERSION_UNIQUE_NAME \
-v e_dfile=$e_dfile \
-v e_pfile=$e_pfile \
......
......@@ -45,7 +45,7 @@ cmp $loglist $f > /dev/null 2>&1 ||
for i in db dbreg btree fileops hash qam txn; do
for f in ../$i/*.src; do
subsystem=`basename $f .src`
awk -f gen_rec.awk \
$AWK -f gen_rec.awk \
-v source_file=$source \
-v header_file=$header \
-v template_file=$template < $f
......
......@@ -43,7 +43,7 @@ rm -f $client_file \
xidsize=\
`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 minor=$DB_VERSION_MINOR \
-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