view release on metacpan or search on metacpan
inc/My/Builder.pm view on Meta::CPAN
# defaults
$cfg->{version} = $version;
$cfg->{prefix} = '@PrEfIx@';
$cfg->{libs} = $L . $self->get_path('@PrEfIx@/lib') . ' -lSDLmain -lSDL';
$cfg->{cflags} = '-I' . $self->get_path('@PrEfIx@/include/SDL') . ' -D_GNU_SOURCE=1 -Dmain=SDL_main';
$cfg->{ld_shared_libs} = [ ];
# overwrite values available via sdl-config
my $bp = $self->config_data('build_prefix') || $prefix;
my $devnull = File::Spec->devnull();
my $script = $self->escape_path( rel2abs("$prefix/bin/sdl-config") );
foreach my $p (qw(version prefix libs cflags)) {
my $o=`$script --$p 2>$devnull`;
if ($o) {
$o =~ s/[\r\n]*$//;
$o =~ s/\Q$prefix\E/\@PrEfIx\@/g;
$cfg->{$p} = $o;
}
}
if ($^O eq 'openbsd') {
inc/My/Builder.pm view on Meta::CPAN
}
sub clean_dir {
my( $self, $dir ) = @_;
if (-d $dir) {
remove_tree($dir);
make_path($dir);
}
}
sub escape_path {
# this needs to be overriden in My::Builder::<platform>
my( $self, $path ) = @_;
return $path;
}
sub check_build_done_marker {
my $self = shift;
return (-e 'build_done');
}
inc/My/Builder/Unix.pm view on Meta::CPAN
}
}
return 1;
}
### internal helper functions
sub _get_configure_cmd {
my ($self, $pack, $prefixdir) = @_;
my $extra = '';
my $escaped_prefixdir = $self->escape_path( $prefixdir );
my $extra_cflags = "-I$escaped_prefixdir/include " . $self->get_additional_cflags();
my $extra_ldflags = "-L$escaped_prefixdir/lib " . $self->get_additional_libs();
my $extra_PATH = "";
my $uname = $Config{archname};
my $stdout = '';
my $stderr = '';
my $cmd;
($stdout, $stderr) = Capture::Tiny::capture { print `uname -a`; };
$uname .= " $stdout" if $stdout;
# NOTE: all ugly IFs concerning ./configure params have to go here
inc/My/Builder/Unix.pm view on Meta::CPAN
}
if ($pack eq 'SDL' && $^O eq 'openbsd') {
my $osver = `uname -r 2>/dev/null`;
if (!$self->notes('perl_libs')->{pthread} || !$osver || $osver >= 5.0) {
$extra .= ' --disable-pthreads';
}
}
if($pack =~ /^SDL_/) {
$extra .= " --with-sdl-prefix=$escaped_prefixdir";
}
if($^O eq 'cygwin') {
#$extra_cflags .= " -I/lib/gcc/i686-pc-cygwin/3.4.4/include";
#$extra_ldflags .= " -L/lib/gcc/i686-pc-cygwin/3.4.4";
# $extra_cflags .= " -I/usr/include";
# $extra_ldflags .= " -L/lib";
# $extra_cflags .= " -I/lib/gcc/i686-pc-cygwin/4.3.4/include";
# $extra_ldflags .= " -L/lib/gcc/i686-pc-cygwin/4.3.4";
inc/My/Builder/Unix.pm view on Meta::CPAN
### Unfortunately does not work.
#
#if(($pack eq 'SDL') && ($^O eq 'darwin')) {
# # fix for many MacOS CPAN tester reports saying "error: X11/Xlib.h: No such file or directory"
# $extra_cflags .= ' -I/usr/X11R6/include';
# $extra_ldflags .= ' -L/usr/X11R6/lib';
#}
if($pack eq 'z') {
# does not support params CFLAGS=...
$cmd = "./configure --prefix=$escaped_prefixdir";
}
else {
$cmd = "./configure --prefix=$escaped_prefixdir --enable-static=yes --enable-shared=yes $extra" .
" CFLAGS=\"$extra_cflags\" LDFLAGS=\"$extra_ldflags\"";
}
if($pack ne 'SDL' && $^O =~ /bsd$/) {
$cmd = "LD_LIBRARY_PATH=\"$escaped_prefixdir/lib:\$LD_LIBRARY_PATH\" $cmd";
}
if($pack eq 'vorbis') {
$cmd = "PKG_CONFIG_PATH=\"$escaped_prefixdir/lib/pkgconfig:\$PKG_CONFIG_PATH\" $cmd";
}
return $cmd;
}
sub _get_make {
my ($self) = @_;
my @try = ('make', 'gmake', $Config{gmake}, $Config{make});
my %tested;
print "Gonna detect GNU make:\n";
inc/My/Builder/Unix.pm view on Meta::CPAN
sub _is_gnu_make {
my ($self, $name) = @_;
my $devnull = File::Spec->devnull();
my $ver = `$name --version 2> $devnull`;
if($ver =~ /GNU Make/i) {
return 1;
}
return 0;
}
sub escape_path {
my( $self, $path ) = @_;
my $_path = $path;
$_path =~ s/([^\\]) /$1\\ /g;
return $_path;
}
1;
inc/My/Builder/Windows.pm view on Meta::CPAN
sub get_additional_libs {
my $self = shift;
if($My::Utility::cc eq 'cl' && $self->notes('env_lib')) {
my $lib = $self->notes('env_lib');
$lib =~ s/"//g;
my @libs = split(/;/, $lib);
my $libs = '';
my $inc = $_;
for( @libs ) {
my $_lib = $self->escape_path( $_ );
$libs .= "/LIBPATH:$_lib " ;
}
return $libs;
}
return '';
}
sub escape_path {
my( $self, $path ) = @_;
my $_path = eval { require Win32; Win32::GetShortPathName($path); };
$_path ||= $path;
$_path = qq("$_path") if $_path =~ / /;
return $_path;
}
1;
patches/SDL-1.2.14-configure view on Meta::CPAN
case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
# Backslashify metacharacters that are still active within
# double-quoted strings.
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
# Same as above, but do not quote variable references.
double_quote_subst='s/\(["`\\]\)/\\\1/g'
# Sed substitution to delay expansion of an escaped shell variable in a
# double_quote_subst'ed string.
delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
# Sed substitution to delay expansion of an escaped single quote.
delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
# Sed substitution to avoid accidental globbing in evaled expressions
no_glob_subst='s/\*/\\\*/g'
ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
patches/SDL-1.2.14-configure view on Meta::CPAN
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
;;
esac
done
ac_aux_dir='$ac_aux_dir'
xsi_shell='$xsi_shell'
lt_shell_append='$lt_shell_append'
# See if we are running on zsh, and set the options which allow our
# commands through without removal of \ escapes INIT.
if test -n "\${ZSH_VERSION+set}" ; then
setopt NO_GLOB_SUBST
fi
PACKAGE='$PACKAGE'
VERSION='$VERSION'
TIMESTAMP='$TIMESTAMP'
RM='$RM'
ofile='$ofile'
patches/SDL-1.2.14-configure view on Meta::CPAN
:C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
$as_echo "$as_me: executing $ac_file commands" >&6;}
;;
esac
case $ac_file$ac_mode in
"libtool":C)
# See if we are running on zsh, and set the options which allow our
# commands through without removal of \ escapes.
if test -n "${ZSH_VERSION+set}" ; then
setopt NO_GLOB_SUBST
fi
cfgfile="${ofile}T"
trap "$RM \"$cfgfile\"; exit 1" 1 2 15
$RM "$cfgfile"
cat <<_LT_EOF >> "$cfgfile"
#! $SHELL
patches/SDL-1.2.14-ltmain_sh view on Meta::CPAN
# Same as above, but do not quote variable references.
double_quote_subst='s/\(["`\\]\)/\\\1/g'
# Sed substitution that turns a string into a regex matching for the
# string literally.
sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
# Sed substitution that converts a w32 file name or path
# which contains forward slashes, into one that contains
# (escaped) backslashes. A very naive implementation.
lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
# Re-`\' parameter expansions in output of double_quote_subst that were
# `\'-ed in input to the same. If an odd number of `\' preceded a '$'
# in input to double_quote_subst, that '$' was protected from expansion.
# Since each input `\' is now two `\'s, look for any number of runs of
# four `\'s followed by two `\'s and then a '$'. `\' that '$'.
bs='\\'
bs2='\\\\'
bs4='\\\\\\\\'
patches/SDL-1.2.14-ltmain_sh view on Meta::CPAN
({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&v);
v.dwPlatformId == VER_PLATFORM_WIN32_NT;
}) ? "cmd.exe" : "command.com").
Instead it simply concatenates the arguments, separated by ' ', and calls
CreateProcess(). We must quote the arguments since Win32 CreateProcess()
interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
special way:
- Space and tab are interpreted as delimiters. They are not treated as
delimiters if they are surrounded by double quotes: "...".
- Unescaped double quotes are removed from the input. Their only effect is
that within double quotes, space and tab are treated like normal
characters.
- Backslashes not followed by double quotes are not special.
- But 2*n+1 backslashes followed by a double quote become
n backslashes followed by a double quote (n >= 0):
\" -> "
\\\" -> \"
\\\\\" -> \\"
*/
#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"