#!/usr/bin/env python

import os
import sys
import Options
import Constants

APPNAME = "echognomix"
MAINTAINER = "Bundyo <bundyo@gmail.com>"
VERSION = "0.1"
BUILD = "5"
VERSION_MAJOR_MINOR = VERSION + "-" + BUILD
PREFIX = '/usr'

srcdir = '.'
blddir = '_build_'

def set_options(opt):
	opt.tool_options('compiler_cc')
	opt.tool_options('gnu_dirs')
	opt.add_option('--maemo-launcher', action='store_true', default=False, help='Enable maemo-launcher support.', dest='maemo_launcher')
	opt.sub_options("src")

def configure(conf):
    conf.check_tool('compiler_cc vala gnu_dirs intltool')

    conf.check_cfg(package='glib-2.0', uselib_store='GLIB', atleast_version='2.10.0', mandatory=True, args='--cflags --libs')
#    conf.check_cfg(package='gio-2.0', uselib_store='GIO', atleast_version='2.10.0', mandatory=True, args='--cflags --libs')
#    conf.check_cfg(package='gconf-2.0', uselib_store='GCONF', atleast_version='2.10.0', mandatory=True, args='--cflags --libs')
    conf.check_cfg(package='gobject-2.0', uselib_store='GOBJECT', atleast_version='2.10.0', mandatory=True, args='--cflags --libs')
    conf.check_cfg(package='gtk+-2.0', uselib_store='GTK+', atleast_version='2.10.0', mandatory=True, args='--cflags --libs')
    conf.check_cfg(package='gdk-x11-2.0', uselib_store='GDKX11', atleast_version='2.10.0', mandatory=True, args='--cflags --libs')
    conf.check_cfg(package='hildon-1', uselib_store='HILDON', atleast_version='1.0', mandatory=True, args='--cflags --libs')
    conf.check_cfg(package='hildon-1', uselib_store='FREMANTLE', atleast_version='2.1.62', mandatory=True, args='--cflags --libs')
#    conf.check_cfg(package='hildon-fm-2', uselib_store='HILDONFM', atleast_version='1.9', mandatory=True, args='--cflags --libs')
#    conf.check_cfg(package='gnome-vfs-2.0', uselib_store='GNOMEVFS', atleast_version='2.10.0', mandatory=True, args='--cflags --libs')
#    conf.check_cfg(package='conic', uselib_store='CONIC', atleast_version='0.16', mandatory=True, args='--cflags --libs')
    conf.check_cfg(package='libosso', uselib_store='OSSO', atleast_version='2.0', mandatory=True, args='--cflags --libs')
#    conf.check_cfg(package='tracker', uselib_store='TRACKER', atleast_version='0.6', mandatory=True, args='--cflags --libs')
#    conf.check_cfg(package='sqlite3', uselib_store='SQLITE', atleast_version='3.0', mandatory=True, args='--cflags --libs')
#    conf.check_cfg(package='webkit-1.0', uselib_store='WEBKIT', atleast_version='1.0', mandatory=True, args='--cflags --libs')
    conf.check_cfg(package='vala-1.0', uselib_store='VALA', atleast_version='0.7.7', mandatory=True, args='--cflags --libs')
#    conf.check_cfg(package='x11', uselib_store='X', atleast_version='1.0', mandatory=True, args='--cflags --libs')
#    conf.check_cfg(package='clutter-gtk-0.10', uselib_store='GTKCLUTTER', atleast_version='0.10', mandatory=True, args='--cflags --libs')
    conf.check_cfg(package='clutter-1.0', uselib_store='CLUTTER', atleast_version='1.0', mandatory=True, args='--cflags --libs')
    conf.check_cfg(package='clutter-gesture', uselib_store='CLUTTERGESTURE', atleast_version='0.0.1', mandatory=True, args='--cflags --libs')
    conf.check_cfg(package='mx-1.0', uselib_store='MX', atleast_version='0.99', mandatory=True, args='--cflags --libs')
    if Options.options.maemo_launcher:
    	conf.check_cfg(package='maemo-launcher-app', uselib_store='LAUNCHER', atleast_version='0.31', mandatory=True, args='--cflags --libs')
#    conf.check_cfg(package='libxml-2.0', uselib_store='LIBXML', atleast_version='2.0.0', mandatory=True)
	
    if (conf.env['HAVE_FREMANTLE'] == 1):
        conf.define('VALAFLAGS', '--disable-dbus-transformation --define=FREMANTLE')

    conf.define('APPNAME', APPNAME)
    conf.define('PACKAGE', APPNAME)
    conf.define('PACKAGE_NAME', APPNAME.capitalize())
    conf.define('PACKAGE_STRING', APPNAME + '-' + VERSION)
    conf.define('PACKAGE_VERSION', APPNAME + '-' + VERSION)
    conf.define('GETTEXT_PACKAGE', APPNAME)
    conf.define('APP_DIR', os.path.join(PREFIX, 'share', APPNAME)) 
    conf.define('LOCALE_DIR', os.path.join(PREFIX, 'share', 'locale')) 
    conf.define('PIXMAPS_DIR', os.path.join(PREFIX, 'share', 'pixmaps'))
    conf.define('MAINTAINER', MAINTAINER)

    conf.define('VERSION', VERSION)
    conf.define('VERSION_MAJOR_MINOR', VERSION_MAJOR_MINOR)

    conf.write_config_header("config.h")

def pre(ctx):  # pre-build C files generation in native to speed it up (20 times at least).
	ctx.recurse('src')
	ctx.mapped_sources = ' ../src/' + ' ../src/'.join(ctx.sources.split())
	ctx.mapped_vapis = ' --vapidir=' + ' --vapidir='.join(ctx.vapis)
	ctx.mapped_packages = ' --pkg ' + ' --pkg '.join(ctx.packages.split())
	
	# die with error code if the generation fails so the build can stop.
	exit_code = os.system('cd _build_ && /usr/bin/valac -C --quiet --disable-dbus-transformation --define=FREMANTLE -d default/src'
			  		  	  + ctx.mapped_sources + ctx.mapped_vapis + ctx.mapped_packages) != '0'
	if exit_code != 1:
		sys.exit()

def build(bld):
    bld.add_subdirs('src')

def dist():
	import os, shutil, sys

	# Here's the core info for the package
	DEBARCH = "armel"
	DEBDEPENDS = "libgtk2.0-0, libglib2.0-0, libhildon1, libosso1, libclutter-1.0, mx"
	DEBDESC = "A comic strip viewer, currently only an MX demo"
	
	DEBDIR = [
	    ("DEBIAN/postinst","include/postinst"),
	]
	
	DEBFILES = [
	
	    # Now we specify the files to be included in the .deb
	    # Where they should go, and where they should be copied from.
	    # If you have a lot of files, you may wish to generate this 
	    # list in some other way.
	    ("usr/bin/"+APPNAME,													"_build_/default/src/"+APPNAME),
	    ("usr/share/"+APPNAME+"/style/abstractbg.jpg",							"include/style/abstractbg.jpg"),
	    ("usr/share/"+APPNAME+"/style/bottom_left.png",							"include/style/bottom_left.png"),
	    ("usr/share/"+APPNAME+"/style/bottom_left_active.png",					"include/style/bottom_left_active.png"),
	    ("usr/share/"+APPNAME+"/style/bottom_right.png",						"include/style/bottom_right.png"),
	    ("usr/share/"+APPNAME+"/style/bottom_right_active.png",					"include/style/bottom_right_active.png"),
	    ("usr/share/"+APPNAME+"/style/default.css",								"include/style/default.css"),
	    ("usr/share/"+APPNAME+"/style/hesfine.jpg",								"include/style/hesfine.jpg"),
	    ("usr/share/"+APPNAME+"/style/top_left.png",							"include/style/top_left.png"),
	    ("usr/share/"+APPNAME+"/style/top_left_active.png",						"include/style/top_left_active.png"),
	    ("usr/share/"+APPNAME+"/style/top_right.png",							"include/style/top_right.png"),
	    ("usr/share/"+APPNAME+"/style/top_right_active.png",					"include/style/top_right_active.png"),
	    ("usr/share/"+APPNAME+"/style/top_slide_back.png",						"include/style/top_slide_back.png"),
	    ("usr/share/"+APPNAME+"/style/top_slide_bg.png",						"include/style/top_slide_bg.png"),
	    ("usr/share/"+APPNAME+"/style/top_slide_brev.png",						"include/style/top_slide_brev.png"),
	    ("usr/share/"+APPNAME+"/style/top_slide_forward.png",					"include/style/top_slide_forward.png"),
	    ("usr/share/"+APPNAME+"/style/top_slide_frev.png",						"include/style/top_slide_frev.png"),
	    ("usr/share/"+APPNAME+"/style/touchwieners.jpg",						"include/style/touchwieners.jpg"),
	    ("usr/share/pixmaps/"+APPNAME+".png",									"include/48x48/"+APPNAME+".png"),
	    ("usr/share/icons/hicolor/26x26/hildon/"+APPNAME+".png",				"include/26x26/"+APPNAME+".png"),
	    ("usr/share/icons/hicolor/40x40/hildon/"+APPNAME+".png",				"include/40x40/"+APPNAME+".png"),
	    ("usr/share/icons/hicolor/48x48/hildon/"+APPNAME+".png",				"include/48x48/"+APPNAME+".png"),
	    ("usr/share/icons/hicolor/64x64/hildon/"+APPNAME+".png",				"include/64x64/"+APPNAME+".png"),
	    ("usr/share/applications/hildon/"+APPNAME+".desktop",					"include/"+APPNAME+".desktop"),
	    ("usr/share/dbus-1/services/com.nokia."+APPNAME+".service",				"include/com.nokia."+APPNAME+".service")
	]
	    
	# This is the debian package we're going to create
	debpkg = '%s-%s-%s_%s.deb' % (APPNAME, VERSION, BUILD, DEBARCH)
	
	DEBCONTROLFILE = "distbuild/DEBIAN/control"

	os.system("rm -r distbuild/")

	def copy_force(src, dst):
		try: os.makedirs(os.path.dirname(dst))
		except: print "Directory "+os.path.dirname(dst)+" already exists.";
		shutil.copy2(src, dst)

	for f in DEBFILES:
	    dest = os.path.join("distbuild/", f[0])
	    copy_force(f[1], dest)
	
	# Now to create the control file:
	
	CONTROL_TEMPLATE = """Package: %s
Priority: optional
Section: user/graphics
Installed-Size: %s
Maintainer: %s
Architecture: %s
Version: %s
Depends: %s
Description: %s
Maemo-Display-Name: Echognomix
Maemo-Icon-26: 
 iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAAK/I                                               
 NwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAABUN                                               
 SURBVHjaYkxISGAYAMD9/z+D1d8//+PY2FmkHj9+lHvz5s1rjx49ItkggABi                                               
 obPD+YAOd/3z+3/EfwYGL35BJq7//5gZ/v1jyHvx4kUOUP4PqQYCBBC9PCD+                                               
 7y9D4J8//0MZGRksBUWYODUM2BlUddkYzh/9zfDutViQoKDgmpcvX+4h1WCA                                               
 AKK1BxSBySTs92+GGFY2Rm1pJVZGNV0WBkV1NgZ+ISYGNg5GBvUv/xge3OAR                                               
 VZBXSn316tX5////vyXFAoAAopUHTP/+/e//9zdDKNCRajJKLAzqBmwMShos                                               
 DFy8TAzA2GD4/fs/GEvIMjPIKP1jePFc1oGf/7r5hw8ftpFiEUAAUdMDTMD0                                               
 bff3D0MM0PHuXDxMMgq6zOBkIqPAysDBw8jw5zcDw8/v/1E0gWJBWZuJ4cEt                                               
 fjFZWTkfoAeOAIU/EWspQABR7gFGYInyl8EZmL5jgJnRiZefSVhRgw0Y4qwM                                               
 knIsDMCkw/AXi8NhAKiPQUqRGRwT8s+UPe/dv7v865evh4m1HiCAKPGAJKhE                                               
 +f3zfwwTE6OTsDgzs5ImK4OKLiuDqAQLAxPTf6DjIA4HqmMAZl6sAJScuHhA                                               
 scDI8Oy+iAIwL/hfvXr5LFDqGzGOAAggcjygArQ0ABhygUxMDFbi0szA0GZn                                               
 UNFiYRAUZQbFCKhYZGD4z8jAAuQyMINjCeiJ/2DHguT+I0UGiP3/738GBTVW                                               
 hpsy/xnkXij63r59c8mvX78uEOMYgAAi3gP/GbT//P0fCUwOQWwcDJryqqzA                                               
 9M3KIA+0WAjocKBnGH58+8/w6cNfhg9v/jF8+fQPHPrA2GFg52Jk4BVgBKvj                                               
 4GRi+PsP5GqkZARMYjz8TAxKmkwMTx8Kq0pLybjdf3DvKlDqNyFnAQQQIQ9w                                               
 gEoUYMUT+vcvQwgnF6OkrCYLg6YRMGMqsoKjnomZkeHzh38M92/+Znh46zfD                                               
 +zd/wY5jBzqUhQUSwqDS5teP/wzMLIwMsiosDLrm7AxcQE8BzYSGDSRmFLWY                                               
 GW5dYmdUUFAJfPzk0YY/f/7cIuQBgADC5QF2oKlOfyAlihcwYwooAItAVR02                                               
 BmkFZmDJAQxuoIW/fv1nuHP1F8OlEz8ZfgIdCMq0htYcDJzckAT/9w8k+YCS                                               
 Eij5vH7xF+wJUGz9ByYxRsb/kOT1DxQL/xkEhIAZWfUvMBYk9SWlpFweP3p0                                               
 F2QMPg8ABBC6BwSBFnkDK59wYCzbC4ow86poQ5KKmDQwYwId8gfoaJCF3778                                               
 Zziy4zvDk7u/GTSN2YGVEwtQDFieP/4LTEb/gCUPUB0DIzSd/wfGCCODkQ0H                                               
 g5gkMzhGwJ4AyoPMY2SE5gsgoQSMhZuXOTkV5JT8nz97uvXPn78P8XkAIIBg                                               
 HpD7C8qYv/7Hs7Ay6IrJsLCqAh2uosPKICDCDLYAVNz9+QUpt0EO3LP2G9gh                                               
 7mHcDD+Aaf3ckZ9gg0SADpRTYQV6ElRRQUofkGOZgTZxAj3BCGQzAvPFu9f/                                               
 GK6f+w306D8GC1cOsDyo1BKRZAJmaAaGV89krIWEhO2AtfMSBpQcgwoAAgjk                                               
 gThgiBYDLdIDpU8NfTYGBQ1WBj4BJnC6BMYGpFQBFSisDAzfv/4HOx4EnAO5                                               
 GG6c/wUM9T8M2sBY4BVkYnjz/C/D62d/wBkYlIRAIQus1BjMnNjBGfXx3T/A                                               
 ZPeb4cbFbwzPHn5jEBLhAhahwDylzAzOJ6B6Q1mbmeH+NW5ueXllP6AHdgCt                                               
 eo3LAwABxAJ0YBHQYD1zJ04GZWBRyMnNBA5tUJpGqWaBoQZyzOEd38Cesvfl                                               
 Yjhz4AdYzs6bk+Hpgz8MD07+BrdxZJSBMSfMxMAFNAuU7L58/A+Wv3ftN8OD                                               
 278Zvn9hZPjw8RPDpy/vGNjYJRluXf7FICXPCY4tUKyCimZJ+b8Mss/knW/f                                               
 vm6Kr3kBEEDMBgZGCszMjDZ6FmzgdP79GySNowNQyNy69AsY7T8ZbL24GK4D                                               
 Q54FmCFN7DmAmfgXw0+gPgMrDgYNYJtHQoaFAZjxGf4BY+DJvb8MF459Yzh1                                               
 4AvD80f/GNhZuRhkZSUY+Pl5GNjY2IDFKjewyP3DIKsEjHVgDP4GJlN2YCEB                                               
 ykGvHrNyfv3y48eLl88PAp3wE5sHAAKI2dLS4tmH9z/8gGHMD0q7jEyoFQ04                                               
 moAJDeSxw9u/MygCkxcoqkFJxcyRg+HsoZ9gi63cOBmAzWSw59+D0/cfhkNb                                               
 vzGc3P+J4eMbFgZhIREGYP4Cxu5PYJL8x6CqqsZgZ2fHIC8vy/Dg7guGP/++                                               
 AdM+O9huUDXBC0zCr58D7f3EJv78xZOTP3/+vI/NAwABxPzr18/3f37/luLk                                               
 ELGUUGBk4BdkhpfP4KYOqBgEhv61c78YngOTgZo+O8NdYFLQt2QHNoN/g0PL                                               
 1gsS/a+e/mO4BExGR3d+YTi29xXDjWuPGXj5uBls7awYDAz1GT5//szw7Nlz                                               
 hu/fgQGhqMigp6cHrA84Ga5evcHw8tl7YEnGBc4noIqNgxOUZIGl2iNW3k+f                                               
 P797/frVYWwVG0AALqteBWEYDF4SQxBt6CJRKZJByMv4yOImgrj5BEVssQRK                                               
 IFYHqX6pk4633cH9iRjvPec85NpsMi2nxVrQtP8KSB0e2h4r8rYp0vEawSwF                                               
 kWdI/6epXzjunjhsO5xPAb7pyNsc88UMzjlYayGlHIgrpaC1pkYaD9h7jxBa                                               
 +FvERFN+yErfK0Lhzxjq8s0eUeTX6rKnYav+BXwEELOJiQkDBwf7Uy5OboN/                                               
 f9j1ZBSZwAb9+4vaXhEWY2YQlmQGh4yQKBPDr5+MDF+Axempg98Zju/+wXDv                                               
 +jeGx49eMvz89Y3BwECHwc/PF5xEGIEhcOTIEYZbt24xKCsrM1haWoI99PDh                                               
 Q4Z9+/Yx3L9/n8HY2AgYEzwM9+48A/YZ2MAFCagE4+RiAjZP/jK8e8Ep+vHT                                               
 h2fv3r09hl6xAQQQE7DRxADCL189X/bu1a+fd6/+gZTVjGjJiAVSo4LaO5eB                                               
 yWTrsk8Ma+d9YLh1EdhfFJVhUFKRZRAS5mMQFRVhUFFRYVBTU2MQEREBll5M                                               
 DO/fv2d49+4dpEIDxgAHBweYDSxdgKH/EWg2M4OmlirDn+/cDLev/GBgZoYE                                               
 GigmQC0AUQlWBgV5FT9WVhZl9BgACMB0+bMgEMNQ/Hnnn0NRqIVuDmdd/Ax+                                               
 /1UcvcXBTdq7g0DrIKIvBcE1hOTll5CQWtupBeSc7pu1OU3Q+J2vCoVfF7QA                                               
 4Qh1lxdpP0ldcOtGjsmMiQ/Y+xbW2kJb4znnyoZR4SEEiEgRrT4qXO3c70gp                                               
 kfwSxmwpusLQC4Yo8Mc5pgvN/8GKH1xOb4yPxsUYrox1/j9sXwHEDOxMgw0F                                               
 pq+/wAz9nY9bPJhPiJFJCtiuAWVmcC0KbLCdOvCLYd/GjwzPnnxgkJGTYTC3                                               
 MGaQkBAHpuG3DMDOODhkbW1tGbS0tBiePn3KsH//foYrV66APQJKSqDkc/Pm                                               
 TYbDhw8zXL9+HewZkHpZWVmGs2fPMhw/fpzh3ft3wAqQDViHsDJIyDGDkxGo                                               
 7cQBbFs9f8DI9P3Lf87HTx4eALr7A8wDAAHEJCAgwADyhJCQEChEd3/99v3o                                               
 vWt/gWXzf3D1DopKJub/wG4hMNNyMjCIiQszuLu5MHh4eIDTMih0QR748uUL                                               
 A8gsULIBBgbYE8+fP2cAFn9gs0EO/vbtG1j8xYsX4KIUJAbSAyqd3r17D6w8                                               
 gTX4z38Mzx79AbelQIH3G9hWEgLmP1kVJgYpKWkLcXEJB5C7YR4ACCBmXl5e                                               
 sCWgZAR0zE8Gxv9cXBxi3gIiwBoRWCGBijRQm4wPWLy+BbYmf33lZpCVkwY7                                               
 GGQxKAmAkgyoVAF55tmzZ+Ckwc/PD09KoLQOEv/x4wfYM6KiosBYZQYmo9dA                                               
 T75iePv2I9gcNU1hBjN7TgYtY1ZwcxzavgNXmKxs/4E9NmbWHz/+MD99+ngf                                               
 UOoLyAMAAcT8G9jiAjkGhoGh90pEWNyFhYlNTF6dGZyhQHkB1JoEwVtXgKXN                                               
 46fAUuUGAw8PD4O1tTU404KKRFCpcvXqVQZJSUkGKysrcAyBisk9e/Yw3Llz                                               
 B1ykgsSBIclw7+4DhjOnLgA99RXY+ONgsHLlYzAHVowKwP4GJw8k+UC63JDM                                               
 DKrY3r4CdpTes4u8ev3swrdv36+D5AECiAVUSiDaO0wgCx8+fvxgpYCgjtbT                                               
 +3+ZlIEG/gC1RIExIa8KbCbI/mJ4dOcrMFn9YQB5ngVYPIEwSC8o5EGx8heY                                               
 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
 AElFTkSuQmCC
"""
	
	# This function creates the control file from the template and info
	# specified above, and works out the final size of the package.
	def make_control(target=None):
	    installed_size = 0
	    for i in DEBFILES:
	        installed_size += os.stat(str(i[1]))[6]
	    control_info = CONTROL_TEMPLATE % (
	        APPNAME, installed_size / 1000, MAINTAINER, DEBARCH, VERSION,
	        DEBDEPENDS, DEBDESC)
	    try: os.makedirs(os.path.dirname(target))
	    except: print "Directory "+os.path.dirname(target)+" already exists.";
	    f = open(str(target), 'w')
	    f.write(control_info)
	    f.close()
	    
	# We can generate the control file by calling make_control
	make_control(DEBCONTROLFILE)
	
	for f in DEBDIR:
	    dest = os.path.join("distbuild/", f[0])
	    copy_force(f[1], dest)
	
	os.system("strip distbuild/usr/bin/" + APPNAME)
	
	# And we can generate the .deb file by calling dpkg-deb
	os.system("dpkg-deb -b %s ../%s" % ("distbuild/", debpkg))


def shutdown():
#    import UnitTest
#    unittest = UnitTest.unit_test()
#    unittest.want_to_see_test_output = True
#    unittest.want_to_see_test_error = True
#    unittest.run()
#    unittest.print_results()
	pass
