Merge https://github.com/nigels-com/glew.git into master HEAD at Wed Oct 10 17:44:15 GMT 2018

This commit is contained in:
Gyusun Yeom 2018-10-11 02:44:15 +09:00
commit 6755e0fcac
41 changed files with 848 additions and 733 deletions

View File

@ -1,53 +0,0 @@
env:
global:
- CONAN_USERNAME="nigels-com"
- CONAN_REFERENCE="glew/master"
- CONAN_CHANNEL="testing"
linux: &linux
os: linux
sudo: required
language: python
python: "2.7"
services:
- docker
osx: &osx
os: osx
language: generic
matrix:
include:
- <<: *linux
env: CONAN_GCC_VERSIONS=4.9 CONAN_DOCKER_IMAGE=lasote/conangcc49
- <<: *linux
env: CONAN_GCC_VERSIONS=5.4 CONAN_DOCKER_IMAGE=lasote/conangcc54
- <<: *linux
env: CONAN_GCC_VERSIONS=6.3 CONAN_DOCKER_IMAGE=lasote/conangcc63
- <<: *linux
env: CONAN_CLANG_VERSIONS=3.9 CONAN_DOCKER_IMAGE=lasote/conanclang39
- <<: *linux
env: CONAN_CLANG_VERSIONS=4.0 CONAN_DOCKER_IMAGE=lasote/conanclang40
- <<: *osx
osx_image: xcode7.3
env: CONAN_APPLE_CLANG_VERSIONS=7.3
- <<: *osx
osx_image: xcode8.2
env: CONAN_APPLE_CLANG_VERSIONS=8.0
- <<: *osx
osx_image: xcode8.3
env: CONAN_APPLE_CLANG_VERSIONS=8.1
install:
- chmod +x ./build/conan/.travis/install.sh
- ./build/conan/.travis/install.sh
script:
# Building master
- cp -rf ./build/conan/* .
- cp -rf ./build/conan/.travis .
- chmod +x .travis/run.sh
- .travis/run.sh
# Building released version
#- chmod +x ./build/conan/.travis/run.sh
#- cd ./build/conan && .travis/run.sh

View File

@ -292,6 +292,9 @@ dist-src:
mkdir -p $(DIST_DIR)/lib
cp -a auto $(DIST_DIR)
$(RM) -Rf $(DIST_DIR)/auto/registry
$(RM) -Rf $(DIST_DIR)/auto/glfixes
$(RM) -Rf $(DIST_DIR)/auto/OpenGL-Registry
$(RM) -Rf $(DIST_DIR)/auto/EGL-Registry
cp -a build $(DIST_DIR)
cp -a config $(DIST_DIR)
cp -a src $(DIST_DIR)

View File

@ -27,6 +27,8 @@ Windows binaries for [32-bit and 64-bit](https://sourceforge.net/projects/glew/f
Snapshots may contain new features, bug-fixes or new OpenGL extensions ahead of tested, official releases.
[glew-20181010.tgz](https://sourceforge.net/projects/glew/files/glew/snapshots/glew-20181010.tgz/download) *GLEW 2.2.0 RC1: New extensions, bug fixes*
## Build
It is highly recommended to build from a tgz or zip release snapshot.
@ -39,7 +41,7 @@ For most end-users of GLEW the official releases are the best choice, with first
##### Install build tools
Debian/Ubuntu/Mint: `$ sudo apt-get install build-essential libxmu-dev libxi-dev libgl-dev libosmesa-dev`
Debian/Ubuntu/Mint: `$ sudo apt-get install build-essential libxmu-dev libxi-dev libgl-dev`
RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel`
@ -55,15 +57,31 @@ Variables: `SYSTEM=linux-clang, GLEW_DEST=/usr/local, STRIP=`
_Note: may need to make **auto** folder_
##### Linux EGL
$ sudo apt install libegl1-mesa-dev
$ make SYSTEM=linux-egl
##### Linux OSMesa
$ sudo apt install libosmesa-dev
$ make SYSTEM=linux-osmesa
##### Linux mingw-w64
$ sudo apt install mingw-w64
$ make SYSTEM=linux-mingw32
$ make SYSTEM=linux-mingw64
#### Using cmake
*CMake 2.8.12 or higher is required.*
##### Install build tools
Debian/Ubuntu/Mint: `$ sudo apt-get install build-essential libXmu-dev libXi-dev libgl-dev cmake`
Debian/Ubuntu/Mint: `$ sudo apt-get install build-essential libxmu-dev libxi-dev libgl-dev cmake git`
RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel cmake`
RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel cmake git`
##### Build
@ -180,6 +198,21 @@ Pasi K&auml;rkk&auml;inen identified and fixed several problems with
GLX and SDL. Nate Robins created the `wglinfo` utility, to
which modifications were made by Michael Wimmer.
## Contributions
GLEW welcomes community contributions. Typically these are co-ordinated
via [Issues](https://github.com/nigels-com/glew/issues) or
[Pull Requests](https://github.com/nigels-com/glew/pulls) in the
GitHub web interface.
Be sure to mention platform and compiler toolchain details when filing
a bug report. The output of `glewinfo` can be quite useful for discussion
also.
Generally GLEW is released once a year, around the time of the Siggraph
computer graphics conference. If you're not using the current release
version of GLEW, be sure to check if the issue or bug is fixed there.
## Copyright and Licensing
GLEW is originally derived from the EXTGL project by Lev Povalahev.

View File

@ -12,29 +12,8 @@ include ../config/version
SHELL = bash
PYTHON ?= python
### Use git repository for GL extension specifications
GIT_CLONE ?= git clone --branch glew https://github.com/nigels-com/glfixes.git
###
### Conventional desktop OpenGL settings
###
REGISTRY = registry/gl/specs
EXT = extensions/gl
FILTER = filter_gl_ext.sh
CORE = core/gl
REGISTRY_URL = http://www.opengl.org/registry/
###
### Experimental OpenGL ES settings
###
# REGISTRY = registry/gles
# EXT = extensions/gles
# FILTER = filter_gles_ext.sh
# CORE = core/gles
# REGISTRY_URL = http://www.khronos.org/registry/gles/
BIN = bin
SRC = src
@ -103,24 +82,29 @@ B.TARGETS = \
all custom: $(I.TARGETS) $(S.TARGETS) $(D.TARGETS) $(B.TARGETS)
registry: $(REGISTRY)/.dummy
registry: OpenGL-Registry/.dummy
ext: $(EXT)/.dummy
$(REGISTRY)/.dummy:
OpenGL-Registry/.dummy:
@echo "--------------------------------------------------------------------"
@echo "Downloading registry"
@echo "Downloading OpenGL-Registry"
@echo "--------------------------------------------------------------------"
$(GIT_CLONE) registry
git clone https://github.com/KhronosGroup/OpenGL-Registry.git OpenGL-Registry
git clone https://github.com/KhronosGroup/EGL-Registry.git EGL-Registry
git clone --branch glew https://github.com/nigels-com/glfixes glfixes
touch $@
$(EXT)/.dummy: $(REGISTRY)/.dummy
$(EXT)/.dummy: OpenGL-Registry/.dummy
@echo "--------------------------------------------------------------------"
@echo "Creating descriptors"
@echo "--------------------------------------------------------------------"
rm -rf $(EXT)
$(BIN)/update_ext.sh $(EXT) $(REGISTRY) $(BLACKLIST)
$(PYTHON) $(BIN)/parse_xml.py registry/xml/egl.xml --core core/gl --extensions extensions/gl
$(BIN)/$(FILTER) $(EXT)
cp -r glfixes/gl/specs/ANGLE OpenGL-Registry/extensions
cp -r glfixes/gl/specs/REGAL OpenGL-Registry/extensions
$(BIN)/update_ext.sh $(EXT) OpenGL-Registry/extensions $(BLACKLIST)
# $(PYTHON) $(BIN)/parse_xml.py EGL-Registry/api/egl.xml --core core/gl --extensions extensions/gl
$(PYTHON) $(BIN)/parse_xml.py EGL-Registry/api/egl.xml --extensions extensions/gl
$(BIN)/filter_gl_ext.sh $(EXT)
ifeq ($(patsubst Darwin%,Darwin,$(SYSTEM)), Darwin)
find $(CORE) -maxdepth 1 -type f | grep -v VERSION | grep -v "~" | \
xargs -J % cp % $(EXT)
@ -209,7 +193,7 @@ $(S.DEST)/glew.c: $(EXT)/.dummy
$(BIN)/make_def_var.pl GL $(GL_EXT_SPEC) >> $@
echo -e "\nstatic const char * _glewExtensionLookup[] = {" >> $@;
$(BIN)/make_index.pl $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@
echo -e " NULL\n};\n" >> $@;
echo -e " NULL\n};\n\n" >> $@;
$(BIN)/make_enable_index.pl $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@
$(BIN)/make_initd.pl GL $(GL_CORE_SPEC) >> $@
$(BIN)/make_initd.pl GL $(GL_EXT_SPEC) >> $@

View File

@ -287,9 +287,9 @@ EOT
BOOL wglCopyImageSubDataNV (HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth)
EOT
# Filter glProgramParameteri from GL_ARB_separate_shader_objects
# grep -v "glProgramParameteri" $1/GL_ARB_separate_shader_objects > tmp
# mv tmp $1/GL_ARB_separate_shader_objects
# Filter glProgramUniform from GL_EXT_separate_shader_objects
cat $1/GL_EXT_separate_shader_objects | grep -v "glProgramUniform" | grep -v "glProgramParameteri" > tmp
mv tmp $1/GL_EXT_separate_shader_objects
# Filter out EXT functions from GL_ARB_viewport_array
grep -v "EXT" $1/GL_ARB_viewport_array > tmp
@ -500,10 +500,6 @@ EOT
grep -v 'GL_NONE' $1/GL_KHR_context_flush_control > tmp
mv tmp $1/GL_KHR_context_flush_control
# Filter out GL_NONE enum from GL_EGL_KHR_context_flush_control
grep -v 'GL_NONE' $1/GL_EGL_KHR_context_flush_control > tmp
mv tmp $1/GL_EGL_KHR_context_flush_control
# Filter out CoverageModulation from NV_framebuffer_mixed_samples
# Superset of EXT_raster_multisample
@ -558,6 +554,50 @@ EOT
grep -v "TextureStorage" $1/GL_ARB_texture_storage > tmp
mv tmp $1/GL_ARB_texture_storage
# Filter out functions from GL_EXT_occlusion_query_boolean
grep -v "(" $1/GL_EXT_occlusion_query_boolean > tmp
mv tmp $1/GL_EXT_occlusion_query_boolean
# Filter out duplicate enums from GL_EXT_protected_textures
cat $1/GL_EXT_protected_textures | grep -v GL_TRUE | grep -v GL_FALSE > tmp
mv tmp $1/GL_EXT_protected_textures
# Filter out duplicate enums from GL_EXT_robustness
cat $1/GL_EXT_robustness | grep -v GL_NO_ERROR > tmp
mv tmp $1/GL_EXT_robustness
# Filter GL_EXT_shader_framebuffer_fetch_non_coherent
grep -v "FramebufferFetchBarrierEXT" $1/GL_EXT_shader_framebuffer_fetch_non_coherent > tmp
mv tmp $1/GL_EXT_shader_framebuffer_fetch_non_coherent
# Filter GL_EXT_tessellation_shader
grep -v "PatchParameteriEXT" $1/GL_EXT_tessellation_shader > tmp
mv tmp $1/GL_EXT_tessellation_shader
# Filter GL_EXT_texture_buffer
grep -v "TexBuffer" $1/GL_EXT_texture_buffer > tmp
mv tmp $1/GL_EXT_texture_buffer
# Filter GL_EXT_texture_border_clamp
grep -v "TexParameter" $1/GL_EXT_texture_border_clamp > tmp
mv tmp $1/GL_EXT_texture_border_clamp
# Filter GL_EXT_disjoint_timer_query
cat $1/GL_EXT_disjoint_timer_query | grep -v GetQueryObjecti64v | grep -v GetQueryObjectui64v > tmp
mv tmp $1/GL_EXT_disjoint_timer_query
# Filter GL_NV_read_buffer_front
grep -v "ReadBufferNV" $1/GL_NV_read_buffer_front > tmp
mv tmp $1/GL_NV_read_buffer_front
# Append GLVULKANPROCNV to GL_NV_draw_vulkan_image
# Probably ought to be explicitly mentioned in the spec language

View File

@ -9,6 +9,7 @@
use strict;
use warnings;
use File::Basename;
use lib '.';
do 'bin/make.pl';
@ -29,7 +30,7 @@ if (@ARGV)
print "/* Detected via extension string or experimental mode */\n";
print "static GLboolean* _glewExtensionEnabled[] = {\n";;
foreach my $ext (sort @extlist)
foreach my $ext (sort { basename($a) cmp basename($b) } @extlist)
{
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) =
parse_ext($ext);
@ -42,5 +43,5 @@ if (@ARGV)
print "#endif\n";
}
print " NULL\n};\n";
print " NULL\n};\n\n";
}

View File

@ -9,6 +9,7 @@
use strict;
use warnings;
use File::Basename;
use lib '.';
do 'bin/make.pl';
@ -27,7 +28,7 @@ if (@ARGV)
{
@extlist = @ARGV;
foreach my $ext (sort @extlist)
foreach my $ext (sort { basename($a) cmp basename($b) } @extlist)
{
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) =
parse_ext($ext);

View File

@ -69,6 +69,10 @@ my %typemap = (
uint64 => "GLuint64",
sync => "GLsync",
# GL_EXT_EGL_image_storage
eglImageOES => "GLeglImageOES",
# AMD_debug_output
DEBUGPROCAMD => "GLDEBUGPROCAMD",
@ -137,6 +141,14 @@ my %fnc_ignore_list = (
"ProgramLocalParameter4fARB" => "ARB_vertex_program",
"ProgramLocalParameter4fvARB" => "ARB_vertex_program",
"ProgramStringARB" => "ARB_vertex_program",
"EGLImageTargetTexture2DOES" => "OES_EGL_image",
"FramebufferTextureOES" => "GL_OES_geometry_shader",
"PatchParameteriOES" => "GL_OES_tessellation_shader",
"PointSizePointerOES" => "GL_OES_point_size_array",
"LockArraysEXT" => "EXT_compiled_vertex_array",
"UnlockArraysEXT" => "EXT_compiled_vertex_array",
"CoverageMaskNV" => "NV_coverage_sample",
"CoverageOperationNV" => "NV_coverage_sample",
"glXCreateContextAttribsARB" => "ARB_create_context_profile",
"wglCreateContextAttribsARB" => "WGL_ARB_create_context_profile",
);
@ -146,8 +158,8 @@ my %regex = (
extname => qr/^[A-Z][A-Za-z0-9_]+$/,
none => qr/^\(none\)$/,
function => qr/^(.+) ([a-z][a-z0-9_]*) \((.+)\)$/i,
prefix => qr/^(?:[aw]?gl|glX)/, # gl | agl | wgl | glX
tprefix => qr/^(?:[AW]?GL|GLX)_/, # GL_ | AGL_ | WGL_ | GLX_
prefix => qr/^(?:[aw]?gl|glX|egl)/, # gl | agl | wgl | glX
tprefix => qr/^(?:[AW]?GL|GLX|EGL)_/, # GL_ | AGL_ | WGL_ | GLX_
section => compile_regex('^(', join('|', @sections), ')$'), # sections in spec
token => qr/^([A-Z0-9][A-Z0-9_x]*):?\s+((?:0x)?[0-9A-Fa-f]+(u(ll)?)?)(|\s[^\?]*)$/, # define tokens
types => compile_regex('\b(', join('|', keys %typemap), ')\b'), # var types
@ -311,7 +323,7 @@ my @speclist = ();
my %extensions = ();
my $ext_dir = shift;
my $reg_http = "http://www.opengl.org/registry/specs/";
my $reg_http = "https://www.khronos.org/registry/OpenGL/extensions/";
# Take command line arguments or read list from file
if (@ARGV)
@ -332,7 +344,7 @@ foreach my $spec (sort @speclist)
open EXT, ">$info";
print EXT $ext . "\n"; # Extension name
my $specname = $spec;
$specname =~ s/registry\/gl\/specs\///;
$specname =~ s/OpenGL-Registry\/extensions\///;
print EXT $reg_http . $specname . "\n"; # Extension info URL
print EXT $ext . "\n"; # Extension string
print EXT "\n"; # Resuses nothing by default

View File

@ -5,10 +5,31 @@ EXT/vertex_array_set.txt
EXT/nurbs_tessellator.txt
EXT/object_space_tess.txt
SGI/filter4_parameters.txt
SGIS/texture_color_mask.txt
SGIX/dmbuffer.txt
SGIX/instruments.txt
SGIX/video_source.txt
SGIX/hyperpipe_group.txt
SGIS/SGIS_texture_color_mask.txt
SGIX/SGIX_dmbuffer.txt
SGIX/SGIX_instruments.txt
SGIX/SGIX_video_source.txt
SGIX/SGIX_hyperpipe_group.txt
SGIX/GLX_SGIX_color_type.txt
SGIX/GLX_SGIX_color_typeXXX.txt
SGIX/GLX_SGIX_dm_buffer.txt
SGIX/GLX_SGIX_fbconfig_float.txt
SGIX/GLX_SGIX_video_resize_float.txt
SGIX/GLX_SGIX_video_source.txt
SGIX/GLX_SGIX_wait_group.txt
SGI/GLX_SGI_transparent_pixel.txt
OES/OES_fixed_point.txt
OES/OES_query_matrix.txt
IMG/IMG_user_clip_plane.txt
NV/NV_query_resource.txt
NV/EGL_NV_coverage_sample.txt
OES/OES_draw_elements_base_vertex.txt
OES/OES_viewport_array.txt
OES/EGL_KHR_fence_sync.txt
EXT/EXT_texenv_op.txt
EXT/EXT_transform_feedback2.txt
EXT/EXT_vertex_array_set.txt
EXT/EXT_separate_shader_objects.gles.txt
IGLOO/IGLOO_swap_triangle_strip_vertex_pointerXXX.txt
IGLOO/IGLOO_viewport_offsetXXX.txt
IGLOO/IGLOO_toggle_color_and_lightXXX.txt

View File

@ -0,0 +1,7 @@
EGL_EXT_device_base
https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf
EGL_EXT_device_base
EGL_BAD_DEVICE_EXT 0x322B
EGL_DEVICE_EXT 0x322C
EGL_NO_DEVICE_EXT EGL_CAST(EGLDeviceEXT,0)

View File

@ -0,0 +1,7 @@
EGL_KHR_fence_sync
https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf
EGL_KHR_fence_sync
EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0
EGL_SYNC_CONDITION_KHR 0x30F8
EGL_SYNC_FENCE_KHR 0x30F9

View File

@ -0,0 +1,6 @@
EGL_KHR_image_base
https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf
EGL_KHR_image_base
EGL_IMAGE_PRESERVED_KHR 0x30D2
EGL_NO_IMAGE_KHR EGL_CAST(EGLImageKHR,0)

View File

@ -0,0 +1,27 @@
EGL_KHR_lock_surface3
https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf
EGL_KHR_lock_surface3
EGL_READ_SURFACE_BIT_KHR 0x0001
EGL_WRITE_SURFACE_BIT_KHR 0x0002
EGL_LOCK_SURFACE_BIT_KHR 0x0080
EGL_OPTIMAL_FORMAT_BIT_KHR 0x0100
EGL_MATCH_FORMAT_KHR 0x3043
EGL_FORMAT_RGB_565_EXACT_KHR 0x30C0
EGL_FORMAT_RGB_565_KHR 0x30C1
EGL_FORMAT_RGBA_8888_EXACT_KHR 0x30C2
EGL_FORMAT_RGBA_8888_KHR 0x30C3
EGL_MAP_PRESERVE_PIXELS_KHR 0x30C4
EGL_LOCK_USAGE_HINT_KHR 0x30C5
EGL_BITMAP_POINTER_KHR 0x30C6
EGL_BITMAP_PITCH_KHR 0x30C7
EGL_BITMAP_ORIGIN_KHR 0x30C8
EGL_BITMAP_PIXEL_RED_OFFSET_KHR 0x30C9
EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA
EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR 0x30CB
EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC
EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD
EGL_LOWER_LEFT_KHR 0x30CE
EGL_UPPER_LEFT_KHR 0x30CF
EGL_BITMAP_PIXEL_SIZE_KHR 0x3110
EGLBoolean eglQuerySurface64KHR (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR * value)

View File

@ -0,0 +1,86 @@
EGL_VERSION_1_0
https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf
EGL_FALSE 0
EGL_PBUFFER_BIT 0x0001
EGL_PIXMAP_BIT 0x0002
EGL_WINDOW_BIT 0x0004
EGL_SUCCESS 0x3000
EGL_NOT_INITIALIZED 0x3001
EGL_BAD_ACCESS 0x3002
EGL_BAD_ALLOC 0x3003
EGL_BAD_ATTRIBUTE 0x3004
EGL_BAD_CONFIG 0x3005
EGL_BAD_CONTEXT 0x3006
EGL_BAD_CURRENT_SURFACE 0x3007
EGL_BAD_DISPLAY 0x3008
EGL_BAD_MATCH 0x3009
EGL_BAD_NATIVE_PIXMAP 0x300A
EGL_BAD_NATIVE_WINDOW 0x300B
EGL_BAD_PARAMETER 0x300C
EGL_BAD_SURFACE 0x300D
EGL_BUFFER_SIZE 0x3020
EGL_ALPHA_SIZE 0x3021
EGL_BLUE_SIZE 0x3022
EGL_GREEN_SIZE 0x3023
EGL_RED_SIZE 0x3024
EGL_DEPTH_SIZE 0x3025
EGL_STENCIL_SIZE 0x3026
EGL_CONFIG_CAVEAT 0x3027
EGL_CONFIG_ID 0x3028
EGL_LEVEL 0x3029
EGL_MAX_PBUFFER_HEIGHT 0x302A
EGL_MAX_PBUFFER_PIXELS 0x302B
EGL_MAX_PBUFFER_WIDTH 0x302C
EGL_NATIVE_RENDERABLE 0x302D
EGL_NATIVE_VISUAL_ID 0x302E
EGL_NATIVE_VISUAL_TYPE 0x302F
EGL_SAMPLES 0x3031
EGL_SAMPLE_BUFFERS 0x3032
EGL_SURFACE_TYPE 0x3033
EGL_TRANSPARENT_TYPE 0x3034
EGL_TRANSPARENT_BLUE_VALUE 0x3035
EGL_TRANSPARENT_GREEN_VALUE 0x3036
EGL_TRANSPARENT_RED_VALUE 0x3037
EGL_NONE 0x3038
EGL_SLOW_CONFIG 0x3050
EGL_NON_CONFORMANT_CONFIG 0x3051
EGL_TRANSPARENT_RGB 0x3052
EGL_VENDOR 0x3053
EGL_VERSION 0x3054
EGL_EXTENSIONS 0x3055
EGL_HEIGHT 0x3056
EGL_WIDTH 0x3057
EGL_LARGEST_PBUFFER 0x3058
EGL_DRAW 0x3059
EGL_READ 0x305A
EGL_CORE_NATIVE_ENGINE 0x305B
EGL_TRUE 1
EGL_NO_CONTEXT EGL_CAST(EGLContext,0)
EGL_NO_DISPLAY EGL_CAST(EGLDisplay,0)
EGL_NO_SURFACE EGL_CAST(EGLSurface,0)
EGL_DONT_CARE EGL_CAST(EGLint,-1)
EGLBoolean eglChooseConfig (EGLDisplay dpy, const EGLint * attrib_list, EGLConfig * configs, EGLint config_size, EGLint * num_config)
EGLBoolean eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target)
EGLContext eglCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint * attrib_list)
EGLSurface eglCreatePbufferSurface (EGLDisplay dpy, EGLConfig config, const EGLint * attrib_list)
EGLSurface eglCreatePixmapSurface (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint * attrib_list)
EGLSurface eglCreateWindowSurface (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint * attrib_list)
EGLBoolean eglDestroyContext (EGLDisplay dpy, EGLContext ctx)
EGLBoolean eglDestroySurface (EGLDisplay dpy, EGLSurface surface)
EGLBoolean eglGetConfigAttrib (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint * value)
EGLBoolean eglGetConfigs (EGLDisplay dpy, EGLConfig * configs, EGLint config_size, EGLint * num_config)
EGLDisplay eglGetCurrentDisplay ( void )
EGLSurface eglGetCurrentSurface (EGLint readdraw)
EGLDisplay eglGetDisplay (EGLNativeDisplayType display_id)
EGLint eglGetError ( void )
EGLBoolean eglInitialize (EGLDisplay dpy, EGLint * major, EGLint * minor)
EGLBoolean eglMakeCurrent (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx)
EGLBoolean eglQueryContext (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint * value)
const char * eglQueryString (EGLDisplay dpy, EGLint name)
EGLBoolean eglQuerySurface (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint * value)
EGLBoolean eglSwapBuffers (EGLDisplay dpy, EGLSurface surface)
EGLBoolean eglTerminate (EGLDisplay dpy)
EGLBoolean eglWaitGL ( void )
EGLBoolean eglWaitNative (EGLint engine)

View File

@ -0,0 +1,22 @@
EGL_VERSION_1_1
https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf
EGL_CONTEXT_LOST 0x300E
EGL_BIND_TO_TEXTURE_RGB 0x3039
EGL_BIND_TO_TEXTURE_RGBA 0x303A
EGL_MIN_SWAP_INTERVAL 0x303B
EGL_MAX_SWAP_INTERVAL 0x303C
EGL_NO_TEXTURE 0x305C
EGL_TEXTURE_RGB 0x305D
EGL_TEXTURE_RGBA 0x305E
EGL_TEXTURE_2D 0x305F
EGL_TEXTURE_FORMAT 0x3080
EGL_TEXTURE_TARGET 0x3081
EGL_MIPMAP_TEXTURE 0x3082
EGL_MIPMAP_LEVEL 0x3083
EGL_BACK_BUFFER 0x3084
EGLBoolean eglBindTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer)
EGLBoolean eglReleaseTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer)
EGLBoolean eglSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value)
EGLBoolean eglSwapInterval (EGLDisplay dpy, EGLint interval)

View File

@ -0,0 +1,38 @@
EGL_VERSION_1_2
https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf
EGL_OPENGL_ES_BIT 0x0001
EGL_OPENVG_BIT 0x0002
EGL_LUMINANCE_SIZE 0x303D
EGL_ALPHA_MASK_SIZE 0x303E
EGL_COLOR_BUFFER_TYPE 0x303F
EGL_RENDERABLE_TYPE 0x3040
EGL_SINGLE_BUFFER 0x3085
EGL_RENDER_BUFFER 0x3086
EGL_COLORSPACE 0x3087
EGL_ALPHA_FORMAT 0x3088
EGL_COLORSPACE_sRGB 0x3089
EGL_COLORSPACE_LINEAR 0x308A
EGL_ALPHA_FORMAT_NONPRE 0x308B
EGL_ALPHA_FORMAT_PRE 0x308C
EGL_CLIENT_APIS 0x308D
EGL_RGB_BUFFER 0x308E
EGL_LUMINANCE_BUFFER 0x308F
EGL_HORIZONTAL_RESOLUTION 0x3090
EGL_VERTICAL_RESOLUTION 0x3091
EGL_PIXEL_ASPECT_RATIO 0x3092
EGL_SWAP_BEHAVIOR 0x3093
EGL_BUFFER_PRESERVED 0x3094
EGL_BUFFER_DESTROYED 0x3095
EGL_OPENVG_IMAGE 0x3096
EGL_CONTEXT_CLIENT_TYPE 0x3097
EGL_OPENGL_ES_API 0x30A0
EGL_OPENVG_API 0x30A1
EGL_DISPLAY_SCALING 10000
EGL_UNKNOWN EGL_CAST(EGLint,-1)
EGLBoolean eglBindAPI (EGLenum api)
EGLSurface eglCreatePbufferFromClientBuffer (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint * attrib_list)
EGLenum eglQueryAPI ( void )
EGLBoolean eglReleaseThread ( void )
EGLBoolean eglWaitClient ( void )

View File

@ -0,0 +1,16 @@
EGL_VERSION_1_3
https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf
EGL_OPENGL_ES2_BIT 0x0004
EGL_VG_COLORSPACE_LINEAR_BIT 0x0020
EGL_VG_ALPHA_FORMAT_PRE_BIT 0x0040
EGL_MATCH_NATIVE_PIXMAP 0x3041
EGL_CONFORMANT 0x3042
EGL_VG_COLORSPACE 0x3087
EGL_VG_ALPHA_FORMAT 0x3088
EGL_VG_COLORSPACE_sRGB 0x3089
EGL_VG_COLORSPACE_LINEAR 0x308A
EGL_VG_ALPHA_FORMAT_NONPRE 0x308B
EGL_VG_ALPHA_FORMAT_PRE 0x308C
EGL_CONTEXT_CLIENT_VERSION 0x3098

View File

@ -0,0 +1,13 @@
EGL_VERSION_1_4
https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf
EGL_OPENGL_BIT 0x0008
EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x0200
EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400
EGL_MULTISAMPLE_RESOLVE 0x3099
EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309A
EGL_MULTISAMPLE_RESOLVE_BOX 0x309B
EGL_OPENGL_API 0x30A2
EGL_DEFAULT_DISPLAY EGL_CAST(EGLNativeDisplayType,0)
EGLContext eglGetCurrentContext ( void )

View File

@ -0,0 +1,59 @@
EGL_VERSION_1_5
https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf
EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT 0x00000001
EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT 0x00000002
EGL_OPENGL_ES3_BIT 0x00000040
EGL_SYNC_FLUSH_COMMANDS_BIT 0x0001
EGL_GL_COLORSPACE_SRGB 0x3089
EGL_GL_COLORSPACE_LINEAR 0x308A
EGL_CONTEXT_MAJOR_VERSION 0x3098
EGL_CL_EVENT_HANDLE 0x309C
EGL_GL_COLORSPACE 0x309D
EGL_GL_TEXTURE_2D 0x30B1
EGL_GL_TEXTURE_3D 0x30B2
EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x30B3
EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x30B4
EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x30B5
EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x30B6
EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x30B7
EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x30B8
EGL_GL_RENDERBUFFER 0x30B9
EGL_GL_TEXTURE_LEVEL 0x30BC
EGL_GL_TEXTURE_ZOFFSET 0x30BD
EGL_IMAGE_PRESERVED 0x30D2
EGL_SYNC_PRIOR_COMMANDS_COMPLETE 0x30F0
EGL_SYNC_STATUS 0x30F1
EGL_SIGNALED 0x30F2
EGL_UNSIGNALED 0x30F3
EGL_TIMEOUT_EXPIRED 0x30F5
EGL_CONDITION_SATISFIED 0x30F6
EGL_SYNC_TYPE 0x30F7
EGL_SYNC_CONDITION 0x30F8
EGL_SYNC_FENCE 0x30F9
EGL_CONTEXT_MINOR_VERSION 0x30FB
EGL_CONTEXT_OPENGL_PROFILE_MASK 0x30FD
EGL_SYNC_CL_EVENT 0x30FE
EGL_SYNC_CL_EVENT_COMPLETE 0x30FF
EGL_CONTEXT_OPENGL_DEBUG 0x31B0
EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE 0x31B1
EGL_CONTEXT_OPENGL_ROBUST_ACCESS 0x31B2
EGL_CONTEXT_OPENGL_ROBUST_ACCESS 0x31B2
EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY 0x31BD
EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY 0x31BD
EGL_NO_RESET_NOTIFICATION 0x31BE
EGL_LOSE_CONTEXT_ON_RESET 0x31BF
EGL_FOREVER 0xFFFFFFFFFFFFFFFF
EGL_NO_IMAGE EGL_CAST(EGLImage,0)
EGL_NO_SYNC EGL_CAST(EGLSync,0)
EGLint eglClientWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout)
EGLImage eglCreateImage (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib * attrib_list)
EGLSurface eglCreatePlatformPixmapSurface (EGLDisplay dpy, EGLConfig config, void * native_pixmap, const EGLAttrib * attrib_list)
EGLSurface eglCreatePlatformWindowSurface (EGLDisplay dpy, EGLConfig config, void * native_window, const EGLAttrib * attrib_list)
EGLSync eglCreateSync (EGLDisplay dpy, EGLenum type, const EGLAttrib * attrib_list)
EGLBoolean eglDestroyImage (EGLDisplay dpy, EGLImage image)
EGLBoolean eglDestroySync (EGLDisplay dpy, EGLSync sync)
EGLDisplay eglGetPlatformDisplay (EGLenum platform, void * native_display, const EGLAttrib * attrib_list)
EGLBoolean eglGetSyncAttrib (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib * value)
EGLBoolean eglWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags)

View File

@ -0,0 +1,8 @@
GLX_ARB_context_flush_control
https://www.khronos.org/registry/OpenGL/extensions/KHR/KHR_context_flush_control.txt
GLX_ARB_context_flush_control
GLX_CONTEXT_RELEASE_BEHAVIOR_ARB 0x2097
GLX_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB 0x0000
GLX_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB 0x2098

View File

@ -0,0 +1,7 @@
GL_KHR_context_flush_control
https://www.khronos.org/registry/OpenGL/extensions/KHR/KHR_context_flush_control.txt
GL_KHR_context_flush_control
GL_CONTEXT_RELEASE_BEHAVIOR 0x82FB
GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH 0x82FC

View File

@ -0,0 +1,15 @@
GL_NV_sample_locations
https://www.khronos.org/registry/OpenGL/extensions/NV/NV_sample_locations.txt
GL_NV_sample_locations
GL_SAMPLE_LOCATION_NV 0x8E50
GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV 0x933D
GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV 0x933E
GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV 0x933F
GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV 0x9340
GL_PROGRAMMABLE_SAMPLE_LOCATION_NV 0x9341
GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV 0x9342
GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV 0x9343
void glFramebufferSampleLocationsfvNV (GLenum target, GLuint start, GLsizei count, const GLfloat* v)
void glNamedFramebufferSampleLocationsfvNV (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat* v)
void glResolveDepthValuesNV (void)

View File

@ -0,0 +1,8 @@
WGL_ARB_context_flush_control
https://www.khronos.org/registry/OpenGL/extensions/KHR/KHR_context_flush_control.txt
WGL_ARB_context_flush_control
WGL_CONTEXT_RELEASE_BEHAVIOR_ARB 0x2097
WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB 0x0000
WGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB 0x2098

View File

@ -72,6 +72,7 @@ typedef khronos_utime_nanoseconds_t EGLuint64NV;
typedef khronos_stime_nanoseconds_t EGLnsecsANDROID;
struct EGLClientPixmapHI;
struct AHardwareBuffer;
#define EGL_DONT_CARE ((EGLint)-1)

View File

@ -231,6 +231,8 @@ typedef struct __GLsync *GLsync;
typedef char GLchar;
typedef void *GLeglImageOES; /* GL_EXT_EGL_image_storage */
#define GL_ZERO 0
#define GL_FALSE 0
#define GL_LOGIC_OP 0x0BF1

View File

@ -1,18 +0,0 @@
#Backup files
*\~
*swp
#OSX
Thumbs.db
.DS_Store
#Emacs buffers
\#*\#
\.#*
#Conan
test_package/build
conanfile.pyc
conaninfo.txt
conanbuildinfo.cmake
conanbuildinfo.txt

View File

@ -1,24 +0,0 @@
#!/bin/bash
set -e
set -x
if [[ "$(uname -s)" == 'Darwin' ]]; then
brew update || brew update
brew outdated pyenv || brew upgrade pyenv
brew install pyenv-virtualenv
brew install cmake || true
if which pyenv > /dev/null; then
eval "$(pyenv init -)"
fi
pyenv install 2.7.10
pyenv virtualenv 2.7.10 conan
pyenv rehash
pyenv activate conan
fi
pip install conan_package_tools
conan user

View File

@ -1,13 +0,0 @@
#!/bin/bash
set -e
set -x
if [[ "$(uname -s)" == 'Darwin' ]]; then
if which pyenv > /dev/null; then
eval "$(pyenv init -)"
fi
pyenv activate conan
fi
python build.py

View File

@ -1,18 +0,0 @@
find_path(
GLEW_INCLUDE_DIR
NAMES
GL
PATHS
include)
find_library(
GLEW_LIBRARY
NAMES
GLEW GLEWd glew32 glew32s glew32d glew32sd
PATHS
lib)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(GLEW REQUIRED_VARS GLEW_LIBRARY GLEW_INCLUDE_DIR)

View File

@ -1,12 +0,0 @@
from conan.packager import ConanMultiPackager
import os, platform
if __name__ == "__main__":
builder = ConanMultiPackager(args="--build missing")
builder.add_common_builds()
filtered_builds = []
for settings, options, env_vars, build_requires in builder.builds:
if not (settings["arch"] == "x86"):
filtered_builds.append([settings, options, env_vars, build_requires])
builder.builds = filtered_builds
builder.run()

View File

@ -1,150 +0,0 @@
import os
from conans import ConanFile, CMake
from conans.tools import os_info, SystemPackageTool, ConanException, replace_in_file
from conans import tools, VisualStudioBuildEnvironment
from conans.tools import build_sln_command, vcvars_command, download, unzip
class GlewConan(ConanFile):
name = "glew"
version = "master"
source_directory = "%s-%s" % (name, version) if version != "master" else "."
description = "The GLEW library"
generators = "cmake", "txt"
settings = "os", "arch", "build_type", "compiler"
options = {"shared": [True, False]}
default_options = "shared=False"
url="http://github.com/nigels-com/glew"
license="https://github.com/nigels-com/glew#copyright-and-licensing"
if version == "master":
if os.path.isfile("Makefile"):
exports_sources = "*"
else:
exports_sources = os.sep.join(["..", "..", "*"])
else:
exports = "FindGLEW.cmake"
def system_requirements(self):
if os_info.is_linux:
if os_info.with_apt:
installer = SystemPackageTool()
if self.version == "master":
installer.install("build-essential")
installer.install("libxmu-dev")
installer.install("libxi-dev")
installer.install("libgl-dev")
installer.install("libosmesa-dev")
if self.settings.arch == "x86" and tools.detected_architecture() == "x86_64":
installer.install("libglu1-mesa-dev:i386")
else:
installer.install("libglu1-mesa-dev")
elif os_info.with_yum:
installer = SystemPackageTool()
if self.version == "master":
installer.install("libXmu-devel")
installer.install("libXi-devel")
installer.install("libGL-devel")
if self.settings.arch == "x86" and tools.detected_architecture() == "x86_64":
installer.install("mesa-libGLU-devel.i686")
else:
installer.install("mesa-libGLU-devel")
else:
self.output.warn("Could not determine Linux package manager, skipping system requirements installation.")
def configure(self):
del self.settings.compiler.libcxx
def source(self):
if self.version != "master":
zip_name = "%s.tgz" % self.source_directory
download("https://sourceforge.net/projects/glew/files/glew/%s/%s/download" % (self.version, zip_name), zip_name)
unzip(zip_name)
os.unlink(zip_name)
def build(self):
if self.settings.os == "Windows" and self.version == "master":
raise ConanException("Trunk builds are not supported on Windows (cannot build directly from master git repository).")
if self.settings.compiler == "Visual Studio":
env = VisualStudioBuildEnvironment(self)
with tools.environment_append(env.vars):
version = min(12, int(self.settings.compiler.version.value))
version = 10 if version == 11 else version
cd_build = "cd %s\\%s\\build\\vc%s" % (self.build_folder, self.source_directory, version)
build_command = build_sln_command(self.settings, "glew.sln")
vcvars = vcvars_command(self.settings)
self.run("%s && %s && %s" % (vcvars, cd_build, build_command.replace("x86", "Win32")))
else:
if self.version == "master":
self.run("make extensions")
replace_in_file("%s/build/cmake/CMakeLists.txt" % self.source_directory, "include(GNUInstallDirs)",
"""
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup()
include(GNUInstallDirs)
""")
cmake = CMake(self)
cmake.configure(source_dir="%s/build/cmake" % self.source_directory, defs={"BUILD_UTILS": "OFF"})
cmake.build()
def package(self):
find_glew_dir = "%s/build/conan" % self.build_folder if self.version == "master" else "."
self.copy("FindGLEW.cmake", ".", find_glew_dir, keep_path=False)
self.copy("include/*", ".", "%s" % self.source_directory, keep_path=True)
self.copy("%s/license*" % self.source_directory, dst="licenses", ignore_case=True, keep_path=False)
if self.settings.os == "Windows":
if self.settings.compiler == "Visual Studio":
self.copy(pattern="*.pdb", dst="bin", keep_path=False)
if self.options.shared:
self.copy(pattern="*32.lib", dst="lib", keep_path=False)
self.copy(pattern="*32d.lib", dst="lib", keep_path=False)
self.copy(pattern="*.dll", dst="bin", keep_path=False)
else:
self.copy(pattern="*32s.lib", dst="lib", keep_path=False)
self.copy(pattern="*32sd.lib", dst="lib", keep_path=False)
else:
if self.options.shared:
self.copy(pattern="*32.dll.a", dst="lib", keep_path=False)
self.copy(pattern="*32d.dll.a", dst="lib", keep_path=False)
self.copy(pattern="*.dll", dst="bin", keep_path=False)
else:
self.copy(pattern="*32.a", dst="lib", keep_path=False)
self.copy(pattern="*32d.a", dst="lib", keep_path=False)
elif self.settings.os == "Macos":
if self.options.shared:
self.copy(pattern="*.dylib", dst="lib", keep_path=False)
else:
self.copy(pattern="*.a", dst="lib", keep_path=False)
else:
if self.options.shared:
self.copy(pattern="*.so", dst="lib", keep_path=False)
else:
self.copy(pattern="*.a", dst="lib", keep_path=False)
def package_info(self):
if self.settings.os == "Windows":
self.cpp_info.libs = ['glew32']
if not self.options.shared:
self.cpp_info.defines.append("GLEW_STATIC")
if self.settings.compiler == "Visual Studio":
if not self.options.shared:
self.cpp_info.libs[0] += "s"
self.cpp_info.libs.append("OpenGL32.lib")
if self.settings.compiler.runtime != "MT":
self.cpp_info.exelinkflags.append('-NODEFAULTLIB:LIBCMTD')
self.cpp_info.exelinkflags.append('-NODEFAULTLIB:LIBCMT')
else:
self.cpp_info.libs.append("opengl32")
else:
self.cpp_info.libs = ['GLEW']
if self.settings.os == "Macos":
self.cpp_info.exelinkflags.append("-framework OpenGL")
elif not self.options.shared:
self.cpp_info.libs.append("GL")
if self.settings.build_type == "Debug":
self.cpp_info.libs[0] += "d"

View File

@ -1,9 +0,0 @@
project(GlewTest)
cmake_minimum_required(VERSION 3.0.0)
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup()
add_executable(testGlew main.c)
target_compile_definitions(testGlew PUBLIC "${CONAN_DEFINES}")
target_link_libraries(testGlew PUBLIC "${CONAN_LIBS}")
set_target_properties(testGlew PROPERTIES LINK_FLAGS "${CONAN_EXE_LINKER_FLAGS}")

View File

@ -1,21 +0,0 @@
from conans import ConanFile, CMake
import os
class TestGlew(ConanFile):
settings = "os", "compiler", "build_type", "arch"
generators = "cmake"
def build(self):
cmake = CMake(self)
cmake.configure()
cmake.build()
def test(self):
self.run(os.sep.join([".","bin", "testGlew"]))
def imports(self):
if self.settings.os == "Windows":
self.copy(pattern="*.dll", dst="bin", src="bin")
self.copy(pattern="*.pdb", dst="bin", src="bin")
if self.settings.os == "Macos":
self.copy(pattern="*.dylib", dst="bin", src="lib")

View File

@ -1,6 +0,0 @@
#include "GL/glew.h"
int main (){
glewGetString(GLEW_VERSION);
return 0;
}

View File

@ -4,9 +4,10 @@ GLEW_DEST ?= /usr
CC := cc
LD := cc
LN :=
CFLAGS.EXTRA += -D_WIN32
LDFLAGS.EXTRA =
LIBDIR = $(GLEW_DEST)/lib
LDFLAGS.GL = -lGL -lX11
LDFLAGS.GL = -lOpenGL32 -mwindows
LDFLAGS.STATIC = -Wl,-Bstatic
LDFLAGS.DYNAMIC = -Wl,-Bdynamic
WARN = -Wall -W

View File

@ -0,0 +1,19 @@
NAME = GLEW
GLEW_DEST ?= /usr
# use gcc for linking, with ld it does not work
CC := cc
LD := cc
LN :=
LDFLAGS.EXTRA =
LIBDIR = $(GLEW_DEST)/lib
LDFLAGS.GL = -lGL -lX11
LDFLAGS.STATIC = -Wl,-Bstatic
LDFLAGS.DYNAMIC = -Wl,-Bdynamic
WARN = -Wall -W
POPT = -O2
BIN.SUFFIX = .exe
LIB.SONAME = cyg$(NAME)-$(GLEW_MAJOR)-$(GLEW_MINOR).dll
LIB.DEVLNK = lib$(NAME).dll.a
LIB.SHARED = cyg$(NAME)-$(GLEW_MAJOR)-$(GLEW_MINOR).dll
LIB.STATIC = lib$(NAME).a
LDFLAGS.SO = -shared -Wl,--out-implib,lib/$(LIB.DEVLNK)

View File

@ -1,22 +0,0 @@
# For cross-compiling from Linux to Windows x86 using mingw-w64
# http://mingw-w64.sourceforge.net/
#
# $ make SYSTEM=linux-mingw-w64
#
NAME := glew32
CC := i686-w64-mingw32-gcc
LD := i686-w64-mingw32-ld
LN :=
STRIP :=
LDFLAGS.GL = -lopengl32 -lgdi32 -luser32 -lkernel32
CFLAGS.EXTRA += -fno-builtin -fno-stack-protector
LDFLAGS.EXTRA += -nostdlib
WARN = -Wall -W
POPT = -O2
BIN.SUFFIX = .exe
LIB.SONAME = lib$(NAME).dll
LIB.DEVLNK = lib$(NAME).dll.a # for mingw this is the dll import lib
LIB.SHARED = $(NAME).dll
LIB.STATIC = lib$(NAME).a # the static lib will be broken
LDFLAGS.SO = -shared -soname $(LIB.SONAME) --out-implib lib/$(LIB.DEVLNK)

View File

@ -1,17 +1,17 @@
# For cross-compiling from Linux to Windows x86 using mingw32
# http://www.mingw.org/
# For cross-compiling from Linux to Windows 32-bit using mingw32
# http://mingw-w64.org/
#
# $ sudo apt install mingw-w64
# $ make SYSTEM=linux-mingw32
NAME := glew32
HOST := i586-mingw32msvc
HOST := i686-w64-mingw32
CC := $(HOST)-gcc
LD := $(HOST)-ld
LN :=
STRIP :=
LDFLAGS.GL = -lopengl32 -lgdi32 -luser32 -lkernel32
LDFLAGS.GL = -L/usr/$(HOST)/lib -lopengl32 -lgdi32 -luser32 -lkernel32
CFLAGS.EXTRA += -fno-builtin -fno-stack-protector
#LDFLAGS.EXTRA += -nostdlib
WARN = -Wall -W
POPT = -O2
BIN.SUFFIX = .exe
@ -19,4 +19,4 @@ LIB.SONAME = lib$(NAME).dll
LIB.DEVLNK = lib$(NAME).dll.a # for mingw this is the dll import lib
LIB.SHARED = $(NAME).dll
LIB.STATIC = lib$(NAME).a # the static lib will be broken
LDFLAGS.SO = -shared -soname $(LIB.SONAME) --out-implib lib/$(LIB.DEVLNK)
LDFLAGS.SO = -nostdlib -shared -soname $(LIB.SONAME) --out-implib lib/$(LIB.DEVLNK)

View File

@ -1,17 +1,17 @@
# For cross-compiling from Linux to Windows amd64 using mingw32
# http://www.mingw.org/
# For cross-compiling from Linux to Windows 64-bit using mingw64
# http://mingw-w64.org/
#
# $ sudo apt install mingw-w64
# $ make SYSTEM=linux-mingw64
NAME := glew32
HOST := i686-w64-mingw32
HOST := x86_64-w64-mingw32
CC := $(HOST)-gcc
LD := $(HOST)-ld
LN :=
STRIP :=
LDFLAGS.GL = -lopengl32 -lgdi32 -luser32 -lkernel32
LDFLAGS.GL = -L/usr/$(HOST)/lib -lopengl32 -lgdi32 -luser32 -lkernel32
CFLAGS.EXTRA += -fno-builtin -fno-stack-protector
#LDFLAGS.EXTRA += -nostdlib
WARN = -Wall -W
POPT = -O2
BIN.SUFFIX = .exe
@ -19,4 +19,4 @@ LIB.SONAME = lib$(NAME).dll
LIB.DEVLNK = lib$(NAME).dll.a # for mingw this is the dll import lib
LIB.SHARED = $(NAME).dll
LIB.STATIC = lib$(NAME).a # the static lib will be broken
LDFLAGS.SO = -shared -soname $(LIB.SONAME) --out-implib lib/$(LIB.DEVLNK)
LDFLAGS.SO = -nostdlib -shared -soname $(LIB.SONAME) --out-implib lib/$(LIB.DEVLNK)

666
config/config.guess vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
GLEW_MAJOR = 2
GLEW_MINOR = 1
GLEW_MINOR = 2
GLEW_MICRO = 0
GLEW_VERSION = $(GLEW_MAJOR).$(GLEW_MINOR).$(GLEW_MICRO)
GLEW_NAME = GLEW