#!@PERL_PATH@ # -*- cperl -*-
java.lang.NullPointerException # Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved.
java.lang.NullPointerException # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 of the License.
java.lang.NullPointerException # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details.
java.lang.NullPointerException # You should have received a copy of the GNU General Public License # along with this program; ifnot, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
##############################################################################
java.lang.NullPointerException # This script reports various configuration settings that may be needed # when using the MySQL client library.
java.lang.NullPointerException # This script try to match the shell script version as close as possible, # but in addition being compatible with ActiveState Perl on Windows.
java.lang.NullPointerException # All unrecognized arguments to this script are passed to mysqld.
java.lang.NullPointerException # NOTE: This script will only be used on Windows until solved how to # handle @LIBS@ and other strings inserted that might contain # several arguments, possibly with spaces in them.
java.lang.NullPointerException # NOTE: This script was deliberately written to be as close to the shell # script as possible, to make the maintenance of both in parallel # easier.
java.lang.NullPointerException ##############################################################################
use File::Basename;
use Getopt::Long;
use Cwd;
use strict;
my @exclude_cflags =
qw/DDBUG_OFF DSAFE_MUTEX DUNIV_MUST_NOT_INLINE DFORCE_INIT_OF_VARS
DEXTRA_DEBUG DHAVE_valgrind O O[0-9] xO[0-9] W[-A-Za-z]*
Xa xstrconst xc99=none
unroll2 ip mp restrict/;
my @exclude_libs = qw/lmtmalloc static-libcxa i-staticstatic-intel/;
my $cwd = cwd();
my $basedir;
my $socket = '@MYSQL_UNIX_ADDR@';
my $version = '@VERSION@';
sub which
{
my $file = shift;
my $IFS = $^O eq "MSWin32" ? ";" : ":";
foreach my $dir ( split($IFS, $ENV{PATH}) )
{ if ( -f "$dir/$file"or -f "$dir/$file.exe" )
{ return"$dir/$file";
}
}
print STDERR "which: no $file in ($ENV{PATH})\n"; exit1;
}
# ---------------------------------------------------------------------- # If we can find the given directory relatively to where mysql_config is # we should use this instead of the incompiled one. # This is to ensure that this script also works with the binary MySQL # version # ----------------------------------------------------------------------
sub fix_path
{
my $default = shift;
my @dirs = @_;
foreach my $dirname ( @dirs )
{
my $path = "$basedir/$dirname"; if ( -d $path )
{ return $path;
}
} return $default;
}
sub get_full_path
{
my $file = shift;
# if the file is a symlink, try to resolve it if ( $^O ne "MSWin32"and -l $file )
{
$file = readlink($file);
}
if ( $file =~ m,^/, )
{ # Do nothing, absolute path
}
elsif ( $file =~ m,/, )
{ # Make absolute, and remove "/./" in path
$file = "$cwd/$file";
$file =~ s,/\./,/,g;
} else
{ # Find in PATH
$file = which($file);
}
return $file;
}
##############################################################################
java.lang.NullPointerException # Form a command line that can handle spaces in paths and arguments
java.lang.NullPointerException ##############################################################################
sub quote_options {
my @cmd;
foreach my $opt ( @_ )
{
next unless $opt; # If undefined or empty, just skip
push(@cmd, "\"$opt\""); # Quote argument
} return join(" ", @cmd);
}
##############################################################################
java.lang.NullPointerException # Main program
java.lang.NullPointerException ##############################################################################
my $me = get_full_path($0);
$basedir = dirname(dirname($me)); # Remove "/bin/mysql_config" part
my $ldata = '@localstatedir@';
my $execdir = '@libexecdir@';
my $bindir = '@bindir@';
# ---------------------------------------------------------------------- # If installed, search for the compiled in directory first (might be "lib64") # ----------------------------------------------------------------------
my $pkglibdir = fix_path('@pkglibdir@',"libmysql/relwithdebinfo", "libmysql/release","libmysql/debug","lib/mysql","lib");
my $pkgincludedir = fix_path('@pkgincludedir@', "include/mysql", "include");
# Assume no argument with space in it
my @ldflags = split(" ",'@LDFLAGS@');
my $port; if ( '@MYSQL_TCP_PORT_DEFAULT@' == 0 ) {
$port = 0;
} else {
$port = '@MYSQL_TCP_PORT@';
}
# ---------------------------------------------------------------------- # Create options # We intentionally add a space to the beginning and end of lib strings, simplifies replace later # ----------------------------------------------------------------------
my (@lib_opts,@lib_r_opts,@lib_e_opts); if ( $^O eq "MSWin32" )
{
my $linkpath = "$pkglibdir"; # user32 is only needed for debug or embedded
my @winlibs = ("wsock32.lib","advapi32.lib","user32.lib");
@lib_opts = ("$linkpath/mysqlclient.lib",@winlibs);
@lib_r_opts = @lib_opts;
@lib_e_opts = ("$linkpath/mysqlserver.lib",@winlibs);
} else
{
my $linkpath = "-L$pkglibdir @RPATH_OPTION@";
@lib_opts = ($linkpath,"-lmysqlclient");
@lib_r_opts = ($linkpath,"-lmysqlclient_r");
@lib_e_opts = ($linkpath,"-lmysqld");
}
# ---------------------------------------------------------------------- # Remove some options that a client doesn't have to care about # FIXME until we have a --cxxflags, we need to remove -Xa # and -xstrconst to make --cflags usable for Sun Forte C++ # ----------------------------------------------------------------------
my $filter = join("|", @exclude_cflags);
my @tmp = @{$flags->{cflags}}; # Copy the flag list
$flags->{cflags} = []; # Clear it
foreach my $cflag ( @tmp )
{
push(@{$flags->{cflags}}, $cflag) unless $cflag =~ m/^($filter)$/o;
}
# Same for --libs(_r)
$filter = join("|", @exclude_libs);
foreach my $lib_type ( "libs","libs_r","embedded_libs" )
{
my @tmp = @{$flags->{$lib_type}}; # Copy the flag list
$flags->{$lib_type} = []; # Clear it
foreach my $lib ( @tmp )
{
push(@{$flags->{$lib_type}}, $lib) unless $lib =~ m/^($filter)$/o;
}
}
my $include = quote_options(@{$flags->{include}});
my $cflags = quote_options(@{$flags->{cflags}});
my $libs = quote_options(@{$flags->{libs}});
my $libs_r = quote_options(@{$flags->{libs_r}});
my $embedded_libs = quote_options(@{$flags->{embedded_libs}});
##############################################################################
java.lang.NullPointerException # Usage information, output if no option is given
java.lang.NullPointerException ##############################################################################
##############################################################################
java.lang.NullPointerException # Get options and output the values
java.lang.NullPointerException ##############################################################################
GetOptions( "cflags" => sub { print "$cflags\n" }, "include" => sub { print "$include\n" }, "libs" => sub { print "$libs\n" }, "libs_r" => sub { print "$libs_r\n" }, "socket" => sub { print "$socket\n" }, "port" => sub { print "$port\n" }, "version" => sub { print "$version\n" }, "embedded-libs|embedded|libmysqld-libs" =>
sub { print "$embedded_libs\n" },
) or usage();
exit0
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-10-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.