Difference between revisions of "Compiling ScummVM/Bada/Tizen"
(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. | ||
== Building Tizen under Linux == | |||
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" | |||
export CFLAGS=${CPPFLAGS} | export CFLAGS=${CPPFLAGS} | ||
3. Build dependencies | 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} | $ ./configure --static --prefix=${TIZEN_LIBS} | ||
$ make && make install | $ make && make install | ||
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. | |||
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: | 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 | 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: | 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 | |||
HelvB14 font files: | 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 \ | $ ./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): | 1. Install BADA SDK (requires free registration) from [http://developer.bada.com/apis/index.do here]. | ||
2. Install Cygwin from [http://www.cygwin.com/ here]. | |||
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: | |||
ar: | |||
#!/bin/sh | #!/bin/sh | ||
${ARM_BIN}/arm-samsung-nucleuseabi-ar.exe $* | ${ARM_BIN}/arm-samsung-nucleuseabi-ar.exe $* | ||
gcc: | |||
#!/bin/sh | #!/bin/sh | ||
${ARM_BIN}/arm-samsung-nucleuseabi-gcc.exe $* | ${ARM_BIN}/arm-samsung-nucleuseabi-gcc.exe $* |
Latest revision as of 23:23, 1 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 $*