Move more things to the lib tool

This commit is contained in:
Eryn Wells 2015-10-17 00:13:11 -07:00
parent e0f3f0a2b4
commit bd7a79c9e1
2 changed files with 17 additions and 15 deletions

View file

@ -5,9 +5,12 @@
SCons builder for a lib directory.
'''
import os
import SCons.Errors
import SCons.Script
def _lib(env, name):
return env['LIBS'].get(name)
@ -18,6 +21,19 @@ def _register_lib(env, name, lib):
env['LIBS'][name] = lib
def _lib_dirs(env):
for lib in os.listdir(env.lib_root.abspath):
lib_dir = env.lib_root.Dir(lib)
if not lib_dir.isdir():
continue
yield (lib, lib_dir)
def _process_lib_dirs(env):
for name, _ in _lib_dirs(env):
env.LibDir(name)
def _process_lib_dir(env, lib, src_dir=None, out_dir=None, inc_dir=None):
if not src_dir:
src_dir = env.lib_root.Dir(lib)
@ -64,6 +80,7 @@ def generate(env):
env.AddMethod(_build_library(env, env.StaticLibrary), 'StaticLibrary')
env.AddMethod(_build_library(env, env.SharedLibrary), 'SharedLibrary')
env.AddMethod(_lib, 'lib')
env.AddMethod(_process_lib_dirs, 'process_lib_dirs')
def exists(env):
return True