summaryrefslogtreecommitdiff
path: root/Build-tools
diff options
context:
space:
mode:
authorunknown <lenz@mysql.com>2002-08-29 14:17:52 +0200
committerunknown <lenz@mysql.com>2002-08-29 14:17:52 +0200
commit76c5feb722bdca96a4f234205f574cf42774dae1 (patch)
treef2ab8ba538ad159418b533f4be4a8332ed4ab403 /Build-tools
parentda071de53bd9066019762d3d6252fb18aec7cbe5 (diff)
downloadmariadb-git-76c5feb722bdca96a4f234205f574cf42774dae1.tar.gz
- Applied many modifications to Build-tools/Do-compile made in the 4.0 tree
Build-tools/Do-compile: - applied some modifications made in the 4.0 tree - added option --make-options to pass options to "make" after configure - added option --raid to enable RAID - added option --libwrap to enable TCP wrapper support - make sure to remove log files as early as possible - fixed option --with-other-libc to actually work - fixed some oddly-placed quotes in the configure call
Diffstat (limited to 'Build-tools')
-rwxr-xr-xBuild-tools/Do-compile69
1 files changed, 49 insertions, 20 deletions
diff --git a/Build-tools/Do-compile b/Build-tools/Do-compile
index ffd8815fdb1..2f419fe644b 100755
--- a/Build-tools/Do-compile
+++ b/Build-tools/Do-compile
@@ -2,12 +2,12 @@
use Getopt::Long;
$opt_distribution=$opt_user=$opt_result=$opt_config_options=$opt_config_env="";
-$opt_dbd_options=$opt_perl_options=$opt_suffix="";
+$opt_dbd_options=$opt_perl_options=$opt_make_options=$opt_suffix="";
$opt_tmp=$opt_version_suffix="";
$opt_help=$opt_Information=$opt_delete=$opt_debug=$opt_stage=$opt_rsh_mail=$opt_no_test=$opt_no_perl=$opt_with_low_memory=$opt_fast_benchmark=$opt_static_client=$opt_static_server=$opt_static_perl=$opt_sur=$opt_with_small_disk=$opt_local_perl=$opt_tcpip=$opt_build_thread=$opt_no_mysqltest=$opt_use_old_distribution=$opt_enable_shared=$opt_no_crash_me=$opt_no_strip=0;
-$opt_innodb=$opt_bdb=0;
+$opt_innodb=$opt_bdb=$opt_raid=$opt_libwrap=0;
-GetOptions("Information","help","distribution=s","user=s","result=s","delete","no-test","no-mysqltest","perl-files=s","debug","config-options=s","config-env=s","stage=i","rsh-mail","with-low-memory","fast-benchmark","tmp=s","static-client","static-server","static-perl","no-perl","local-perl","perl-options=s","sur","with-small-disk","dbd-options=s","tcpip","suffix=s","build-thread=i","innodb","bdb","use-old-distribution","enable-shared","no-crash-me","no-strip","version-suffix=s", "with-other-libc=s") || usage();
+GetOptions("Information","help","distribution=s","user=s","result=s","delete","no-test","no-mysqltest","perl-files=s","debug","config-options=s","config-env=s","stage=i","rsh-mail","with-low-memory","fast-benchmark","tmp=s","static-client","static-server","static-perl","no-perl","local-perl","perl-options=s","make-options=s","sur","with-small-disk","dbd-options=s","tcpip","suffix=s","build-thread=i","innodb","bdb","raid","libwrap","use-old-distribution","enable-shared","no-crash-me","no-strip","version-suffix=s", "with-other-libc=s") || usage();
usage() if ($opt_help || $opt_Information);
usage() if (!$opt_distribution);
@@ -75,6 +75,19 @@ $ENV{"PERL5LIB"}="$pwd/$host/perl5:$pwd/$host/perl5/site_perl";
$slave_port=$mysql_tcp_port+16;
$manager_port=$mysql_tcp_port+1;
+if ($opt_stage == 0)
+{
+ system("mkdir Logs") if (! -d "Logs");
+ system("mv $log ${log}-old") if (-f $log);
+ unlink($log);
+}
+
+open(LOG,">>$log") || abort("Can't open log file, error $?");
+select LOG;
+$|=1;
+select STDOUT;
+$|=1;
+
if (-x "$host/bin/mysqladmin")
{
log_system("$host/bin/mysqladmin --no-defaults -u root -S $mysql_unix_port -s shutdown");
@@ -97,25 +110,22 @@ if ($opt_stage == 0)
}
rm_all("$host/test");
system("mkdir $host/test") if (! -d "$host/test");
- system("mkdir Logs") if (! -d "Logs");
- system("mv $log ${log}-old") if (-f $log);
- unlink($log);
}
-open(LOG,">>$log") || abort("Can't open log file, error $?");
-select LOG;
-$|=1;
-select STDOUT;
-$|=1;
-
safe_cd($host);
if ($opt_stage == 0 && ! $opt_use_old_distribution)
{
safe_system("gunzip < $opt_distribution | $tar xf -");
# Fix file times; This is needed because the time for files may be
- # in the future
- system("touch timestamp; find . -newer timestamp -print | xargs touch; rm -f timestamp");
+ # in the future. The following is done this way to ensure that
+ # we don't get any errors from xargs touch
+ system("touch timestamp");
+ sleep(2);
+ system("touch timestamp2");
+ system("find . -newer timestamp -print | xargs touch");
+ unlink("timestamp");
+ unlink("timestamp2");
sleep(2);
# Ensure that files we don't want to rebuild are newer than other files
safe_cd($ver);
@@ -149,7 +159,8 @@ if ($opt_stage <= 1)
}
if ($opt_with_other_libc)
{
- $opt_with_other_libc = "--with-other-libc=$opt_with_other_libc";
+ $opt_with_other_libc= "--with-other-libc=$opt_with_other_libc";
+ $opt_config_options.= " $opt_with_other_libc";
}
if (!$opt_enable_shared)
{
@@ -159,11 +170,19 @@ if ($opt_stage <= 1)
{
$opt_config_options.= " --with-berkeley-db"
}
+ if ($opt_raid)
+ {
+ $opt_config_options.= " --with-raid"
+ }
if ($opt_innodb)
{
$opt_config_options.= " --with-innodb"
}
- check_system("$opt_config_env ./configure --prefix=/usr/local/mysql \"--with-comment=Official MySQL$opt_version_suffix binary\" --with-extra-charsets=complex \"--with-server-suffix=$opt_version_suffix\" --enable-thread-safe-client --enable-local-infile $opt_config_options","Thank you for choosing MySQL");
+ if ($opt_libwrap)
+ {
+ $opt_config_options.= " --with-libwrap"
+ }
+ check_system("$opt_config_env ./configure --prefix=/usr/local/mysql --with-comment=\"Official MySQL$opt_version_suffix binary\" --with-extra-charsets=complex --with-server-suffix=\"$opt_version_suffix\" --enable-thread-safe-client --enable-local-infile $opt_config_options","Thank you for choosing MySQL");
if (-d "$pwd/$host/include-mysql")
{
safe_system("cp -r $pwd/$host/include-mysql/* $pwd/$host/$ver/include");
@@ -172,8 +191,11 @@ if ($opt_stage <= 1)
if ($opt_stage <= 2)
{
+ my ($command);
unlink($opt_distribution) if ($opt_delete && !$opt_use_old_distribution);
- safe_system("$make");
+ $command=$make;
+ $command.= " $opt_make_options" if (defined($opt_make_options) && $opt_make_options ne "");
+ safe_system($command);
}
#
@@ -368,6 +390,9 @@ To set up the environment, like 'CC=cc CXX=gcc CXXFLAGS=-O3'
--dbd-options 'options'
Options for Makefile.PL when configuring msql-mysql-modules.
+--make-options 'options'
+Options to make after configure. (Like 'CXXLD=gcc')
+
--version-suffix suffix
Can be used to set a suffix (normally 'com' or '-max') for a distribution
@@ -547,13 +572,17 @@ sub rm_all
sub kill_all
{
my ($pattern) = @_;
- my ($USER,$BSD,$LINUX,$pscmd, $user, $pid);
+ my ($USER,$BSD,$LINUX, $pscmd, $user, $pid);
$user=$ENV{'USER'};
- $BSD = -f '/vmunix' || $ENV{"OS"} eq "SunOS4";
+ $BSD = -f '/vmunix' || $ENV{"OS"} eq "SunOS4" || $^O eq 'darwin';
$LINUX = $^O eq 'linux';
$pscmd = $BSD ? "/bin/ps -auxww" : $LINUX ? "/bin/ps axuw" : "/bin/ps -ef";
- open(PS, "$pscmd|") || die "can't run $pscmd: $!";
+ if (!open(PS, "$pscmd|"))
+ {
+ print "Warning: Can't run $pscmd: $!\n";
+ exit;
+ }
# Catch any errors with eval. A bad pattern, for instance.
process: