Solaris
Contents
Build VLC on Solaris / OpenSolaris
Needs to be (maybe heavily) patched.
Some old packages exists [1]
Solaris 10, SPARC
Boostrapping process required packages
CSWautoconf autoconf - an extensible package of M4 macros (all) 2.65,REV=2009.11.30 CSWautomake automake - GNU Makefile generator inspired by 4.4BSD make and include (all) 1.10.3,REV=2009.12.09 CSWggettext ggettext - GNU gettext (sparc) 0.17,REV=2009.05.27 CSWgm4 gm4 - The GNU m4 implementation of the traditional Unix macro processor (sparc) 1.4.13,REV=2009.04.06 CSWiconv libiconv - GNU libiconv is a Unicode conversion library (sparc) 1.13.1,REV=2009.07.01 CSWlibtool libtool - Generic shared library support script (sparc) 1.5.26,REV=2008.12.22 CSWreadline readline - GNU readline (sparc) 5.2,REV=2009.01.23
Config & Build process required packages
CSWlua lua - a powerful light-weight programming language (sparc) 5.1.3,REV=2008.04.29 ** CSWffmpeg ffmpeg - very fast video and audio converter (includes libavcodec) - binaries (sparc) 0.4.9,REV=2008.06.03_rev=svn12629 ** CSWliba52 liba52 - free ATSC A/52 stream decoder (sparc) 0.7.4,REV=2007.03.05 ** CSWlibmad libmad - MPEG Audio Decoder (sparc) 0.15.1,REV=2005.03.26_rev=b ** CSWlibpthreadstubs libpthreadstubs - pthread stubs not provided by native libc (sparc) 0.1,REV=2008.11.16 ** CSWx264 x264 - H264/AVC video encoder (sparc) 1.0.0,REV=2009.12.13 ** CSWlibxcb libxcb - The XCB library (sparc) 1.1,REV=2008.11.16 CSWlibxcbdev libxcb_dev - The XCB library (sparc) 1.1,REV=2008.11.16 CSWlibxau libxau - X11 authorisation library (sparc) 1.0.4,REV=2008.11.17 CSWlibxaudev libxau_dev - X11 authorisation library (sparc) 1.0.4,REV=2008.11.17 CSWxproto xproto - xproto (sparc) 7.0.14,REV=2008.11.15 CSWlibxdmcp libxdmcp - X11 authorisation library (sparc) 1.0.2,REV=2008.11.16 CSWlibxdmcpdev libxdmcp_dev - X11 authorisation library (sparc) 1.0.2,REV=2008.11.16 CSWfribidi fribidi - a free implementation of the Unicode Bidirectional Algorithm (sparc) 0.19.2,REV=2009.09.25 ** CSWqt qt - A Cross-platform application framework for desktop and embedded development (sparc) 4.4.3,REV=2009.01.16
Setting up your environment
For Sun Studio Assuming compiler in /opt/sunstudio12.1 and some customly built packages in /opt/vlc
# Required for bootstrap export ACLOCAL_ARGS="-I /opt/csw/share/aclocal/" # Required for configure export PATH=/opt/sunstudio12.1/bin::/opt/vlc/bin:/opt/csw/bin:/usr/xpg4/bin:/usr/sbin:/usr/bin:/usr/sfw/bin:/usr/ccs/bin:/usr/ucb export LD_LIBRARY_PATH=/opt/vlc/lib:/opt/sunstudio12.1/lib:/opt/csw/lib #:/opt/SUNWmlib/lib:/usr/openwin/sfw/lib export PKG_CONFIG_PATH=/opt/vlc/lib/pkgconfig:/opt/csw/lib/pkgconfig:/opt/vlc/qt/lib/pkgconfig:/usr/local/lib/pkgconfig export LUA_LIBS='-L/opt/vlc/lib -llua' LUA_CFLAGS='-I/opt/vlc/include' export MAKE=gmake export CONFIG_SHELL='/usr/xpg4/bin/sh' export CCC=/opt/sunstudio12.1/bin/CC CC=/opt/sunstudio12.1/bin/cc MAKE=gmake export XLIB_XCB_CFLAGS='-I/opt/vlc/include/xcb/' XLIB_XCB_LIBS='-L/opt/vlc/lib/' # -D_XPG4_2 required for non-sparc code compatible network structs export CFLAGS="-I/opt/sunstudio12.1/include -I/usr/include -features=extensions -D _XPG4_2 -D __SunOS -D __STDC_ISO_10646__ -D __EXTENSIONS__" export CXXFLAGS="-I/opt/sunstudio12.1/include -features=extensions -D _XPG4_2 -D __SunOS -D __STDC_ISO_10646__ -D __EXTENSIONS__"
Using GCC Assuming some customly built packages in /opt/vlc
# Required for bootstrap export ACLOCAL_ARGS="-I /opt/csw/share/aclocal/" # Required for configure export PATH=/opt/vlc/bin:/opt/csw/bin:/usr/xpg4/bin:/usr/sbin:/usr/bin:/usr/sfw/bin:/usr/ccs/bin:/usr/ucb export LD_LIBRARY_PATH=/opt/vlc/lib:/opt/csw/lib:/opt/SUNWmlib/lib:/usr/openwin/sfw/lib export PKG_CONFIG_PATH=/opt/vlc/lib/pkgconfig:/opt/csw/lib/pkgconfig:/opt/vlc/qt/lib/pkgconfig:/usr/local/lib/pkgconfig export LUA_LIBS='-L/opt/vlc/lib -llua' LUA_CFLAGS='-I/opt/vlc/include' export MAKE=gmake export CONFIG_SHELL='/usr/xpg4/bin/sh' # -D_XPG4_2 required for non-sparc code compatible network structs export CFLAGS="-D _XPG4_2 -D __SunOS -D __STDC_ISO_10646__ -D __EXTENSIONS__" export CXXFLAGS=$CFLAGS
Bootstrapping
Boostrap script needs to be able to run same subshells as parent. If bootstrap fails on genmf, then the subshell has fallen back to the default /bin/sh which isn't posix compliant. In that case, you need to patch as follow:
@@ -97,7 +97,7 @@ AC_DEFUN([PKG_CHECK_MODULES],[ifelse([\$4], , :, [\$4])]) EOF fi -modules/genmf `sed -ne 's,modules/\(.*\)/Makefile,\1,p' configure.ac` +$SHELL modules/genmf `sed -ne 's,modules/\(.*\)/Makefile,\1,p' configure.ac`
ACLOCAL_ARGS="-I /usr/local/share/aclocal/" export ACLOCAL_ARGS /usr/xpg4/bin/sh bootstrap