Chia-I Wu | 60558b1 | 2010-05-31 12:37:23 +0800 | [diff] [blame] | 1 | ####################################################################### |
| 2 | # SConscript for vgapi |
| 3 | |
| 4 | from sys import executable as python_cmd |
| 5 | |
| 6 | Import('*') |
| 7 | |
José Fonseca | 10b0766 | 2011-11-09 07:05:52 +0000 | [diff] [blame] | 8 | env = env.Clone() |
Chia-I Wu | 60558b1 | 2010-05-31 12:37:23 +0800 | [diff] [blame] | 9 | |
José Fonseca | 71c87e4 | 2013-01-21 17:47:51 +0000 | [diff] [blame] | 10 | vgapi_header, = env.CodeGenerate( |
| 11 | target = 'vgapi_tmp.h', |
Matt Turner | d5e9426 | 2013-01-21 10:27:25 -0800 | [diff] [blame] | 12 | script = '../mapi_abi.py', |
José Fonseca | 10b0766 | 2011-11-09 07:05:52 +0000 | [diff] [blame] | 13 | source = 'vgapi.csv', |
| 14 | command = python_cmd + ' $SCRIPT --printer vgapi --mode lib $SOURCE > $TARGET' |
| 15 | ) |
Chia-I Wu | 60558b1 | 2010-05-31 12:37:23 +0800 | [diff] [blame] | 16 | |
José Fonseca | 10b0766 | 2011-11-09 07:05:52 +0000 | [diff] [blame] | 17 | env.Append(CPPDEFINES = [ |
| 18 | 'MAPI_ABI_HEADER=\\"vgapi/vgapi_tmp.h\\"', |
| 19 | 'MAPI_DLL_EXPORTS', |
| 20 | 'KHRONOS_DLL_EXPORTS', |
| 21 | ]) |
Chia-I Wu | 60558b1 | 2010-05-31 12:37:23 +0800 | [diff] [blame] | 22 | |
José Fonseca | 10b0766 | 2011-11-09 07:05:52 +0000 | [diff] [blame] | 23 | env.Append(CPPPATH = [ |
| 24 | '#/include', |
| 25 | '#/src/mapi', |
José Fonseca | 71c87e4 | 2013-01-21 17:47:51 +0000 | [diff] [blame] | 26 | Dir('..'), # vgapi/vgapi_tmp.h build path |
José Fonseca | 10b0766 | 2011-11-09 07:05:52 +0000 | [diff] [blame] | 27 | ]) |
Chia-I Wu | 60558b1 | 2010-05-31 12:37:23 +0800 | [diff] [blame] | 28 | |
José Fonseca | 10b0766 | 2011-11-09 07:05:52 +0000 | [diff] [blame] | 29 | mapi_sources = [ |
| 30 | 'entry.c', |
| 31 | 'mapi.c', |
| 32 | 'stub.c', |
| 33 | 'table.c', |
| 34 | 'u_current.c', |
| 35 | 'u_execmem.c', |
José Fonseca | 10b0766 | 2011-11-09 07:05:52 +0000 | [diff] [blame] | 36 | ] |
Chia-I Wu | 60558b1 | 2010-05-31 12:37:23 +0800 | [diff] [blame] | 37 | |
José Fonseca | 10b0766 | 2011-11-09 07:05:52 +0000 | [diff] [blame] | 38 | vgapi_objects = [] |
| 39 | for s in mapi_sources: |
Matt Turner | d5e9426 | 2013-01-21 10:27:25 -0800 | [diff] [blame] | 40 | o = env.SharedObject(s[:-2], '../' + s) |
José Fonseca | 10b0766 | 2011-11-09 07:05:52 +0000 | [diff] [blame] | 41 | vgapi_objects.append(o) |
Chia-I Wu | 60558b1 | 2010-05-31 12:37:23 +0800 | [diff] [blame] | 42 | |
José Fonseca | 10b0766 | 2011-11-09 07:05:52 +0000 | [diff] [blame] | 43 | env.Depends(vgapi_objects, vgapi_header) |
Chia-I Wu | 60558b1 | 2010-05-31 12:37:23 +0800 | [diff] [blame] | 44 | |
José Fonseca | 10b0766 | 2011-11-09 07:05:52 +0000 | [diff] [blame] | 45 | # libOpenVG.dll |
| 46 | env['LIBPREFIX'] = 'lib' |
| 47 | env['SHLIBPREFIX'] = 'lib' |
Chia-I Wu | 60558b1 | 2010-05-31 12:37:23 +0800 | [diff] [blame] | 48 | |
José Fonseca | 10b0766 | 2011-11-09 07:05:52 +0000 | [diff] [blame] | 49 | openvg = env.SharedLibrary( |
| 50 | target = 'OpenVG', |
| 51 | source = vgapi_objects, |
| 52 | ) |
José Fonseca | 63528c4 | 2011-01-13 11:54:43 +0000 | [diff] [blame] | 53 | |
José Fonseca | 10b0766 | 2011-11-09 07:05:52 +0000 | [diff] [blame] | 54 | env.InstallSharedLibrary(openvg, version=(1, 0, 0)) |
Chia-I Wu | 60558b1 | 2010-05-31 12:37:23 +0800 | [diff] [blame] | 55 | |
José Fonseca | 10b0766 | 2011-11-09 07:05:52 +0000 | [diff] [blame] | 56 | if env['platform'] == 'windows': |
| 57 | openvg = env.FindIxes(openvg, 'LIBPREFIX', 'LIBSUFFIX') |
| 58 | else: |
| 59 | openvg = env.FindIxes(openvg, 'SHLIBPREFIX', 'SHLIBSUFFIX') |
Chia-I Wu | 60558b1 | 2010-05-31 12:37:23 +0800 | [diff] [blame] | 60 | |
José Fonseca | 10b0766 | 2011-11-09 07:05:52 +0000 | [diff] [blame] | 61 | Export(['openvg']) |