Added documentation on how to build a completely useless SDL library. :)
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401488
This commit is contained in:
parent
baeb11507d
commit
df3dfeb000
9 changed files with 149 additions and 10 deletions
38
Makefile.minimal
Normal file
38
Makefile.minimal
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
# Makefile to build the SDL library
|
||||||
|
|
||||||
|
INCLUDE = -I./include
|
||||||
|
CFLAGS = -g -O2 $(INCLUDE)
|
||||||
|
AR = ar
|
||||||
|
RANLIB = ranlib
|
||||||
|
|
||||||
|
TARGET = libSDL.a
|
||||||
|
SOURCES = \
|
||||||
|
src/*.c \
|
||||||
|
src/audio/*.c \
|
||||||
|
src/cdrom/*.c \
|
||||||
|
src/cpuinfo/*.c \
|
||||||
|
src/events/*.c \
|
||||||
|
src/file/*.c \
|
||||||
|
src/joystick/*.c \
|
||||||
|
src/stdlib/*.c \
|
||||||
|
src/thread/*.c \
|
||||||
|
src/timer/*.c \
|
||||||
|
src/video/*.c \
|
||||||
|
src/audio/disk/*.c \
|
||||||
|
src/video/dummy/*.c \
|
||||||
|
src/joystick/dummy/*.c \
|
||||||
|
src/cdrom/dummy/*.c \
|
||||||
|
src/thread/generic/*.c \
|
||||||
|
src/timer/dummy/*.c \
|
||||||
|
src/loadso/dummy/*.c \
|
||||||
|
|
||||||
|
OBJECTS = $(shell echo $(SOURCES) | sed -e 's,\.c,\.o,g')
|
||||||
|
|
||||||
|
all: $(TARGET)
|
||||||
|
|
||||||
|
$(TARGET): $(OBJECTS)
|
||||||
|
$(AR) crv $@ $^
|
||||||
|
$(RANLIB) $@
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(TARGET) $(OBJECTS)
|
56
README.Porting
Normal file
56
README.Porting
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
|
||||||
|
* Porting To A New Platform
|
||||||
|
|
||||||
|
The first thing you have to do when porting to a new platform, is look at
|
||||||
|
include/SDL_platform.h and create an entry there for your operating system.
|
||||||
|
The standard format is __PLATFORM__, where PLATFORM is the name of the OS.
|
||||||
|
Ideally SDL_platform.h will be able to auto-detect the system it's building
|
||||||
|
on based on C preprocessor symbols.
|
||||||
|
|
||||||
|
There are two basic ways of building SDL at the moment:
|
||||||
|
|
||||||
|
1. The "UNIX" way: ./configure; make; make install
|
||||||
|
|
||||||
|
If you have a GNUish system, then you might try this. Edit configure.in,
|
||||||
|
take a look at the large section labelled:
|
||||||
|
"Set up the configuration based on the target platform!"
|
||||||
|
Add a section for your platform, and then re-run autogen.sh and build!
|
||||||
|
|
||||||
|
2. Using an IDE:
|
||||||
|
|
||||||
|
If you're using an IDE or other non-configure build system, you'll probably
|
||||||
|
want to create a custom SDL_config.h for your platform. Edit SDL_config.h,
|
||||||
|
add a section for your platform, and create a custom SDL_config_{platform}.h,
|
||||||
|
based on SDL_config.h.minimal and SDL_config.h.in
|
||||||
|
|
||||||
|
Add the top level include directory to the header search path, and then add
|
||||||
|
the following sources to the project:
|
||||||
|
src/*.c
|
||||||
|
src/audio/*.c
|
||||||
|
src/cdrom/*.c
|
||||||
|
src/cpuinfo/*.c
|
||||||
|
src/events/*.c
|
||||||
|
src/file/*.c
|
||||||
|
src/joystick/*.c
|
||||||
|
src/stdlib/*.c
|
||||||
|
src/thread/*.c
|
||||||
|
src/timer/*.c
|
||||||
|
src/video/*.c
|
||||||
|
src/audio/disk/*.c
|
||||||
|
src/video/dummy/*.c
|
||||||
|
src/joystick/dummy/*.c
|
||||||
|
src/cdrom/dummy/*.c
|
||||||
|
src/thread/generic/*.c
|
||||||
|
src/timer/dummy/*.c
|
||||||
|
src/loadso/dummy/*.c
|
||||||
|
|
||||||
|
|
||||||
|
Once you have a working library without any drivers, you can go back to each
|
||||||
|
of the major subsystems and start implementing drivers for your platform.
|
||||||
|
|
||||||
|
If you have any questions, don't hesitate to ask on the SDL mailing list:
|
||||||
|
http://www.libsdl.org/mailing-list.php
|
||||||
|
|
||||||
|
Enjoy!
|
||||||
|
Sam Lantinga (slouken@libsdl.org)
|
||||||
|
|
|
@ -51,6 +51,28 @@ typedef signed int int32_t;
|
||||||
typedef unsigned int uint32_t;
|
typedef unsigned int uint32_t;
|
||||||
typedef unsigned int size_t;
|
typedef unsigned int size_t;
|
||||||
typedef unsigned long uintptr_t;
|
typedef unsigned long uintptr_t;
|
||||||
#endif
|
|
||||||
|
/* Enable the disk audio driver (src/audio/disk/\*.c) */
|
||||||
|
#define SDL_AUDIO_DRIVER_DISK 1
|
||||||
|
|
||||||
|
/* Enable the stub cdrom driver (src/cdrom/dummy/\*.c) */
|
||||||
|
#define SDL_CDROM_DISABLED 1
|
||||||
|
|
||||||
|
/* Enable the stub joystick driver (src/joystick/dummy/\*.c) */
|
||||||
|
#define SDL_JOYSTICK_DISABLED 1
|
||||||
|
|
||||||
|
/* Enable the stub shared object loader (src/loadso/dummy/\*.c) */
|
||||||
|
#define SDL_LOADSO_DISABLED 1
|
||||||
|
|
||||||
|
/* Enable the stub thread support (src/thread/generic/\*.c) */
|
||||||
|
#define SDL_THREADS_DISABLED 1
|
||||||
|
|
||||||
|
/* Enable the stub timer support (src/timer/dummy/\*.c) */
|
||||||
|
#define SDL_TIMERS_DISABLED 1
|
||||||
|
|
||||||
|
/* Enable the dummy video driver (src/video/dummy/\*.c) */
|
||||||
|
#define SDL_VIDEO_DRIVER_DUMMY 1
|
||||||
|
|
||||||
|
#endif /* platform config */
|
||||||
|
|
||||||
#endif /* _SDL_config_h */
|
#endif /* _SDL_config_h */
|
||||||
|
|
|
@ -51,6 +51,28 @@ typedef signed int int32_t;
|
||||||
typedef unsigned int uint32_t;
|
typedef unsigned int uint32_t;
|
||||||
typedef unsigned int size_t;
|
typedef unsigned int size_t;
|
||||||
typedef unsigned long uintptr_t;
|
typedef unsigned long uintptr_t;
|
||||||
#endif
|
|
||||||
|
/* Enable the disk audio driver (src/audio/disk/\*.c) */
|
||||||
|
#define SDL_AUDIO_DRIVER_DISK 1
|
||||||
|
|
||||||
|
/* Enable the stub cdrom driver (src/cdrom/dummy/\*.c) */
|
||||||
|
#define SDL_CDROM_DISABLED 1
|
||||||
|
|
||||||
|
/* Enable the stub joystick driver (src/joystick/dummy/\*.c) */
|
||||||
|
#define SDL_JOYSTICK_DISABLED 1
|
||||||
|
|
||||||
|
/* Enable the stub shared object loader (src/loadso/dummy/\*.c) */
|
||||||
|
#define SDL_LOADSO_DISABLED 1
|
||||||
|
|
||||||
|
/* Enable the stub thread support (src/thread/generic/\*.c) */
|
||||||
|
#define SDL_THREADS_DISABLED 1
|
||||||
|
|
||||||
|
/* Enable the stub timer support (src/timer/dummy/\*.c) */
|
||||||
|
#define SDL_TIMERS_DISABLED 1
|
||||||
|
|
||||||
|
/* Enable the dummy video driver (src/video/dummy/\*.c) */
|
||||||
|
#define SDL_VIDEO_DRIVER_DUMMY 1
|
||||||
|
|
||||||
|
#endif /* platform config */
|
||||||
|
|
||||||
#endif /* _SDL_config_h */
|
#endif /* _SDL_config_h */
|
||||||
|
|
|
@ -21,6 +21,9 @@
|
||||||
*/
|
*/
|
||||||
#include "SDL_config.h"
|
#include "SDL_config.h"
|
||||||
|
|
||||||
|
#include "SDL_timer.h"
|
||||||
|
#include "../SDL_timer_c.h"
|
||||||
|
|
||||||
void SDL_StartTicks(void)
|
void SDL_StartTicks(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,10 +15,9 @@ testalpha
|
||||||
testbitmap
|
testbitmap
|
||||||
testblitspeed
|
testblitspeed
|
||||||
testcdrom
|
testcdrom
|
||||||
testcpuinfo
|
|
||||||
testdyngl
|
testdyngl
|
||||||
testendian
|
|
||||||
testerror
|
testerror
|
||||||
|
testfile
|
||||||
testgamma
|
testgamma
|
||||||
testgl
|
testgl
|
||||||
testhread
|
testhread
|
||||||
|
@ -28,13 +27,12 @@ testlock
|
||||||
testoverlay
|
testoverlay
|
||||||
testoverlay2
|
testoverlay2
|
||||||
testpalette
|
testpalette
|
||||||
|
testplatform
|
||||||
testsem
|
testsem
|
||||||
testsprite
|
testsprite
|
||||||
testtimer
|
testtimer
|
||||||
testtypes
|
|
||||||
testver
|
testver
|
||||||
testvidinfo
|
testvidinfo
|
||||||
testwin
|
testwin
|
||||||
testwm
|
testwm
|
||||||
threadwin
|
|
||||||
torturethread
|
torturethread
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
/* Test the SDL CD-ROM audio functions */
|
/* Test the SDL CD-ROM audio functions */
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <ctype.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
|
||||||
#include "SDL.h"
|
#include "SDL.h"
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
/* sanity tests on SDL_rwops.c (usefull for alternative implementations of stdio rwops) */
|
/* sanity tests on SDL_rwops.c (usefull for alternative implementations of stdio rwops) */
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include "SDL.h"
|
#include "SDL.h"
|
||||||
#include "SDL_endian.h"
|
#include "SDL_endian.h"
|
||||||
|
|
|
@ -37,7 +37,7 @@ int main(int argc, char *argv[])
|
||||||
SDL_TimerID t1, t2, t3;
|
SDL_TimerID t1, t2, t3;
|
||||||
|
|
||||||
if ( SDL_Init(SDL_INIT_TIMER) < 0 ) {
|
if ( SDL_Init(SDL_INIT_TIMER) < 0 ) {
|
||||||
fprintf(stderr, "Couldn't load SDL: %s\n", SDL_GetError());
|
fprintf(stderr, "Couldn't initialize SDL: %s\n", SDL_GetError());
|
||||||
return(1);
|
return(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue