Difference between revisions of "Compiling ScummVM/Bada/Tizen"

From ScummVM :: Wiki
Jump to navigation Jump to search
(Added compilation instructions for Bada/Tizen taken from backends/platform/tizen/README.txt)
 
(Amended formatting of Bada/Tizen compilation instructions.)
 
Line 3: Line 3:
 
This page describes how you build Bada/Tizen packages from the ScummVM source code tree.
 
This page describes how you build Bada/Tizen packages from the ScummVM source code tree.
  
Build instructions (using linux)
+
== Building Tizen under Linux ==
  
1. Install the Tizen SDK
+
The following assumes that you are using Linux as a build environment.
  
http://www.tizen.org
+
1. Install the Tizen SDK from [http://www.tizen.org here]
  
To use an alternative Java SDK to run the Tizen IDE (eclipse), edit ~/.profile  
+
To use an alternative Java SDK to run the Tizen IDE (eclipse), edit the file ~/.profile and add the following:
  
export JAVA_HOME=/opt/jdk1.6.0_45
+
export JAVA_HOME=/opt/jdk1.6.0_45
export PATH=${PATH}:${JAVA_HOME}/bin
+
export PATH=${PATH}:${JAVA_HOME}/bin
  
2. Add the following to your ~/.bashrc file
+
2. Add the following to your ~/.bashrc file:
  
export TIZEN_SDK=${HOME}/tizen-sdk
+
export TIZEN_SDK=${HOME}/tizen-sdk
export TIZEN_ROOTSTRAP=${TIZEN_SDK}/platforms/tizen2.1/rootstraps/tizen-device-2.1.native
+
export TIZEN_ROOTSTRAP=${TIZEN_SDK}/platforms/tizen2.1/rootstraps/tizen-device-2.1.native
export TIZEN_BIN=${TIZEN_SDK}/tools/arm-linux-gnueabi-gcc-4.5/bin
+
export TIZEN_BIN=${TIZEN_SDK}/tools/arm-linux-gnueabi-gcc-4.5/bin
export TIZEN_LIBS=${HOME}/tizen-lib
+
export TIZEN_LIBS=${HOME}/tizen-lib
export PATH=${PATH}:${TIZEN_BIN}:~/bin
+
export PATH=${PATH}:${TIZEN_BIN}:~/bin
export CHOST=arm-linux-gnueabi
+
export CHOST=arm-linux-gnueabi
export LDFLAGS="--sysroot=${TIZEN_ROOTSTRAP} -L${TIZEN_LIBS}/lib"
+
export LDFLAGS="--sysroot=${TIZEN_ROOTSTRAP} -L${TIZEN_LIBS}/lib"
export CPPFLAGS="--sysroot=${TIZEN_ROOTSTRAP} -fmessage-length=0 -fPIC\
+
export CPPFLAGS="--sysroot=${TIZEN_ROOTSTRAP} -fmessage-length=0 -fPIC\
  -I${TIZEN_ROOTSTRAP}/usr/include -I${TIZEN_LIBS}/include"
+
  -I${TIZEN_ROOTSTRAP}/usr/include -I${TIZEN_LIBS}/include"
export CFLAGS=${CPPFLAGS}
+
export CFLAGS=${CPPFLAGS}
  
3. Build dependencies
+
3. Build the required dependencies
  
See: "Building the libraries" under:
+
See: "Building the libraries" under:
http://wiki.scummvm.org/index.php/Compiling_ScummVM/MinGW#Building_the_libraries
+
[[Compiling_ScummVM/MinGW#Building_the_libraries]]
for instructions on how to obtain these modules
+
for instructions on how to obtain these modules
  
3.1 zlib
+
3.1 zlib
  
 
  $ ./configure --static --prefix=${TIZEN_LIBS}
 
  $ ./configure --static --prefix=${TIZEN_LIBS}
 
  $ make && make install
 
  $ make && make install
  
3.2 freetype, libtheora, libogg, libvorbis, libmad, FLAC
+
3.2 freetype, libtheora, libogg, libvorbis, libmad, FLAC
  
 
  $ ./configure --host=arm-linux-gnueabi --prefix=${TIZEN_LIBS} --disable-shared
 
  $ ./configure --host=arm-linux-gnueabi --prefix=${TIZEN_LIBS} --disable-shared
 
  $ make && make install
 
  $ make && make install
  
Note: you can ignore the ranlib errors when doing make install.
+
Note: you can ignore the ranlib errors when doing make install.
  
Modify the resulting ~/tizen-lib/bin/freetype-config file to include -lz when printing libs
+
Modify the resulting ~/tizen-lib/bin/freetype-config file to include -lz when printing libs
  
3.3 Linker ordering: scummvm, freetype, theoradec, vorbis, vorbisfile, mad, FLAC, ogg, z
+
3.3 Linker ordering: scummvm, freetype, theoradec, vorbis, vorbisfile, mad, FLAC, ogg, z
  
 
4. Build the ScummVM base library:
 
4. Build the ScummVM base library:
  
  ./configure --host=tizen --enable-release --with-freetype2-prefix=${TIZEN_LIBS}/bin
+
./configure --host=tizen --enable-release --with-freetype2-prefix=${TIZEN_LIBS}/bin
  
  For development:
+
For development:
  
  ./configure --host=tizen --enable-verbose-build --enable-debug
+
./configure --host=tizen --enable-verbose-build --enable-debug
  
 
5. Build the front end application using Tizen IDE
 
5. Build the front end application using Tizen IDE
  
Copy the scummvm/dists/bada folder into a clean directory
+
Copy the scummvm/dists/bada folder into a clean directory
outside of the scummvm package. Start the BADA IDE then
+
outside of the scummvm package. Start the BADA IDE then
choose this folder as the eclipse workspace. Click
+
choose this folder as the eclipse workspace. Click
Project / Build.
+
Project / Build.
  
 
Links:
 
Links:
  
 
A short turorial on implementing OpenGL ES 1.1 in BADA:
 
A short turorial on implementing OpenGL ES 1.1 in BADA:
  http://forums.badadev.com/viewtopic.php?f=7&t=208
+
http://forums.badadev.com/viewtopic.php?f=7&t=208
  
 
HelvB14 font files:
 
HelvB14 font files:
http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html
+
http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html
http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts-75dpi100dpi.tar.gz
+
http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts-75dpi100dpi.tar.gz
  
Then run the following command:
+
Then run the following command:
 
  $ ./ucs2any.pl 100dpi/helvB14.bdf MAPPINGS/8859-1.TXT iso8859-1 \
 
  $ ./ucs2any.pl 100dpi/helvB14.bdf MAPPINGS/8859-1.TXT iso8859-1 \
  MAPPINGS/8859-2.TXT iso8859-2 MAPPINGS/8859-3.TXT iso8859-3
+
  MAPPINGS/8859-2.TXT iso8859-2 MAPPINGS/8859-3.TXT iso8859-3
  
=====================================================================
+
== Building BADA packages under Cygwin (Obselete) ==
Archived build instruction for BADA/cygwin
 
  
1. Install BADA SDK (requires free registration):
+
1. Install BADA SDK (requires free registration) from [http://developer.bada.com/apis/index.do here].
  
http://developer.bada.com/apis/index.do
+
2. Install Cygwin from [http://www.cygwin.com/ here].
  
2. Install Cygwin:
+
Add the following to your cygwin .bash_profile:
 
 
http://www.cygwin.com/
 
 
 
Add the following to your cygwin .bash_profile:
 
  
 
  alias mmake=/cygdrive/c/MinGW/bin/mingw32-make.exe
 
  alias mmake=/cygdrive/c/MinGW/bin/mingw32-make.exe
Line 102: Line 97:
 
  alias ar=${ARM_BIN}/arm-samsung-nucleuseabi-ar.exe
 
  alias ar=${ARM_BIN}/arm-samsung-nucleuseabi-ar.exe
  
The following were added to ~/utils for zlib:
+
The following were added to ~/utils for zlib:
  
ar:
+
ar:
 
  #!/bin/sh
 
  #!/bin/sh
 
  ${ARM_BIN}/arm-samsung-nucleuseabi-ar.exe $*
 
  ${ARM_BIN}/arm-samsung-nucleuseabi-ar.exe $*
  
gcc:
+
gcc:
 
  #!/bin/sh
 
  #!/bin/sh
 
  ${ARM_BIN}/arm-samsung-nucleuseabi-gcc.exe $*
 
  ${ARM_BIN}/arm-samsung-nucleuseabi-gcc.exe $*

Latest revision as of 01:23, 2 December 2013

Compiling ScummVM for Bada/Tizen

This page describes how you build Bada/Tizen packages from the ScummVM source code tree.

Building Tizen under Linux

The following assumes that you are using Linux as a build environment.

1. Install the Tizen SDK from here

To use an alternative Java SDK to run the Tizen IDE (eclipse), edit the file ~/.profile and add the following:

export JAVA_HOME=/opt/jdk1.6.0_45
export PATH=${PATH}:${JAVA_HOME}/bin

2. Add the following to your ~/.bashrc file:

export TIZEN_SDK=${HOME}/tizen-sdk
export TIZEN_ROOTSTRAP=${TIZEN_SDK}/platforms/tizen2.1/rootstraps/tizen-device-2.1.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 required dependencies

See: "Building the libraries" under: Compiling_ScummVM/MinGW#Building_the_libraries for instructions on how to obtain these modules

3.1 zlib

$ ./configure --static --prefix=${TIZEN_LIBS}
$ make && make install

3.2 freetype, libtheora, libogg, libvorbis, libmad, FLAC

$ ./configure --host=arm-linux-gnueabi --prefix=${TIZEN_LIBS} --disable-shared
$ make && make install

Note: you can ignore the ranlib errors when doing make install.

Modify the resulting ~/tizen-lib/bin/freetype-config file to include -lz when printing libs

3.3 Linker ordering: scummvm, freetype, theoradec, vorbis, vorbisfile, mad, FLAC, ogg, z

4. Build the ScummVM base library:

./configure --host=tizen --enable-release --with-freetype2-prefix=${TIZEN_LIBS}/bin

For development:

./configure --host=tizen --enable-verbose-build --enable-debug

5. Build the front end application using Tizen IDE

Copy the scummvm/dists/bada folder into a clean directory outside of the scummvm package. Start the BADA IDE then choose this folder as the eclipse workspace. Click Project / Build.

Links:

A short turorial on implementing OpenGL ES 1.1 in BADA: http://forums.badadev.com/viewtopic.php?f=7&t=208

HelvB14 font files: http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts-75dpi100dpi.tar.gz

Then run the following command:

$ ./ucs2any.pl 100dpi/helvB14.bdf MAPPINGS/8859-1.TXT iso8859-1 \
 MAPPINGS/8859-2.TXT iso8859-2 MAPPINGS/8859-3.TXT iso8859-3

Building BADA packages under Cygwin (Obselete)

1. Install BADA SDK (requires free registration) from here.

2. Install Cygwin from here.

Add the following to your cygwin .bash_profile:

alias mmake=/cygdrive/c/MinGW/bin/mingw32-make.exe
export BADA_SDK=/cygdrive/c/bada/1.2.1
export ARM_BIN=c:/bada/1.2.1/Tools/Toolchains/ARM/bin
export CPPFLAGS="-fpic -fshort-wchar -mcpu=cortex-a8 -mfpu=vfpv3 \
                 -mfloat-abi=hard -mlittle-endian -mthumb-interwork -Wno-psabi \
                 -fno-strict-aliasing -fno-short-enums"
export LDFLAGS="-nostdlib -lc-newlib -lm-newlib -LC:/bada/1.2.1/Model/Wave_LP1/Target"
#export PATH=${BADA_SDK}/Tools/Toolchains/Win32/bin:${PATH}
export PATH=${BADA_SDK}/Tools/Toolchains/ARM/bin:~/utils:${PATH}
alias gcc=${ARM_BIN}/arm-samsung-nucleuseabi-gcc.exe
alias ar=${ARM_BIN}/arm-samsung-nucleuseabi-ar.exe

The following were added to ~/utils for zlib:

ar:

#!/bin/sh
${ARM_BIN}/arm-samsung-nucleuseabi-ar.exe $*

gcc:

#!/bin/sh
${ARM_BIN}/arm-samsung-nucleuseabi-gcc.exe $*