You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
3.5 KiB
102 lines
3.5 KiB
## Max Howell, 2005
|
|
|
|
BOLD ="\033[1m"
|
|
RED ="\033[91m"
|
|
GREEN ="\033[92m"
|
|
YELLOW ="\033[93m"
|
|
CYAN ="\033[96m"
|
|
NORMAL ="\033[0m"
|
|
|
|
import os
|
|
|
|
def exists( env ):
|
|
return true
|
|
|
|
def generate( env ):
|
|
|
|
if 'configure' in env['TARGS']:
|
|
xine_lib_test_source_file = """
|
|
#include <qstring.h>
|
|
#include <xine.h>
|
|
|
|
int main( int argc, char **argv )
|
|
{
|
|
if( XINE_MAJOR_VERSION < 1 )
|
|
return 1;
|
|
|
|
const QString version( XINE_VERSION );
|
|
|
|
// eg. VERSION 1.0
|
|
if( version[1] == '.' )
|
|
return 0;
|
|
|
|
if( version == "1-cvs" )
|
|
return 0;
|
|
|
|
if( version.startsWith( "1-rc" ) && QString(version[4]).toInt() > 3 )
|
|
return 0;
|
|
|
|
return 2; //too old
|
|
}"""
|
|
|
|
def CheckKdeLibs( context ):
|
|
# ideally should be able to tell bksys what version we need
|
|
context.Message( 'Checking for KDElibs 3.3...' )
|
|
kde_version = os.popen("kde-config --version|grep KDE").read().strip().split()[1]
|
|
result = int( kde_version[0] ) == 3 and int( kde_version[2] ) >= 3
|
|
context.Result( result )
|
|
return result
|
|
|
|
def CheckXineLib( context ):
|
|
context.Message('Checking for xine-lib 1.0...')
|
|
result = context.TryLink(xine_lib_test_source_file, '.cpp')
|
|
context.Result(result)
|
|
return result
|
|
|
|
|
|
# prolly best to use a fresh env
|
|
# this seems to import the user's CXXFLAGS, etc., which may break
|
|
confenv = env.Copy()
|
|
configure = confenv.Configure(custom_tests = {'CheckXineLib' : CheckXineLib, 'CheckKdeLibs' : CheckKdeLibs}, log_file='configure.log')
|
|
confenv.AppendUnique(LIBS = 'qt-mt')
|
|
confenv.AppendUnique(LINKFLAGS = '-L/usr/X11R6/lib')
|
|
|
|
if not configure.CheckKdeLibs():
|
|
print # 1 2 3 4 5 6 7 8'
|
|
print 'Configure could not detect KDElibs 3.3, which is required for Codeine to '
|
|
print 'compile.'
|
|
print
|
|
confenv.Exit( 1 )
|
|
|
|
if not configure.CheckLibWithHeader( 'xine', 'xine.h', 'c++' ):
|
|
print # 1 2 3 4 5 6 7 8'
|
|
print 'Configure could not find either the xine library or header on your system. You '
|
|
print 'should ammend the relevant paths. If you know which ones please email me so I '
|
|
print 'can update this message!'
|
|
print
|
|
confenv.Exit( 2 )
|
|
|
|
if not configure.CheckXineLib():
|
|
print # 1 2 3 4 5 6 7 8'
|
|
print 'Your xine-lib is either too old, or can not be linked against. Sorry for not '
|
|
print 'being more specific..'
|
|
print
|
|
confenv.Exit( 3 )
|
|
|
|
if not configure.CheckLibWithHeader( 'Xtst', 'X11/extensions/XTest.h', 'c' ):
|
|
print # 1 2 3 4 5 6 7 8'
|
|
print 'libxtst was not found, this means the screensaver cannot be disabled during '
|
|
print 'playback. YOU CAN STILL BUILD CODEINE! :)'
|
|
print
|
|
|
|
file = open ( 'src/configure.h', 'w' )
|
|
file.write( "#define NO_XTEST_EXTENSION\n" )
|
|
file.close()
|
|
else:
|
|
# FIXME - thus only one thing can be in configure.h - lol
|
|
file = open ( 'src/configure.h', 'w' )
|
|
file.write( "" )
|
|
file.close()
|
|
|
|
env = configure.Finish()
|