Merge pull request #593 from SaberUK/master+configure-shuffle

Remove a ton of duplicate and obsolete code from configure.
This commit is contained in:
Attila Molnar 2013-08-04 03:19:02 -07:00
commit 44b20f4745
6 changed files with 96 additions and 294 deletions

298
configure vendored
View File

@ -33,30 +33,17 @@ BEGIN {
use strict;
use warnings FATAL => qw(all);
use Data::Dumper;
BEGIN {
$Data::Dumper::Sortkeys = 1;
$Data::Dumper::Useqq = 1;
};
use File::Copy ();
use File::Spec::Functions qw(rel2abs);
use Cwd;
use Getopt::Long;
# Utility functions for our buildsystem
use make::utilities;
use make::configure;
###############################################################################################
#
# NON-EDITABLE VARIABLES
#
###############################################################################################
use make::utilities;
our ($opt_use_gnutls, $opt_use_openssl, $opt_nointeractive, $opt_socketengine, $opt_freebsd_port,
$opt_system, $opt_uid);
our ($opt_base_dir, $opt_config_dir, $opt_module_dir, $opt_binary_dir, $opt_data_dir, $opt_log_dir);
$opt_system, $opt_uid, $opt_base_dir, $opt_config_dir, $opt_module_dir, $opt_binary_dir,
$opt_data_dir, $opt_log_dir);
sub list_extras ();
@ -116,14 +103,12 @@ our $interactive = !(
(defined $opt_freebsd_port)
);
chomp(our $topdir = getcwd());
our $this = resolve_directory($topdir); # PWD, Regardless.
our @modlist = (); # Declare for Module List..
our %config = (); # Initiate Configuration Hash..
our $topdir = getcwd();
our @modlist = ();
our %config = ();
our $cache_loaded = getcache();
$config{ME} = resolve_directory($topdir); # Present Working Directory
$config{BASE_DIR} = $config{ME}."/run";
$config{BASE_DIR} = $topdir."/run";
if (defined $opt_base_dir) {
$config{BASE_DIR} = $opt_base_dir;
@ -133,20 +118,20 @@ if (defined $opt_base_dir) {
if (defined $opt_system) {
$config{UID} = $opt_uid || 'ircd';
$config{CONFIG_DIR} = '/etc/inspircd';
$config{MODULE_DIR} = '/usr/lib/inspircd';
$config{BINARY_DIR} = '/usr/sbin/';
$config{BUILD_DIR} = resolve_directory($config{ME}."/build"); # Build Directory
$config{DATA_DIR} = '/var/inspircd';
$config{LOG_DIR} = '/var/log/inspircd';
$config{CONFIG_DIR} = '/etc/inspircd';
$config{MODULE_DIR} = '/usr/lib/inspircd';
$config{BINARY_DIR} = '/usr/sbin/';
$config{BUILD_DIR} = $topdir."/build";
$config{DATA_DIR} = '/var/inspircd';
$config{LOG_DIR} = '/var/log/inspircd';
} else {
$config{UID} = $opt_uid || $<;
$config{CONFIG_DIR} = resolve_directory($config{BASE_DIR}."/conf"); # Configuration Directory
$config{MODULE_DIR} = resolve_directory($config{BASE_DIR}."/modules"); # Modules Directory
$config{BINARY_DIR} = resolve_directory($config{BASE_DIR}."/bin"); # Binary Directory
$config{BUILD_DIR} = resolve_directory($config{ME}."/build"); # Build Directory
$config{DATA_DIR} = resolve_directory($config{BASE_DIR}."/data"); # Data directory
$config{LOG_DIR} = resolve_directory($config{BASE_DIR}."/logs"); # Log directory
$config{CONFIG_DIR} = rel2abs($config{BASE_DIR}."/conf");
$config{MODULE_DIR} = rel2abs($config{BASE_DIR}."/modules");
$config{BINARY_DIR} = rel2abs($config{BASE_DIR}."/bin");
$config{BUILD_DIR} = rel2abs($topdir."/build");
$config{DATA_DIR} = rel2abs($config{BASE_DIR}."/data");
$config{LOG_DIR} = rel2abs($config{BASE_DIR}."/logs");
}
if (defined $opt_config_dir) {
@ -200,14 +185,7 @@ if (defined $opt_use_openssl)
$config{USE_OPENSSL} = "y";
}
$config{HAS_STDINT} = "false"; # stdint.h check
$config{OSNAME} = $^O; # Operating System Name
$config{STARTSCRIPT} = "inspircd"; # start script?
$config{DESTINATION} = "BASE"; # Is target path.
if ($config{OSNAME} =~ /darwin/i)
{
$config{STARTSCRIPT} = "org.inspircd.plist"; # start script for OSX.
}
$config{STARTSCRIPT} = $^O eq 'darwin' ? 'org.inspircd.plist' : 'inspircd';
$config{CXX} = defined $ENV{CXX} && !system("$ENV{CXX} -v > /dev/null 2>&1") ? $ENV{CXX} : find_compiler();
if ($config{CXX} eq "") {
@ -240,19 +218,18 @@ sub clean
sub update
{
eval {
chomp($topdir = getcwd());
$this = resolve_directory($topdir); # PWD, Regardless.
getmodules();
# Does the cache file exist?
if (!getcache()) {
# No, No it doesn't.. *BASH*
print "You have not run ./configure before. Please do this before trying to run the update script.\n";
exit 0;
exit 1;
} else {
# We've Loaded the cache file and all our variables..
$topdir = getcwd();
getmodules();
print "Updating files...\n";
%cxx = get_compiler_info($config{CXX});
writefiles(1);
writefiles();
makecache();
print "Complete.\n";
exit;
@ -268,19 +245,8 @@ sub update
print "Running non-interactive configure...\n" unless $interactive;
print "Checking for cache from previous configure... ";
print ($cache_loaded ? "found\n" : "not found\n");
$config{SYSTEM} = lc $^O;
print "Checking operating system version... $config{SYSTEM}\n";
print "Checking whether <stdint.h> exists... ";
if (test_header($config{CXX}, "stdint.h")) {
$config{HAS_STDINT} = "true";
print "yes\n";
} else {
$config{HAS_STDINT} = "false";
print "no\n";
}
printf "Checking whether clock_gettime() exists... ";
print "Checking whether clock_gettime() is available... ";
if (test_file($config{CXX}, "clock_gettime.cpp", "-lrt")) {
$config{HAS_CLOCK_GETTIME} = "true";
print "yes\n";
@ -289,7 +255,7 @@ if (test_file($config{CXX}, "clock_gettime.cpp", "-lrt")) {
print "no\n";
}
printf "Checking whether eventfd() exists... ";
print "Checking whether eventfd() is available... ";
if (test_file($config{CXX}, "eventfd.cpp")) {
$config{HAS_EVENTFD} = "true";
print "yes\n";
@ -338,7 +304,7 @@ if (defined $opt_socketengine) {
}
}
printf "Checking for libgnutls... ";
print "Checking for libgnutls... ";
if (defined($config{HAS_GNUTLS}) && (($config{HAS_GNUTLS}) || ($config{HAS_GNUTLS} eq "y"))) {
if (defined($gnutls_ver) && ($gnutls_ver ne "")) {
print "yes\n";
@ -352,7 +318,7 @@ if (defined($config{HAS_GNUTLS}) && (($config{HAS_GNUTLS}) || ($config{HAS_GNUTL
$config{HAS_GNUTLS} = "n";
}
printf "Checking for openssl... ";
print "Checking for openssl... ";
if (defined($config{HAS_OPENSSL}) && (($config{HAS_OPENSSL}) || ($config{HAS_OPENSSL} eq "y"))) {
if (defined($openssl_ver) && ($openssl_ver ne "")) {
print "yes\n";
@ -366,38 +332,14 @@ if (defined($config{HAS_OPENSSL}) && (($config{HAS_OPENSSL}) || ($config{HAS_OPE
$config{HAS_OPENSSL} = "n";
}
printf "Checking if you are running an ancient, unsupported OS... ";
if ($config{OSNAME} =~ /FreeBSD/i)
{
my $version = `uname -r`;
if ($version =~ /^4\./)
{
print "yes.\n";
print "FreeBSD 4.x is no longer supported. By ANYONE.\n";
print "To build, you will need to add the following to CXXFLAGS:\n";
print "\t-L/usr/local/lib -lgnugetopt -DHAVE_DECL_GETOPT=1\n";
}
else
{
print "no ($version)\n";
}
}
else
{
print "no ($config{OSNAME})\n";
}
################################################################################
# BEGIN INTERACTIVE PART #
################################################################################
# Clear the Screen..
if ($interactive)
{
print "\e[2J\e[0G\e[0d"; # J = Erase in Display, 2 = Entire Screen, (G, d) = Move cursor to (..,..)
my $wholeos = $^O;
# Clear the screen.
system 'tput', 'clear';
my $revision = getrevision();
chomp(my $version = `sh src/version.sh`);
my $rev = getrevision();
# Display Introduction Message..
print <<"STOP" ;
Welcome to the \e[1mInspIRCd\e[0m Configuration program! (\e[1minteractive mode\e[0m)
@ -411,25 +353,22 @@ Press \e[1m<RETURN>\e[0m to accept the default for any option, or enter
a new value. Please note: You will \e[1mHAVE\e[0m to read the docs
dir, otherwise you won't have a config file!
Your operating system is: \e[1;32m$config{OSNAME}\e[0m ($wholeos)
Your InspIRCd revision ID is \e[1;32mr$rev\e[0m
Your operating system is: \e[1;32m$^O\e[0m
STOP
if ($rev eq "r0") {
print " (Non-SVN build)";
}
print ".\n\n";
print "I have detected the following compiler: \e[1;32m$cxx{NAME}\e[0m (version \e[1;32m$cxx{VERSION}\e[0m)\n\n";
print "Your InspIRCd version is: \e[1;32m";
print $revision eq 'release' ? substr($version, 9) : substr($revision, 1);
print "\e[0m\n\n";
print "The following compiler has been detected: \e[1;32m$cxx{NAME} $cxx{VERSION}\e[0m ($config{CXX})\n\n";
# Directory Settings..
my $tmpbase = $config{BASE_DIR};
dir_check("do you wish to install the InspIRCd base", "BASE_DIR");
if ($tmpbase ne $config{BASE_DIR}) {
$config{CONFIG_DIR} = resolve_directory($config{BASE_DIR}."/conf"); # Configuration Dir
$config{MODULE_DIR} = resolve_directory($config{BASE_DIR}."/modules"); # Modules Directory
$config{DATA_DIR} = resolve_directory($config{BASE_DIR}."/data"); # Data Directory
$config{LOG_DIR} = resolve_directory($config{BASE_DIR}."/logs"); # Log Directory
$config{BINARY_DIR} = resolve_directory($config{BASE_DIR}."/bin"); # Binary Directory
$config{CONFIG_DIR} = rel2abs($config{BASE_DIR}."/conf");
$config{MODULE_DIR} = rel2abs($config{BASE_DIR}."/modules");
$config{DATA_DIR} = rel2abs($config{BASE_DIR}."/data");
$config{LOG_DIR} = rel2abs($config{BASE_DIR}."/logs");
$config{BINARY_DIR} = rel2abs($config{BASE_DIR}."/bin");
}
dir_check("are the configuration files", "CONFIG_DIR");
@ -505,7 +444,6 @@ STOP
}
$config{USE_SSL} = "n";
$config{MODUPDATE} = 'n';
if ($config{HAS_GNUTLS} eq "y" || $config{HAS_OPENSSL} eq "y")
{
@ -529,7 +467,7 @@ STOP
yesno('USE_OPENSSL', "Would you like to enable SSL with m_ssl_openssl?");
if ($config{USE_OPENSSL} eq "y")
{
print "\nUsing OpenSSL SSL module.\nYou will get better performance if you move to GnuTLS in the future.\n";
print "\nUsing OpenSSL SSL module.\n";
}
}
}
@ -539,13 +477,6 @@ STOP
print "\nCould not detect OpenSSL or GnuTLS. Make sure pkg-config is installed and\n";
print "is in your path.\n\n";
}
yesno('MODUPDATE',"Would you like to check for updates to third-party modules?");
print "\n";
if ($config{MODUPDATE} eq "y") {
print "Checking for upgrades to extra and third party modules... ";
system "./modulemanager upgrade";
}
}
# We are on a POSIX system, we can enable POSIX extras without asking
@ -554,14 +485,13 @@ symlink "extra/m_regex_posix.cpp", "src/modules/m_regex_posix.cpp";
if (($config{USE_GNUTLS} eq "y") && ($config{HAS_GNUTLS} ne "y"))
{
print "Sorry, but i couldn't detect gnutls. Make sure gnutls-config is in your path.\n";
exit(0);
exit 1;
}
if (($config{USE_OPENSSL} eq "y") && ($config{HAS_OPENSSL} ne "y"))
{
print "Sorry, but i couldn't detect openssl. Make sure openssl is in your path.\n";
exit(0);
exit 1;
}
our $failed = 0;
$config{CERTGEN} ||= 'y';
yesno('CERTGEN',"Would you like generate SSL certificates now?") if ($interactive && ($config{USE_GNUTLS} eq "y" || $config{USE_OPENSSL} eq "y"));
@ -573,22 +503,12 @@ if ($config{USE_GNUTLS} eq "y") {
}
if ($interactive && $config{CERTGEN} eq 'y')
{
unless (-r "$config{CONFIG_DIR}/key.pem" && -r "$config{CONFIG_DIR}/cert.pem") {
print "SSL Certificates Not found, Generating.. \n\n
*************************************************************
* Generating the Private Key may take some time, go grab a *
* Coffee. Even better, to generate some more entropy if it *
* is taking a while, open another console and type du / a *
* few times and get that HD going :) Then answer the *
* Questions which follow. If you are unsure, just hit enter *
*************************************************************\n\n";
$failed = system "./tools/genssl gnutls";
if ($failed) {
print "\n\e[1;32mCertificate generation failed!\e[0m\n\n";
} else {
unless (-r "$config{CONFIG_DIR}/key.pem" && -r "$config{CONFIG_DIR}/cert.pem" && -r "$config{CONFIG_DIR}/dhparams.pem") {
unless (system './tools/genssl gnutls') {
print "\nCertificate generation complete, copying to config directory... ";
File::Copy::move("key.pem", "$config{CONFIG_DIR}/key.pem") or print STDERR "Could not copy key.pem!\n";
File::Copy::move("cert.pem", "$config{CONFIG_DIR}/cert.pem") or print STDERR "Could not copy cert.pem!\n";
File::Copy::move("dhparams.pem", "$config{CONFIG_DIR}/dhparams.pem") or print STDERR "Could not copy dhparams.pem!\n";
print "Done.\n\n";
}
}
@ -607,21 +527,16 @@ if ($config{USE_OPENSSL} eq "y") {
print "Symlinking src/modules/m_ssl_openssl.cpp from extra/\n";
symlink "extra/m_ssl_openssl.cpp", "src/modules/m_ssl_openssl.cpp" or print STDERR "Symlink failed: $!";
}
$failed = 0;
if ($interactive && $config{CERTGEN} eq 'y')
{
unless (-r "$config{CONFIG_DIR}/key.pem" && -r "$config{CONFIG_DIR}/cert.pem") {
print "SSL Certificates Not found, Generating.. \n\n
*************************************************************
* Generating the certificates may take some time, go grab a *
* coffee, or something. *
*************************************************************\n\n";
system "./tools/genssl openssl";
print "\nCertificate generation complete, copying to config directory... ";
File::Copy::move("key.pem", "$config{CONFIG_DIR}/key.pem") or print STDERR "Could not copy key.pem!\n";
File::Copy::move("cert.pem", "$config{CONFIG_DIR}/cert.pem") or print STDERR "Could not copy cert.pem!\n";
File::Copy::move("dhparams.pem", "$config{CONFIG_DIR}/dhparams.pem") or print STDERR "Could not copy dhparams.pem!\n";
print "Done.\n\n";
unless (-r "$config{CONFIG_DIR}/key.pem" && -r "$config{CONFIG_DIR}/cert.pem" && -r "$config{CONFIG_DIR}/dhparams.pem") {
unless (system './tools/genssl openssl') {
print "\nCertificate generation complete, copying to config directory... ";
File::Copy::move("key.pem", "$config{CONFIG_DIR}/key.pem") or print STDERR "Could not copy key.pem!\n";
File::Copy::move("cert.pem", "$config{CONFIG_DIR}/cert.pem") or print STDERR "Could not copy cert.pem!\n";
File::Copy::move("dhparams.pem", "$config{CONFIG_DIR}/dhparams.pem") or print STDERR "Could not copy dhparams.pem!\n";
print "Done.\n\n";
}
} else {
print "SSL Certificates found, skipping.\n\n"
}
@ -636,7 +551,7 @@ if (($config{USE_GNUTLS} eq "n") && ($config{USE_OPENSSL} eq "n")) {
}
depcheck();
writefiles(1);
writefiles();
makecache();
dumphash();
@ -650,9 +565,6 @@ if (($config{USE_GNUTLS} eq "y") || ($config{USE_OPENSSL} eq "y")) {
}
print "*** \e[1;32mRemember to edit your configuration files!!!\e[0m ***\n\n";
################################################################################
# HELPER FUNCTIONS #
################################################################################
sub getcache {
# Retrieves the .config.cache file, and loads values into the main config hash.
open(CACHE, ".config.cache") or return 0;
@ -692,15 +604,9 @@ sub dir_check {
}
if ($var =~ /^\~\/(.+)$/) {
# Convert it to a full path..
$var = resolve_directory($ENV{HOME} . "/" . $1);
$var = rel2abs($ENV{HOME} . "/" . $1);
}
elsif ((($config{OSNAME} =~ /MINGW32/i) and ($var !~ /^[A-Z]{1}:\\.*/)) and (substr($var,0,1) ne "/"))
{
# Assume relative Path was given.. fill in the rest.
$var = $this . "/$var";
}
$var = resolve_directory($var);
$var = rel2abs($var);
if (! -e $var) {
print "$var does not exist. Create it?\n[\e[1;32my\e[0m] ";
chomp(my $tmp = <STDIN>);
@ -722,7 +628,7 @@ sub dir_check {
next;
}
} else {
if (!is_dir($var)) {
if (! -d $var) {
# Target exists, but is not a directory.
print "File $var exists, but is not a directory.\n\n";
next;
@ -735,32 +641,24 @@ sub dir_check {
}
}
our $SHARED = "";
my ($mliflags, $mfrules, $mobjs, $mfcount) = ("", "", "", 0);
sub writefiles {
my($writeheader) = @_;
# First File.. config.h
chomp(my $incos = `uname -n -s -r`);
chomp(my $version = `sh src/version.sh`);
chomp(my $revision2 = getrevision());
my $revision = getrevision();
my $branch = "InspIRCd-0.0";
if ($version =~ /^(InspIRCd-[0-9]+\.[0-9]+)\.[0-9]+/)
{
$branch = $1;
}
if ($writeheader == 1)
{
print "Writing \e[1;32mconfig.h\e[0m\n";
open(FILEHANDLE, ">include/config.h.tmp");
print FILEHANDLE <<EOF;
print "Writing \e[1;32mconfig.h\e[0m\n";
open(FILEHANDLE, ">include/config.h.tmp");
print FILEHANDLE <<EOF;
/* Auto generated by configure, do not modify! */
#pragma once
#define BRANCH "$branch"
#define VERSION "$version"
#define REVISION "$revision2"
#define REVISION "$revision"
#define SYSTEM "$incos"
#define CONFIG_PATH "$config{CONFIG_DIR}"
@ -770,74 +668,42 @@ sub writefiles {
EOF
if ($config{HAS_STDINT} eq "true") {
print FILEHANDLE "#define HAS_STDINT\n";
}
if ($config{HAS_EVENTFD} eq 'true') {
print FILEHANDLE "#define HAS_EVENTFD\n";
}
if ($config{HAS_CLOCK_GETTIME} eq 'true') {
print FILEHANDLE "#define HAS_CLOCK_GETTIME\n";
}
print FILEHANDLE "\n#include \"threadengines/threadengine_pthread.h\"\n";
close(FILEHANDLE);
my $file = 'include/config.h';
my $diff = 0;
open my $fh1, $file or $diff = 1;
open my $fh2, $file.'.tmp' or die "Can't read $file.tmp that we just wrote: $!";
while (!$diff) {
my $line1 = <$fh1>;
my $line2 = <$fh2>;
if (defined($line1) != defined($line2)) {
$diff = 1;
} elsif (!defined $line1) {
last;
} else {
$diff = ($line1 ne $line2);
}
}
if ($diff) {
unlink $file;
rename "$file.tmp", $file;
} else {
unlink "$file.tmp";
}
if ($config{HAS_EVENTFD} eq 'true') {
print FILEHANDLE "#define HAS_EVENTFD\n";
}
if ($config{HAS_CLOCK_GETTIME} eq 'true') {
print FILEHANDLE "#define HAS_CLOCK_GETTIME\n";
}
# Write all .in files.
my $tmp = "";
my $file = "";
my $exe = "inspircd";
print FILEHANDLE "\n#include \"threadengines/threadengine_pthread.h\"\n";
close(FILEHANDLE);
unlink 'include/config.h';
rename 'include/config.h.tmp', 'include/config.h';
# Do this once here, and cache it in the .*.inc files,
# rather than attempting to read src/version.sh from
# compiled code -- we might not have the source to hand.
# Fix for bug#177 by Brain.
chomp($version = `sh ./src/version.sh`);
chomp(my $revision = getrevision());
$version = "$version(r$revision)";
my @dotfiles = qw(main.mk inspircd);
push @dotfiles, 'org.inspircd.plist' if $config{OSNAME} eq 'darwin';
push @dotfiles, 'org.inspircd.plist' if $^O eq 'darwin';
foreach my $file (@dotfiles) {
open(FILEHANDLE, "make/template/$file") or die "Can't open make/template/$file: $!";
$_ = join '', <FILEHANDLE>;
close(FILEHANDLE);
$config{BUILD_DIR} ||= resolve_directory($config{ME}."/build");
$config{BUILD_DIR} ||= rel2abs($topdir."/build");
$config{COMPILER} = lc $cxx{NAME};
$config{SYSTEM} = lc $^O;
for my $var (qw(
CXX COMPILER SYSTEM BASE_DIR CONFIG_DIR MODULE_DIR BINARY_DIR BUILD_DIR DATA_DIR UID
STARTSCRIPT DESTINATION SOCKETENGINE
STARTSCRIPT SOCKETENGINE
)) {
s/\@$var\@/$config{$var}/g;
}
s/\@EXECUTABLE\@/$exe/ if defined $exe;
s/\@VERSION\@/$version/ if defined $version;
if ($file eq 'main.mk') {

View File

@ -31,9 +31,9 @@ use warnings FATAL => qw(all);
use Exporter 'import';
use POSIX;
use make::utilities;
our @EXPORT = qw(get_compiler_info find_compiler test_file test_header promptnumeric dumphash is_dir getmodules getrevision getcompilerflags getlinkerflags getdependencies nopedantic resolve_directory yesno showhelp promptstring_s module_installed);
our @EXPORT = qw(get_compiler_info find_compiler test_file test_header promptnumeric dumphash getmodules getrevision getcompilerflags getlinkerflags getdependencies nopedantic yesno showhelp promptstring_s module_installed);
my $no_git = 0;
my $revision;
sub get_compiler_info($) {
my %info = (NAME => shift, VERSION => '0.0');
@ -103,30 +103,11 @@ sub yesno {
return;
}
sub resolve_directory
{
my $ret = $_[0];
eval
{
use File::Spec;
$ret = File::Spec->rel2abs($_[0]);
};
return $ret;
}
sub getrevision {
if ($no_git)
{
return "0";
}
my $data = `git describe --tags 2>/dev/null`;
if ($data eq "")
{
$no_git = 1;
return '0';
}
chomp $data; # remove \n
return $data;
return $revision if defined $revision;
chomp(my $tags = `git describe --tags 2>/dev/null`);
$revision = $tags || 'release';
return $revision;
}
sub getcompilerflags {
@ -269,6 +250,8 @@ sub dumphash()
print "\n\e[1;32mPre-build configuration is complete!\e[0m\n\n";
print "\e[0mBase install path:\e[1;32m\t\t$main::config{BASE_DIR}\e[0m\n";
print "\e[0mConfig path:\e[1;32m\t\t\t$main::config{CONFIG_DIR}\e[0m\n";
print "\e[0mData path:\e[1;32m\t\t\t$main::config{DATA_DIR}\e[0m\n";
print "\e[0mLog path:\e[1;32m\t\t\t$main::config{LOG_DIR}\e[0m\n";
print "\e[0mModule path:\e[1;32m\t\t\t$main::config{MODULE_DIR}\e[0m\n";
print "\e[0mCompiler:\e[1;32m\t\t\t$main::cxx{NAME} $main::cxx{VERSION}\e[0m\n";
print "\e[0mSocket engine:\e[1;32m\t\t\t$main::config{SOCKETENGINE}\e[0m\n";
@ -276,22 +259,6 @@ sub dumphash()
print "\e[0mOpenSSL support:\e[1;32m\t\t$main::config{USE_OPENSSL}\e[0m\n";
}
sub is_dir
{
my ($path) = @_;
if (chdir($path))
{
chdir($main::this);
return 1;
}
else
{
# Just in case..
chdir($main::this);
return 0;
}
}
sub showhelp
{
chomp(my $PWD = `pwd`);
@ -304,20 +271,13 @@ sub showhelp
print <<EOH;
Usage: configure [options]
*** NOTE: NON-INTERACTIVE CONFIGURE IS *NOT* SUPPORTED BY THE ***
*** INSPIRCD DEVELOPMENT TEAM. DO NOT ASK FOR HELP REGARDING ***
*** NON-INTERACTIVE CONFIGURE ON THE FORUMS OR ON IRC! ***
Options: [defaults in brackets after descriptions]
When no options are specified, interactive
configuration is started and you must specify
any required values manually. If one or more
options are specified, non-interactive configuration
is started, and any omitted values are defaulted.
Arguments with a single \"-\" symbol, as in
InspIRCd 1.0.x, are also allowed.
Arguments with a single \"-\" symbol are also allowed.
--disable-interactive Sets no options itself, but
will disable any interactive prompting.
@ -328,8 +288,8 @@ InspIRCd 1.0.x, are also allowed.
--socketengine=[name] Sets the socket engine to be used. Possible values are
$SELIST.
--prefix=[directory] Base directory to install into (if defined,
can automatically define config, module, bin
and library dirs as subdirectories of prefix)
can automatically define config, data, module,
log and binary dirs as subdirectories of prefix)
[$PWD]
--config-dir=[directory] Config file directory for config and SSL certs
[$PWD/conf]
@ -342,8 +302,6 @@ InspIRCd 1.0.x, are also allowed.
[$PWD/modules]
--binary-dir=[directory] Binaries directory for core binary
[$PWD/bin]
--library-dir=[directory] Library directory for core libraries
[$PWD/lib]
--list-extras Show current status of extra modules
--enable-extras=[extras] Enable the specified list of extras
--disable-extras=[extras] Disable the specified list of extras

View File

@ -29,7 +29,7 @@ my $binpath = "@BINARY_DIR@";
my $runpath = "@BASE_DIR@";
my $datadir = "@DATA_DIR@";
my $valgrindlogpath = "$basepath/valgrindlogs";
my $executable = "@EXECUTABLE@";
my $executable = "inspircd";
my $version = "@VERSION@";
my $uid = "@UID@";

View File

@ -22,9 +22,6 @@
#include "inspircd.h"
#ifdef HAS_STDINT
#include <stdint.h>
#endif
#include "modules/hash.h"
/* The four core functions - F1 is optimized somewhat */
@ -37,10 +34,6 @@
#define MD5STEP(f,w,x,y,z,in,s) \
(w += f(x,y,z) + in, w = (w<<s | w>>(32-s)) + x)
#ifndef HAS_STDINT
typedef unsigned int uint32_t;
#endif
typedef uint32_t word32; /* NOT unsigned long. We don't support 16 bit platforms, anyway. */
typedef unsigned char byte;

View File

@ -59,20 +59,12 @@
/* macro definitions */
#include "inspircd.h"
#ifdef HAS_STDINT
#include <stdint.h>
#endif
#include "modules/hash.h"
#define RMDsize 160
#ifndef HAS_STDINT
typedef unsigned char byte;
typedef unsigned int dword;
#else
typedef uint8_t byte;
typedef uint32_t dword;
#endif
typedef uint8_t byte;
typedef uint32_t dword;
/* collect four bytes into one word: */
#define BYTES_TO_DWORD(strptr) \

View File

@ -57,15 +57,8 @@
*/
#include "inspircd.h"
#ifdef HAS_STDINT
#include <stdint.h>
#endif
#include "modules/hash.h"
#ifndef HAS_STDINT
typedef unsigned int uint32_t;
#endif
#define SHA256_DIGEST_SIZE (256 / 8)
#define SHA256_BLOCK_SIZE (512 / 8)