change SDL 1.2 to SDL 2.0
[platform/upstream/SDL.git] / build-scripts / naclbuild.sh
1 #!/bin/bash
2 if [ -z "$1" ] && [ -z "$NACL_SDK_ROOT" ]; then
3     echo "Usage: ./naclbuild ~/nacl/pepper_35"
4     echo "This will build SDL for Native Client, and testgles2.c as a demo"
5     echo "You can set env vars CC, AR, LD and RANLIB to override the default PNaCl toolchain used"
6     echo "You can set env var SOURCES to select a different source file than testgles2.c"
7     exit 1
8 fi
9
10 if [ -n "$1" ]; then
11     NACL_SDK_ROOT="$1"
12 fi
13
14 CC=""
15
16 if [ -n "$2" ]; then
17     CC="$2"
18 fi
19
20 echo "Using SDK at $NACL_SDK_ROOT"
21
22 export NACL_SDK_ROOT="$NACL_SDK_ROOT"
23 export CFLAGS="$CFLAGS -I$NACL_SDK_ROOT/include -I$NACL_SDK_ROOT/include/pnacl"
24
25 NCPUS="1"
26 case "$OSTYPE" in
27     darwin*)
28         NCPU=`sysctl -n hw.ncpu`
29         ;; 
30     linux*)
31         if [ -n `which nproc` ]; then
32             NCPUS=`nproc`
33         fi  
34         ;;
35   *);;
36 esac
37
38 CURDIR=`pwd -P`
39 SDLPATH="$( cd "$(dirname "$0")/.." ; pwd -P )"
40 BUILDPATH="$SDLPATH/build/nacl"
41 TESTBUILDPATH="$BUILDPATH/test"
42 SDL2_STATIC="$BUILDPATH/build/.libs/libSDL2.a"
43 mkdir -p $BUILDPATH
44 mkdir -p $TESTBUILDPATH
45
46 if [ -z "$CC" ]; then
47     export CC="$NACL_SDK_ROOT/toolchain/linux_pnacl/bin/pnacl-clang"
48 fi
49 if [ -z "$AR" ]; then
50     export AR="$NACL_SDK_ROOT/toolchain/linux_pnacl/bin/pnacl-ar"
51 fi
52 if [ -z "$LD" ]; then
53     export LD="$NACL_SDK_ROOT/toolchain/linux_pnacl/bin/pnacl-ar"
54 fi
55 if [ -z "$RANLIB" ]; then
56     export RANLIB="$NACL_SDK_ROOT/toolchain/linux_pnacl/bin/pnacl-ranlib"
57 fi
58
59 if [ -z "$SOURCES" ]; then
60     export SOURCES="$SDLPATH/test/testgles2.c"
61 fi
62
63 if [ ! -f "$CC" ]; then
64     echo "Could not find compiler at $CC"
65     exit 1
66 fi
67
68
69
70
71 cd $BUILDPATH
72 $SDLPATH/configure --host=pnacl --prefix $TESTBUILDPATH
73 make -j$NCPUS CFLAGS="$CFLAGS -I./include"
74 make install
75
76 if [ ! -f "$SDL2_STATIC" ]; then
77     echo "Build failed! $SDL2_STATIC"
78     exit 1
79 fi
80
81 echo "Building test"
82 cp -f $SDLPATH/test/nacl/* $TESTBUILDPATH
83 # Some tests need these resource files
84 cp -f $SDLPATH/test/*.bmp $TESTBUILDPATH
85 cp -f $SDLPATH/test/*.wav $TESTBUILDPATH
86 cp -f $SDL2_STATIC $TESTBUILDPATH
87
88 # Copy user sources
89 _SOURCES=($SOURCES)
90 for src in "${_SOURCES[@]}"
91 do
92     cp $src $TESTBUILDPATH
93 done
94 export SOURCES="$SOURCES"
95
96 cd $TESTBUILDPATH
97 make -j$NCPUS CONFIG="Release" CFLAGS="$CFLAGS -I$TESTBUILDPATH/include/SDL2 -I$SDLPATH/include"
98 make -j$NCPUS CONFIG="Debug" CFLAGS="$CFLAGS -I$TESTBUILDPATH/include/SDL2 -I$SDLPATH/include"
99
100 echo
101 echo "Run the test with: "
102 echo "cd $TESTBUILDPATH;python -m SimpleHTTPServer"
103 echo "Then visit http://localhost:8000 with Chrome"
104
105 cd $CURDIR