glew: Split thirdparty files and isolate env
Not fully happy about the way this one interacts with the various platforms. Maybe the platform_config.h should be generated by the SCsub instead of passing a define just to know where is the header.
This commit is contained in:
parent
249836e530
commit
36738ddda4
16 changed files with 115 additions and 19 deletions
|
@ -133,6 +133,7 @@ opts.Add('builtin_zlib','Use built-in zlib (yes/no)','yes')
|
||||||
opts.Add('openssl','OpenSSL library for openssl module (system/builtin)','builtin')
|
opts.Add('openssl','OpenSSL library for openssl module (system/builtin)','builtin')
|
||||||
opts.Add('libmpcdec','libmpcdec library for mpc module (system/builtin)','builtin')
|
opts.Add('libmpcdec','libmpcdec library for mpc module (system/builtin)','builtin')
|
||||||
opts.Add('enet','ENet library (system/builtin)','builtin')
|
opts.Add('enet','ENet library (system/builtin)','builtin')
|
||||||
|
opts.Add('glew','GLEW library for the gl_context (system/builtin)','builtin')
|
||||||
opts.Add("CXX", "C++ Compiler")
|
opts.Add("CXX", "C++ Compiler")
|
||||||
opts.Add("CC", "C Compiler")
|
opts.Add("CC", "C Compiler")
|
||||||
opts.Add("CCFLAGS", "Custom flags for the C++ compiler");
|
opts.Add("CCFLAGS", "Custom flags for the C++ compiler");
|
||||||
|
|
|
@ -1,11 +1,26 @@
|
||||||
Import('env')
|
Import('env')
|
||||||
|
Import('env_drivers')
|
||||||
|
|
||||||
env.add_source_files(env.drivers_sources,"*.cpp")
|
env_glew = env_drivers.Clone()
|
||||||
|
|
||||||
|
if (env["platform"] in ["haiku","osx","windows","x11"]):
|
||||||
|
# Thirdparty source files
|
||||||
|
if (env["glew"] != "system"): # builtin
|
||||||
|
thirdparty_dir = "#thirdparty/glew/"
|
||||||
|
thirdparty_sources = [
|
||||||
|
"glew.c",
|
||||||
|
]
|
||||||
|
thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]
|
||||||
|
|
||||||
|
env_glew.add_source_files(env.drivers_sources, thirdparty_sources)
|
||||||
|
env_glew.Append(CPPFLAGS = ['-DGLEW_STATIC'])
|
||||||
|
env_glew.Append(CPPPATH = [thirdparty_dir])
|
||||||
|
# Also pass to global env, used by platform code
|
||||||
|
env.Append(CPPPATH = [thirdparty_dir])
|
||||||
|
|
||||||
if (env.get('glew') == 'yes'):
|
|
||||||
env.add_source_files(env.drivers_sources,"glew.c")
|
|
||||||
env.Append(CPPFLAGS = ['-DGLEW_ENABLED'])
|
env.Append(CPPFLAGS = ['-DGLEW_ENABLED'])
|
||||||
env.Append(CPPFLAGS = ['-DGLEW_STATIC'])
|
|
||||||
env.Append(CPPPATH = ['.'])
|
# Godot source files
|
||||||
|
env_glew.add_source_files(env.drivers_sources, "*.cpp")
|
||||||
|
|
||||||
Export('env')
|
Export('env')
|
||||||
|
|
|
@ -24,7 +24,6 @@ def get_opts():
|
||||||
def get_flags():
|
def get_flags():
|
||||||
return [
|
return [
|
||||||
('builtin_zlib', 'no'),
|
('builtin_zlib', 'no'),
|
||||||
('glew', 'yes'),
|
|
||||||
]
|
]
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
|
|
@ -28,9 +28,7 @@ def get_opts():
|
||||||
def get_flags():
|
def get_flags():
|
||||||
|
|
||||||
return [
|
return [
|
||||||
('legacygl', 'yes'),
|
|
||||||
('builtin_zlib', 'no'),
|
('builtin_zlib', 'no'),
|
||||||
('glew', 'yes'),
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -27,5 +27,5 @@
|
||||||
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
#include <alloca.h>
|
#include <alloca.h>
|
||||||
#define GLES2_INCLUDE_H "gl_context/GL/glew.h"
|
#define GLES2_INCLUDE_H "GL/glew.h"
|
||||||
#define PTHREAD_RENAME_SELF
|
#define PTHREAD_RENAME_SELF
|
||||||
|
|
|
@ -176,7 +176,6 @@ def get_opts():
|
||||||
def get_flags():
|
def get_flags():
|
||||||
|
|
||||||
return [
|
return [
|
||||||
('glew','yes'),
|
|
||||||
('openssl','builtin'), #use builtin openssl
|
('openssl','builtin'), #use builtin openssl
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,4 @@
|
||||||
//#else
|
//#else
|
||||||
//#include <alloca.h>
|
//#include <alloca.h>
|
||||||
//#endif
|
//#endif
|
||||||
#define GLES2_INCLUDE_H "gl_context/GL/glew.h"
|
#define GLES2_INCLUDE_H "GL/glew.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -69,7 +69,6 @@ def get_flags():
|
||||||
|
|
||||||
return [
|
return [
|
||||||
('builtin_zlib', 'no'),
|
('builtin_zlib', 'no'),
|
||||||
('glew', 'yes'),
|
|
||||||
("openssl", "system"),
|
("openssl", "system"),
|
||||||
('freetype','yes'), # use system freetype
|
('freetype','yes'), # use system freetype
|
||||||
('libpng', 'system'),
|
('libpng', 'system'),
|
||||||
|
@ -179,6 +178,9 @@ def configure(env):
|
||||||
|
|
||||||
env.Append(CPPFLAGS=['-DOPENGL_ENABLED'])
|
env.Append(CPPFLAGS=['-DOPENGL_ENABLED'])
|
||||||
|
|
||||||
|
if (env["glew"] == "system"):
|
||||||
|
env.ParseConfig('pkg-config glew --cflags --libs')
|
||||||
|
|
||||||
if os.system("pkg-config --exists alsa")==0:
|
if os.system("pkg-config --exists alsa")==0:
|
||||||
print("Enabling ALSA")
|
print("Enabling ALSA")
|
||||||
env.Append(CPPFLAGS=["-DALSA_ENABLED"])
|
env.Append(CPPFLAGS=["-DALSA_ENABLED"])
|
||||||
|
|
|
@ -34,6 +34,4 @@
|
||||||
#define PTHREAD_BSD_SET_NAME
|
#define PTHREAD_BSD_SET_NAME
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define GLES2_INCLUDE_H "gl_context/GL/glew.h"
|
#define GLES2_INCLUDE_H "GL/glew.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
13
thirdparty/README.md
vendored
13
thirdparty/README.md
vendored
|
@ -18,6 +18,19 @@ for all platforms (especially WinRT). Check the diff with the 1.3.13 tarball
|
||||||
before the next update.
|
before the next update.
|
||||||
|
|
||||||
|
|
||||||
|
## glew
|
||||||
|
|
||||||
|
- Upstream: http://glew.sourceforge.net
|
||||||
|
- Version: 1.13.0
|
||||||
|
- License: BSD-3-Clause
|
||||||
|
|
||||||
|
Files extracted from upstream source:
|
||||||
|
|
||||||
|
- src/glew.c
|
||||||
|
- include/GL/ as GL/
|
||||||
|
- LICENSE.txt
|
||||||
|
|
||||||
|
|
||||||
## jpeg-compressor
|
## jpeg-compressor
|
||||||
|
|
||||||
- Upstream: https://github.com/richgel999/jpeg-compressor
|
- Upstream: https://github.com/richgel999/jpeg-compressor
|
||||||
|
|
73
thirdparty/glew/LICENSE.txt
vendored
Normal file
73
thirdparty/glew/LICENSE.txt
vendored
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
The OpenGL Extension Wrangler Library
|
||||||
|
Copyright (C) 2002-2007, Milan Ikits <milan ikits[]ieee org>
|
||||||
|
Copyright (C) 2002-2007, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
|
Copyright (C) 2002, Lev Povalahev
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimer in the documentation
|
||||||
|
and/or other materials provided with the distribution.
|
||||||
|
* The name of the author may be used to endorse or promote products
|
||||||
|
derived from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||||
|
THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
|
Mesa 3-D graphics library
|
||||||
|
Version: 7.0
|
||||||
|
|
||||||
|
Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
copy of this software and associated documentation files (the "Software"),
|
||||||
|
to deal in the Software without restriction, including without limitation
|
||||||
|
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
Software is furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included
|
||||||
|
in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||||
|
BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||||
|
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
|
||||||
|
Copyright (c) 2007 The Khronos Group Inc.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
copy of this software and/or associated documentation files (the
|
||||||
|
"Materials"), to deal in the Materials without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Materials, and to
|
||||||
|
permit persons to whom the Materials are furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included
|
||||||
|
in all copies or substantial portions of the Materials.
|
||||||
|
|
||||||
|
THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
Loading…
Add table
Reference in a new issue