mirror of
https://git.yoctoproject.org/poky
synced 2026-02-08 01:36:38 +01:00
Add libsdl-sdk
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3505 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
189
meta/packages/libsdl/files/acinclude.m4
Normal file
189
meta/packages/libsdl/files/acinclude.m4
Normal file
@@ -0,0 +1,189 @@
|
||||
# Local macros for the SDL configure.in script
|
||||
|
||||
dnl Function to link an architecture specific file
|
||||
dnl LINK_ARCH_SRC(source_dir, arch, source_file)
|
||||
AC_DEFUN([COPY_ARCH_SRC],
|
||||
[
|
||||
old="$srcdir/$1/$2/$3"
|
||||
new="$1/$3"
|
||||
if test ! -d $1; then
|
||||
echo "Creating directory $1"
|
||||
mkdir -p $1
|
||||
fi
|
||||
echo "Copying $old -> $new"
|
||||
cat >$new <<__EOF__
|
||||
/* WARNING: This file was automatically generated!
|
||||
* Original: $old
|
||||
*/
|
||||
__EOF__
|
||||
cat >>$new <$old
|
||||
])
|
||||
|
||||
#
|
||||
# --- esd.m4 ---
|
||||
#
|
||||
# Configure paths for ESD
|
||||
# Manish Singh 98-9-30
|
||||
# stolen back from Frank Belew
|
||||
# stolen from Manish Singh
|
||||
# Shamelessly stolen from Owen Taylor
|
||||
|
||||
dnl AM_PATH_ESD([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
|
||||
dnl Test for ESD, and define ESD_CFLAGS and ESD_LIBS
|
||||
dnl
|
||||
AC_DEFUN([AM_PATH_ESD],
|
||||
[dnl
|
||||
dnl Get the cflags and libraries from the esd-config script
|
||||
dnl
|
||||
AC_ARG_WITH(esd-prefix,[ --with-esd-prefix=PFX Prefix where ESD is installed (optional)],
|
||||
esd_prefix="$withval", esd_prefix="")
|
||||
AC_ARG_WITH(esd-exec-prefix,[ --with-esd-exec-prefix=PFX Exec prefix where ESD is installed (optional)],
|
||||
esd_exec_prefix="$withval", esd_exec_prefix="")
|
||||
AC_ARG_ENABLE(esdtest, [ --disable-esdtest Do not try to compile and run a test ESD program],
|
||||
, enable_esdtest=yes)
|
||||
|
||||
if test x$esd_exec_prefix != x ; then
|
||||
esd_args="$esd_args --exec-prefix=$esd_exec_prefix"
|
||||
if test x${ESD_CONFIG+set} != xset ; then
|
||||
ESD_CONFIG=$esd_exec_prefix/bin/esd-config
|
||||
fi
|
||||
fi
|
||||
if test x$esd_prefix != x ; then
|
||||
esd_args="$esd_args --prefix=$esd_prefix"
|
||||
if test x${ESD_CONFIG+set} != xset ; then
|
||||
ESD_CONFIG=$esd_prefix/bin/esd-config
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_PATH_PROG(ESD_CONFIG, esd-config, no)
|
||||
min_esd_version=ifelse([$1], ,0.2.7,$1)
|
||||
AC_MSG_CHECKING(for ESD - version >= $min_esd_version)
|
||||
no_esd=""
|
||||
if test "$ESD_CONFIG" = "no" ; then
|
||||
no_esd=yes
|
||||
else
|
||||
ESD_CFLAGS=`$ESD_CONFIG $esdconf_args --cflags`
|
||||
ESD_LIBS=`$ESD_CONFIG $esdconf_args --libs`
|
||||
|
||||
esd_major_version=`$ESD_CONFIG $esd_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
||||
esd_minor_version=`$ESD_CONFIG $esd_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
||||
esd_micro_version=`$ESD_CONFIG $esd_config_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
||||
if test "x$enable_esdtest" = "xyes" ; then
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
ac_save_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS $ESD_CFLAGS"
|
||||
LIBS="$LIBS $ESD_LIBS"
|
||||
dnl
|
||||
dnl Now check if the installed ESD is sufficiently new. (Also sanity
|
||||
dnl checks the results of esd-config to some extent
|
||||
dnl
|
||||
rm -f conf.esdtest
|
||||
AC_TRY_RUN([
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <esd.h>
|
||||
|
||||
char*
|
||||
my_strdup (char *str)
|
||||
{
|
||||
char *new_str;
|
||||
|
||||
if (str)
|
||||
{
|
||||
new_str = malloc ((strlen (str) + 1) * sizeof(char));
|
||||
strcpy (new_str, str);
|
||||
}
|
||||
else
|
||||
new_str = NULL;
|
||||
|
||||
return new_str;
|
||||
}
|
||||
|
||||
int main ()
|
||||
{
|
||||
int major, minor, micro;
|
||||
char *tmp_version;
|
||||
|
||||
system ("touch conf.esdtest");
|
||||
|
||||
/* HP/UX 9 (%@#!) writes to sscanf strings */
|
||||
tmp_version = my_strdup("$min_esd_version");
|
||||
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
|
||||
printf("%s, bad version string\n", "$min_esd_version");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (($esd_major_version > major) ||
|
||||
(($esd_major_version == major) && ($esd_minor_version > minor)) ||
|
||||
(($esd_major_version == major) && ($esd_minor_version == minor) && ($esd_micro_version >= micro)))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("\n*** 'esd-config --version' returned %d.%d.%d, but the minimum version\n", $esd_major_version, $esd_minor_version, $esd_micro_version);
|
||||
printf("*** of ESD required is %d.%d.%d. If esd-config is correct, then it is\n", major, minor, micro);
|
||||
printf("*** best to upgrade to the required version.\n");
|
||||
printf("*** If esd-config was wrong, set the environment variable ESD_CONFIG\n");
|
||||
printf("*** to point to the correct copy of esd-config, and remove the file\n");
|
||||
printf("*** config.cache before re-running configure\n");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
],, no_esd=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
fi
|
||||
if test "x$no_esd" = x ; then
|
||||
AC_MSG_RESULT(yes)
|
||||
ifelse([$2], , :, [$2])
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
if test "$ESD_CONFIG" = "no" ; then
|
||||
echo "*** The esd-config script installed by ESD could not be found"
|
||||
echo "*** If ESD was installed in PREFIX, make sure PREFIX/bin is in"
|
||||
echo "*** your path, or set the ESD_CONFIG environment variable to the"
|
||||
echo "*** full path to esd-config."
|
||||
else
|
||||
if test -f conf.esdtest ; then
|
||||
:
|
||||
else
|
||||
echo "*** Could not run ESD test program, checking why..."
|
||||
CFLAGS="$CFLAGS $ESD_CFLAGS"
|
||||
LIBS="$LIBS $ESD_LIBS"
|
||||
AC_TRY_LINK([
|
||||
#include <stdio.h>
|
||||
#include <esd.h>
|
||||
], [ return 0; ],
|
||||
[ echo "*** The test program compiled, but did not run. This usually means"
|
||||
echo "*** that the run-time linker is not finding ESD or finding the wrong"
|
||||
echo "*** version of ESD. If it is not finding ESD, you'll need to set your"
|
||||
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
|
||||
echo "*** to the installed location Also, make sure you have run ldconfig if that"
|
||||
echo "*** is required on your system"
|
||||
echo "***"
|
||||
echo "*** If you have an old version installed, it is best to remove it, although"
|
||||
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
|
||||
[ echo "*** The test program failed to compile or link. See the file config.log for the"
|
||||
echo "*** exact error that occured. This usually means ESD was incorrectly installed"
|
||||
echo "*** or that you have moved ESD since it was installed. In the latter case, you"
|
||||
echo "*** may want to edit the esd-config script: $ESD_CONFIG" ])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
fi
|
||||
ESD_CFLAGS=""
|
||||
ESD_LIBS=""
|
||||
ifelse([$3], , :, [$3])
|
||||
fi
|
||||
AC_SUBST(ESD_CFLAGS)
|
||||
AC_SUBST(ESD_LIBS)
|
||||
rm -f conf.esdtest
|
||||
])
|
||||
|
||||
33
meta/packages/libsdl/files/directfb_obsolete_calls.patch
Normal file
33
meta/packages/libsdl/files/directfb_obsolete_calls.patch
Normal file
@@ -0,0 +1,33 @@
|
||||
--- tmp/work/armv5te-angstrom-linux-gnueabi/libsdl-directfb-1.2.9-r1/SDL-1.2.9/src/video/directfb/SDL_DirectFB_video.c 2007-02-18 11:40:38.000000000 -0500
|
||||
+++ SDL/src/video/directfb/SDL_DirectFB_video.c 2007-02-18 11:00:07.000000000 -0500
|
||||
@@ -376,7 +376,7 @@
|
||||
{
|
||||
int i;
|
||||
DFBResult ret;
|
||||
- DFBCardCapabilities caps;
|
||||
+ DFBGraphicsDeviceDescription caps;
|
||||
DFBDisplayLayerConfig dlc;
|
||||
struct DirectFBEnumRect *rect;
|
||||
IDirectFB *dfb = NULL;
|
||||
@@ -448,7 +448,7 @@
|
||||
|
||||
|
||||
/* Query card capabilities to get the video memory size */
|
||||
- dfb->GetCardCapabilities (dfb, &caps);
|
||||
+ dfb->GetDeviceDescription (dfb, &caps);
|
||||
|
||||
this->info.wm_available = 1;
|
||||
this->info.hw_available = 1;
|
||||
diff -u'rNF^function' tmp/work/armv5te-angstrom-linux-gnueabi/libsdl-directfb-1.2.9-r1/SDL-1.2.9/src/video/directfb/SDL_Direct
|
||||
/SDL_DirectFB_events.c
|
||||
--- tmp/work/armv5te-angstrom-linux-gnueabi/libsdl-directfb-1.2.9-r1/SDL-1.2.9/src/video/directfb/SDL_DirectFB_events.c 2004-0
|
||||
+++ SDL/src/video/directfb/SDL_DirectFB_events.c 2007-02-18 11:00:07.000000000 -0500
|
||||
@@ -161,7 +161,7 @@
|
||||
keymap[DIKI_SHIFT_L - DIKI_UNKNOWN] = SDLK_LSHIFT;
|
||||
keymap[DIKI_SHIFT_R - DIKI_UNKNOWN] = SDLK_RSHIFT;
|
||||
keymap[DIKI_ALT_L - DIKI_UNKNOWN] = SDLK_LALT;
|
||||
- keymap[DIKI_ALTGR - DIKI_UNKNOWN] = SDLK_RALT;
|
||||
+ keymap[DIKI_ALT_R - DIKI_UNKNOWN] = SDLK_RALT;
|
||||
keymap[DIKI_TAB - DIKI_UNKNOWN] = SDLK_TAB;
|
||||
keymap[DIKI_ENTER - DIKI_UNKNOWN] = SDLK_RETURN;
|
||||
keymap[DIKI_SPACE - DIKI_UNKNOWN] = SDLK_SPACE;
|
||||
53
meta/packages/libsdl/files/extra-keys.patch
Normal file
53
meta/packages/libsdl/files/extra-keys.patch
Normal file
@@ -0,0 +1,53 @@
|
||||
diff -upr --exclude=configure --exclude=Makefile --exclude=Makefile.in libsdl1.2-1.2.4/include/SDL_keysym.h libsdl1.2-1.2.4-arm/include/SDL_keysym.h
|
||||
--- libsdl1.2-1.2.4/include/SDL_keysym.h 2002-03-06 11:23:01.000000000 +0000
|
||||
+++ libsdl1.2-1.2.4-arm/include/SDL_keysym.h 2002-11-08 20:43:09.000000000 +0000
|
||||
@@ -286,6 +286,12 @@ typedef enum {
|
||||
SDLK_EURO = 321, /* Some european keyboards */
|
||||
SDLK_UNDO = 322, /* Atari keyboard has Undo */
|
||||
|
||||
+ SDLK_RECORD = 322,
|
||||
+ SDLK_CALENDAR = 323,
|
||||
+ SDLK_TELEPHONE = 324,
|
||||
+ SDLK_MAIL = 325,
|
||||
+ SDLK_START = 326,
|
||||
+
|
||||
/* Add any other keys here */
|
||||
|
||||
SDLK_LAST
|
||||
diff -upr --exclude=configure --exclude=Makefile --exclude=Makefile.in libsdl1.2-1.2.4/src/video/x11/SDL_x11events.c libsdl1.2-1.2.4-arm/src/video/x11/SDL_x11events.c
|
||||
--- libsdl1.2-1.2.4/src/video/x11/SDL_x11events.c 2002-03-06 11:23:08.000000000 +0000
|
||||
+++ libsdl1.2-1.2.4-arm/src/video/x11/SDL_x11events.c 2002-11-08 21:01:41.000000000 +0000
|
||||
@@ -34,6 +34,7 @@ static char rcsid =
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xutil.h>
|
||||
#include <X11/keysym.h>
|
||||
+#include <X11/XF86keysym.h>
|
||||
#ifdef __SVR4
|
||||
#include <X11/Sunkeysym.h>
|
||||
#endif
|
||||
@@ -655,6 +656,25 @@ SDL_keysym *X11_TranslateKey(Display *di
|
||||
case 0xFF:
|
||||
keysym->sym = MISC_keymap[xsym&0xFF];
|
||||
break;
|
||||
+ case 0x1008ff:
|
||||
+ switch (xsym) {
|
||||
+ case XF86XK_AudioRecord:
|
||||
+ keysym->sym = SDLK_RECORD;
|
||||
+ break;
|
||||
+ case XF86XK_PowerDown:
|
||||
+ keysym->sym = SDLK_POWER;
|
||||
+ break;
|
||||
+ case XF86XK_Calendar:
|
||||
+ keysym->sym = SDLK_CALENDAR;
|
||||
+ break;
|
||||
+ case XF86XK_Mail:
|
||||
+ keysym->sym = SDLK_MAIL;
|
||||
+ break;
|
||||
+ case XF86XK_Start:
|
||||
+ keysym->sym = SDLK_START;
|
||||
+ break;
|
||||
+ }
|
||||
+ break;
|
||||
default:
|
||||
fprintf(stderr,
|
||||
"X11: Unknown xsym, sym = 0x%04x\n",
|
||||
13
meta/packages/libsdl/files/kernel-asm-page.patch
Normal file
13
meta/packages/libsdl/files/kernel-asm-page.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
diff --git a/src/video/Xext/Xxf86dga/XF86DGA.c b/src/video/Xext/Xxf86dga/XF86DGA.c
|
||||
index 4e3d662..de38a3c 100644
|
||||
--- a/src/video/Xext/Xxf86dga/XF86DGA.c
|
||||
+++ b/src/video/Xext/Xxf86dga/XF86DGA.c
|
||||
@@ -18,7 +18,7 @@ Copyright (c) 1995,1996 The XFree86 Project, Inc
|
||||
#define HAS_MMAP_ANON
|
||||
#include <sys/types.h>
|
||||
#include <sys/mman.h>
|
||||
-#include <asm/page.h> /* PAGE_SIZE */
|
||||
+#include <unistd.h>
|
||||
#define HAS_SC_PAGESIZE /* _SC_PAGESIZE may be an enum for Linux */
|
||||
#define HAS_GETPAGESIZE
|
||||
#endif /* linux */
|
||||
39
meta/packages/libsdl/libsdl-sdk_1.2.11.bb
Normal file
39
meta/packages/libsdl/libsdl-sdk_1.2.11.bb
Normal file
@@ -0,0 +1,39 @@
|
||||
DESCRIPTION = "Simple DirectMedia Layer - native Edition"
|
||||
HOMEPAGE = "http://www.libsdl.org"
|
||||
SECTION = "libs"
|
||||
LICENSE = "LGPL"
|
||||
DEPENDS = "libx11-sdk libxext-sdk libxrandr-sdk libxrender-sdk"
|
||||
RDEPENDS = "libx11-sdk libxrandr-sdk libxrender-sdk libxext-sdk"
|
||||
PR = "r2"
|
||||
|
||||
SRC_URI = "http://www.libsdl.org/release/SDL-${PV}.tar.gz \
|
||||
file://acinclude.m4 \
|
||||
file://kernel-asm-page.patch;patch=1 "
|
||||
S = "${WORKDIR}/SDL-${PV}"
|
||||
|
||||
inherit autotools binconfig pkgconfig sdk
|
||||
|
||||
EXTRA_OECONF = "--disable-static --disable-debug --disable-cdrom --enable-threads --enable-timers --enable-endian \
|
||||
--enable-file --disable-oss --disable-alsa --disable-esd --disable-arts \
|
||||
--disable-diskaudio --disable-nas --disable-esd-shared --disable-esdtest \
|
||||
--disable-mintaudio --disable-nasm --enable-video-x11 --disable-video-dga \
|
||||
--disable-video-fbcon --disable-video-directfb --disable-video-ps2gs \
|
||||
--disable-video-xbios --disable-video-gem --disable-video-dummy \
|
||||
--disable-video-opengl --enable-input-events --enable-pthreads \
|
||||
--disable-video-picogui --disable-video-qtopia --enable-dlopen"
|
||||
|
||||
do_configure() {
|
||||
rm -f ${S}/acinclude.m4
|
||||
cp ${WORKDIR}/acinclude.m4 ${S}/
|
||||
gnu-configize
|
||||
oe_runconf
|
||||
cd ${S}
|
||||
# prevent libtool from linking libs against libstdc++, libgcc, ...
|
||||
cat ${TARGET_PREFIX}libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${TARGET_PREFIX}libtool.tmp
|
||||
mv ${TARGET_PREFIX}libtool.tmp ${TARGET_PREFIX}libtool
|
||||
}
|
||||
|
||||
do_stage() {
|
||||
autotools_stage_all
|
||||
install -m 0644 build/libSDLmain.a ${STAGING_LIBDIR}
|
||||
}
|
||||
Reference in New Issue
Block a user