s_win32 2.91 KB
Newer Older
unknown's avatar
unknown committed
1
#!/bin/sh -
unknown's avatar
unknown committed
2
#	$Id: s_win32,v 1.25 2002/05/20 19:18:14 bostic Exp $
unknown's avatar
unknown committed
3 4 5 6
#
# Build Windows/32 include files.

msgc="/* DO NOT EDIT: automatically built by dist/s_win32. */"
unknown's avatar
unknown committed
7
msgw="; DO NOT EDIT: automatically built by dist/s_win32."
unknown's avatar
unknown committed
8 9 10

. RELEASE

unknown's avatar
unknown committed
11 12 13
s=/tmp/__db_a$$
t=/tmp/__db_b$$
rm -f $s $t
unknown's avatar
unknown committed
14

unknown's avatar
unknown committed
15
trap 'rm -f $s $t ; exit 1' 1 2 3 13 15
unknown's avatar
unknown committed
16

unknown's avatar
unknown committed
17
# Build the Win32 automatically generated files.
unknown's avatar
unknown committed
18
f=../build_win32/db.h
unknown's avatar
unknown committed
19
cat <<ENDOFSEDTEXT > $s
unknown's avatar
unknown committed
20 21 22 23 24 25 26
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;/
/@u_char_decl@/{
	i\\
unknown's avatar
unknown committed
27
#if !defined(_WINSOCKAPI_)
unknown's avatar
unknown committed
28 29 30 31 32 33 34
	s/@u_char_decl@/typedef unsigned char u_char;/
}
s/@u_short_decl@/typedef unsigned short u_short;/
s/@u_int_decl@/typedef unsigned int u_int;/
/@u_long_decl@/{
	s/@u_long_decl@/typedef unsigned long u_long;/
	a\\
unknown's avatar
unknown committed
35 36 37 38 39 40 41 42 43 44
#endif
}
/@ssize_t_decl@/{
	i\\
#if defined(_WIN64)\\
typedef __int64 ssize_t;\\
#else\\
typedef int ssize_t;\\
#endif
	d
unknown's avatar
unknown committed
45 46 47 48 49
}
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"/
unknown's avatar
unknown committed
50 51 52 53 54 55 56 57 58 59 60 61
s/@DB_VERSION_UNIQUE_NAME@//
ENDOFSEDTEXT
(echo "$msgc" &&
    sed -f $s ../dbinc/db.in &&
    cat ../dbinc_auto/rpc_defs.in &&
    cat ../dbinc_auto/ext_prot.in) > $t
cmp $t $f > /dev/null 2>&1 ||
    (echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)

f=../build_win32/db_cxx.h
cat <<ENDOFSEDTEXT > $s
s/@cxx_have_stdheaders@/#define	HAVE_CXX_STDHEADERS 1/
unknown's avatar
unknown committed
62
ENDOFSEDTEXT
unknown's avatar
unknown committed
63 64 65
(echo "$msgc" && sed -f $s ../dbinc/db_cxx.in) > $t
cmp $t $f > /dev/null 2>&1 ||
    (echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
unknown's avatar
unknown committed
66 67

f=../build_win32/db_int.h
unknown's avatar
unknown committed
68
cat <<ENDOFSEDTEXT > $s
unknown's avatar
unknown committed
69 70 71
s/\(PATH_SEPARATOR[^"]*"\)\/"/\1\\\\\\\\\\/:\"/
s/@db_align_t_decl@/typedef unsigned long db_align_t;/
s/@db_alignp_t_decl@/typedef unsigned long db_alignp_t;/
unknown's avatar
unknown committed
72
s/@db_int_def@//
unknown's avatar
unknown committed
73
ENDOFSEDTEXT
unknown's avatar
unknown committed
74 75 76 77 78 79 80 81
(echo "$msgc" && sed -f $s ../dbinc/db_int.in) > $t
cmp $t $f > /dev/null 2>&1 ||
    (echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)

f=../build_win32/db_config.h
(echo "$msgc" && sed "s/__EDIT_DB_VERSION__/$DB_VERSION/" win_config.in) > $t
cmp $t $f > /dev/null 2>&1 ||
    (echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
unknown's avatar
unknown committed
82 83

f=../build_win32/libdb.rc
unknown's avatar
unknown committed
84
cat <<ENDOFSEDTEXT > $s
unknown's avatar
unknown committed
85 86 87 88
s/%MAJOR%/$DB_VERSION_MAJOR/
s/%MINOR%/$DB_VERSION_MINOR/
s/%PATCH%/$DB_VERSION_PATCH/
ENDOFSEDTEXT
unknown's avatar
unknown committed
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
sed -f $s ../build_win32/libdbrc.src > $t
cmp $t $f > /dev/null 2>&1 ||
    (echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)

f=../build_win32/libdb.def
(echo $msgw &&
 echo &&
 echo \
 "DESCRIPTION	'Berkeley DB $DB_VERSION_MAJOR.$DB_VERSION_MINOR Library'" &&
 echo &&
 echo EXPORTS;
a=1
for i in `sed -e '/^$/d' -e '/^#/d' win_exports.in`; do
	echo "	$i	@$a"
	a=`expr $a + 1`
done) > $t
cmp $t $f > /dev/null 2>&1 ||
    (echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
unknown's avatar
unknown committed
107

unknown's avatar
unknown committed
108
rm -f $s $t