Mercurial > hg > quicktun
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 .. |