summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure133
1 files changed, 79 insertions, 54 deletions
diff --git a/configure b/configure
index d87a8f7c1..f34a90342 100755
--- a/configure
+++ b/configure
@@ -23,56 +23,81 @@ use make::configure;
use make::gnutlscert;
use make::opensslcert;
- my %filelist = (
- "channels.cpp" => "libIRCDchannels",
- "mode.cpp" => "libIRCDmode",
- "xline.cpp" => "libIRCDxline",
- "inspstring.cpp"=> "libIRCDstring",
- "dns.cpp" => "libIRCDasyncdns",
- "base.cpp" => "libIRCDbase",
- "configreader.cpp"=> "libIRCDconfigreader",
- "inspsocket.cpp"=> "libIRCDinspsocket",
- "commands.cpp" => "libIRCDcommands",
- "dynamic.cpp" => "libIRCDdynamic",
- "users.cpp" => "libIRCDusers",
- "modules.cpp" => "libIRCDmodules",
- "wildcard.cpp" => "libIRCDwildcard",
- "helperfuncs.cpp"=> "libIRCDhelper",
- "hashcomp.cpp" => "libIRCDhash",
- "socket.cpp" => "libIRCDsocket",
- "socketengine.cpp"=> "libIRCDsocketengine",
- "userprocess.cpp"=> "libIRCDuserprocess",
- "cull_list.cpp"=> "libIRCDcull_list",
- "command_parse.cpp"=> "libIRCDcommand_parse",
- "timer.cpp" => "libIRCDtimer",
- "snomasks.cpp" => "libIRCDsnomasks",
- "server.cpp" => "libIRCDserver",
- "filelogger.cpp"=> "libIRCDfilelogger",
- "user_resolver.cpp"=> "libIRCDuserresolver",
- );
-
- my %specialdeps = (
- "mode.cpp" => "\$(RELCPPFILES)",
- );
+###############################################################################################
+
+# This is a list of all files in the core. Each cpp file is mapped to a shared object file,
+# whos file extension is omitted (these can vary from system to system).
+
+my %filelist = (
+ "channels.cpp" => "libIRCDchannels",
+ "mode.cpp" => "libIRCDmode",
+ "xline.cpp" => "libIRCDxline",
+ "inspstring.cpp" => "libIRCDstring",
+ "dns.cpp" => "libIRCDasyncdns",
+ "base.cpp" => "libIRCDbase",
+ "configreader.cpp" => "libIRCDconfigreader",
+ "inspsocket.cpp" => "libIRCDinspsocket",
+ "commands.cpp" => "libIRCDcommands",
+ "dynamic.cpp" => "libIRCDdynamic",
+ "users.cpp" => "libIRCDusers",
+ "modules.cpp" => "libIRCDmodules",
+ "wildcard.cpp" => "libIRCDwildcard",
+ "helperfuncs.cpp" => "libIRCDhelper",
+ "hashcomp.cpp" => "libIRCDhash",
+ "socket.cpp" => "libIRCDsocket",
+ "socketengine.cpp" => "libIRCDsocketengine",
+ "userprocess.cpp" => "libIRCDuserprocess",
+ "cull_list.cpp" => "libIRCDcull_list",
+ "command_parse.cpp" => "libIRCDcommand_parse",
+ "timer.cpp" => "libIRCDtimer",
+ "snomasks.cpp" => "libIRCDsnomasks",
+ "server.cpp" => "libIRCDserver",
+ "filelogger.cpp" => "libIRCDfilelogger",
+ "user_resolver.cpp" => "libIRCDuserresolver",
+);
+
+# If you wish for a file to have special dependencies in the makefile, add an entry here.
+
+my %specialdeps = (
+ "mode.cpp" => "\$(RELCPPFILES)",
+);
+
+# If you wish for a file to have extra make lines (in between the compile and link steps)
+# then insert them here.
- my %extrabuildlines = (
- "mode.cpp" => "\${MAKE} -C \"modes\" DIRNAME=\"src/modes\" CC=\"\$(CC)\" \$(MAKEARGS) CPPFILES=\"\$(CPPFILES)\"",
- );
+my %extrabuildlines = (
+ "mode.cpp" => "\${MAKE} -C \"modes\" DIRNAME=\"src/modes\" CC=\"\$(CC)\" \$(MAKEARGS) CPPFILES=\"\$(CPPFILES)\"",
+);
+
+# If you wish for a file to be linked against extra objects or arctives, insert them here.
+
+my %extraobjects = (
+ "mode.cpp" => "modes/modeclasses.a"
+);
+
+# If you wish to compile extra cpp sources into an object, define them here.
+# NOTE: Certain cpp files such as the socket engines have a value auto calculated
+# for this table so that their derived class is built.
+
+my %extrasources = (
+);
- my %extraobjects = (
- "mode.cpp" => "modes/modeclasses.a"
- );
+# If you wish to ignore a dependency throughout the entire core, add it here.
- my %extrasources = (
- );
+my @ignoredeps = (
+ "inspircd_win32wrapper.h", # windows has its own configure program
+);
+
+# If you wish for all files in the entire core to have a given dependency, insert it here.
+# You should keep this to an absolute minimum to avoid rebuilds that are not neccessary.
+
+my @immutabledeps = (
+ "inspircd_config.h", # auto re-generated by configure
+ "inspircd.h",
+);
- my @ignoredeps = (
- "inspircd_win32wrapper.h",
- );
- my @immutabledeps = (
- "inspircd_config.h",
- );
+###############################################################################################
GetOptions (
@@ -274,16 +299,16 @@ chomp($config{MAX_DESCRIPTORS} = `sh -c \"ulimit -n\"`); # Hard FD Limit
chomp($config{GCCVER} = `g++ -dumpversion | cut -c 1`); # Major GCC Version
$config{_SOMAXCONN} = SOMAXCONN; # Max connections in accept queue
$config{OSNAME} = $^O; # Operating System Name
-$config{IS_DARWIN} = "NO"; # Is OSX?
-$config{STARTSCRIPT} = "inspircd"; # start script?
-$config{DESTINATION} = "BASE"; # Is target path.
-$config{EXTRA_DIR} = ""; # Is empty.
+$config{IS_DARWIN} = "NO"; # Is OSX?
+$config{STARTSCRIPT} = "inspircd"; # start script?
+$config{DESTINATION} = "BASE"; # Is target path.
+$config{EXTRA_DIR} = ""; # Is empty.
if ($config{OSNAME} =~ /darwin/i)
{
$config{IS_DARWIN} = "YES";
- $config{STARTSCRIPT} = "org.inspircd.plist"; # start script for OSX.
- $config{DESTINATION} = "LAUNCHDPATH"; # Is OSX target.
- $config{EXTRA_DIR} = " launchd_dir"; # Is OSX specific path.
+ $config{STARTSCRIPT} = "org.inspircd.plist"; # start script for OSX.
+ $config{DESTINATION} = "LAUNCHDPATH"; # Is OSX target.
+ $config{EXTRA_DIR} = " launchd_dir"; # Is OSX specific path.
}
$config{CC} = "g++"; # C++ compiler
if (defined $opt_cc)
@@ -865,7 +890,7 @@ if ($config{USE_GNUTLS} eq "y") {
print "SSL Certificates Not found, Generating.. \n\n
*************************************************************
* Generating the certificates may take some time, go grab a *
-* coffee, or something. *
+* coffee, or something. *
*************************************************************\n\n";
make_openssl_cert();
print "\nCertificate generation complete, copying to config directory... ";
@@ -1397,7 +1422,7 @@ sub calcdeps($)
$dupe{$d} = 1;
}
- my $immutable = "";
+ my $immutable = "";
foreach my $dep (@immutabledeps)
{
$immutable = $immutable . "../include/$dep ";