Mercurial > hg > quicktun
comparison build.sh @ 56:377e7d4fbc10
Use system default C compiler instead of gcc in build script
author | Ivo Smits <Ivo@UCIS.nl> |
---|---|
date | Fri, 31 Jan 2014 22:57:46 +0100 |
parents | 3115f8af98bb |
children | 4c083d81f5a8 |
comparison
equal
deleted
inserted
replaced
55:5685fad38195 | 56:377e7d4fbc10 |
---|---|
1 #!/bin/sh | 1 #!/bin/sh |
2 set -e | 2 set -e |
3 | |
4 tar="tar" | |
5 cc="cc" | |
3 | 6 |
4 if [ "$(uname -s)" = "OpenBSD" -o "$(uname -s)" = "FreeBSD" -o "$(uname -s)" = "NetBSD" ]; then | 7 if [ "$(uname -s)" = "OpenBSD" -o "$(uname -s)" = "FreeBSD" -o "$(uname -s)" = "NetBSD" ]; then |
5 echo "Detected *BSD" | 8 echo "Detected *BSD" |
6 tar="gtar" | 9 tar="gtar" |
7 elif [ "$(uname -s)" = "SunOS" ]; then | 10 elif [ "$(uname -s)" = "SunOS" ]; then |
11 LDFLAGS="$LDFLAGS -lnsl -lsocket" | 14 LDFLAGS="$LDFLAGS -lnsl -lsocket" |
12 elif [ "$(uname -s)" = "Darwin" ]; then | 15 elif [ "$(uname -s)" = "Darwin" ]; then |
13 echo "Detected Mac OS X (Darwin)" | 16 echo "Detected Mac OS X (Darwin)" |
14 CFLAGS="$CFLAGS -arch i686" | 17 CFLAGS="$CFLAGS -arch i686" |
15 LDFLAGS="$LDFLAGS -arch i686" | 18 LDFLAGS="$LDFLAGS -arch i686" |
16 else | |
17 tar="tar" | |
18 fi | 19 fi |
19 | 20 |
20 echo Cleaning up... | 21 echo Cleaning up... |
21 rm -rf out/ obj/ tmp/ | 22 rm -rf out/ obj/ tmp/ |
22 | 23 |
28 | 29 |
29 export LIBRARY_PATH="/usr/local/lib/:${LIBRARY_PATH}" | 30 export LIBRARY_PATH="/usr/local/lib/:${LIBRARY_PATH}" |
30 | 31 |
31 echo '#include <sodium/crypto_box_curve25519xsalsa20poly1305.h>' > tmp/libtest1.c | 32 echo '#include <sodium/crypto_box_curve25519xsalsa20poly1305.h>' > tmp/libtest1.c |
32 echo '#include <nacl/crypto_box_curve25519xsalsa20poly1305.h>' > tmp/libtest2.c | 33 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 if $cc -shared -lsodium tmp/libtest1.c -o tmp/libtest 2>/dev/null; then |
34 echo Using shared libsodium. | 35 echo Using shared libsodium. |
35 echo '#include <sodium/crypto_box_curve25519xsalsa20poly1305.h>' > tmp/include/crypto_box_curve25519xsalsa20poly1305.h | 36 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 echo '#include <sodium/crypto_scalarmult_curve25519.h>' > tmp/include/crypto_scalarmult_curve25519.h |
37 export CPATH="./tmp/include/:${CPATH}" | 38 export CPATH="./tmp/include/:${CPATH}" |
38 export CRYPTLIB="sodium" | 39 export CRYPTLIB="sodium" |
39 elif gcc -shared -lnacl tmp/libtest2.c -o tmp/libtest 2>/dev/null; then | 40 elif $cc -shared -lnacl tmp/libtest2.c -o tmp/libtest 2>/dev/null; then |
40 echo Using shared libnacl. | 41 echo Using shared libnacl. |
41 echo '#include <nacl/crypto_box_curve25519xsalsa20poly1305.h>' > tmp/include/crypto_box_curve25519xsalsa20poly1305.h | 42 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 echo '#include <nacl/crypto_scalarmult_curve25519.h>' > tmp/include/crypto_scalarmult_curve25519.h |
43 export CPATH="./tmp/include/:${CPATH}" | 44 export CPATH="./tmp/include/:${CPATH}" |
44 export CRYPTLIB="nacl" | 45 export CRYPTLIB="nacl" |
68 fi | 69 fi |
69 | 70 |
70 CFLAGS="$CFLAGS -DQT_VERSION=\"`cat version`\"" | 71 CFLAGS="$CFLAGS -DQT_VERSION=\"`cat version`\"" |
71 | 72 |
72 echo Building combined binary... | 73 echo Building combined binary... |
73 gcc $CFLAGS -c -DCOMBINED_BINARY src/proto.raw.c -o obj/proto.raw.o | 74 $cc $CFLAGS -c -DCOMBINED_BINARY src/proto.raw.c -o obj/proto.raw.o |
74 gcc $CFLAGS -c -DCOMBINED_BINARY src/proto.nacl0.c -o obj/proto.nacl0.o | 75 $cc $CFLAGS -c -DCOMBINED_BINARY src/proto.nacl0.c -o obj/proto.nacl0.o |
75 gcc $CFLAGS -c -DCOMBINED_BINARY src/proto.nacltai.c -o obj/proto.nacltai.o | 76 $cc $CFLAGS -c -DCOMBINED_BINARY src/proto.nacltai.c -o obj/proto.nacltai.o |
76 gcc $CFLAGS -c -DCOMBINED_BINARY src/proto.salty.c -o obj/proto.salty.o | 77 $cc $CFLAGS -c -DCOMBINED_BINARY src/proto.salty.c -o obj/proto.salty.o |
77 gcc $CFLAGS -c -DCOMBINED_BINARY src/run.combined.c -o obj/run.combined.o | 78 $cc $CFLAGS -c -DCOMBINED_BINARY src/run.combined.c -o obj/run.combined.o |
78 gcc $CFLAGS -c src/common.c -o obj/common.o | 79 $cc $CFLAGS -c src/common.c -o obj/common.o |
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 | 80 $cc $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 |
80 ln out/quicktun.combined out/quicktun | 81 ln out/quicktun.combined out/quicktun |
81 | 82 |
82 echo Building single protocol binaries... | 83 echo Building single protocol binaries... |
83 gcc $CFLAGS -o out/quicktun.raw src/proto.raw.c $LDFLAGS | 84 $cc $CFLAGS -o out/quicktun.raw src/proto.raw.c $LDFLAGS |
84 gcc $CFLAGS -o out/quicktun.nacl0 src/proto.nacl0.c -l$CRYPTLIB $LDFLAGS | 85 $cc $CFLAGS -o out/quicktun.nacl0 src/proto.nacl0.c -l$CRYPTLIB $LDFLAGS |
85 gcc $CFLAGS -o out/quicktun.nacltai src/proto.nacltai.c -l$CRYPTLIB $LDFLAGS | 86 $cc $CFLAGS -o out/quicktun.nacltai src/proto.nacltai.c -l$CRYPTLIB $LDFLAGS |
86 gcc $CFLAGS -o out/quicktun.salty src/proto.salty.c -l$CRYPTLIB $LDFLAGS | 87 $cc $CFLAGS -o out/quicktun.salty src/proto.salty.c -l$CRYPTLIB $LDFLAGS |
87 gcc $CFLAGS -o out/quicktun.keypair src/keypair.c -l$CRYPTLIB $LDFLAGS | 88 $cc $CFLAGS -o out/quicktun.keypair src/keypair.c -l$CRYPTLIB $LDFLAGS |
88 | 89 |
89 if [ -f /etc/network/interfaces ]; then | 90 if [ -f /etc/network/interfaces ]; then |
90 echo Building debian binary... | 91 echo Building debian binary... |
91 gcc $CFLAGS -c -DCOMBINED_BINARY -DDEBIAN_BINARY src/run.combined.c -o obj/run.debian.o | 92 $cc $CFLAGS -c -DCOMBINED_BINARY -DDEBIAN_BINARY src/run.combined.c -o obj/run.debian.o |
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 | 93 $cc $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 |
93 if [ -x /usr/bin/dpkg-deb -a -x /usr/bin/fakeroot ]; then | 94 if [ -x /usr/bin/dpkg-deb -a -x /usr/bin/fakeroot ]; then |
94 echo -n Building debian package... | 95 echo -n Building debian package... |
95 cd debian | 96 cd debian |
96 ./build.sh | 97 ./build.sh |
97 cd .. | 98 cd .. |