mirror of
https://github.com/nigels-com/glew.git
synced 2025-04-20 23:52:55 +00:00
Add deleters to functions that exist both in core and extensions.
Parts of later GL versions are often published as extension too, so these functions may be queried twice.
This commit is contained in:
parent
f6cc5ed156
commit
510ac5680c
@ -113,7 +113,7 @@ $(EXT)/.dummy: $(REGISTRY)/.dummy
|
|||||||
@echo "Creating descriptors"
|
@echo "Creating descriptors"
|
||||||
@echo "--------------------------------------------------------------------"
|
@echo "--------------------------------------------------------------------"
|
||||||
rm -rf $(EXT)
|
rm -rf $(EXT)
|
||||||
$(BIN)/update_ext.sh $(EXT) $(REGISTRY) $(BLACKLIST)
|
$(BIN)/update_ext.sh $(EXT) $(REGISTRY) $(BLACKLIST) $(CORE)
|
||||||
$(BIN)/$(FILTER) $(EXT)
|
$(BIN)/$(FILTER) $(EXT)
|
||||||
ifeq ($(patsubst Darwin%,Darwin,$(SYSTEM)), Darwin)
|
ifeq ($(patsubst Darwin%,Darwin,$(SYSTEM)), Darwin)
|
||||||
find $(CORE) -maxdepth 1 -type f | grep -v VERSION | grep -v "~" | \
|
find $(CORE) -maxdepth 1 -type f | grep -v VERSION | grep -v "~" | \
|
||||||
@ -199,8 +199,7 @@ $(S.DEST)/glew.c: $(EXT)/.dummy $(SRC)/glew_init_hash.c
|
|||||||
cp -f $(SRC)/glew_license.h $@
|
cp -f $(SRC)/glew_license.h $@
|
||||||
cat $(SRC)/glew_head.c >> $@
|
cat $(SRC)/glew_head.c >> $@
|
||||||
echo -e "\n#if !defined(_WIN32) || !defined(GLEW_MX)" >> $@
|
echo -e "\n#if !defined(_WIN32) || !defined(GLEW_MX)" >> $@
|
||||||
$(BIN)/make_def_fun.pl GL $(GL_CORE_SPEC) >> $@
|
$(BIN)/make_def_fun.pl GL $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@
|
||||||
$(BIN)/make_def_fun.pl GL $(GL_EXT_SPEC) >> $@
|
|
||||||
echo -e "\n#endif /* !WIN32 || !GLEW_MX */" >> $@
|
echo -e "\n#endif /* !WIN32 || !GLEW_MX */" >> $@
|
||||||
echo -e "\n#if !defined(GLEW_MX)" >> $@;
|
echo -e "\n#if !defined(GLEW_MX)" >> $@;
|
||||||
echo -e "\nGLboolean __GLEW_VERSION_1_1 = GL_FALSE;" >> $@
|
echo -e "\nGLboolean __GLEW_VERSION_1_1 = GL_FALSE;" >> $@
|
||||||
|
@ -307,8 +307,10 @@ sub parse_spec($)
|
|||||||
|
|
||||||
my @speclist = ();
|
my @speclist = ();
|
||||||
my %extensions = ();
|
my %extensions = ();
|
||||||
|
my %fcn_in_core = ();
|
||||||
|
|
||||||
my $ext_dir = shift;
|
my $ext_dir = shift;
|
||||||
|
my $core_dir = shift;
|
||||||
my $reg_http = "http://www.opengl.org/registry/specs/";
|
my $reg_http = "http://www.opengl.org/registry/specs/";
|
||||||
|
|
||||||
# Take command line arguments or read list from file
|
# Take command line arguments or read list from file
|
||||||
@ -320,6 +322,24 @@ if (@ARGV)
|
|||||||
@speclist = split "\n", (<>);
|
@speclist = split "\n", (<>);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Get functions moved to the GL core
|
||||||
|
my %core_fnc = ();
|
||||||
|
foreach my $spec (<$core_dir/GL_VERSION_*>)
|
||||||
|
{
|
||||||
|
my $vsn = $spec;
|
||||||
|
$vsn =~ s/.*\/GL_VERSION_(\d+)_(\d+)/$1.$2/;
|
||||||
|
|
||||||
|
open SPEC, "<$spec";
|
||||||
|
while (<SPEC>)
|
||||||
|
{
|
||||||
|
if ($_ =~ qr/^(.+) ([a-z][a-z0-9_]*) \((.+)\)\s*(~.*)?$/i )
|
||||||
|
{
|
||||||
|
$core_fnc{$2} = $vsn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
close SPEC;
|
||||||
|
}
|
||||||
|
|
||||||
foreach my $spec (sort @speclist)
|
foreach my $spec (sort @speclist)
|
||||||
{
|
{
|
||||||
my ($extname, $extnames, $tokens, $functions) = parse_spec($spec);
|
my ($extname, $extnames, $tokens, $functions) = parse_spec($spec);
|
||||||
@ -370,7 +390,13 @@ foreach my $spec (sort @speclist)
|
|||||||
{
|
{
|
||||||
if ($function =~ /^$prefix.*/i)
|
if ($function =~ /^$prefix.*/i)
|
||||||
{
|
{
|
||||||
print EXT "\t" . ${$functions}{$function}{rtype} . " " . $function . " (" . ${$functions}{$function}{parms} . ")" . "\n";
|
my $deleter = "";
|
||||||
|
|
||||||
|
if ($core_fnc{$function})
|
||||||
|
{
|
||||||
|
$deleter = " ~ " . $core_fnc{$function};
|
||||||
|
}
|
||||||
|
print EXT "\t" . ${$functions}{$function}{rtype} . " " . $function . " (" . ${$functions}{$function}{parms} . ")" . $deleter . "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
close EXT;
|
close EXT;
|
||||||
|
@ -20,6 +20,6 @@ if [ ! -d $1 ] ; then
|
|||||||
|
|
||||||
# Parse each of the extensions in the registry
|
# Parse each of the extensions in the registry
|
||||||
find $2 -name doc -type d -prune -o -name "*.txt" -print | \
|
find $2 -name doc -type d -prune -o -name "*.txt" -print | \
|
||||||
grep -v -f $3 | sort | bin/parse_spec.pl $1
|
grep -v -f $3 | sort | bin/parse_spec.pl $1 $4
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user