summaryrefslogtreecommitdiffstats
path: root/contrib/build-scripts/build-libevent-macosx.sh
blob: 23f288bffe109257d277ba6dcaaf1e334efe6beb (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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#!/bin/bash

#
# build libevent for MacOSX
#

# exit on error
set -e

ME=`basename $0`
DIR="$( cd "$( dirname "$0" )" && pwd )" 
MACOSX_VER=`/usr/bin/sw_vers -productVersion`
MACOSX_COMP=(`echo $MACOSX_VER | tr '.' ' '`)
DEST_DIR="${DIR}/../prebuilt/darwin-i386/${MACOSX_COMP[0]}.${MACOSX_COMP[1]}/gnu"

if [ ! -f event.c ]; then
	echo
	echo "Cannot find event.c"
	echo "Run script from within libevent directory"
	echo
	exit
fi

if [ -f Makefile ]; then
  make clean
fi

if [ ${MACOSX_COMP[1]} -lt 9 ]; then
  MACOSX_VERSION_MIN="-mmacosx-version-min=10.6"
fi

./configure \
CFLAGS="-g ${MACOSX_VERSION_MIN} -arch x86_64" \
CXXFLAGS="-g ${MACOSX_VERSION_MIN} -arch x86_64" \
LDFLAGS="-g ${MACOSX_VERSION_MIN} -arch x86_64" \
--enable-gcc-hardening \
--with-pic \
--prefix=${DEST_DIR}

# not available on 10.6
sed -iold s/define\ HAVE_ARC4RANDOM_BUF\ 1/undef\ HAVE_ARC4RANDOM_BUF/ config.h

make
cp ./.libs/libevent.a ./libevent_d.x86_64.a
cp ./.libs/libevent_core.a ./libevent_core_d.x86_64.a
cp ./.libs/libevent_extra.a ./libevent_extra_d.x86_64.a
cp ./.libs/libevent_openssl.a ./libevent_openssl_d.x86_64.a
cp ./.libs/libevent_pthreads.a ./libevent_pthreads_d.x86_64.a
make install # once for headers
rm ${DEST_DIR}/lib/libevent*
make clean

./configure \
CFLAGS="${MACOSX_VERSION_MIN} -arch x86_64" \
CXXFLAGS="${MACOSX_VERSION_MIN} -arch x86_64" \
LDFLAGS="${MACOSX_VERSION_MIN} -arch x86_64" \
--enable-gcc-hardening \
--with-pic \
--disable-debug-mode \
--disable-libevent-install

sed -iold s/define\ HAVE_ARC4RANDOM_BUF\ 1/undef\ HAVE_ARC4RANDOM_BUF/ config.h

make
cp ./.libs/libevent.a ./libevent.x86_64.a
cp ./.libs/libevent_core.a ./libevent_core.x86_64.a
cp ./.libs/libevent_extra.a ./libevent_extra.x86_64.a
cp ./.libs/libevent_openssl.a ./libevent_openssl.x86_64.a
cp ./.libs/libevent_pthreads.a ./libevent_pthreads.x86_64.a
make clean


./configure \
CFLAGS="-g ${MACOSX_VERSION_MIN} -arch i386" \
CXXFLAGS="-g ${MACOSX_VERSION_MIN} -arch i386" \
LDFLAGS="-g ${MACOSX_VERSION_MIN} -arch i386" \
--enable-gcc-hardening \
--with-pic \
--disable-libevent-install

sed -iold s/define\ HAVE_ARC4RANDOM_BUF\ 1/undef\ HAVE_ARC4RANDOM_BUF/ config.h

make
cp ./.libs/libevent.a ./libevent_d.i386.a
cp ./.libs/libevent_core.a ./libevent_core_d.i386.a
cp ./.libs/libevent_extra.a ./libevent_extra_d.i386.a
cp ./.libs/libevent_openssl.a ./libevent_openssl_d.i386.a
cp ./.libs/libevent_pthreads.a ./libevent_pthreads_d.i386.a
make clean

./configure \
CFLAGS="${MACOSX_VERSION_MIN} -arch i386" \
CXXFLAGS="${MACOSX_VERSION_MIN} -arch i386" \
LDFLAGS="${MACOSX_VERSION_MIN} -arch i386" \
--enable-gcc-hardening \
--with-pic \
--disable-debug-mode \
--disable-libevent-install

sed -iold s/define\ HAVE_ARC4RANDOM_BUF\ 1/undef\ HAVE_ARC4RANDOM_BUF/ config.h

make
cp ./.libs/libevent.a ./libevent.i386.a
cp ./.libs/libevent_core.a ./libevent_core.i386.a
cp ./.libs/libevent_extra.a ./libevent_extra.i386.a
cp ./.libs/libevent_openssl.a ./libevent_openssl.i386.a
cp ./.libs/libevent_pthreads.a ./libevent_pthreads.i386.a
make clean

lipo -create ./libevent.i386.a ./libevent.x86_64.a -output ${DEST_DIR}/lib/libevent.a
lipo -create ./libevent_core.i386.a ./libevent_core.x86_64.a -output ${DEST_DIR}/lib/libevent_core.a
lipo -create ./libevent_extra.i386.a ./libevent_extra.x86_64.a -output ${DEST_DIR}/lib/libevent_extra.a
lipo -create ./libevent_openssl.i386.a ./libevent_openssl.x86_64.a -output ${DEST_DIR}/lib/libevent_openssl.a
lipo -create ./libevent_pthreads.i386.a ./libevent_pthreads.x86_64.a -output ${DEST_DIR}/lib/libevent_pthreads.a

lipo -create ./libevent_d.i386.a ./libevent_d.x86_64.a -output ${DEST_DIR}/lib/libevent_d.a
lipo -create ./libevent_core_d.i386.a ./libevent_core_d.x86_64.a -output ${DEST_DIR}/lib/libevent_core_d.a
lipo -create ./libevent_extra_d.i386.a ./libevent_extra_d.x86_64.a -output ${DEST_DIR}/lib/libevent_extra_d.a
lipo -create ./libevent_openssl_d.i386.a ./libevent_openssl_d.x86_64.a -output ${DEST_DIR}/lib/libevent_openssl_d.a
lipo -create ./libevent_pthreads_d.i386.a ./libevent_pthreads_d.x86_64.a -output ${DEST_DIR}/lib/libevent_pthreads_d.a