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.
(cherry picked from commit 36738ddda4
)
This commit is contained in:
parent
8263fca121
commit
e04ec9565b
16 changed files with 115 additions and 19 deletions
|
@ -137,6 +137,7 @@ opts.Add('libwebp','libwebp library for webp module (system/builtin)','builtin')
|
|||
opts.Add('builtin_zlib','Use built-in zlib (yes/no)','yes')
|
||||
opts.Add('openssl','OpenSSL library for openssl module (system/builtin)','builtin')
|
||||
opts.Add('libmpcdec','libmpcdec library for mpc module (system/builtin)','builtin')
|
||||
opts.Add('glew','GLEW library for the gl_context (system/builtin)','builtin')
|
||||
opts.Add("CXX", "C++ Compiler")
|
||||
opts.Add("CC", "C Compiler")
|
||||
opts.Add("CCFLAGS", "Custom flags for the C++ compiler");
|
||||
|
|
|
@ -1,11 +1,26 @@
|
|||
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_STATIC'])
|
||||
env.Append(CPPPATH = ['.'])
|
||||
|
||||
# Godot source files
|
||||
env_glew.add_source_files(env.drivers_sources, "*.cpp")
|
||||
|
||||
Export('env')
|
||||
|
|
|
@ -24,7 +24,6 @@ def get_opts():
|
|||
def get_flags():
|
||||
return [
|
||||
('builtin_zlib', 'no'),
|
||||
('glew', 'yes'),
|
||||
]
|
||||
|
||||
def configure(env):
|
||||
|
|
|
@ -28,9 +28,7 @@ def get_opts():
|
|||
def get_flags():
|
||||
|
||||
return [
|
||||
('legacygl', 'yes'),
|
||||
('builtin_zlib', 'no'),
|
||||
('glew', 'yes'),
|
||||
('builtin_zlib', 'no'),
|
||||
]
|
||||
|
||||
|
||||
|
|
|
@ -27,5 +27,5 @@
|
|||
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
/*************************************************************************/
|
||||
#include <alloca.h>
|
||||
#define GLES2_INCLUDE_H "gl_context/GL/glew.h"
|
||||
#define GLES2_INCLUDE_H "GL/glew.h"
|
||||
#define PTHREAD_RENAME_SELF
|
||||
|
|
|
@ -27,7 +27,7 @@ def get_opts():
|
|||
def get_flags():
|
||||
|
||||
return [
|
||||
('builtin_zlib', 'no'),
|
||||
('builtin_zlib', 'no'),
|
||||
]
|
||||
|
||||
|
||||
|
|
|
@ -168,7 +168,6 @@ def get_opts():
|
|||
def get_flags():
|
||||
|
||||
return [
|
||||
('glew','yes'),
|
||||
('openssl','builtin'), #use builtin openssl
|
||||
]
|
||||
|
||||
|
|
|
@ -30,6 +30,4 @@
|
|||
//#else
|
||||
//#include <alloca.h>
|
||||
//#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 [
|
||||
('builtin_zlib', 'no'),
|
||||
('glew', 'yes'),
|
||||
("openssl", "system"),
|
||||
('freetype','yes'), # use system freetype
|
||||
('libpng', 'system'),
|
||||
|
@ -178,6 +177,9 @@ def configure(env):
|
|||
|
||||
env.Append(CPPFLAGS=['-DOPENGL_ENABLED'])
|
||||
|
||||
if (env["glew"] == "system"):
|
||||
env.ParseConfig('pkg-config glew --cflags --libs')
|
||||
|
||||
if os.system("pkg-config --exists alsa")==0:
|
||||
print("Enabling ALSA")
|
||||
env.Append(CPPFLAGS=["-DALSA_ENABLED"])
|
||||
|
|
|
@ -34,6 +34,4 @@
|
|||
#define PTHREAD_BSD_SET_NAME
|
||||
#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
|
@ -1,6 +1,19 @@
|
|||
# Third party libraries
|
||||
|
||||
|
||||
## 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
|
||||
|
||||
- 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…
Reference in a new issue