#!/usr/bin/env python def options(opt): pass def configure(conf): if conf.env.COMPILER_CXX != 'msvc': conf.env.append_unique('CXXFLAGS', ['-fno-exceptions']) if conf.env.DEST_OS == 'android': conf.check_cc(lib='android') elif conf.env.cxxshlib_PATTERN.startswith('lib'): # remove lib prefix for other systems than Android conf.env.cxxshlib_PATTERN = conf.env.cxxshlib_PATTERN[3:] def build(bld): bld(name = 'filesystem_includes', export_includes = '.') libs = [ 'filesystem_includes', 'sdk_includes', 'werror' ] # on PSVita do not link any libraries that are already in the main executable, but add the includes target if bld.env.DEST_OS != 'psvita': libs += [ 'public', 'ANDROID' ] bld.shlib(target = 'filesystem_stdio', features = 'seq', source = bld.path.ant_glob(['*.c', '*.cpp']), use = libs, install_path = bld.env.LIBDIR) if bld.env.TESTS: # build in same module, so dynamic linking will work # for now (until we turn libpublic to shared module lol) tests = { 'interface' : 'tests/interface.cpp', 'caseinsensitive' : 'tests/caseinsensitive.c', 'no-init': 'tests/no-init.c' } for i in tests: bld.program(features = 'test seq', source = tests[i], target = 'test_%s' % i, use = libs + ['DL'], rpath = bld.env.DEFAULT_RPATH, install_path = None)