geary/wscript
Jim Nelson b80e0ab62c Rolled back WebKit GTK requirement to version shipped in Oneiric.
Also, it appears the JavaScript Core GTK package was broken out of
the WebKit package between Oneiric and Precise, hence that package
dependency has been removed.
2012-01-25 16:48:56 -08:00

141 lines
3.1 KiB
Python

#! /usr/bin/env python
# encoding: utf-8
#
# Copyright 2011-2012 Yorba Foundation
import shutil
import os.path
import subprocess
# the following two variables are used by the target "waf dist"
VERSION = '0.0.0+trunk'
APPNAME = 'geary'
# these variables are mandatory ('/' are converted automatically)
top = '.'
out = 'build'
def options(opt):
opt.load('compiler_c')
opt.load('vala')
opt.load('glib2')
def configure(conf):
conf.load('compiler_c vala glib2')
conf.check_vala((0, 15, 0))
conf.check_cfg(
package='glib-2.0',
uselib_store='GLIB',
atleast_version='2.30.0',
mandatory=1,
args='--cflags --libs')
conf.check_cfg(
package='gio-2.0',
uselib_store='GIO',
atleast_version='2.28.0',
mandatory=1,
args='--cflags --libs')
conf.check_cfg(
package='gee-1.0',
uselib_store='GEE',
atleast_version='0.6.0',
mandatory=1,
args='--cflags --libs')
conf.check_cfg(
package='gtk+-3.0',
uselib_store='GTK',
atleast_version='3.0.',
mandatory=1,
args='--cflags --libs')
conf.check_cfg(
package='unique-3.0',
uselib_store='UNIQUE',
atleast_version='3.0.0',
mandatory=1,
args='--cflags --libs')
conf.check_cfg(
package='sqlite3',
uselib_store='SQLITE',
atleast_version='3.7.4',
mandatory=1,
args='--cflags --libs')
conf.check_cfg(
package='sqlheavy-0.2',
uselib_store='SQLHEAVY',
atleast_version='0.2.0',
mandatory=1,
args='--cflags --libs')
conf.check_cfg(
package='gmime-2.4',
uselib_store='GMIME',
atleast_version='2.4.14',
mandatory=1,
args='--cflags --libs')
conf.check_cfg(
package='gnome-keyring-1',
uselib_store='GNOME-KEYRING',
atleast_version='2.32.0',
mandatory=1,
args='--cflags --libs')
conf.check_cfg(
package='webkitgtk-3.0',
uselib_store='WEBKITGTK',
atleast_version='1.4.3',
mandatory=1,
args='--cflags --libs')
def build(bld):
bld.add_post_fun(post_build)
bld.env.append_value('CFLAGS', ['-O2', '-g', '-D_PREFIX="' + bld.env.PREFIX + '"'])
bld.env.append_value('LINKFLAGS', ['-O2', '-g'])
bld.env.append_value('VALAFLAGS', ['-g', '--enable-checking', '--fatal-warnings'])
bld.recurse('src')
# Remove executables in root folder.
if bld.cmd == 'clean':
if os.path.isfile('geary') :
os.remove('geary')
if os.path.isfile('console') :
os.remove('console')
if os.path.isfile('norman') :
os.remove('norman')
def post_build(bld):
# Copy executables to root folder.
geary_path = 'build/src/client/geary'
console_path = 'build/src/console/console'
norman_path = 'build/src/norman/norman'
theseus_path = 'build/src/theseus/theseus'
if os.path.isfile(geary_path) :
shutil.copy2(geary_path, 'geary')
if os.path.isfile(console_path) :
shutil.copy2(console_path, 'console')
if os.path.isfile(norman_path) :
shutil.copy2(norman_path, 'norman')
if os.path.isfile(theseus_path) :
shutil.copy2(theseus_path, 'theseus')
# Compile schemas for local (non-intall) build.
client_build_path = 'build/src/client'
shutil.copy2('src/client/org.yorba.geary.gschema.xml', client_build_path)
subprocess.call(['glib-compile-schemas', client_build_path])