diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-10-23 16:37:03 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-10-23 16:37:03 +0000 |
commit | d00fc6f9bf3beca11b2e4a744aaecb119e617540 (patch) | |
tree | 865c16d8dcde860b5d9b44e874c3af1c98537780 | |
parent | a02baa51d398d6a06cbe6caebd1ab4901229fbb9 (diff) |
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
-rwxr-xr-x | configure | 19 | ||||
-rw-r--r-- | src/modules/m_banexception.cpp | 1 | ||||
-rw-r--r-- | src/modules/m_chanfilter.cpp | 1 | ||||
-rw-r--r-- | src/modules/m_chanprotect.cpp | 1 | ||||
-rw-r--r-- | src/modules/m_inviteexception.cpp | 1 |
5 files changed, 21 insertions, 2 deletions
@@ -1403,6 +1403,19 @@ sub getlinkerflags { return undef; } +sub getdependencies { + my ($file) = @_; + open(FLAGS, $file); + while (<FLAGS>) { + 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 <<EOCHEESE; -m_$i.o: .m_$i\_static.cpp ../../include/modules.h ../../include/users.h ../../include/channels.h ../../include/base.h +m_$i.o: .m_$i\_static.cpp ../../include/modules.h ../../include/users.h ../../include/channels.h ../../include/base.h $deps \$(CC) -pipe -I../../include \$(FLAGS) $flags -export-dynamic -c .m_$i\_static.cpp mv .m_$i\_static.o ../m_$i.o @@ -1556,8 +1570,9 @@ EOF ### $cmflags = getcompilerflags("src/modules/m_".$i.".cpp"); $liflags = getlinkerflags("src/modules/m_".$i.".cpp"); + $deps = getdependencies("src/modules/m_".$i.".cpp"); print FILEHANDLE <<EOCHEESE; -m_$i.so: m_$i.cpp ../../include/modules.h ../../include/users.h ../../include/channels.h ../../include/base.h ../../include/inspircd_config.h ../../include/inspircd.h ../../include/configreader.h +m_$i.so: m_$i.cpp ../../include/modules.h ../../include/users.h ../../include/channels.h ../../include/base.h ../../include/inspircd_config.h ../../include/inspircd.h ../../include/configreader.h $deps \$(CC) -pipe -I../../include \$(FLAGS) $cmflags -export-dynamic -c m_$i.cpp \$(CC) \$(FLAGS) -shared $liflags -o m_$i.so m_$i.o $extra diff --git a/src/modules/m_banexception.cpp b/src/modules/m_banexception.cpp index 11afe50bb..3bbcaeda4 100644 --- a/src/modules/m_banexception.cpp +++ b/src/modules/m_banexception.cpp @@ -25,6 +25,7 @@ #include "wildcard.h" /* $ModDesc: Provides support for the +e channel mode */ +/* $ModDep: ../../include/u_listmode.h */ /* Written by Om<om@inspircd.org>, 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 <om@inspircd.org>, April 2005. |