Kenneth Waters | 1545e11 | 2010-01-14 13:20:44 -0800 | [diff] [blame] | 1 | # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. |
| 2 | # Use of this source code is governed by a BSD-style license that can be |
| 3 | # found in the LICENSE file. |
| 4 | |
Colin Watson | 1da22e3 | 2010-01-15 00:59:22 +0000 | [diff] [blame] | 5 | import os |
| 6 | |
Kenneth Waters | 1545e11 | 2010-01-14 13:20:44 -0800 | [diff] [blame] | 7 | # MkStub builder for autogenerated GLES2 API entry points |
| 8 | def MkStubEmitter(target, source, env): |
| 9 | source.insert(0, "entry_points") |
| 10 | source.insert(1, "mkstubs.py") |
| 11 | return target, source |
| 12 | def MkStubGenerator(source, target, env, for_signature): |
| 13 | arguments = " ".join(str(src) for src in source[2:]) |
| 14 | return "./mkstubs.py %s" % arguments |
| 15 | mk_stub_builder = Builder(emitter=MkStubEmitter, |
| 16 | generator=MkStubGenerator, |
| 17 | src_suffix=".in", suffix="") |
| 18 | |
| 19 | env = Environment() |
Colin Watson | 1da22e3 | 2010-01-15 00:59:22 +0000 | [diff] [blame] | 20 | for key in Split('CC CXX AR RANLIB LD NM CFLAGS CCFLAGS'): |
| 21 | value = os.environ.get(key) |
| 22 | if value != None: |
Kenneth Waters | a29b600 | 2010-02-25 11:21:03 -0800 | [diff] [blame] | 23 | env[key] = Split(value) |
Mike Frysinger | acd8e49 | 2011-11-11 18:22:48 -0500 | [diff] [blame] | 24 | # Fix issue with scons not passing some vars through the environment. |
| 25 | for key in Split('SYSROOT'): |
| 26 | if os.environ.has_key(key): |
| 27 | env['ENV'][key] = os.environ[key] |
Kenneth Waters | a29b600 | 2010-02-25 11:21:03 -0800 | [diff] [blame] | 28 | env.Append(BUILDERS={"MkStub": mk_stub_builder}, |
| 29 | CCFLAGS=["-Iinclude", "-Wall"]) |
Kenneth Waters | 1545e11 | 2010-01-14 13:20:44 -0800 | [diff] [blame] | 30 | |
| 31 | # Build Rules |
| 32 | env.MkStub(['gles2_stub.c.in']) |
| 33 | |
| 34 | # Khronos recomended names |
| 35 | env.SharedLibrary('libEGL.so', 'egl_stub.c') |
| 36 | env.SharedLibrary('libGLESv2.so', 'gles2_stub.c') |
| 37 | |
| 38 | # Other commonly used names |
| 39 | env.SharedLibrary('libegl13.so', 'egl_stub.c') |
| 40 | env.SharedLibrary('libgles20.so', 'gles2_stub.c') |
| 41 | |
| 42 | |