From d00fc6f9bf3beca11b2e4a744aaecb119e617540 Mon Sep 17 00:00:00 2001 From: brain Date: Mon, 23 Oct 2006 16:37:03 +0000 Subject: Add $ModDep: special comment, similar to $CompileFlags and $LinkerFlags. $ModDep allows a module to specify headers it depends on, e.g. all of the headers which use u_listmode.h now do this: /* $ModDep: ../../include/u_listmode.h */ git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5534 e03df62e-2008-0410-955e-edbf42e46eb7 --- configure | 19 +++++++++++++++++-- src/modules/m_banexception.cpp | 1 + src/modules/m_chanfilter.cpp | 1 + src/modules/m_chanprotect.cpp | 1 + src/modules/m_inviteexception.cpp | 1 + 5 files changed, 21 insertions(+), 2 deletions(-) diff --git a/configure b/configure index 6336af807..8af40ef10 100755 --- a/configure +++ b/configure @@ -1403,6 +1403,19 @@ sub getlinkerflags { return undef; } +sub getdependencies { + my ($file) = @_; + open(FLAGS, $file); + while () { + if ($_ =~ /^\/\* \$ModDep: (.+) \*\/$/) { + close(FLAGS); + return $1; + } + } + close(FLAGS); + return undef; +} + sub resolve_directory { use File::Spec; return File::Spec->rel2abs($_[0]); @@ -1483,12 +1496,13 @@ HEADER if ($i !~ /_static$/) { $cmflags = getcompilerflags("src/modules/m_".$i.".cpp"); $liflags = getlinkerflags("src/modules/m_".$i.".cpp"); + $deps = getdependencies("src/modules/m_".$i.".cpp"); ### # Write Entry to the Makefile ### print FILEHANDLE <, April 2005. */ /* Rewritten to use the listmode utility by Om, December 2005 */ diff --git a/src/modules/m_chanfilter.cpp b/src/modules/m_chanfilter.cpp index 1cdee87a8..c600740da 100644 --- a/src/modules/m_chanfilter.cpp +++ b/src/modules/m_chanfilter.cpp @@ -27,6 +27,7 @@ using namespace std; #include "inspircd.h" /* $ModDesc: Provides channel-specific censor lists (like mode +G but varies from channel to channel) */ +/* $ModDep: ../../include/u_listmode.h */ /** Handles channel mode +g */ diff --git a/src/modules/m_chanprotect.cpp b/src/modules/m_chanprotect.cpp index fff162178..c3acc4085 100644 --- a/src/modules/m_chanprotect.cpp +++ b/src/modules/m_chanprotect.cpp @@ -20,6 +20,7 @@ #include "inspircd.h" /* $ModDesc: Provides channel modes +a and +q */ +/* $ModDep: ../../include/u_listmode.h */ #define PROTECT_VALUE 40000 #define FOUNDER_VALUE 50000 diff --git a/src/modules/m_inviteexception.cpp b/src/modules/m_inviteexception.cpp index 4ae2ec703..4985d6cb1 100644 --- a/src/modules/m_inviteexception.cpp +++ b/src/modules/m_inviteexception.cpp @@ -23,6 +23,7 @@ #include "u_listmode.h" /* $ModDesc: Provides support for the +I channel mode */ +/* $ModDep: ../../include/u_listmode.h */ /* * Written by Om , April 2005. -- cgit v1.2.3