Commit Graph

78 Commits

Author SHA1 Message Date
Alexey Sokolov
9f4f2817d1 Fix #293
In GetAvailableMods() modules paths were returned like "moddir//module.pm",
but when they are loaded, they use path "moddir/module.pm".

Because of that our hack of cleaning %INC when the module is unloaded,
which enables UpdateMod, removed wrong record from %INC, left right
record in it, and erased the module's namespace.

When the module was loaded again, the namespace was not restored,
because "require" didn't load the module, because it was still in %INC.

So, when we call a function of that module, the function does not exist
anymore.
2013-03-16 23:35:19 +07:00
Un1matr1x
3a34593359 The same procedure as last year, Miss sophie?
Same procedure as every year, James.
2012-12-31 12:44:31 +01:00
Uli Schlachter
d9d6a2228c Fix OOT builds with swig files in source dir
Normally, when the Makefile calls swig, the resulting files end up in the build
directory. However, when the files are pre-generated (e.g. as in the znc 1.0
tarball) and an out of tree build is used, they are in the source directory and
installation fails.

Thanks to Kinji for reporting this.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-12-26 14:12:58 +01:00
Alexey Sokolov
da5c6b6a8b Bump SWIG req to 2.0.8, remove our hacks around old SWIG. 2012-11-07 02:02:22 +07:00
Uli Schlachter
d0b7df5ec4 Look! Shiny butterflies everywhere!
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-01 15:53:07 +01:00
Uli Schlachter
8a4cd20efb modperl: Add dependency information for modperl.o
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-01 15:48:39 +01:00
Uli Schlachter
5ea266a199 Fix parallel building of modperl
The symptoms looked like this:

    Packing man page znc-buildmod.1.gz...
    Generating ZNC API for Perl...
    Generating ZNC API for Perl...
    Generating ZNC API for Perl...
    Linking znc...

The reason was that the old rule was executed multiple times in parallel. See
the following commit for more information:

    commit 84ec49780e
    Author: Uli Schlachter <psychon@znc.in>
    Date:   Sun Sep 23 12:03:22 2012 +0200

        Get rid of the modpythin jobhack

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-01 15:23:47 +01:00
Alexey Sokolov
d6c0f44e51 Hide one more warning from modperl 2012-10-20 19:09:27 +07:00
Alexey Sokolov
a6ec0c9e55 Don't fail compilation of modperl/python if they are first 2012-10-06 21:10:55 +07:00
Uli Schlachter
9c14a8603c Fix modperl re-building
Make was always rebuilding modperl/ZNC.so because the Makefile was actually
describing a file modperl/ZNC."so". Fix this by getting rid of the unnecessary
pair of quotes.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-09-23 11:18:53 +02:00
Alexey Sokolov
dbc3ca2574 Fix build of modperl
Thanks to Han` for reporting it
2012-09-07 09:21:04 +07:00
Alexey Sokolov
a9a869488a Fuck those makefiles
It tries to run SWIG for modpython several times simultaneously.
Just force modules to be built in 1 thread for now if modpython is going
to be built.

Makefiles should be thrown away.

Also don't show warning about unused perl, fix #219
2012-09-07 00:44:20 +07:00
Alexey Sokolov
f80ae4aad6 Various fixes of modperl and modpython.
Including cygwin support #216
2012-08-27 00:40:11 +07:00
Alexey Sokolov
d56c443715 Perl+python: add arguments help text. 2012-08-26 10:17:50 +07:00
Alexey Sokolov
628f3c8ec1 Partially fix modperl build under cygwin. 2012-08-20 00:51:36 +07:00
Alexey Sokolov
cc52a7d2be Add several fixed files for swig.
Workaround for broken swig, which allows old swig versions to work too.

These files should be removed when fixed swig is released.

Thanks to Juvenal for suggestion.
2012-08-15 01:42:46 +07:00
Alexey Sokolov
6b550f214d Fix logic of modperl Makefile 2012-08-15 00:39:55 +07:00
Alexey Sokolov
9fd4149d73 Fix modperl and modpython compilation.
Also fix few string-related inconsistences.
2012-08-15 00:38:23 +07:00
Alexey Sokolov
7a4aa744fe Don't generate mod[perl|python].tar.bz2 2012-08-13 20:40:05 +07:00
Alexey Sokolov
7e8f281ee5 Add vector<CListener*> to modperl/modpython. 2012-08-12 22:34:02 +07:00
Alexey Sokolov
c050356a24 Generate modperl.tar.bz2 2012-08-08 01:29:18 +07:00
Alexey Sokolov
538aa77399 Modperl: read values from MCString #93
Example:
my $x = $self->GetNetwork->GetIRCSock->GetISupport;
$x->get("CHANMODES")

No iterating through all values though :(
2012-07-28 21:25:28 +07:00
Alexey Sokolov
3145c5054c Allow perl modules to be loaded not by modperl 2012-07-28 19:35:22 +07:00
Alexey Sokolov
62c9ac1a0b using in headers is evil :( 2012-07-26 20:46:11 +07:00
Alexey Sokolov
a131127770 Show commit id in version for git builds. 2012-07-21 23:27:53 +07:00
Kyle Fuller
5995fc530e Remove references to CAres from mod{python,perl} 2012-02-28 14:16:53 +00:00
Alexey Sokolov
be81853b24 Depend on changes of headers too, not only sources. 2012-02-05 17:24:14 +07:00
Alexey Sokolov
ea6993ec68 Hide new compilation warnings of modperl...
They appeared with yesterdays patch, which fixes few return values.
2012-01-23 19:13:23 +07:00
Alexey Sokolov
7b213ef462 Fix compilation of modperl...
It's dependency order was broken since I separated linking of modules
from compilation.
2012-01-23 19:09:24 +07:00
Alexey Sokolov
00e26c8dbc Perl: fix several methods to return perl stuff instead of pointers. 2012-01-23 04:09:24 +07:00
Alexey Sokolov
13bfec0809 Python and Perl should know that off_t is integer type. 2012-01-02 02:44:09 +07:00
Alexey Sokolov
7ca8aa96a2 Add missing dependency to modperl. 2012-01-01 19:47:04 +07:00
Un1matr1x
73270ff023 Welcome in 2012 2012-01-01 09:30:19 +01:00
Alexey Sokolov
8bb7ea5370 Rework modperl to better integrate with perl.
Now it supports global and network modules.
Fixes github issue #82
2011-12-29 11:35:25 +07:00
Uli Schlachter
962c10795d Disable some more warnings on mod{perl,python}
It seems to me like swig is trying to trigger every warning that exists...

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-10-30 13:37:11 +01:00
Alexey Sokolov
f4097e6fd5 Separate compilation and linking for modules.
To gain more benefits from distcc.
2011-10-30 02:15:26 +07:00
Alexey Sokolov
0f0591b648 Fscking perl... This fixes modperl's compilation. 2011-10-04 10:29:55 +07:00
Alexey Sokolov
e354c24ac1 Move ZNC headers into own directory.
Yes, this breaks backwards compatibility, so what?
It's already broken with network stuff anyway.
2011-09-23 03:31:58 +07:00
Kyle Fuller
0b1627c529 Make all the modules support networks 2011-08-24 19:07:32 +01:00
Kyle Fuller
f44f307b24 Add a config writer 2011-08-21 13:40:14 +01:00
Uli Schlachter
8f53d3fbb0 Fix modp{erl,ython} installation
Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-08-06 10:43:39 +02:00
Alexey Sokolov
ea58912093 Hide every symbol except ZNCModInfo from modules.
This means that now it's possible to have the same class names in
different modules, which reduces chances of weird errors.

Thanks to mclc for noticing this.
2011-07-15 22:56:47 +07:00
Alexey Sokolov
79e78608b3 Support wiki pages names for perl modules. 2011-06-11 18:21:06 +07:00
Kyle Fuller
e83e14ab67 Do not include DCCSock in mod(perl|python) 2011-06-01 22:19:30 +01:00
Kyle Fuller
8f508cb4a5 Migrate dcc bouncing to its own module 2011-06-01 20:21:27 +01:00
Kyle Fuller
0b360c0102 Remove OnDCCUserSend module hook 2011-06-01 20:21:27 +01:00
Alexey Sokolov
e746438022 Parse new ExecSock.h and ZNCDebug.h with SWIG.
That functionality was accessible by perl and python modules before.
Now that stuff is in own headers, so let's parse them too,
to have them still be able to use this.
2011-04-03 19:13:47 +07:00
Uli Schlachter
f0bf7134ec Improve the handling of module load messages
Instead of doing ugly stuff to shorten the "Loaded Module [foo]" message, we now
just always generate the shorter version of that message. The code paths which
didn't do this shortening now prepend that message themselves.

The result is that every message looks the same as it did before, but the code
for generating these is a little nicer.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-04-02 16:52:52 +02:00
Uli Schlachter
23fb4df67a Remove config-related module hooks
This removes the following module hooks:

OnConfigLine()
OnWriteConfig()
OnWriteUserConfig()
OnWriteChanConfig()

Modules could use these hooks for writing/reading their own stuff to/from
znc.conf. However, no module (ever?) did this and IMHO no module should ever do
this either. Modules can save stuff via SetNV(), module arguments (SetArgs())
and in their GetSavePath().

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-03-31 17:29:49 +02:00
Kyle Fuller
7162b01111 Add the OnIRCConnectionError(CIRCSock *pIRCSock) module hook 2011-03-30 19:15:42 +01:00