From fc725b7e8fbe3f449a12012d9e5b92a57e723370 Mon Sep 17 00:00:00 2001 From: frostycoolslug Date: Mon, 30 Jan 2006 04:56:06 +0000 Subject: Small minor insignificant ite.. ZOMG CYGWIN DYNAMIC MODULES! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2984 e03df62e-2008-0410-955e-edbf42e46eb7 --- .Makefile.inc | 1 + configure | 59 +++++++++++++++++++++++++++++++++++++++------------------ src/dynamic.cpp | 12 ++++++++++++ 3 files changed, 54 insertions(+), 18 deletions(-) diff --git a/.Makefile.inc b/.Makefile.inc index 6783a9bb6..84774284c 100644 --- a/.Makefile.inc +++ b/.Makefile.inc @@ -53,6 +53,7 @@ bininst: -install -v -m 0700 src/libIRCDwildcard.so $(LIBPATH) -install -v -m 0700 src/libIRCDxline.so $(LIBPATH) -install -v -m 0700 src/inspircd $(BINPATH) + -install -v -m 0700 src/inspircd.dll $(BINPATH) -install -v -m 0700 inspircd $(BASE) @echo "*************************************" @echo "* BUILD COMPLETE! *" diff --git a/configure b/configure index a63f031ed..cf5c0fb19 100755 --- a/configure +++ b/configure @@ -661,15 +661,6 @@ print "*** \033[1;32mRemember to edit your configuration files!!!\033[0m ***\n\n if (($config{OSNAME} eq "OpenBSD") && ($config{CC} ne "eg++")) { print "\033[1;32mWARNING!\033[0m You are running OpenBSD but you are using the base gcc package\nrather than eg++. This compile will most likely fail, but i'm letting you\ngo ahead with it anyway, just in case i'm wrong :-)\n"; } -if ($config{OSNAME} =~ /CYGWIN/) { - print <src/modules/Makefile"); + my $extra = ""; + + if ($config{OSNAME} =~ /CYGWIN/) { + $extra = "../inspircd.dll.a"; + } ### # Module Makefile Header @@ -1172,7 +1169,7 @@ foreach $i (@modlist) { print FILEHANDLE < -# Makefile version 2 (dynamically linked core) by +# Makefile version 2 (statically linked core) by # CC = im a cheezeball CXXFLAGS = -I../include \${FLAGS} +EOM +### +# This next section is for cygwin dynamic module builds. +# Basically, what we do, is build the inspircd core as a library +# then the main executable uses that. the library is capable of +# loading / unloading the modules dynamically :) +# Massive thanks to the guys on #cygwin @ irc.freenode.net for helping +# make this work :) +### + +if ($config{OSNAME} =~ /CYGWIN/) { + print FH <debugging) unlink(tmpfile_template); #endif +#endif } DLLManager::~DLLManager() -- cgit v1.2.3