comparison build.sh @ 13:f7e0145d8e2a

solaris support
author Gabor Adam Toth <tg@tgbit.net>
date Sat, 08 Jan 2011 02:25:17 +0100
parents 5be1ecb80cc9
children d9dfeeaff7e8
comparison
equal deleted inserted replaced
12:e4b60d041491 13:f7e0145d8e2a
1 #!/bin/sh 1 #!/bin/sh
2
3 tar=tar
4
5 if [ `uname -s` == "SunOS" ]; then
6 echo "Detected SunOS"
7 tar=gtar
8 CFLAGS="$CFLAGS -DSOLARIS -m64"
9 LDFLAGS="$LDFLAGS -lnsl -lsocket"
10 fi
11
2 echo Cleaning up... 12 echo Cleaning up...
3 rm -rf out/ obj/ tmp/ 13 rm -rf out/ obj/ tmp/
4 14
5 mkdir -p out 15 mkdir -p out
6 echo Creating source archive... 16 echo Creating source archive...
7 tar --transform "s,^\.,quicktun-`cat version`/," -czf "out/quicktun-`cat version`.tgz" . --exclude "./out" --exclude "./lib" --exclude "./debian/data" 17 $tar --transform "s,^\.,quicktun-`cat version`," -czf "out/quicktun-`cat version`.tgz" . --exclude "./out" --exclude "./lib" --exclude "./debian/data"
8 18
9 mkdir -p obj tmp lib 19 mkdir -p obj tmp lib
10 20
11 echo -n Checking for NaCl library... 21 echo Checking for NaCl library...
12 if [ ! -e lib/libnacl.a ]; then 22 if [ ! -e lib/libnacl.a ]; then
13 echo -n building... 23 echo building...
14 mkdir tmp/nacl 24 mkdir tmp/nacl
15 cd tmp/nacl 25 cd tmp/nacl
16 wget -q -O- http://hyperelliptic.org/nacl/nacl-20090405.tar.bz2 | bunzip2 | tar -xf - --strip-components 1 26 wget -q -O- http://hyperelliptic.org/nacl/nacl-20090405.tar.bz2 | bunzip2 | tar -xf - --strip-components 1
17 ./do 27 ./do
18 cd ../../ 28 cd ../../
25 35
26 export CPATH=./include/ 36 export CPATH=./include/
27 export LIBRARY_PATH=/usr/local/lib/:./lib/ 37 export LIBRARY_PATH=/usr/local/lib/:./lib/
28 38
29 echo Building combined binary... 39 echo Building combined binary...
30 gcc -c -DCOMBINED_BINARY src/proto.raw.c -o obj/proto.raw.o 40 gcc $CFLAGS -c -DCOMBINED_BINARY src/proto.raw.c -o obj/proto.raw.o
31 gcc -c -DCOMBINED_BINARY src/crypto_scalarmult_curve25519.c -o obj/crypto_scalarmult_curve25519.o 41 gcc $CFLAGS -c -DCOMBINED_BINARY src/crypto_scalarmult_curve25519.c -o obj/crypto_scalarmult_curve25519.o
32 gcc -c -DCOMBINED_BINARY src/proto.nacl0.c -o obj/proto.nacl0.o 42 gcc $CFLAGS -c -DCOMBINED_BINARY src/proto.nacl0.c -o obj/proto.nacl0.o
33 gcc -c -DCOMBINED_BINARY src/proto.nacltai.c -o obj/proto.nacltai.o 43 gcc $CFLAGS -c -DCOMBINED_BINARY src/proto.nacltai.c -o obj/proto.nacltai.o
34 gcc -c -DCOMBINED_BINARY src/run.combined.c -o obj/run.combined.o 44 gcc $CFLAGS -c -DCOMBINED_BINARY src/run.combined.c -o obj/run.combined.o
35 gcc -c src/common.c -o obj/common.o 45 gcc $CFLAGS -c src/common.c -o obj/common.o
36 gcc -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 46 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
37 47
38 echo Building single protocol binaries... 48 echo Building single protocol binaries...
39 gcc -o out/quicktun.raw src/proto.raw.c 49 gcc $CFLAGS -o out/quicktun.raw src/proto.raw.c $LDFLAGS
40 gcc -o out/quicktun.nacl0 src/proto.nacl0.c -lnacl 50 gcc $CFLAGS -o out/quicktun.nacl0 src/proto.nacl0.c -lnacl $LDFLAGS
41 gcc -o out/quicktun.nacltai src/proto.nacltai.c src/crypto_scalarmult_curve25519.c -lnacl 51 gcc $CFLAGS -o out/quicktun.nacltai src/proto.nacltai.c src/crypto_scalarmult_curve25519.c -lnacl $LDFLAGS
42 gcc -o out/quicktun.keypair src/keypair.c -lnacl 52 gcc $CFLAGS -o out/quicktun.keypair src/keypair.c -lnacl $LDFLAGS
43 53
44 echo Building shared libraries... 54 echo Building shared libraries...
45 gcc -fPIC -shared -Wl,-soname,quicktun.raw -o out/libquicktun.raw src/proto.raw.c 55 gcc $CFLAGS -fPIC -shared -Wl,-soname,quicktun.raw -o out/libquicktun.raw src/proto.raw.c
46 ##gcc -fPIC -shared -Wl,-soname,quicktun.nacl0 -o out/libquicktun.nacl0 src/proto.nacl0.c -lnacl 56 ##gcc $CFLAGS -fPIC -shared -Wl,-soname,quicktun.nacl0 -o out/libquicktun.nacl0 src/proto.nacl0.c -lnacl $LDFLAGS
47 57
48 ##echo Building frontends... 58 ##echo Building frontends...
49 ##gcc -o out/quicktun.debian src/run.debian.c -ldl 59 ##gcc $CFLAGS -o out/quicktun.debian src/run.debian.c -ldl
50 60
51 if [ -f /etc/network/interfaces ]; then 61 if [ -f /etc/network/interfaces ]; then
52 echo Building debian binary... 62 echo Building debian binary...
53 gcc -c -DCOMBINED_BINARY -DDEBIAN_BINARY src/run.combined.c -o obj/run.debian.o 63 gcc $CFLAGS -c -DCOMBINED_BINARY -DDEBIAN_BINARY src/run.combined.c -o obj/run.debian.o
54 gcc -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 64 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
55 if [ -x /usr/bin/dpkg-deb -a -x /usr/bin/fakeroot ]; then 65 if [ -x /usr/bin/dpkg-deb -a -x /usr/bin/fakeroot ]; then
56 echo -n Building debian package... 66 echo -n Building debian package...
57 cd debian 67 cd debian
58 ./build.sh 68 ./build.sh
59 cd .. 69 cd ..