summaryrefslogtreecommitdiff
path: root/dist/s_win
blob: 7fe525c202d339c08c28d439a22a0f6e662a8d23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/bin/sh

t=__wt.$$
trap 'rm -f $t' 0 1 2 3 13 15

# Insulate against locale-specific sort order
LC_ALL=C
export LC_ALL

win_config()
{
	f='../build_win/wiredtiger_config.h'
	egrep '#define|#undef' \
	    ../build_posix/config.hin $f |
	    sed 's/^.*#//' |
	    awk '{print $2}' |
	    egrep -v '^(LT_OBJDIR|PACKAGE|VERSION)' |
	    sort | uniq -u > $t

	test -s $t && {
		echo "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="
		echo "Windows #defines missing from $f"
		echo "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="
		cat $t
		exit 1
	}
}

win_export()
{
	# Build the Windows list of exported symbols.
	f='../build_win/wiredtiger.def'
	(echo 'LIBRARY WIREDTIGER'
	 echo 'EXPORTS'
	 sed -e '/^$/d' \
	     -e '/^#/d' \
	     -e 's/^/    /') < s_export.list > $t
	 cmp $t $f > /dev/null 2>&1 ||
	     (echo "Building $f" && rm -f $f && cp $t $f)
}

win_filelist()
{
	f='../build_win/filelist.win'

	# Discard POSIX-only and PPC-only files, add in Windows-only files.
	(
	sed \
	    -e '/\/os_posix\//d' \
	    -e '/src\/checksum\/power8\/crc32.S/d' \
	    -e '/src\/checksum\/power8\/crc32_wrapper.c/d'

	echo 'src/os_win/os_dir.c'
	echo 'src/os_win/os_dlopen.c'
	echo 'src/os_win/os_errno.c'
	echo 'src/os_win/os_fs.c'
	echo 'src/os_win/os_getenv.c'
	echo 'src/os_win/os_map.c'
	echo 'src/os_win/os_mtx_cond.c'
	echo 'src/os_win/os_once.c'
	echo 'src/os_win/os_pagesize.c'
	echo 'src/os_win/os_path.c'
	echo 'src/os_win/os_priv.c'
	echo 'src/os_win/os_setvbuf.c'
	echo 'src/os_win/os_sleep.c'
	echo 'src/os_win/os_snprintf.c'
	echo 'src/os_win/os_thread.c'
	echo 'src/os_win/os_time.c'
	echo 'src/os_win/os_vsnprintf.c'
	echo 'src/os_win/os_yield.c') < filelist | sort > $t

	cmp $t $f > /dev/null 2>&1 ||
	     (echo "Building $f" && rm -f $f && cp $t $f)
}

win_config
win_export
win_filelist

exit 0