glew-cmake/auto/bin/make_initd.pl
Julian Squires 7f510379f6
Fix perl @INC for scripts which include make.pl
In perl 5.26, and some earlier perls that have been proactively
patched (Debian's perl 5.24, for example), '.' was removed from @INC
for security reasons.  For details, see:
  http://blogs.perl.org/users/todd_rinaldo/2016/11/how-removing-from-inc-is-about-to-break-cpan.html
  https://www.masteringperl.org/2017/01/perl-v5-26-removes-from-inc-but-dont-think-youre-safe/
et cetera.

This breaks the generation scripts which source make.pl with
  do 'bin/make.pl'

Although this might be indicative that it's time to refactor these
scripts, I opted for the simplest possible fix for now: restoring '.'
to @INC in each script that depends on make.pl.
2017-03-26 15:44:59 -04:00

45 lines
1.1 KiB
Perl
Executable File

#!/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;
use lib '.';
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, $reuse, $types, $tokens, $functions, $exacts) =
parse_ext($ext);
#print "#ifdef $extname\n\n";
if (keys %$functions)
{
print "static GLboolean _glewInit_$extname ();\n";
}
#print "#endif /* $extname */\n\n";
}
}