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.
141 lines
3.1 KiB
Python
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])
|
|
|