mirror of
https://github.com/Perlmint/glew-cmake.git
synced 2024-11-30 02:17:07 +00:00
[CoreSupport] Add make_initd.pl code generator for declaring all the _glewInit functions
This allows the initializers to call each other according to the interdependencies.
This commit is contained in:
parent
99421ea9fe
commit
ea763af989
@ -198,6 +198,10 @@ $(S.DEST)/glew.c: $(EXT)/.dummy
|
|||||||
$(BIN)/make_def_var.pl GL $(GL_CORE_SPEC) >> $@
|
$(BIN)/make_def_var.pl GL $(GL_CORE_SPEC) >> $@
|
||||||
$(BIN)/make_def_var.pl GL $(GL_EXT_SPEC) >> $@
|
$(BIN)/make_def_var.pl GL $(GL_EXT_SPEC) >> $@
|
||||||
echo -e "\n#endif /* !GLEW_MX */\n" >> $@;
|
echo -e "\n#endif /* !GLEW_MX */\n" >> $@;
|
||||||
|
echo -e "" >> $@;
|
||||||
|
$(BIN)/make_initd.pl GL $(GL_CORE_SPEC) >> $@
|
||||||
|
$(BIN)/make_initd.pl GL $(GL_EXT_SPEC) >> $@
|
||||||
|
echo -e "" >> $@;
|
||||||
$(BIN)/make_init.pl GL $(GL_CORE_SPEC) >> $@
|
$(BIN)/make_init.pl GL $(GL_CORE_SPEC) >> $@
|
||||||
$(BIN)/make_init.pl GL $(GL_EXT_SPEC) >> $@
|
$(BIN)/make_init.pl GL $(GL_EXT_SPEC) >> $@
|
||||||
cat $(SRC)/glew_init_gl.c >> $@
|
cat $(SRC)/glew_init_gl.c >> $@
|
||||||
|
44
auto/bin/make_initd.pl
Executable file
44
auto/bin/make_initd.pl
Executable file
@ -0,0 +1,44 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
##
|
||||||
|
## 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;
|
||||||
|
|
||||||
|
do 'bin/make.pl';
|
||||||
|
|
||||||
|
## Output declarations for the _glewInit_[extension] functions defined
|
||||||
|
## by make_init.pl script. These are necessary for for initializers to
|
||||||
|
## call each other, such as a core GL 3 context that depends on certain
|
||||||
|
## extensions.
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
my @extlist = ();
|
||||||
|
my %extensions = ();
|
||||||
|
|
||||||
|
our $type = shift;
|
||||||
|
|
||||||
|
if (@ARGV)
|
||||||
|
{
|
||||||
|
@extlist = @ARGV;
|
||||||
|
|
||||||
|
foreach my $ext (sort @extlist)
|
||||||
|
{
|
||||||
|
my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) =
|
||||||
|
parse_ext($ext);
|
||||||
|
|
||||||
|
#print "#ifdef $extname\n\n";
|
||||||
|
if (keys %$functions)
|
||||||
|
{
|
||||||
|
print "static GLboolean _glewInit_$extname (" . $type .
|
||||||
|
"EW_CONTEXT_ARG_DEF_INIT);\n";
|
||||||
|
}
|
||||||
|
#print "#endif /* $extname */\n\n";
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user