#! /usr/bin/env python
# WAF build script for midori
# This file is licensed under the terms of the expat license, see the file EXPAT.

import Options
import platform
import os

progressive = True
libs = 'M UNIQUE LIBSOUP GMODULE GTHREAD LIBIDN GIO GTK SQLITE ' \
       'LIBNOTIFY WEBKIT JAVASCRIPTCOREGTK LIBXML X11 XSS WS2_32 ' \
       'GCR GRANITE ZEITGEIST'

if Options.commands['build'] or Options.commands['check']:
    blddir = str (bld.bldnode)[6:] # dir:// + absolute path
    duplicate_vapi = blddir + '/default/midori/midori-core.vapi'
    if os.path.exists (duplicate_vapi):
      os.remove (duplicate_vapi)

if progressive:
    obj = bld.new_task_gen ('cc', 'staticlib')
    obj.target = 'midori-core'
    obj.find_sources_in_dirs ('../katze . ../panels ../toolbars', exts=['.vala'])
    obj.env.append_value ('CCFLAGS', '-w')
    obj.uselib = libs
    obj.vapi_dirs = '../midori ../katze'
    obj.packages = 'glib-2.0 gmodule-2.0 gio-2.0 libsoup-2.4 posix sqlite3'
    if bld.env['HAVE_WEBKIT2']:
        obj.packages += ' webkit2gtk-3.0'
    else:
        obj.packages += ' webkitgtk-3.0'
    if bld.env['HAVE_GTK3']:
        obj.packages += ' gtk+-3.0'
    else:
        obj.packages += ' gtk+-2.0'
    if bld.env['HAVE_GRANITE']:
        obj.packages += ' granite'
    obj.install_path = None
    bld.add_group ()

    obj = bld.new_task_gen ('cc', 'staticlib')
    obj.target = 'midori-c'
    obj.includes = '.. ../katze . ../toolbars'
    obj.find_sources_in_dirs ('../katze . ../panels ../toolbars', exts=['.c'], excludes=['main.c'])
    obj.uselib = libs
    obj.uselib_local = 'midori-core'
    obj.add_marshal_file ('marshal.list', 'midori_cclosure_marshal')
    obj.install_path = None
    bld.add_group ()

    obj = bld.new_task_gen ('cc', 'program')
    obj.target = 'midori'
    obj.includes = '.. ../katze . ../panels'
    obj.source = './main.c'
    obj.uselib = libs
    obj.uselib_local = 'midori-c'
    if bld.env['WINRC']:
        obj.source += ' ../data/midori.rc'
