2013-11-17 17:57:43 -06:00
|
|
|
# -*- python -*-
|
2013-11-20 20:24:21 -06:00
|
|
|
import os, os.path
|
2013-11-23 16:07:19 -06:00
|
|
|
Import('env libhammer_shared testruns')
|
2013-11-17 17:57:43 -06:00
|
|
|
|
2013-11-17 20:54:13 -06:00
|
|
|
phpenv = env.Clone(IMPLICIT_COMMAND_DEPENDENCIES = 0)
|
2013-11-17 17:57:43 -06:00
|
|
|
|
2013-11-23 13:06:48 -06:00
|
|
|
php_include = os.popen("php-config --include-dir").read().rstrip()
|
|
|
|
|
phpenv.Append(CPPPATH = ['../../', php_include, os.path.join(php_include, 'main'), os.path.join(php_include, 'Zend'), os.path.join(php_include, 'TSRM')])
|
2013-11-17 20:54:13 -06:00
|
|
|
phpenv.Append(CCFLAGS = ['-fpic', '-DSWIG', '-Wno-all', '-Wno-extra', '-Wno-error'])
|
|
|
|
|
phpenv.Append(LIBS = ['hammer'])
|
|
|
|
|
phpenv.Append(LIBPATH = ['../../'])
|
2013-11-17 17:57:43 -06:00
|
|
|
|
2013-11-21 02:35:45 -06:00
|
|
|
swig_src = phpenv.Command("hammer.i", "../swig/hammer.i", Copy("$TARGET", "$SOURCE"))
|
|
|
|
|
bindings_src = phpenv.Command(['hammer.php', 'hammer_wrap.c', 'php_hammer.h'], 'hammer.i', 'swig -php -DHAMMER_INTERNAL__NO_STDARG_H -Isrc/ $SOURCE')
|
2013-11-21 01:13:44 -06:00
|
|
|
libhammer_php = phpenv.SharedLibrary('hammer', ['hammer_wrap.c'])
|
2013-11-21 02:35:45 -06:00
|
|
|
Default(swig_src, bindings_src, libhammer_php)
|
2013-11-21 01:13:44 -06:00
|
|
|
|
2013-11-22 03:43:07 -06:00
|
|
|
phptestenv = phpenv.Clone()
|
|
|
|
|
phptestenv['ENV']['LD_LIBRARY_PATH'] = os.path.dirname(str(libhammer_shared[0]))
|
2013-11-23 16:07:19 -06:00
|
|
|
phptests = ('Tests')
|
|
|
|
|
phpextprefix = os.popen("php-config --extension-dir").read().rstrip()
|
|
|
|
|
phplib = phptestenv.Command(os.path.join(phpextprefix, "hammer.so"), libhammer_php, Copy("$TARGET", "$SOURCE"))
|
|
|
|
|
phpprefix = os.popen("php-config --prefix").read().rstrip()
|
|
|
|
|
phpincl = phptestenv.Command(os.path.join(phpprefix, "hammer.ini"), "hammer.ini", Copy("$TARGET", "$SOURCE"))
|
|
|
|
|
phptestexec = phptestenv.Command(phptests, [phplib, phpincl], "phpenv exec phpunit -v --include-path " + os.path.dirname(libhammer_php[0].path) +" src/bindings/php/Tests")
|
|
|
|
|
print "phptestexec path: " + phptestexec[0].path
|
|
|
|
|
phptest = Alias("testphp", [phptestexec], phptestexec)
|
|
|
|
|
AlwaysBuild(phptest)
|
|
|
|
|
testruns.append(phptest)
|
|
|
|
|
print "Testing: " + str([str(x[0]) for x in testruns])
|
2013-11-20 02:13:41 -06:00
|
|
|
|