diff --git a/README.OpenBSD b/README.OpenBSD new file mode 100644 index 000000000..cf224635a --- /dev/null +++ b/README.OpenBSD @@ -0,0 +1,81 @@ +============================================================= +Using the Simple DirectMedia Layer with OpenBSD 2.9 and later +============================================================= + +Author: +Peter Valchev + +======= +Install +======= +There is an OpenBSD port for SDL and various other tools. Using +this port is recommended, since it contains all the needed patches +and configure arguments nicely organized in several FLAVORS you +can pick from. If you're unfamiliar with the OpenBSD ports system +please visit: +http://www.openbsd.org/ports.html +http://www.openbsd.org/anoncvs.html + +You should have a precompiled binary package on your OpenBSD 2.9 +or later CD-ROM, which you can easily add with pkg_add(1). + +If for whatever reason you're unable to take the advantage of the +created port, or you want to stick with the newest fresh SDL from +the current CVS repository, here are some hints of what has left +unresolved and needs to be disabled/changed. + +To build SDL with OSS + esound: + +1. ./configure --disable-joystick \ + --disable-pthread-sem \ + --disable-nasm \ + --enable-esd \ + --enable-oss \ + --disable-arts \ + --disable-video-opengl + +OR + +To build SDL with native audio + esound (remove --disable-esd otherwise): +1. ./configure --disable-joystick \ + --disable-pthread-sem \ + --disable-nasm \ + --enable-openbsdaudio \ + --enable-esd \ + --disable-arts \ + --disable-video-opengl + +If you need arts or GL, omit the responding --disable lines. In the +port, they're disabled by default, you need to specify flavors to +make use of them. + +2. gmake # Yeah, GNU make is required, install the package +3. sudo gmake install + +========= +Todo List +========= + +Feedback is always welcome with anything you may find useful and +you can suggest. +For now, the following things have to be worked on: + +1. The native audio should be widely tested and will eventually +become the default. At that moment I have not received any +feedback which should explain its current condition. + +2. There are occurences of dynamic loading of drivers in the OpenGL +code section, and our a.out architectures need an underscore prefixed +to symbol names. Some solution to that may be a good thing. I can +fix it theoretically, but unfortunately I do not have the needed +hardware/configuration to test it. If you bump into that, email me. + +=================== +Contact Information +=================== +Everybody is welcome to give me any suggestions and to report bugs +(as well as fixing them ;-) You can contact me by email: +Peter Valchev + +$Id$ + diff --git a/configure.in b/configure.in index 46534a54a..ef3f2278a 100644 --- a/configure.in +++ b/configure.in @@ -278,6 +278,19 @@ CheckALSA() fi } +dnl Check whether we want to use OpenBSD native audio or not +CheckOPENBSDAUDIO() +{ + AC_ARG_ENABLE(openbsdaudio, +[ --enable-openbsdaudio OpenBSD native audio support [default=no]], + , enable_openbsdaudio=no) + if test x$enable_audio = xyes -a x$enable_openbsdaudio = xyes; then + SYSTEM_LIBS="$SYSTEM_LIBS $ESD_LIBS" + AUDIO_SUBDIRS="$AUDIO_SUBDIRS openbsd" + AUDIO_DRIVERS="$AUDIO_DRIVERS openbsd/libaudio_openbsd.la" + fi +} + dnl Find the ESD includes and libraries CheckESD() { @@ -1275,7 +1288,6 @@ case "$target" in ;; *-*-openbsd*) ARCH=openbsd - CFLAGS="$CFLAGS -Dunix" CheckDummyVideo CheckNASM CheckOSS @@ -1289,10 +1301,7 @@ case "$target" in # Set up files for the main() stub COPY_ARCH_SRC(src/main, linux, SDL_main.c) # Set up files for the audio library - if test x$enable_audio = xyes; then - AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun" - AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la" - fi + CheckOPENBSDAUDIO # Set up files for the joystick library # (No joystick support yet) if test x$enable_joystick = xyes; then @@ -1322,6 +1331,8 @@ case "$target" in if test x$enable_timers = xyes; then COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c) fi + # OpenBSD does not define "unix" + CFLAGS="$CFLAGS -Dunix" ;; *-*-sysv5*) ARCH=sysv5 @@ -1882,7 +1893,7 @@ if test $ARCH = solaris; then fi if test $ARCH = openbsd; then - SDL_RLD_FLAGS="-Wl,-R\${exec_prefix}/lib -Wl,-R\${X11BASE}/lib" + SDL_RLD_FLAGS="-L${X11BASE}/lib -Wl,-rpath,\${exec_prefix}/lib -Wl,-rpath,${X11BASE}/lib" fi dnl Output the video drivers we use @@ -1947,6 +1958,7 @@ src/audio/esd/Makefile src/audio/macrom/Makefile src/audio/nas/Makefile src/audio/nto/Makefile +src/audio/openbsd/Makefile src/audio/paudio/Makefile src/audio/sun/Makefile src/audio/ums/Makefile diff --git a/docs.html b/docs.html index 89ede8de5..ea26c74e3 100644 --- a/docs.html +++ b/docs.html @@ -16,6 +16,7 @@ be found at the main SDL page. Major changes since SDL 1.0.0: