f705e901a5
The API/ABI for the LibreSSL 2.1.x series is now fixed, so we can safely enable libtls it by default. This is useful for new OpenNTPD and OpenSMTPD releases as well. ok deraadt@ beck@ sthen@
58 lines
1.5 KiB
Bash
Executable File
58 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
#set -x
|
|
|
|
export PATH=/cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 12.0/VC/bin:$PATH
|
|
VERSION=`cat VERSION`
|
|
DIST=libressl-$VERSION-windows
|
|
|
|
rm -fr $DIST
|
|
mkdir -p $DIST
|
|
autoreconf -i
|
|
|
|
for ARCH in X86 X64; do
|
|
|
|
if [ $ARCH = X86 ]; then
|
|
HOST=i686-w64-mingw32
|
|
ARCHDIR=x86
|
|
else
|
|
HOST=x86_64-w64-mingw32
|
|
ARCHDIR=x64
|
|
fi
|
|
|
|
echo Building for $HOST
|
|
|
|
CC=$HOST-gcc ./configure --host=$HOST
|
|
make clean
|
|
PATH=$PATH:/usr/$HOST/sys-root/mingw/bin \
|
|
make -j 4 check
|
|
make -j 4 install DESTDIR=`pwd`/stage-$ARCHDIR
|
|
|
|
mkdir -p $DIST/$ARCHDIR
|
|
#cp -a stage-$ARCHDIR/usr/local/lib/* $DIST/$ARCHDIR
|
|
if [ ! -e $DIST/include ]; then
|
|
cp -a stage-$ARCHDIR/usr/local/include $DIST
|
|
sed -i -e 'N;/\n.*__non/s/"\? *\n/ /;P;D' \
|
|
$DIST/include/openssl/*.h $DIST/include/*.h
|
|
sed -i -e 'N;/\n.*__attr/s/"\? *\n/ /;P;D' \
|
|
$DIST/include/openssl/*.h $DIST/include/*.h
|
|
sed -i -e "s/__attr.*;/;/" \
|
|
-e "s/sys\/time.h/winsock2.h/" \
|
|
$DIST/include/openssl/*.h $DIST/include/*.h
|
|
fi
|
|
|
|
cp stage-$ARCHDIR/usr/local/bin/* $DIST/$ARCHDIR
|
|
#cp /usr/$HOST/sys-root/mingw/bin/libssp* $DIST/$ARCHDIR
|
|
|
|
for i in libcrypto libssl libtls; do
|
|
DLL=$(basename `ls -1 $DIST/$ARCHDIR/$i*.dll`|cut -d. -f1)
|
|
echo EXPORTS > $DLL.def
|
|
dumpbin /exports $DIST/$ARCHDIR/$DLL.dll | \
|
|
awk '{print $4}' | awk 'NF' |tail -n +9 >> $DLL.def
|
|
lib /MACHINE:$ARCH /def:$DLL.def /out:$DIST/$ARCHDIR/$DLL.lib
|
|
cv2pdb $DIST/$ARCHDIR/$DLL.dll
|
|
done
|
|
done
|
|
|
|
zip -r $DIST.zip $DIST
|