Menu

[b84aab]: / README  Maximize  Restore  History

Download this file

212 lines (142 with data), 5.8 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
SmallBASIC is a fast and easy to learn BASIC language interpreter ideal for everyday calculations, scripts and prototypes. SmallBASIC includes trigonometric, matrices and algebra functions, a built in IDE, a powerful string library, system, sound, and graphic commands along with structured programming syntax

== Building the Android port

1. Setup .bashrc:

export PATH=$PATH:~/android-sdk/adt-bundle-linux-x86_64-20131030/sdk/platform-tools
export ANDROID_SDK_ROOT=~/android-sdk/adt-bundle-linux-x86_64-20131030/sdk
export TARGET_DEVICE=arm
export PLATFORM_PREFIX=~/android-sdk/android-ext/
export PATH=${PLATFORM_PREFIX}/bin:${PATH}
export NDK=~/android-sdk/android-ndk-r9b
export NDK_PLATFORM=android-9
export ANDROID_LOG_TAGS="DEBUG:I smallbasic:I AndroidRuntime:E *:S"

2. Build PNG + FreeType:

First, prepare the cross-compiler from the NDK:
  $NDK_PATH/build/tools/make-standalone-toolchain.sh \
      --platform=$NDK_PLATFORM --install-dir=$PLATFORM_PREFIX

Then use it to cross-compile the tools:
  cd libpng-1.6.6/
  CFLAGS="-std=gnu99" ./configure --host=arm-linux-androideabi --prefix=/png
  make
  make install DESTDIR=$(pwd)

  cd freetype-2.4.10/
  CFLAGS="-std=gnu99" ./configure --host=arm-linux-androideabi --prefix=/freetype --without-zlib --without-png
  make
  make install DESTDIR=$(pwd)

3. Build common

./configure --enable-android --host=arm-linux-androideabi

4. Build the native activity

$ cd src/platform/andoid/jni && $NDK/ndk-build

$ cd - && cd ide/android/ && ant release install

Useful adb commands for debugging:
adb shell dumpsys cpuinfo
adb shell top -m 10

== Building the TIZEN port

1. Download and install the Tizen IDE

2. Add the following lines to .bashrc

TIZEN_SDK=${HOME}/tizen-sdk
TIZEN_ROOTSTRAP=${TIZEN_SDK}/platforms/mobile-3.0/rootstraps/mobile-3.0-device.native
export TIZEN_BIN=${TIZEN_SDK}/tools/arm-linux-gnueabi-gcc-4.5/bin
export TIZEN_LIBS=${HOME}/tizen-lib
export PATH=${PATH}:${TIZEN_BIN}:~/bin
export CHOST=arm-linux-gnueabi
export LDFLAGS="--sysroot=${TIZEN_ROOTSTRAP} -L${TIZEN_LIBS}/lib"
export CPPFLAGS="--sysroot=${TIZEN_ROOTSTRAP} -fmessage-length=0 -fPIC\
  -I${TIZEN_ROOTSTRAP}/usr/include -I${TIZEN_LIBS}/include"
export CFLAGS=${CPPFLAGS}

3. Build the common components

./configure --enable-tizen

4. Build the project using Tizen IDE

== Building the MoSync port

1. Download and install the MoSync IDE: http://www.mosync.com/download

2. Download and install cygwin: http://www.cygwin.com/

Install the following packages:

- automake
- autoconf
- pkg-config
- make

3. Download and unzip SmallBASIC from github:

https://github.com/smallbasic/SmallBASIC/zipball/master

Unzip the resulting smallbasic-SmallBASIC-xxx.zip file into a clean directory (the following steps will refer to this as $SB_HOME).

4. Build the common components:

$ cd $SB_HOME
$ sh autogen.sh
$ ./configure --enable-mosync
$ make -s

You should now see libsb_common.a in $SB_HOME/src/platform/mosync/common

Next, copy the dot files in $SB_HOME/ide/mosync into $SB_HOME

5. Setup the MoSync IDE project

Launch the MoSync IDE, then create a new workspace.

Click: Import / MoSync / Exiting MoSync project into workspace

Select root directory = $SB_HOME

Enter Ctrl+B to build the project.

6. Useful bash profile settings for MoSync android development:

alias adb="/c/Program\ Files\ \(x86\)/Android/android-sdk/platform-tools/adb.exe"
export ANDROID_LOG_TAGS="ActivityManager:I maWriteLog:I *:S"
alias adebug="adb -d logcat -c && adb -d logcat"

===========================================================================

== Setup instructions for building FLTK version under a fresh ubuntu system

1. Install tools using synaptic package manager. Be sure to accept all included 
   dependencies. Note, some of these are only required for building FLTK to 
   completion but are not actually used in SmallBASIC:

 * subversion
 * autotools-dev
 * autogen
 * autoconf
 * libxft-dev
 * g++
 * libxi-dev
 * libgl1-mesa-dev
 * libglut3-dev
 * libsdl1.2-dev
 * libreadline-dev

2. Download code from subversion:

 $ mkdir src && cd src
 $ svn co http://svn.easysw.com/public/fltk/fltk/trunk fltk-2.0
 $ svn co https://smallbasic.svn.sourceforge.net/svnroot/smallbasic/trunk/smallbasic
 $ cd fltk-2.0 
 $ make (needs to complete at least up to building tests)
 $ sudo make install
 $ cd ../smallbasic
 $ sh autogen.sh
 $ configure --enable-fltk
 $ make
 $ sudo make install

== Setup instructions for building FLTK version under cygwin

Install cygwin along with mingw-gcc

./configure --host=i686-w64-mingw32 --enable-fltk

For 64 bit build:

./configure --host=x86_64-w64-mingw32 --enable-fltk

--- Old instructions ---

Download and install cygwin
--> http://www.cygwin.com/

Download and install MingW
--> http://sourceforge.net/projects/mingw/

Setup $HOME/.bash_profile:

--cut-here--
 export PATH="/cygdrive/c/MinGW/bin:/usr/local/bin:/bin:"
 alias make=mingw32-make
--cut-here--

Obtain and install FLTK as per the ubuntu instructions, then update
the fltk makeinclude file:

STRIP		= /cygdrive/c/cygwin/bin/strip
LIBCOMMAND	= /cygdrive/c/cygwin/bin/ar cr
RANLIB		= /cygdrive/c/cygwin/bin/ranlib

== Building the GTK version
 $ ./configure --enable-gtk
 $ make

== Building the N770 version
 $ ./configure --enable-gtk --enable-hildon
 $ make deb

== Building the SDL version

Optionally install guichan - see http://guichan.sourceforge.net/wiki/index.php

 $ ./configure --enable-sdl
 $ make

== Building the non-graphical console version (cygwin or linux)
 $ ./configure && make

 Windows 32 bit mingw console:

 $./configure --host=i686-w64-mingw32 && make 

 Windows 64 bit mingw console:

 $./configure --host=x86_64-w64-mingw32 && make 

== .indent.pro settings

 -brf -nbap -br -brs -cdb -cdw -ce -cli0 -fca -i2 -l110 -lc110 -lp
 -nbbo -nbc -ncs -nip -npcs -npsl -nut -ppi0 -sc 
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.