diff options
author | sotech117 <michael_foiani@brown.edu> | 2024-04-09 03:14:17 -0400 |
---|---|---|
committer | sotech117 <michael_foiani@brown.edu> | 2024-04-09 03:14:17 -0400 |
commit | 7a8d0d8bc2572707c9d35006f30ea835c86954b0 (patch) | |
tree | dedb9a65c1698202ad485378b4186b667008abe5 /glew/auto/bin/make_info.pl | |
parent | 818324678bd5dca790c57048e5012d2937a4b5e5 (diff) |
first draft to generate waves
Diffstat (limited to 'glew/auto/bin/make_info.pl')
-rw-r--r-- | glew/auto/bin/make_info.pl | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/glew/auto/bin/make_info.pl b/glew/auto/bin/make_info.pl new file mode 100644 index 0000000..3dcece9 --- /dev/null +++ b/glew/auto/bin/make_info.pl @@ -0,0 +1,71 @@ +#!/usr/bin/env perl +## +## Copyright (C) 2008-2019, Nigel Stewart <nigels[]users sourceforge net> +## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org> +## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org> +## +## This program is distributed under the terms and conditions of the GNU +## General Public License Version 2 as published by the Free Software +## Foundation or, at your option, any later version. + +use strict; +use warnings; + +use lib '.'; +do 'bin/make.pl'; + +#--------------------------------------------------------------------------------------- + +# function pointer definition +sub make_pfn_info($%) +{ + my $name = $_[0]; + return " glewInfoFunc(fi, \"$_[0]\", $name == NULL);"; +} + +#--------------------------------------------------------------------------------------- + +my @extlist = (); +my %extensions = (); + +if (@ARGV) +{ + @extlist = @ARGV; + + foreach my $ext (sort @extlist) + { + my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext); + my $extvar = $extname; + $extvar =~ s/GL(X*)_/GL$1EW_/; + my $extpre = $extname; + $extpre =~ s/(GLX|GLW|GL).*/$1/; + $extpre = lc $extpre; + + #make_separator($extname); + print "#ifdef $extname\n\n"; + print "static void _glewInfo_$extname (void)\n{\n"; + + if (! %$functions) + { + print " "; + } + else + { + 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"; + } + output_decls($functions, \&make_pfn_info); + print "}\n\n"; + print "#endif /* $extname */\n\n"; + } +} |