Port SDL/TinySDGL to android with native C

by Martin Foo » Sun, 19 Oct 2008 13:52:52 GMT


Sponsored Links
  have success port SDL/TinySDGL to android with native C!

Make SDL with Makefile.minimal makefile, and config SDL_config.h to
set video use FBCON, and timer user unix implement, and change some
code when user FBCON video.

After compile SDL success, then compile TinySDGL, don't change any
code, so crazy!

But compile TinySDGL demo need change screen size variables, then can
success compile gears example, screensnap pls see the photo:

http://static1.photo.sina.com.cn/bmiddle/4a0a39c3g5994bb8a3f70

Steps as follows:

1.Download arm linux cross platform compile toolchains from URL:

http://www.codesourcery.com/gnu_toolchains/arm/download.html

Windows:
http://www.codesourcery.com/gnu_toolchains/arm/portal/package3400/public/arm-none-linux-gnueabi/arm-2008q3-41-arm-none-linux-gnueabi.exe

Linux:
http://www.codesourcery.com/gnu_toolchains/arm/portal/package3399/public/arm-none-linux-gnueabi/arm-2008q3-41-arm-none-linux-gnueabi.bin

after install the gnu arm linux toolchains, set the dir "bin" to your
path;

2.If you use windows, pls install cygwin(http://www.cygwin.com), if
you use linux, ignore this step;

3.Download SDL 1.2.13 source from http://www.libsdl.org, and un-zip it
to a dir;

4.Change the Makefile.minimal as follows:

# Makefile to build the SDL library

INCLUDE = -I./include
CFLAGS = -g -O2 $(INCLUDE) -static
CC = arm-none-linux-gnueabi-gcc
AR = arm-none-linux-gnueabi-ar
RANLIB = arm-none-linux-gnueabi-ranlib

CONFIG_H = include/SDL_config.h
TARGET = libSDL.a
SOURCES = \
src

#include <stdarg.h>

typedef signed char int8_t;
typedef unsigned char uint8_t;
typedef signed short int16_t;
typedef unsigned short uint16_t;
typedef signed int int32_t;
typedef unsigned int uint32_t;
typedef unsigned int size_t;
typedef unsigned long uintptr_t;


#define SDL_AUDIO_DRIVER_OSS 1 // SDL_AUDIO_DRIVER_DUMMY


#define SDL_CDROM_DISABLED 1


#define SDL_JOYSTICK_DISABLED 1


#define SDL_LOADSO_DISABLED 1


#define SDL_THREADS_DISABLED 1

//SDL_TIMERS_DISABLED
#define SDL_TIMER_UNIX 1

// SDL_VIDEO_DRIVER_DUMMY
#define SDL_VIDEO_DRIVER_FBCON 1


#define HAVE_STDIO_H 1

#endif

We enable audio driver oss, and video frame buffer, and unix timer,
and enable stdio to read/write file;

3.Change $SDL/src/video/fbcon/SDL_fbvideo.c, line 191 & 499, use "/dev/
graphics/fb0" instead of "/dev/fb0", becuase Android linux use "/dev/
graphics/fb0" video device;

4.Now enter SDL dir, you can type "make" to compile SDL for Android!
if success, you can get libSDL.a in SDL dir;

5.Download TinySDL from http://www.kyb.tuebingen.mpg.de/bu/people/gf/software/,
TinySDGL: http://www.kyb.tuebingen.mpg.de/bu/people/gf/software/TinySDGL.zip,
and un-zip TinySDGL to the same dir as you un-zip SDL;

6.For compile TinySDGL, you just need change Makefile, don't need
change any source code, the makeinclude as follows:

#####################################################################
# C compiler

# linux / Windows MinGW
CC= arm-none-linux-gnueabi-gcc
AR = arm-none-linux-gnueabi-ar
RANLIB = arm-none-linux-gnueabi-ranlib
CFLAGS = -g -Wall -O2 -w -static
LFLAGS = -s -static

#####################################################################
# SDL configuration (for the examples only)

UI_LIBS = -L../../SDL-1.2.13 -lSDL
UI_INCLUDES = -I../../SDL-1.2.13/include


#######################



Other Threads

1. SMS Persistent notification!

Hi!

I 've bought a LG GW620 with 1.5 android OS. I have a issue that i m
not able to resolve. I tell the problem i hope someone knows. You
know, that if your phone is off and you receive a call, when you turn
on the mobile you receive a message telling you the number and day/
hour of the call. I always remove all this messages and i haven't
never had no problem with it, but in the first day i removed one and
its notification persist on time. Once i received a new message i get
the  notification of the new message and the notification of the old
one. it's so weird.

It supposed that if a click the notification then i will go to the
activity that holds it. This activity was the incoming message box of
course but the message doesn't appear only the new one.

thank in advanced

Nstor

-- 

2. Application invisible in Market from Nexus One. Please test.

Hi developers!

I've reported that my app is invisible when accessing to Market from
Nexus device.
In the past I've reported some runtime resolution problem with Tatoo
device but as far I know Nexus has a normal screen HVGA 320x480. The
strange is that the app is invisible.

Can you please check if you can see and install it from Market? Each
feedback will realy appreciated.

My app is universal unit converter "ConvertMe(Beta)" free.

Thanks in advance,
Evgeny

-- 

3. Search Bar

4. WCF and Android

5. adb shell commands, strange problem

6. Proper way of importing contacts to the device/contacts operations are very slow

7. PDF Reader problem