Author: dmeyer
Date: Fri Feb 24 19:43:46 2006
New Revision: 1223
Modified:
trunk/xine/setup.py
trunk/xine/src/drivers/common.c
trunk/xine/src/xine.c
Log:
make kaa.xine work without X11 installed
Modified: trunk/xine/setup.py
==============================================================================
--- trunk/xine/setup.py (original)
+++ trunk/xine/setup.py Fri Feb 24 19:43:46 2006
@@ -30,35 +30,58 @@
try:
# kaa base imports
- from kaa.base.distribution import Extension, setup
+ from kaa.base.distribution import Extension, Configfile, setup
except ImportError:
print 'kaa.base not installed'
sys.exit(1)
-
-files = ['src/xine.c', 'src/video_port.c', 'src/audio_port.c', 'src/stream.c',
- 'src/post.c', 'src/drivers/x11.c', 'src/drivers/video_out_kaa.c',
- 'src/post_out.c', 'src/post_in.c', 'src/event.c', 'src/event_queue.c',
- 'src/utils.c', 'src/vo_driver.c', 'src/drivers/kaa.c',
- 'src/drivers/yuv2rgb.c', 'src/drivers/yuv2rgb_mmx.c',
'src/drivers/dummy.c',
- 'src/drivers/video_out_dummy.c', 'src/drivers/common.c',
'src/drivers/fb.c'
-]
-xineso = Extension('kaa.xine._xinemodule', files, config='src/config.h',
- libraries = ["X11"],
- # FIXME: don't hardcode this path
- library_dirs = ["/usr/X11R6/lib"])
+# config file
+config = Configfile('src/config.h')
+
+# check for X11
+x11 = Extension('kaa.display._Displaymodule',
+ [ 'src/display.c', 'src/sdl.c', 'src/x11display.c',
+ 'src/x11window.c', 'src/imlib2.c', 'src/evas.c' ],
+ libraries = ['png', 'rt'])
+
+# check if X11 is actually present
+if not x11.check_cc(['<X11/Xlib.h>'], '', '-lX11'):
+ print "System without X11 detected! Disabling all X11 dependencies..."
+ x11 = None
+else:
+ config.define('HAVE_X11')
+
+ files = ['src/xine.c', 'src/video_port.c', 'src/audio_port.c',
'src/stream.c',
+ 'src/post.c', 'src/drivers/video_out_kaa.c',
+ 'src/post_out.c', 'src/post_in.c', 'src/event.c',
'src/event_queue.c',
+ 'src/utils.c', 'src/vo_driver.c', 'src/drivers/kaa.c',
+ 'src/drivers/yuv2rgb.c', 'src/drivers/yuv2rgb_mmx.c',
'src/drivers/dummy.c',
+ 'src/drivers/video_out_dummy.c', 'src/drivers/common.c',
'src/drivers/fb.c'
+ ]
+if x11:
+ files.append('src/drivers/x11.c')
+ xineso = Extension('kaa.xine._xinemodule', files,
+ libraries = ["X11"],
+ # FIXME: don't hardcode this path
+ library_dirs = ["/usr/X11R6/lib"])
+else:
+ xineso = Extension('kaa.xine._xinemodule', files)
+
if not xineso.check_library('xine', '1.1.1'):
print 'xine >= 1.1.1 not found'
print 'Download from http://xinehq.de'
+ config.unlink()
sys.exit(1)
arch = os.popen("uname -i").read().strip()
if arch == "x86_64":
- xineso.config('#define ARCH_X86_64')
+ config.define('ARCH_X86_64')
elif arch == "i386":
- xineso.config('#define ARCH_X86')
+ config.define('ARCH_X86')
setup(module = 'xine',
version = '0.9', # We're almost feature complete :)
ext_modules = [ xineso ]
)
+
+config.unlink()
Modified: trunk/xine/src/drivers/common.c
==============================================================================
--- trunk/xine/src/drivers/common.c (original)
+++ trunk/xine/src/drivers/common.c Fri Feb 24 19:43:46 2006
@@ -1,5 +1,7 @@
#include "common.h"
+#ifdef HAVE_X11
#include "x11.h"
+#endif
#include "kaa.h"
#include "dummy.h"
@@ -8,20 +10,26 @@
void **visual_return, driver_info_common
**driver_info_return)
{
*visual_type_return = XINE_VISUAL_TYPE_NONE;
+#ifdef HAVE_X11
if (!strcmp(driver, "xv") || !strcmp(driver, "xshm") || !strcmp(driver,
"auto") ||
!strcmp(driver, "opengl") || !strcmp(driver, "sdl")) {
*visual_type_return = XINE_VISUAL_TYPE_X11;
return x11_get_visual_info(xine, kwargs, visual_return,
driver_info_return);
- } else if (!strcmp(driver, "none")) {
+ }
+#endif
+ if (!strcmp(driver, "none")) {
*driver_info_return = 0;
*visual_return = 0;
return 1;
- } else if (!strcmp(driver, "kaa")) {
+ }
+ if (!strcmp(driver, "kaa")) {
*visual_type_return = XINE_VISUAL_TYPE_NONE; // make constant for kaa?
return kaa_get_visual_info(xine, kwargs, visual_return,
driver_info_return);
- } else if (!strcmp(driver, "dummy")) {
+ }
+ if (!strcmp(driver, "dummy")) {
return dummy_get_visual_info(xine, kwargs, visual_return,
driver_info_return);
- } else if (!strcmp(driver, "vidixfb")) {
+ }
+ if (!strcmp(driver, "vidixfb")) {
*visual_type_return = XINE_VISUAL_TYPE_FB;
return fb_get_visual_info(xine, kwargs, visual_return,
driver_info_return);
}
Modified: trunk/xine/src/xine.c
==============================================================================
--- trunk/xine/src/xine.c (original)
+++ trunk/xine/src/xine.c Fri Feb 24 19:43:46 2006
@@ -13,7 +13,9 @@
#include "drivers/video_out_kaa.h"
#include "drivers/video_out_dummy.h"
#include "drivers/kaa.h"
+#ifdef HAVE_X11
#include "drivers/x11.h"
+#endif
#include "drivers/dummy.h"
#include "drivers/common.h"
@@ -740,10 +742,14 @@
PyErr_Format(xine_error, "Failed to import kaa.display");
return;
}
+ #ifdef HAVE_X11
X11Window_PyObject_Type = display_api_ptrs[1];
x11window_object_decompose = display_api_ptrs[2];
+ #endif
#else
+ #ifdef HAVE_X11
X11Window_PyObject_Type = NULL;
+ #endif
#endif
PyEval_InitThreads();
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog