summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMatt Messier <mmessier@grapetv.org>2007-05-18 13:49:03 -0400
committerMatt Messier <mmessier@grapetv.org>2007-05-18 13:49:03 -0400
commit7bc7d9e476466774ad06c1bcf0f4fb54cb73a931 (patch)
tree95c48964c01336f932e01ea42f8693ea4ad3f3de /doc
parentb9cedf245ca748915c739f9c9d14457cdf956a56 (diff)
downloadxine-lib-7bc7d9e476466774ad06c1bcf0f4fb54cb73a931.tar.gz
xine-lib-7bc7d9e476466774ad06c1bcf0f4fb54cb73a931.tar.bz2
Add README.macosx for information on Mac OS X support
Diffstat (limited to 'doc')
-rw-r--r--doc/Makefile.am2
-rw-r--r--doc/README3
-rw-r--r--doc/README.macosx141
3 files changed, 145 insertions, 1 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 1a757a4ca..c456d8438 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -5,7 +5,7 @@ SUBDIRS = man hackersguide faq
doc_DATA = README README.dvb README.dxr3 \
README.freebsd README.irix README.network_dvd README.opengl \
README.solaris README.syncfb README_xxmc.html README.MINGWCROSS \
- README.WIN32
+ README.WIN32 README.macosx
EXTRA_DIST = $(doc_DATA)
diff --git a/doc/README b/doc/README
index 56d133a70..2674a0869 100644
--- a/doc/README
+++ b/doc/README
@@ -29,6 +29,9 @@ README.freebsd
README.irix
hints on running xine on IRIX
+README.macosx
+ hints on building xine on Mac OS X
+
README.network_dvd
how to play DVDs / Audio CDs over the network
diff --git a/doc/README.macosx b/doc/README.macosx
new file mode 100644
index 000000000..02c98c8d9
--- /dev/null
+++ b/doc/README.macosx
@@ -0,0 +1,141 @@
+Building
+--------
+Mac OS X builds of xine-lib are built using the same autoconf-based build
+scripts that are used on other Unix-based platforms (e.g., Linux, FreeBSD).
+There is no Xcode project, nor is there any intention to create and/or
+maintain one in the future. There's no good reason, and it would only add
+unnecessary complexity and an additional maintenance burden.
+
+Currently, xine-lib is only supported on Mac OS X 10.4 Tiger. There are no
+plans to support older versions of Mac OS X for a variety of reasons.
+
+As of xine-lib 1.2, specific versions of build tools are required. They are
+as follows:
+
+ - GNU M4 1.4.7 (1.4.9 is current, 1.4.2 is installed on Tiger)
+ - autoconf 2.59 (2.61 is current, 2.59 is installed on Tiger)
+ - automake 1.9 (1.10 is current, 1.6.3 is installed on Tiger)
+ - GNU libtool 1.5.20 (1.5.22 is current, 1.5 is installed on Tiger)
+
+When building on Tiger, since some of the system-installed tools are out of
+date, you'll need to update at least some of them. It is recommended that you
+bring all of them up to current releases as listed above.
+
+The order in which you install updated tools to replace the system-installed
+versions is important, and in some cases, specific build options are required
+for them to work properly.
+
+ 1. Install GNU M4 >= 1.4.7
+ - This is optional if you use the system-installed version of autoconf;
+ however, if you install a newer version of autoconf, you MUST install
+ a newer version of GNU M4 first.
+ - Run its configure script with --program-prefix=g
+ 2. Install autoconf >= 2.59
+ - This is optional, but it is recommended that you use autoconf 2.61.
+ - No special configure options are required. Simply configure, make, and
+ make install.
+ 3. Install automake >= 1.9
+ - This is required, and since it is required, it is recommended that you
+ use automake 1.10.
+ - No special configure options are required. Simply configure, make, and
+ make install.
+ 4. Install GNU libtool >= 1.5.20
+ - This is required, and since it is required, it is recommended that you
+ use GNU libtool 1.5.22.
+ - Run its configure script with --program-prefix=g
+
+ ** A special note about GNU libtool:
+ Mac OS X has its own utility called libtool that is NOT the same as GNU
+ libtool, but the Developer tools install GNU libtool as well. The system-
+ installed version of GNU libtool is installed with a g- prefix, and xine's
+ build scripts expect this as well if you install your own version. If you
+ do not install GNU libtool with a g- prefix, xine's build scripts will
+ pick up the system-installed version instead of the newer one you install!
+
+With your tool chain brought up-to-date with xine's requirements, you can go
+ahead and build xine-lib by first running configure, then make, and finally,
+make install, just as you would on, say, Linux. If you are building from a
+source repository snapshot or checkout, you will need to run autogen.sh first.
+
+When running configure, it's best if you do not attempt to forcibly enable most
+options that are disabled by default. For example, DVB support is disabled by
+default on Mac OS X because it doesn't work. Enabling it may allow it to build
+okay, but it will not work at runtime.
+
+The one exception is --enable-macosx-universal. Universal binaries are not
+enabled by default, but they are fully supported. With this optional enabled,
+the default is to build FAT binaries for ppc and i386; however, you may also
+enable support for ppc64 and/or x86_64. For example:
+
+ ./configure --enable-macosx-universal=i386,ppc,x86_64,ppc64
+
+CoreAudio audio output support will be enabled by default. Mac OS X video
+output support will be enabled by default. Xwindows support will be enabled
+by default for video output (using XShm, Xv, and OpenGL). In most cases,
+you'll probably want to disable Xwindows support, and that is safe to do by
+adding --without-x to the configure command-line.
+
+Running
+-------
+Very limited run-time testing has been done so far. The Mac OS X port of
+xine-lib is in its early stages, only recently becoming buildable at all,
+though some quick-and-dirty efforts have been made in the past to build and
+run on Mac OS X.
+
+At this time, native video output only works with Objective-C Cocoa windows
+using the XineOpenGLView class that resides in libxineMacOSXVideo.dylib. This
+works, but it isn't yet stable enough for every day use. Xwindows video output
+support builds, but it is unknown whether it works. If you plan on using the
+Cocoa video output support, you'll need to link with both libxine.dylib and
+libxineMacOSXVideo.dylib as well as libxine.dylib.
+
+Instantiate an audio output port as follows:
+
+ ao_port = xine_open_audio_driver(xine_instance, "coreaudio", NULL);
+
+Instantiate a video output port as follows:
+
+ vo_port = xine_open_video_driver(xine_instance, "macosx",
+ XINE_VISUAL_TYPE_MACOSX, view);
+
+In both cases, xine_instance is the return from xine_new() that has been then
+been initialized with xine_init(). For video output, the view argument to
+xine_open_video_driver() is the XineOpenGLView instance in which to render.
+
+The Future
+----------
+A full, proper port of xine-lib to Mac OS X is in progress. Efforts are under
+way to make as many of the various plug-ins work properly on Mac OS X as makes
+sense, but it is unlikely that full support will be complete by the time that
+xine-lib 1.2 is released.
+
+The following is a list of the things that will definitely be done:
+
+ * CoreVideo support for video output instead of the current NSOpenGLView-
+ based video output plug-in. The existing video output plugin will not be
+ retained as a plug-in, but the code will remain available based on the new
+ CoreVideo video output plugin.
+ * Building xine-lib as an application bundle embeddable framework, as well as
+ a system-wide installable framework, though the utility of the latter is
+ questionable.
+ * Enable VCD input support. Mac OS X specific code is required in xine-lib
+ itself to support this. Currently, only FreeBSD, Linux, and Solaris can
+ build the VCD input plugin.
+ * Investigate enabling Real binary and Win32 binary support for Intel Macs.
+ * Investigate better font support without the need for FreeType2.
+ * SPDIF pass-through for CoreAudio
+
+Known Issues
+------------
+ * Building on Leopard does not work due to build problems with ffmpeg.
+ * VCD support is not yet available, though internal versions of libcdio and
+ libvcd will build. If you enable VCD at configure time, the build WILL
+ fail.
+ * Real binary codec support is not yet available.
+ * On Intel, Win32 binary codec support is not yet available.
+ * Very little run-time testing has been done. Basic file input and ffmpeg
+ based demux/decoding is known to work.
+ * Xwindows support builds, but it has not been tested at all.
+ * Applications using xine-lib must link with both libxine.dylib and
+ libxineMacOSXVideo.dylib if they will be using the Cocoa video output
+ support.