comparison build.sh @ 52:3115f8af98bb V2.2.2

Added support for libsodium, fixed bug in USE_PI compatibility mode, improved timestamp checking in nacltai protocol
author Ivo Smits <Ivo@UCIS.nl>
date Sun, 27 Oct 2013 23:10:43 +0100
parents f80422b612ab
children 377e7d4fbc10
comparison
equal deleted inserted replaced
51:d83d6bb647a2 52:3115f8af98bb
22 22
23 mkdir -p out 23 mkdir -p out
24 echo Creating source archive... 24 echo Creating source archive...
25 $tar --transform "s,^,quicktun-`cat version`/," -czf "out/quicktun-`cat version`.tgz" build.sh clean.sh debian src version --exclude "debian/data" 25 $tar --transform "s,^,quicktun-`cat version`/," -czf "out/quicktun-`cat version`.tgz" build.sh clean.sh debian src version --exclude "debian/data"
26 26
27 mkdir -p obj tmp 27 mkdir -p obj tmp tmp/include
28 28
29 export LIBRARY_PATH="/usr/local/lib/:${LIBRARY_PATH}" 29 export LIBRARY_PATH="/usr/local/lib/:${LIBRARY_PATH}"
30 if [ -z "${NACL_SHARED}" ]; then 30
31 echo '#include <sodium/crypto_box_curve25519xsalsa20poly1305.h>' > tmp/libtest1.c
32 echo '#include <nacl/crypto_box_curve25519xsalsa20poly1305.h>' > tmp/libtest2.c
33 if gcc -shared -lsodium tmp/libtest1.c -o tmp/libtest 2>/dev/null; then
34 echo Using shared libsodium.
35 echo '#include <sodium/crypto_box_curve25519xsalsa20poly1305.h>' > tmp/include/crypto_box_curve25519xsalsa20poly1305.h
36 echo '#include <sodium/crypto_scalarmult_curve25519.h>' > tmp/include/crypto_scalarmult_curve25519.h
37 export CPATH="./tmp/include/:${CPATH}"
38 export CRYPTLIB="sodium"
39 elif gcc -shared -lnacl tmp/libtest2.c -o tmp/libtest 2>/dev/null; then
40 echo Using shared libnacl.
41 echo '#include <nacl/crypto_box_curve25519xsalsa20poly1305.h>' > tmp/include/crypto_box_curve25519xsalsa20poly1305.h
42 echo '#include <nacl/crypto_scalarmult_curve25519.h>' > tmp/include/crypto_scalarmult_curve25519.h
43 export CPATH="./tmp/include/:${CPATH}"
44 export CRYPTLIB="nacl"
45 else
31 mkdir -p lib include 46 mkdir -p lib include
32 echo Checking for NaCl library... 47 echo Checking for NaCl library...
33 if [ -e lib/libnacl.a -a -e include/crypto_box_curve25519xsalsa20poly1305.h -a -e include/crypto_scalarmult_curve25519.h ]; then 48 if [ -e lib/libnacl.a -a -e include/crypto_box_curve25519xsalsa20poly1305.h -a -e include/crypto_scalarmult_curve25519.h ]; then
34 echo Found. 49 echo Found.
35 else 50 else
47 cp "${NACLDIR}/include/${ABI}/crypto_scalarmult_curve25519.h" include/ 62 cp "${NACLDIR}/include/${ABI}/crypto_scalarmult_curve25519.h" include/
48 echo Done. 63 echo Done.
49 fi 64 fi
50 export CPATH="./include/:${CPATH}" 65 export CPATH="./include/:${CPATH}"
51 export LIBRARY_PATH="./lib/:${LIBRARY_PATH}" 66 export LIBRARY_PATH="./lib/:${LIBRARY_PATH}"
52 else 67 export CRYPTLIB="nacl"
53 echo Using shared NaCl library.
54 export CPATH="/usr/include/nacl/:${CPATH}"
55 fi 68 fi
56 69
57 CFLAGS="$CFLAGS -DQT_VERSION=\"`cat version`\"" 70 CFLAGS="$CFLAGS -DQT_VERSION=\"`cat version`\""
58 71
59 echo Building combined binary... 72 echo Building combined binary...
60 gcc $CFLAGS -c -DCOMBINED_BINARY src/proto.raw.c -o obj/proto.raw.o 73 gcc $CFLAGS -c -DCOMBINED_BINARY src/proto.raw.c -o obj/proto.raw.o
61 gcc $CFLAGS -c -DCOMBINED_BINARY src/proto.nacl0.c -o obj/proto.nacl0.o 74 gcc $CFLAGS -c -DCOMBINED_BINARY src/proto.nacl0.c -o obj/proto.nacl0.o
62 gcc $CFLAGS -c -DCOMBINED_BINARY src/proto.nacltai.c -o obj/proto.nacltai.o 75 gcc $CFLAGS -c -DCOMBINED_BINARY src/proto.nacltai.c -o obj/proto.nacltai.o
63 gcc $CFLAGS -c -DCOMBINED_BINARY src/proto.salty.c -o obj/proto.salty.o 76 gcc $CFLAGS -c -DCOMBINED_BINARY src/proto.salty.c -o obj/proto.salty.o
64 gcc $CFLAGS -c -DCOMBINED_BINARY src/run.combined.c -o obj/run.combined.o 77 gcc $CFLAGS -c -DCOMBINED_BINARY src/run.combined.c -o obj/run.combined.o
65 gcc $CFLAGS -c src/common.c -o obj/common.o 78 gcc $CFLAGS -c src/common.c -o obj/common.o
66 gcc $CFLAGS -o out/quicktun.combined obj/common.o obj/run.combined.o obj/proto.raw.o obj/proto.nacl0.o obj/proto.nacltai.o obj/proto.salty.o -lnacl $LDFLAGS 79 gcc $CFLAGS -o out/quicktun.combined obj/common.o obj/run.combined.o obj/proto.raw.o obj/proto.nacl0.o obj/proto.nacltai.o obj/proto.salty.o -l$CRYPTLIB $LDFLAGS
67 ln out/quicktun.combined out/quicktun 80 ln out/quicktun.combined out/quicktun
68 81
69 echo Building single protocol binaries... 82 echo Building single protocol binaries...
70 gcc $CFLAGS -o out/quicktun.raw src/proto.raw.c $LDFLAGS 83 gcc $CFLAGS -o out/quicktun.raw src/proto.raw.c $LDFLAGS
71 gcc $CFLAGS -o out/quicktun.nacl0 src/proto.nacl0.c -lnacl $LDFLAGS 84 gcc $CFLAGS -o out/quicktun.nacl0 src/proto.nacl0.c -l$CRYPTLIB $LDFLAGS
72 gcc $CFLAGS -o out/quicktun.nacltai src/proto.nacltai.c -lnacl $LDFLAGS 85 gcc $CFLAGS -o out/quicktun.nacltai src/proto.nacltai.c -l$CRYPTLIB $LDFLAGS
73 gcc $CFLAGS -o out/quicktun.salty src/proto.salty.c -lnacl $LDFLAGS 86 gcc $CFLAGS -o out/quicktun.salty src/proto.salty.c -l$CRYPTLIB $LDFLAGS
74 gcc $CFLAGS -o out/quicktun.keypair src/keypair.c -lnacl $LDFLAGS 87 gcc $CFLAGS -o out/quicktun.keypair src/keypair.c -l$CRYPTLIB $LDFLAGS
75 88
76 if [ -f /etc/network/interfaces ]; then 89 if [ -f /etc/network/interfaces ]; then
77 echo Building debian binary... 90 echo Building debian binary...
78 gcc $CFLAGS -c -DCOMBINED_BINARY -DDEBIAN_BINARY src/run.combined.c -o obj/run.debian.o 91 gcc $CFLAGS -c -DCOMBINED_BINARY -DDEBIAN_BINARY src/run.combined.c -o obj/run.debian.o
79 gcc $CFLAGS -o out/quicktun.debian obj/common.o obj/run.debian.o obj/proto.raw.o obj/proto.nacl0.o obj/proto.nacltai.o obj/proto.salty.o -lnacl $LDFLAGS 92 gcc $CFLAGS -o out/quicktun.debian obj/common.o obj/run.debian.o obj/proto.raw.o obj/proto.nacl0.o obj/proto.nacltai.o obj/proto.salty.o -l$CRYPTLIB $LDFLAGS
80 if [ -x /usr/bin/dpkg-deb -a -x /usr/bin/fakeroot ]; then 93 if [ -x /usr/bin/dpkg-deb -a -x /usr/bin/fakeroot ]; then
81 echo -n Building debian package... 94 echo -n Building debian package...
82 cd debian 95 cd debian
83 ./build.sh 96 ./build.sh
84 cd .. 97 cd ..