#!/bin/sh -
msgc="/* DO NOT EDIT: automatically built by dist/s_brew. */"
. RELEASE
s=/tmp/__db_a
t=/tmp/__db_b
trap 'rm -f $s $t ; exit 0' 0
trap 'rm -f $s $t ; exit 1' 1 2 3 13 15
cat <<ENDOFSEDTEXT > $s
/@inttypes_h_decl@/d
/@stdint_h_decl@/d
s/@stddef_h_decl@//@unistd_h_decl@/d
/@thread_h_decl@/d
s/@u_int8_decl@/typedef unsigned char u_int8_t;/
s/@int16_decl@/typedef short int16_t;/
s/@u_int16_decl@/typedef unsigned short u_int16_t;/
s/@int32_decl@/typedef int int32_t;/
s/@u_int32_decl@/typedef unsigned int u_int32_t;/
/@int64_decl@/d
/@u_int64_decl@/d
s/@u_char_decl@/typedef unsigned char u_char;/
s/@u_int_decl@/typedef unsigned int u_int;/
s/@u_long_decl@/typedef unsigned long u_long;/
s/@u_short_decl@/typedef unsigned short u_short;/
s/@uintmax_t_decl@/typedef unsigned long uintmax_t;/
s/@uintptr_t_decl@/typedef unsigned long uintptr_t;/
s/@FILE_t_decl@/typedef IFile FILE;/
s/@off_t_decl@/typedef u_int32_t off_t;/
s/@pid_t_decl@/typedef int pid_t;/
s/@size_t_decl@/typedef unsigned int size_t;/
s/@ssize_t_decl@/typedef int ssize_t;/
s/@time_t_decl@/typedef long time_t;/
s/@db_seq_decl@/typedef int32_t db_seq_t;/
s/@db_threadid_t_decl@/typedef uintmax_t db_threadid_t;/
s/@DB_VERSION_MAJOR@/$DB_VERSION_MAJOR/
s/@DB_VERSION_MINOR@/$DB_VERSION_MINOR/
s/@DB_VERSION_PATCH@/$DB_VERSION_PATCH/
s/@DB_VERSION_STRING@/"$DB_VERSION_STRING"/
s/@DB_VERSION_UNIQUE_NAME@//
s/@DB_CONST@//
s/@DB_PROTO1@/s/@DB_PROTO2@//@platform_header@/d
/@platform_footer@/{
i\\
typedef struct {\\
\ AEEApplet a; /* AEEApplet must be listed first. */\\
\ void *db_global_values;\\
} BDBApp;\\
int brew_bdb_begin __P((void));\\
void brew_bdb_end __P((void));
d
}
/^/^ENDOFSEDTEXT
(echo "$msgc" &&
sed -f $s ../dbinc/db.in &&
cat ../dbinc_auto/api_flags.in &&
cat ../dbinc_auto/ext_prot.in) > $t
test `egrep '@.*@' $t` && {
egrep '@.*@' $t
echo 'Unexpanded autoconf variables found in BREW db.h.'
exit 1
}
f=../build_brew/db.h
cmp $t $f > /dev/null 2>&1 ||
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
cat <<ENDOFSEDTEXT > $s
s/@PATH_SEPARATOR@/\\\\\\\\\/:/
s/@db_int_def@//
/ENDOFSEDTEXT
(echo "$msgc" && sed -f $s ../dbinc/db_int.in) > $t
test `egrep '@.*@' $t` && {
egrep '@.*@' $t
echo 'Unexpanded autoconf variables found in BREW db_int.h.'
exit 1
}
f=../build_brew/db_int.h
cmp $t $f > /dev/null 2>&1 ||
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
check_config()
{
egrep '^ (egrep ' egrep '^ cmp $s $t > /dev/null || {
echo "config.hin and $1 differ"
echo "<<< config.hin >>> $1"
diff $s $t
}
}
check_config brew/brew_config.in
f=../build_brew/db_config.h
(echo "$msgc" &&
sed "s/__EDIT_DB_VERSION__/$DB_VERSION/" brew/brew_config.in) > $t
cmp $t $f > /dev/null 2>&1 ||
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
f=../build_brew/brew_db.h
i=brew/brew_db.in
cmp $i $f > /dev/null 2>&1 ||
(echo "Building $f" && rm -f $f && cp $i $f && chmod 444 $f)
cat <<ENDOFSEDTEXT > $s
/@INT64_FMT@/d
/@UINT64_FMT@/d
ENDOFSEDTEXT
sed -f $s clib_port.in > $t
test `egrep '@.*@' $t` && {
egrep '@.*@' $t
echo 'Unexpanded autoconf variables found in BREW clib_port.h.'
exit 1
}
f=../build_brew/clib_port.h
cmp $t $f > /dev/null 2>&1 ||
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
f=../build_brew/errno.h
cmp errno.h $f > /dev/null 2>&1 ||
(echo "Building $f" && rm -f $f && cp errno.h $f && chmod 444 $f)
exit 0