Page Menu
Home
ClusterLabs Projects
Search
Configure Global Search
Log In
Files
F2020058
configure
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
configure
View Options
#!/usr/bin/perl
###############################################################################
###############################################################################
##
## Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
## Copyright (C) 2004 Red Hat, Inc. All rights reserved.
##
## This copyrighted material is made available to anyone wishing to use,
## modify, copy, or redistribute it subject to the terms and conditions
## of the GNU General Public License v.2.
##
###############################################################################
###############################################################################
use Getopt::Long;
print "\nConfiguring Makefiles for your system...\n";
# Set a bunch of variables
$CC = gcc;
$ret = 0;
%options = (
help => \$help,
incdir => \$incdir,
cmanincdir => \$cmanincdir,
kernel_src => \$kernel_src,
libdir => \$libdir,
mandir => \$mandir,
prefix => \$prefix,
sbindir => \$sbindir,
verbose => \$verbose
);
$err = &GetOptions (\%options,
'help',
'incdir=s',
'cmanincdir=s',
'kernel_src=s',
'libdir=s',
'mandir=s',
'prefix=s',
'sbindir=s',
'verbose');
if(!$err) {
$ret = 1;
print "*** ERROR: Invalid option detected ***\n";
}
# Check for the --help flag
if ($help || !$err) {
$_ = $0;
s/.*\.\/(.*)/\1/;
print "Usage: $_ [flags]\n";
print "--help\t\tPrints this usage information\n\n";
print "install flags:\n";
print "--incdir=\tthe base directory for include files. (Default: /usr/include)\n";
print "--cmanincdir=\tthe base directory for cman include files. (Default: {incdir}/cluster)\n";
print "--kernel_src=\tthe directory containing the kernel source you wish to\n\t\tcompile against. (Default: system dependant)\n";
print "--libdir=\tthe base directory for libraries. (Default: /usr/lib)\n";
print "--mandir=\tthe base directory for man pages. (Default: /usr/share/man)\n";
print "--prefix=\tthe base directory to install into. (Default: /)\n";
print "--sbindir=\tthe base directory for system binaries. (Default: /sbin)\n";
print "--verbose\t\tVerbose output\n";
exit $ret;
}
verbose("------------------------------------------------");
$pwd = `pwd`;
chomp($pwd);
if (!$kernel_src) {
$kernel_src="/usr/src/linux-2.6";
}
if (!$incdir) {
$incdir="${prefix}/usr/include";
}
if (!$cmanincdir) {
$incdir="$incdir/cluster";
}
if (!$libdir) {
$libdir="${prefix}/usr/lib";
}
if (!$mandir) {
$mandir="${prefix}/usr/share/man";
}
if (!$sbindir) {
$sbindir="${prefix}/sbin";
}
open IFILE, "<make/defines.mk.input" or die "Can't redirect stdin";
open OFILE, ">make/defines.mk" or die "Can't redirect stdout";
print OFILE "# This file was generated by configure from defines.mk.input\n";
open VER, "<$kernel_src/include/linux/version.h" or die "Can't open $kernel_src/include/linux/version.h";
while(<VER>){
chomp;
if( $_ =~ /^#define\s*UTS_RELEASE\s*\"(.*)\"$/ ){
$kernel_version = $1;
$module_dir = "${prefix}/lib/modules/$1/kernel";
}
}
while (<IFILE>) {
chomp;
$_ =~ s/\@CC\@/${CC}/;
$_ =~ s/\@INCDIR\@/$incdir/;
$_ =~ s/\@CMANINCDIR\@/$cmanincdir/;
$_ =~ s/\@KERNEL_SRC\@/$kernel_src/;
$_ =~ s/\@KERNEL_VERSION\@/$kernel_version/;
$_ =~ s/\@LIBDIR\@/$libdir/;
$_ =~ s/\@MANDIR\@/$mandir/;
$_ =~ s/\@MODULE_DIR\@/$module_dir/;
$_ =~ s/\@SBINDIR\@/$sbindir/;
print OFILE "$_\n";
}
close IFILE;
open IFILE, "<make/release.mk.input" or die "Can't redirect stdin";
while (<IFILE>) {
chomp;
if($_ =~ /RELEASE_MAJOR\s=\s(.*)/){
$release_major = $1;
} elsif($_ =~ /RELEASE_MINOR\s=\s(.*)/){
$release_minor = $1;
}
}
if($release_minor =~ m/DATE/i){
$release_minor = `date +%s`;
chomp $release_minor;
}
print OFILE "RELEASE_MAJOR = $release_major\n";
print OFILE "RELEASE_MINOR = $release_minor\n";
print OFILE "RELEASE = $release_major.$release_minor\n";
close OFILE;
verbose("--------------------------------");
print "Completed Makefile configuration\n\n";
sub find_tool($tool_name)
{
my($tool_name) = shift(@_);
preverbose("Checking for the presence of $tool_name");
open SV, "scripts/find_executable $tool_name |";
if (<SV>) {
print "\n'$tool_name' not found. Make sure you have '$tool_name' installed and in your path.\n";
die "Configure error: Can't find '$tool_name'.";
}
postverbose("found $tool_name");
}
sub preverbose($msg) {
if($verbose) {
$msg = shift(@_);
print "$msg...";
}
}
sub verbose($msg) {
if($verbose) {
$msg = shift(@_);
print "$msg\n";
}
}
sub postverbose($msg) {
if($verbose) {
$msg = shift(@_);
print "$msg\n";
}
}
File Metadata
Details
Attached
Mime Type
text/x-perl
Expires
Mon, Dec 23, 12:21 PM (1 d, 13 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1128329
Default Alt Text
configure (4 KB)
Attached To
Mode
rF Fence Agents
Attached
Detach File
Event Timeline
Log In to Comment