diff --git a/README.md b/README.md index 6db491d..272ee03 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,8 @@ Debian/Ubuntu/Mint: `$ sudo apt-get install build-essential libxmu-dev libxi- RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel` +FreeBSD: `# pkg install xorg lang/gcc git cmake gmake bash python perl5` + ##### Build $ make diff --git a/auto/Makefile b/auto/Makefile index fa3218d..0a2d76e 100644 --- a/auto/Makefile +++ b/auto/Makefile @@ -114,7 +114,7 @@ ifeq ($(patsubst Darwin%,Darwin,$(SYSTEM)), Darwin) xargs -J % cp % $(EXT) else find $(CORE) -maxdepth 1 -type f | grep -v VERSION | grep -v "~" | \ - xargs cp --target-directory=$(EXT) + xargs -I % -n 1 cp % $(EXT) endif touch $@ @@ -290,7 +290,7 @@ $(S.DEST)/glewinfo.c: $(EXT)/.dummy $(BIN)/make_info_list.pl $(EGL_CORE_SPEC) >> $@ $(BIN)/make_info_list.pl $(EGL_EXT_SPEC) >> $@ cat $(SRC)/glewinfo_tail.c >> $@ - perl -e 's/"glColorSubTable"/"glBlendEquation", glBlendEquation == NULL);\n glewInfoFunc("glColorSubTable"/g' -pi $@ + perl -e 's/"glColorSubTable"/"glBlendEquation", glBlendEquation == NULL);\n glewInfoFunc(fi, "glColorSubTable"/g' -pi $@ rm -f $@.bak # Update documentation diff --git a/auto/bin/filter_gl_ext.sh b/auto/bin/filter_gl_ext.sh index 07957df..7b6be4e 100755 --- a/auto/bin/filter_gl_ext.sh +++ b/auto/bin/filter_gl_ext.sh @@ -1,5 +1,6 @@ -#!/bin/bash +#!/usr/bin/env bash ## +## Copyright (C) 2008-2019, Nigel Stewart ## Copyright (C) 2002-2008, Marcelo E. Magallon ## Copyright (C) 2002-2008, Milan Ikits ## @@ -77,10 +78,6 @@ EOT # fix GL_NV_occlusion_query and GL_HP_occlusion_test grep -v '_HP' $1/GL_NV_occlusion_query > tmp mv tmp $1/GL_NV_occlusion_query - perl -e's/OCCLUSION_TEST_HP.*/OCCLUSION_TEST_HP 0x8165/' -pi \ - $1/GL_HP_occlusion_test - perl -e's/OCCLUSION_TEST_RESULT_HP.*/OCCLUSION_TEST_RESULT_HP 0x8166/' -pi \ - $1/GL_HP_occlusion_test # add deprecated constants to GL_ATI_fragment_shader cat >> $1/GL_ATI_fragment_shader < tmp mv tmp $1/GL_KHR_debug -# Remove GL_ARB_debug_group, GL_ARB_debug_label and GL_ARB_debug_output2, for now - rm -f $1/GL_ARB_debug_group - rm -f $1/GL_ARB_debug_label - rm -f $1/GL_ARB_debug_output2 - # add typedefs to GL_ARB_cl_event # parse_spec.pl can't parse typedefs from New Types section, but ought to cat >> $1/GL_ARB_cl_event < ## Copyright (C) 2002-2008, Marcelo E. Magallon ## Copyright (C) 2002-2008, Milan Ikits ## diff --git a/auto/bin/make.pl b/auto/bin/make.pl index a36ad6f..abd250e 100755 --- a/auto/bin/make.pl +++ b/auto/bin/make.pl @@ -1,4 +1,5 @@ ## +## Copyright (C) 2008-2019, Nigel Stewart ## Copyright (C) 2002-2008, Marcelo E. Magallon ## Copyright (C) 2002-2008, Milan Ikits ## diff --git a/auto/bin/make_def_fun.pl b/auto/bin/make_def_fun.pl index 49f7e7e..af74706 100755 --- a/auto/bin/make_def_fun.pl +++ b/auto/bin/make_def_fun.pl @@ -1,5 +1,6 @@ -#!/usr/bin/perl +#!/usr/bin/env perl ## +## Copyright (C) 2008-2019, Nigel Stewart ## Copyright (C) 2002-2008, Marcelo E. Magallon ## Copyright (C) 2002-2008, Milan Ikits ## diff --git a/auto/bin/make_def_var.pl b/auto/bin/make_def_var.pl index b1868e8..993a68c 100755 --- a/auto/bin/make_def_var.pl +++ b/auto/bin/make_def_var.pl @@ -1,5 +1,6 @@ -#!/usr/bin/perl +#!/usr/bin/env perl ## +## Copyright (C) 2008-2019, Nigel Stewart ## Copyright (C) 2002-2008, Marcelo E. Magallon ## Copyright (C) 2002-2008, Milan Ikits ## diff --git a/auto/bin/make_enable_index.pl b/auto/bin/make_enable_index.pl index c9114cd..bdbe7d1 100755 --- a/auto/bin/make_enable_index.pl +++ b/auto/bin/make_enable_index.pl @@ -1,5 +1,6 @@ -#!/usr/bin/perl +#!/usr/bin/env perl ## +## Copyright (C) 2008-2019, Nigel Stewart ## Copyright (C) 2002-2008, Marcelo E. Magallon ## Copyright (C) 2002-2008, Milan Ikits ## diff --git a/auto/bin/make_header.pl b/auto/bin/make_header.pl index 3a73efb..9917db1 100755 --- a/auto/bin/make_header.pl +++ b/auto/bin/make_header.pl @@ -1,5 +1,6 @@ -#!/usr/bin/perl +#!/usr/bin/env perl ## +## Copyright (C) 2008-2019, Nigel Stewart ## Copyright (C) 2002-2008, Marcelo E. Magallon ## Copyright (C) 2002-2008, Milan Ikits ## diff --git a/auto/bin/make_html.pl b/auto/bin/make_html.pl index 59305bd..be97003 100755 --- a/auto/bin/make_html.pl +++ b/auto/bin/make_html.pl @@ -1,5 +1,6 @@ -#!/usr/bin/perl +#!/usr/bin/env perl ## +## Copyright (C) 2008-2019, Nigel Stewart ## Copyright (C) 2002-2008, Marcelo E. Magallon ## Copyright (C) 2002-2008, Milan Ikits ## diff --git a/auto/bin/make_index.pl b/auto/bin/make_index.pl index 3f24258..cf247f8 100755 --- a/auto/bin/make_index.pl +++ b/auto/bin/make_index.pl @@ -1,5 +1,6 @@ -#!/usr/bin/perl +#!/usr/bin/env perl ## +## Copyright (C) 2008-2019, Nigel Stewart ## Copyright (C) 2002-2008, Marcelo E. Magallon ## Copyright (C) 2002-2008, Milan Ikits ## diff --git a/auto/bin/make_info.pl b/auto/bin/make_info.pl index 78e8f82..3dcece9 100755 --- a/auto/bin/make_info.pl +++ b/auto/bin/make_info.pl @@ -1,5 +1,6 @@ -#!/usr/bin/perl +#!/usr/bin/env perl ## +## Copyright (C) 2008-2019, Nigel Stewart ## Copyright (C) 2002-2008, Marcelo E. Magallon ## Copyright (C) 2002-2008, Milan Ikits ## @@ -19,7 +20,7 @@ do 'bin/make.pl'; sub make_pfn_info($%) { my $name = $_[0]; - return " glewInfoFunc(\"$_[0]\", $name == NULL);"; + return " glewInfoFunc(fi, \"$_[0]\", $name == NULL);"; } #--------------------------------------------------------------------------------------- @@ -43,13 +44,23 @@ if (@ARGV) #make_separator($extname); print "#ifdef $extname\n\n"; print "static void _glewInfo_$extname (void)\n{\n"; - if ($extvar =~ /VERSION/) + + if (! %$functions) { - print " glewPrintExt(\"$extname\", $extvar, $extvar, $extvar);\n"; + print " "; } else { - print " glewPrintExt(\"$extname\", $extvar, $extpre" . + print " GLboolean fi = "; + } + + if ($extvar =~ /VERSION/) + { + print "glewPrintExt(\"$extname\", $extvar, $extvar, $extvar);\n"; + } + else + { + print "glewPrintExt(\"$extname\", $extvar, $extpre" . "ewIsSupported(\"$extname\"), $extpre" . "ewGetExtension(\"$extstring\"));\n"; } diff --git a/auto/bin/make_info_list.pl b/auto/bin/make_info_list.pl index e27d36a..74dbb77 100755 --- a/auto/bin/make_info_list.pl +++ b/auto/bin/make_info_list.pl @@ -1,5 +1,6 @@ -#!/usr/bin/perl +#!/usr/bin/env perl ## +## Copyright (C) 2008-2019, Nigel Stewart ## Copyright (C) 2002-2008, Marcelo E. Magallon ## Copyright (C) 2002-2008, Milan Ikits ## diff --git a/auto/bin/make_init.pl b/auto/bin/make_init.pl index 7f7d3aa..37922ee 100755 --- a/auto/bin/make_init.pl +++ b/auto/bin/make_init.pl @@ -1,5 +1,6 @@ -#!/usr/bin/perl +#!/usr/bin/env perl ## +## Copyright (C) 2008-2019, Nigel Stewart ## Copyright (C) 2002-2008, Marcelo E. Magallon ## Copyright (C) 2002-2008, Milan Ikits ## diff --git a/auto/bin/make_initd.pl b/auto/bin/make_initd.pl index 0521726..2f7e2e6 100755 --- a/auto/bin/make_initd.pl +++ b/auto/bin/make_initd.pl @@ -1,5 +1,6 @@ -#!/usr/bin/perl +#!/usr/bin/env perl ## +## Copyright (C) 2008-2019, Nigel Stewart ## Copyright (C) 2002-2008, Marcelo E. Magallon ## Copyright (C) 2002-2008, Milan Ikits ## diff --git a/auto/bin/make_list.pl b/auto/bin/make_list.pl index a5e8ec7..38aebcd 100755 --- a/auto/bin/make_list.pl +++ b/auto/bin/make_list.pl @@ -1,5 +1,6 @@ -#!/usr/bin/perl +#!/usr/bin/env perl ## +## Copyright (C) 2008-2019, Nigel Stewart ## Copyright (C) 2002-2008, Marcelo E. Magallon ## Copyright (C) 2002-2008, Milan Ikits ## diff --git a/auto/bin/make_list2.pl b/auto/bin/make_list2.pl index 26d3d3d..3ded727 100755 --- a/auto/bin/make_list2.pl +++ b/auto/bin/make_list2.pl @@ -1,5 +1,6 @@ -#!/usr/bin/perl +#!/usr/bin/env perl ## +## Copyright (C) 2008-2019, Nigel Stewart ## Copyright (C) 2002-2008, Marcelo E. Magallon ## Copyright (C) 2002-2008, Milan Ikits ## diff --git a/auto/bin/make_str.pl b/auto/bin/make_str.pl index 8859585..a6d7709 100755 --- a/auto/bin/make_str.pl +++ b/auto/bin/make_str.pl @@ -1,5 +1,6 @@ -#!/usr/bin/perl +#!/usr/bin/env perl ## +## Copyright (C) 2008-2019, Nigel Stewart ## Copyright (C) 2002-2008, Marcelo E. Magallon ## Copyright (C) 2002-2008, Milan Ikits ## diff --git a/auto/bin/make_struct_fun.pl b/auto/bin/make_struct_fun.pl index 661c302..cc9eef5 100755 --- a/auto/bin/make_struct_fun.pl +++ b/auto/bin/make_struct_fun.pl @@ -1,5 +1,6 @@ -#!/usr/bin/perl +#!/usr/bin/env perl ## +## Copyright (C) 2008-2019, Nigel Stewart ## Copyright (C) 2002-2008, Marcelo E. Magallon ## Copyright (C) 2002-2008, Milan Ikits ## diff --git a/auto/bin/make_struct_var.pl b/auto/bin/make_struct_var.pl index 802ae49..ab8b8b5 100755 --- a/auto/bin/make_struct_var.pl +++ b/auto/bin/make_struct_var.pl @@ -1,5 +1,6 @@ -#!/usr/bin/perl +#!/usr/bin/env perl ## +## Copyright (C) 2008-2019, Nigel Stewart ## Copyright (C) 2002-2008, Marcelo E. Magallon ## Copyright (C) 2002-2008, Milan Ikits ## diff --git a/auto/bin/parse_spec.pl b/auto/bin/parse_spec.pl index 1f0cc62..71d6639 100755 --- a/auto/bin/parse_spec.pl +++ b/auto/bin/parse_spec.pl @@ -1,5 +1,6 @@ -#!/usr/bin/perl +#!/usr/bin/env perl ## +## Copyright (C) 2008-2019, Nigel Stewart ## Copyright (C) 2002-2008, Marcelo E. Magallon ## Copyright (C) 2002-2008, Milan Ikits ## diff --git a/auto/bin/update_ext.sh b/auto/bin/update_ext.sh index e990a21..0ee3af1 100755 --- a/auto/bin/update_ext.sh +++ b/auto/bin/update_ext.sh @@ -1,5 +1,6 @@ -#!/bin/bash +#!/usr/bin/env bash ## +## Copyright (C) 2008-2019, Nigel Stewart ## Copyright (C) 2002-2008, Marcelo E. Magallon ## Copyright (C) 2002-2008, Milan Ikits ## diff --git a/auto/src/glew.rc b/auto/src/glew.rc index e930220..fa747d3 100644 --- a/auto/src/glew.rc +++ b/auto/src/glew.rc @@ -42,6 +42,7 @@ BEGIN BEGIN VALUE "Comments", "The OpenGL Extension Wrangler Library\r\n" + "Copyright (C) 2008-2019, Nigel Stewart \r\n" "Copyright (C) 2002-2008, Milan Ikits \r\n" "Copyright (C) 2002-2008, Marcelo E. Magallon \r\n" "Copyright (C) 2002, Lev Povalahev\r\n" @@ -119,7 +120,7 @@ BEGIN VALUE "FileDescription", "The OpenGL Extension Wrangler Library\0" VALUE "FileVersion", "GLEW_MAJOR,GLEW_MINOR,GLEW_MICRO,0\0" VALUE "InternalName", "GLEW\0" - VALUE "LegalCopyright", "© 2002-2008 Milan Ikits & Marcelo Magallon\0" + VALUE "LegalCopyright", "© 2002-2019 Nigel Stewart & Milan Ikits & Marcelo Magallon\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", FILENAME "\0" VALUE "PrivateBuild", "\0" diff --git a/auto/src/glew_license.h b/auto/src/glew_license.h index f257ed2..353640e 100644 --- a/auto/src/glew_license.h +++ b/auto/src/glew_license.h @@ -1,6 +1,6 @@ /* ** The OpenGL Extension Wrangler Library -** Copyright (C) 2008-2017, Nigel Stewart +** Copyright (C) 2008-2019, Nigel Stewart ** Copyright (C) 2002-2008, Milan Ikits ** Copyright (C) 2002-2008, Marcelo E. Magallon ** Copyright (C) 2002, Lev Povalahev diff --git a/auto/src/glewinfo.rc b/auto/src/glewinfo.rc index 2f46bc5..667f2cc 100644 --- a/auto/src/glewinfo.rc +++ b/auto/src/glewinfo.rc @@ -30,6 +30,7 @@ BEGIN BEGIN VALUE "Comments", "The OpenGL Extension Wrangler Library\r\n" + "Copyright (C) 2008-2019, Nigel Stewart \r\n" "Copyright (C) 2002-2008, Milan Ikits \r\n" "Copyright (C) 2002-2008, Marcelo E. Magallon \r\n" "Copyright (C) 2002, Lev Povalahev\r\n" @@ -107,7 +108,7 @@ BEGIN VALUE "FileDescription", "Utility for verifying extension entry points\0" VALUE "FileVersion", "GLEW_MAJOR,GLEW_MINOR,GLEW_MICRO,0\0" VALUE "InternalName", "glewinfo\0" - VALUE "LegalCopyright", "© 2002-2008 Milan Ikits & Marcelo Magallon\0" + VALUE "LegalCopyright", "© 2002-2019 Nigel Stewart & Milan Ikits & Marcelo Magallon\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", FILENAME "\0" VALUE "PrivateBuild", "\0" diff --git a/auto/src/glewinfo_head.c b/auto/src/glewinfo_head.c index 02089f6..79ed785 100644 --- a/auto/src/glewinfo_head.c +++ b/auto/src/glewinfo_head.c @@ -40,6 +40,9 @@ struct createParams /* https://www.opengl.org/registry/specs/ARB/glx_create_context.txt */ int profile; /* core = 1, compatibility = 2 */ int flags; /* debug = 1, forward compatible = 2 */ + + /* GLEW experimental mode */ + int experimental; }; GLboolean glewCreateContext (struct createParams *params); @@ -50,7 +53,7 @@ void glewDestroyContext (); /* ------------------------------------------------------------------------- */ -static void glewPrintExt (const char* name, GLboolean def1, GLboolean def2, GLboolean def3) +static GLboolean glewPrintExt (const char* name, GLboolean def1, GLboolean def2, GLboolean def3) { unsigned int i; fprintf(f, "\n%s:", name); @@ -65,15 +68,19 @@ static void glewPrintExt (const char* name, GLboolean def1, GLboolean def2, GLbo for (i=0; i] " "[-profile core|compatibility] " - "[-flag debug|forward]" + "[-flag debug|forward] " + "[-experimental]" "\n"); return 1; } @@ -52,7 +54,7 @@ int main (int argc, char** argv) glewDestroyContext(); return 1; } - glewExperimental = GL_TRUE; + glewExperimental = params.experimental ? GL_TRUE : GL_FALSE; err = glewInit(); if (GLEW_OK != err) { @@ -162,13 +164,18 @@ GLboolean glewParseArgs (int argc, char** argv, struct createParams *params) { if (++p >= argc) return GL_TRUE; params->display = argv[p++]; - } + } else if (!strcmp(argv[p], "-visual")) { if (++p >= argc) return GL_TRUE; params->visual = (int)strtol(argv[p++], NULL, 0); } #endif + else if (!strcmp(argv[p], "-experimental")) + { + params->experimental = 1; + ++p; + } else return GL_TRUE; } diff --git a/auto/src/header.html b/auto/src/header.html index 2505b91..13bcfc1 100644 --- a/auto/src/header.html +++ b/auto/src/header.html @@ -1,7 +1,7 @@