Mercurial > hg > quicktun
annotate build.sh @ 18:c9fba5007577
Merged commit from dereckson: Fixing linuxisms
author | Ivo Smits <Ivo@UCIS.nl> |
---|---|
date | Sun, 27 Feb 2011 20:55:05 +0100 |
parents | 8f564c559416 d621348448de |
children | 3400045a57b8 |
rev | line source |
---|---|
0 | 1 #!/bin/sh |
13 | 2 |
17 | 3 if [ "$(uname -s)" = "OpenBSD" -o "$(uname -s)" = "FreeBSD" ]; then |
14
d9dfeeaff7e8
Added BSD support to build script, updated NaCl URL to new version, added version file
Ivo Smits <Ivo@UCIS.nl>
parents:
13
diff
changeset
|
4 echo "Detected *BSD" |
d9dfeeaff7e8
Added BSD support to build script, updated NaCl URL to new version, added version file
Ivo Smits <Ivo@UCIS.nl>
parents:
13
diff
changeset
|
5 tar="gtar" |
17 | 6 elif [ "$(uname -s)" = "SunOS" ]; then |
13 | 7 echo "Detected SunOS" |
14
d9dfeeaff7e8
Added BSD support to build script, updated NaCl URL to new version, added version file
Ivo Smits <Ivo@UCIS.nl>
parents:
13
diff
changeset
|
8 tar="gtar" |
13 | 9 CFLAGS="$CFLAGS -DSOLARIS -m64" |
10 LDFLAGS="$LDFLAGS -lnsl -lsocket" | |
14
d9dfeeaff7e8
Added BSD support to build script, updated NaCl URL to new version, added version file
Ivo Smits <Ivo@UCIS.nl>
parents:
13
diff
changeset
|
11 else |
d9dfeeaff7e8
Added BSD support to build script, updated NaCl URL to new version, added version file
Ivo Smits <Ivo@UCIS.nl>
parents:
13
diff
changeset
|
12 tar="tar" |
13 | 13 fi |
14 | |
0 | 15 echo Cleaning up... |
16 rm -rf out/ obj/ tmp/ | |
17 | |
18 mkdir -p out | |
19 echo Creating source archive... | |
16 | 20 $tar --transform "s,^\.,quicktun-`cat version`," -czf "out/quicktun-`cat version`.tgz" . --exclude "./out" --exclude "./lib" --exclude "./debian/data" --exclude "./dist.sh" |
0 | 21 |
22 mkdir -p obj tmp lib | |
23 | |
13 | 24 echo Checking for NaCl library... |
0 | 25 if [ ! -e lib/libnacl.a ]; then |
13 | 26 echo building... |
0 | 27 mkdir tmp/nacl |
28 cd tmp/nacl | |
14
d9dfeeaff7e8
Added BSD support to build script, updated NaCl URL to new version, added version file
Ivo Smits <Ivo@UCIS.nl>
parents:
13
diff
changeset
|
29 wget -q -O- http://hyperelliptic.org/nacl/nacl-20090405.tar.bz2 | bunzip2 | $tar -xf - --strip-components 1 |
0 | 30 ./do |
31 cd ../../ | |
32 cp tmp/nacl/build/*/lib/*/libnacl.a lib/ | |
33 cp tmp/nacl/build/*/include/*/crypto_box.h include/ | |
34 cp tmp/nacl/build/*/include/*/crypto_box_curve25519salsa20hmacsha512.h include/ | |
35 cp tmp/nacl/build/*/include/*/crypto_box_curve25519xsalsa20poly1305.h include/ | |
36 fi | |
37 echo Done. | |
38 | |
39 export CPATH=./include/ | |
7 | 40 export LIBRARY_PATH=/usr/local/lib/:./lib/ |
0 | 41 |
42 echo Building combined binary... | |
13 | 43 gcc $CFLAGS -c -DCOMBINED_BINARY src/proto.raw.c -o obj/proto.raw.o |
44 gcc $CFLAGS -c -DCOMBINED_BINARY src/crypto_scalarmult_curve25519.c -o obj/crypto_scalarmult_curve25519.o | |
45 gcc $CFLAGS -c -DCOMBINED_BINARY src/proto.nacl0.c -o obj/proto.nacl0.o | |
46 gcc $CFLAGS -c -DCOMBINED_BINARY src/proto.nacltai.c -o obj/proto.nacltai.o | |
47 gcc $CFLAGS -c -DCOMBINED_BINARY src/run.combined.c -o obj/run.combined.o | |
48 gcc $CFLAGS -c src/common.c -o obj/common.o | |
49 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/crypto_scalarmult_curve25519.o -lnacl $LDFLAGS | |
0 | 50 |
51 echo Building single protocol binaries... | |
13 | 52 gcc $CFLAGS -o out/quicktun.raw src/proto.raw.c $LDFLAGS |
53 gcc $CFLAGS -o out/quicktun.nacl0 src/proto.nacl0.c -lnacl $LDFLAGS | |
54 gcc $CFLAGS -o out/quicktun.nacltai src/proto.nacltai.c src/crypto_scalarmult_curve25519.c -lnacl $LDFLAGS | |
55 gcc $CFLAGS -o out/quicktun.keypair src/keypair.c -lnacl $LDFLAGS | |
0 | 56 |
57 echo Building shared libraries... | |
13 | 58 gcc $CFLAGS -fPIC -shared -Wl,-soname,quicktun.raw -o out/libquicktun.raw src/proto.raw.c |
59 ##gcc $CFLAGS -fPIC -shared -Wl,-soname,quicktun.nacl0 -o out/libquicktun.nacl0 src/proto.nacl0.c -lnacl $LDFLAGS | |
0 | 60 |
61 ##echo Building frontends... | |
13 | 62 ##gcc $CFLAGS -o out/quicktun.debian src/run.debian.c -ldl |
0 | 63 |
11
5be1ecb80cc9
Fixed build script for debian systems without packaging tools, removed packet logging from nacltai
root <root@Really.UFO-Net.nl>
parents:
7
diff
changeset
|
64 if [ -f /etc/network/interfaces ]; then |
0 | 65 echo Building debian binary... |
13 | 66 gcc $CFLAGS -c -DCOMBINED_BINARY -DDEBIAN_BINARY src/run.combined.c -o obj/run.debian.o |
67 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/crypto_scalarmult_curve25519.o -lnacl $LDFLAGS | |
11
5be1ecb80cc9
Fixed build script for debian systems without packaging tools, removed packet logging from nacltai
root <root@Really.UFO-Net.nl>
parents:
7
diff
changeset
|
68 if [ -x /usr/bin/dpkg-deb -a -x /usr/bin/fakeroot ]; then |
5be1ecb80cc9
Fixed build script for debian systems without packaging tools, removed packet logging from nacltai
root <root@Really.UFO-Net.nl>
parents:
7
diff
changeset
|
69 echo -n Building debian package... |
5be1ecb80cc9
Fixed build script for debian systems without packaging tools, removed packet logging from nacltai
root <root@Really.UFO-Net.nl>
parents:
7
diff
changeset
|
70 cd debian |
5be1ecb80cc9
Fixed build script for debian systems without packaging tools, removed packet logging from nacltai
root <root@Really.UFO-Net.nl>
parents:
7
diff
changeset
|
71 ./build.sh |
5be1ecb80cc9
Fixed build script for debian systems without packaging tools, removed packet logging from nacltai
root <root@Really.UFO-Net.nl>
parents:
7
diff
changeset
|
72 cd .. |
5be1ecb80cc9
Fixed build script for debian systems without packaging tools, removed packet logging from nacltai
root <root@Really.UFO-Net.nl>
parents:
7
diff
changeset
|
73 fi |
0 | 74 fi |