import os def CheckPKG(context, name): context.Message('Checking for %s... ' % name) ret = context.TryAction('pkg-config --exists \'%s\'' % name)[0] context.Result(ret) return ret def CheckCURL(context, name): context.Message('Checking for %s... ' % name) ret = context.TryAction('curl-config --version')[0] context.Result(ret) return ret env = Environment( ENV = os.environ, CC='g++' ) # Initialize the environment conf = Configure(env, custom_tests = { 'CheckPKG' : CheckPKG, 'CheckCURL' : CheckCURL}) if not conf.CheckPKG('gtk+-2.0 >= 2.6.2'): print 'Cannot find gtk+2-0. Version 2.6.2 or later is required' Exit(1) if not conf.CheckPKG('gnome-vfs-2.0'): print 'Cannot find gnome-vfs-2.0.' Exit(1) if not conf.CheckPKG('libglade-2.0 >= 2.4'): print 'Cannot find libglade-2.0. Version 2.4 or later required' Exit(1) if not conf.CheckPKG('vte >= 0.11'): print 'Cannot find vte. Version 0.11 or later required' Exit(1) if not conf.CheckCURL('libcurl >= 7.13'): print 'Cannot find libcurl. Version 7.13 or later required' Exit(1) env = conf.Finish() prefix = ARGUMENTS.get('prefix', '/usr/local') datadir = prefix + '/share/gbrowser' bindir = prefix + '/bin' gladedir = datadir + '/glade' env.ParseConfig('pkg-config --cflags --libs gtk+-2.0 libglade-2.0 gnome-vfs-2.0 vte') env.ParseConfig('curl-config --cflags --libs') glade_cxxflag = '-DGLADEDIR=\\"' + gladedir + '\\"' env.Append(CXXFLAGS = [ '-I.', glade_cxxflag ]) gbrowser = env.Program( target = 'gbrowser', source = [ 'src/gtkiconview.c', 'src/get.cc', 'src/mainwindow.cc', 'src/fileview.cc', 'src/settings.cc', 'src/dialog.cc', 'src/fileinfo.cc', 'src/pasteFunc.cc', 'src/terminal.cc', 'src/main.c', ]) gbrowser_doc = [ 'ChangeLog', 'README', 'AUTHORS', 'NEWS', 'TODO', ] gbrowser_glade = [ 'glade/fileinfo.glade', 'glade/imageview.glade', 'glade/mainwindow.glade', 'glade/settings.glade' ] env.Install(bindir, gbrowser) env.Alias('install', bindir) env.Install(datadir, gbrowser_doc) env.Alias('install', datadir) env.Install(gladedir, gbrowser_glade) env.Alias('install', gladedir)