From svn w toxygen.net Sat Jul 4 01:13:33 2009
From: svn w toxygen.net (SVN commit)
Date: Sat, 4 Jul 2009 01:13:33 +0200 (CEST)
Subject: [ekg2-commit] r4831 - trunk/plugins/jabber:
trunk/plugins/jabber/commands.c
Message-ID: <20090703231333.27D2617B4D@toxygen.net>
Author: darkjames
Date: 2009-07-04 01:13:32 +0200 (Sat, 04 Jul 2009)
New Revision: 4831
Modified:
trunk/plugins/jabber/commands.c
Log:
Remove meaningless whitespaces.
Modified: trunk/plugins/jabber/commands.c
===================================================================
--- trunk/plugins/jabber/commands.c 2009-06-25 14:03:59 UTC (rev 4830)
+++ trunk/plugins/jabber/commands.c 2009-07-03 23:13:32 UTC (rev 4831)
@@ -1927,7 +1927,7 @@
return -1;
}
- status = (params[0] && params[1]) ? saprintf(" %s ", params[1]) : NULL;
+ status = (params[0] && params[1]) ? saprintf("%s", params[1]) : NULL;
watch_write(j->send_watch, "%s", c->name+5, c->priv_data, status ? status : "");
From svn w toxygen.net Mon Jul 6 16:39:24 2009
From: svn w toxygen.net (SVN commit)
Date: Mon, 6 Jul 2009 16:39:24 +0200 (CEST)
Subject: [ekg2-commit] r4832 - trunk/plugins/jabber:
trunk/plugins/jabber/commands-en.txt
trunk/plugins/jabber/commands-pl.txt
Message-ID: <20090706143924.6FA3F17B45@toxygen.net>
Author: darkjames
Date: 2009-07-06 16:39:23 +0200 (Mon, 06 Jul 2009)
New Revision: 4832
Modified:
trunk/plugins/jabber/commands-en.txt
trunk/plugins/jabber/commands-pl.txt
Log:
>From PaweĹ Zuzelski:
- fix mess after my previous patch
(confusion around [] <>, typos in english version)
- add description of /xmpp:join & /xmpp:part
Modified: trunk/plugins/jabber/commands-en.txt
===================================================================
--- trunk/plugins/jabber/commands-en.txt 2009-07-03 23:13:32 UTC (rev 4831)
+++ trunk/plugins/jabber/commands-en.txt 2009-07-06 14:39:23 UTC (rev 4832)
@@ -50,11 +50,11 @@
Giving ,,%T-%n'' instead of description will clear description.
ban
- parameters: [channel]
- short description: Bans the specified JID from the given channel
+ parameters: [reason]
+ short description: Bans the specified JID from the given conference
If no JID is specified, command lists all jids banned from given
- channel. Otherwise it bans specified JID from the given channel.
+ conference. Otherwise it bans specified JID from the given conference.
change
parameters:
@@ -90,18 +90,18 @@
short description: removes user from roster
deop
- parameters: [channel] [nick]
+ parameters:
short description: take all privileges off from the nick
- Take voice and moderator privilages off from the gicen nick on the
- given channel.
+ Take voice and moderator privilages off from the given nick on the
+ given conference.
devoice
- parameters: [channel] [nick]
+ parameters: [reason]
short description: take all privileges off from the nick
- Take voice and moderator privilages off from the gicen nick on the
- given channel.
+ Take voice and moderator privilages off from the given nick on the
+ given conference.
disconnect
parameters: [description/-]
@@ -131,9 +131,15 @@
If description wasn't given, random description will be looked for.
Giving ,,%T-%n'' instead of description will clear description.
+join
+ parameters: [nick]
+ short description: join conference
+
+ Joins conference as nick. If conference does not exists, creates it.
+
kick
- parameters:
- short description: kick nick off the channel
+ parameters: [reason]
+ short description: kick nick off the conference
lastseen
parameters:
@@ -156,13 +162,17 @@
-n, --nickname contact nickname
op
- parameters:
+ parameters:
short description: Gives moderator privileges to the specified nick
passwd
parameters:
short description: changes password
+part
+ parameters:
+ short descrition: leaves conference
+
reconnect
parameters:
short description: disconnects and connects again
@@ -186,8 +196,8 @@
short description: set MUC topic
unban
- parameters: [channel] [JID]
- short description: unban given JID from the muc channel
+ parameters:
+ short description: unban given JID from the muc conference
userinfo
parameters:
@@ -215,10 +225,10 @@
short description: retrieves information about OS and client of given jid
voice
- parameters:
+ parameters:
short description: give the voice to the nick
- Voice allows to speak on moderated channel. Note that if you give
+ Voice allows to speak on moderated conference. Note that if you give
voice to operator, you will take off moderator privileges from him.
xa
Modified: trunk/plugins/jabber/commands-pl.txt
===================================================================
--- trunk/plugins/jabber/commands-pl.txt 2009-07-03 23:13:32 UTC (rev 4831)
+++ trunk/plugins/jabber/commands-pl.txt 2009-07-06 14:39:23 UTC (rev 4832)
@@ -50,7 +50,7 @@
Podanie ,,%T-%n'' zamiast powodu spowoduje wyczyszczenie opisu.
ban
- parametry: [JID]
+ parametry: [powód]
krotki opis: banuje JID z kanału lub wyświetla listę banów
Jeżeli nie podano JID wyświetla listę zbanowanych uzytkowników.
@@ -167,6 +167,14 @@
Jeżeli nie podano opisu to będzie szukany losowy opis.
Podanie ,,%T-%n'' zamiast powodu spowoduje wyczyszczenie opisu.
+join
+ parametry: [nick]
+ krotki opis: przyłącza do konferencji
+
+ Przyłącza do konferencji. Jeżeli podana konferencja nie istnieje,
+ zakłada nową konferencję. Opcjonalnie ustawia nick użytkownika w
+ konferencji.
+
lastseen
parametry:
krotki opis: pobiera informację o czasie wylogowania się danego jid
@@ -188,9 +196,13 @@
-n, --nickname wpis w liście kontaktów
op
- parametry: [kanał] [nick]
+ parametry:
krotki opis: nadaje nickowi uprawnienia moderatora
+part
+ parametry:
+ krotki opis: opuszcza konferencję
+
passwd
parametry:
krotki opis: zmienia hasło
@@ -261,7 +273,7 @@
krotki opis: ustawia topic MUC
unban
- parametry: [kanał] [JID]
+ parametry:
krotki opis: zdejmuje ban na dany JID z kanału
Jeżeli nie podano JID wyświetla listę zbanowanych uzytkowników.
@@ -276,11 +288,11 @@
krotki opis: pobiera informację o sytemie operacyjnym i wersji klienta Jabbera danego jid
voice
- parametry: [kanał] [nick]
+ parametry:
krotki opis: daje "głos" nickowi
- Nadaje użytkownikowi uprawnienia do mówienia na kanale nawet jeśli
- kanał jest moderowany.
+ Nadaje użytkownikowi uprawnienia do wysyłania wiadomości w
+ konferencji, nawet jeśli konferencja jest moderowana.
Uwaga: ustawienie voice na uzytkowniku będącym moderatorem spowoduje
odebraniu mu praw administratora.
From svn w toxygen.net Mon Jul 6 19:12:09 2009
From: svn w toxygen.net (SVN commit)
Date: Mon, 6 Jul 2009 19:12:09 +0200 (CEST)
Subject: [ekg2-commit] r4833 - trunk/ekg: trunk/ekg/net.c trunk/ekg/net.h
Message-ID: <20090706171209.8A3A017B4D@toxygen.net>
Author: darkjames
Date: 2009-07-06 19:12:09 +0200 (Mon, 06 Jul 2009)
New Revision: 4833
Modified:
trunk/ekg/net.c
trunk/ekg/net.h
Log:
Remove ekg_resolver3() code. not putting into _unused.c because it's
really obsolete.
Modified: trunk/ekg/net.c
===================================================================
--- trunk/ekg/net.c 2009-07-06 14:39:23 UTC (rev 4832)
+++ trunk/ekg/net.c 2009-07-06 17:12:09 UTC (rev 4833)
@@ -115,7 +115,7 @@
return defport;
}
-/* this is basicaly ekg_resolver3,
+/*
* with main part changed
*
* proto_port is used for srv resolver, since e.g.
@@ -603,132 +603,3 @@
return watch_add(plugin, fd[0], WATCH_READ, async, data);
}
-#if 0
-static int irc_resolver2(char ***arr, const char *hostname, const int port, const int proto) {
-#ifdef HAVE_GETADDRINFO
- struct addrinfo *ai, *aitmp, hint;
-#else
-# warning "resolver: You don't have getaddrinfo(), resolver may not work! (ipv6 for sure)"
- struct hostent *he4;
-#endif
-
-#ifdef HAVE_GETADDRINFO
- memset(&hint, 0, sizeof(struct addrinfo));
- hint.ai_socktype = SOCK_STREAM;
-
- if (!getaddrinfo(hostname, NULL, &hint, &ai)) {
- for (aitmp = ai; aitmp; aitmp = aitmp->ai_next) {
- char *ip;
-
- if (aitmp->ai_family != AF_INET6 && aitmp->ai_family != AF_INET)
- continue;
-
- ip = ekg_inet_ntostr(aitmp->ai_family, &((struct sockaddr_in *)aitmp->ai_addr)->sin_addr);
- array_add(arr, saprintf("%s %s %d %d\n", hostname, ip, aitmp->ai_family, port));
- xfree(ip);
- }
- freeaddrinfo(ai);
- }
-#else
- if ((he4 = gethostbyname(hostname))) {
- /* copied from http://webcvs.ekg2.org/ekg2/plugins/irc/irc.c.diff?r1=1.79&r2=1.80 OLD RESOLVER VERSION...
- * .. huh, it was 8 months ago..*/
- array_add(arr, saprintf("%s %s %d %d\n", hostname, inet_ntoa(*(struct in_addr *) he4->h_addr), AF_INET, port));
- } else array_add(arr, saprintf("%s : no_host_get_addrinfo()\n", hostname));
-#endif
-
- return 0;
-}
-
-/*
- * ekg_resolver3()
- *
- * Resolver copied from irc plugin,
- * it uses getaddrinfo() [or gethostbyname() if you don't have getaddrinfo]
- *
- * - async - watch handler.
- * - data - watch data handler.
- * - port - default port (used also to build SRV hostname
- * - proto - proto (used with SRV), if 0 then defaults to TCP
- *
- * in @a async watch you'll recv lines:
- * HOSTNAME IPv4 PF_INET port
- * HOSTNAME IPv4 PF_INET port
- * HOSTNAME IPv6 PF_INET6 port
- * ....
- * EOR means end of resolving, you should return -1 (temporary watch) and in type == 1 close fd.
- *
- * port may be 0 if no port specified
- *
- * NOTE, EKG2-RESOLVER-API IS NOT STABLE.
- * IT'S JUST COPY-PASTE OF SOME FUNCTION FROM OTHER PLUGINS, TO AVOID DUPLICATION OF CODE (ALSO CLEANUP CODE A LITTLE)
- * AND TO AVOID REGRESSION.
- * THX.
- */
-
-watch_t *ekg_resolver3(plugin_t *plugin, const char *server, watcher_handler_func_t async, void *data, const int port, const int proto) {
- int res, fd[2];
-
- debug("ekg_resolver3() resolving: %s\n", server);
-
- if (pipe(fd) == -1)
- return NULL;
-
- debug("ekg_resolver3() resolver pipes = { %d, %d }\n", fd[0], fd[1]);
-
- if ((res = fork()) == -1) {
- int errno2 = errno;
-
- close(fd[0]);
- close(fd[1]);
-
- errno = errno2;
- return NULL;
- }
-
- if (!res) {
- char *tmp = xstrdup(server);
- const int sport = ekg_resolver_split(tmp, port);
-
- /* Child */
- close(fd[0]);
-
- if (tmp) {
- char *tmp1 = tmp, *tmp2;
- char **arr = NULL;
-
- /* G->dj: I'm changing order, because
- * we should connect first to first specified host from list...
- * Yeah I know code look worse ;)
- */
- do {
- if ((tmp2 = xstrchr(tmp1, ','))) *tmp2 = '\0';
- irc_resolver2(&arr, tmp1, port, proto);
- tmp1 = tmp2+1;
- } while (tmp2);
-
- tmp2 = array_join(arr, NULL);
- array_free(arr);
-
- write(fd[1], tmp2, xstrlen(tmp2));
- write(fd[1], "EOR\n", 4);
-
- sleep(3);
-
- close(fd[1]);
- xfree(tmp2);
- }
- xfree(tmp);
- exit(0);
- }
-
- /* parent */
- close(fd[1]);
-
- /* XXX dodac dzieciaka do przegladania */
- return watch_add_line(plugin, fd[0], WATCH_READ_LINE, async, data);
-}
-
-
-
-#endif
Modified: trunk/ekg/net.h
===================================================================
--- trunk/ekg/net.h 2009-07-06 14:39:23 UTC (rev 4832)
+++ trunk/ekg/net.h 2009-07-06 17:12:09 UTC (rev 4833)
@@ -34,7 +34,6 @@
#endif
watch_t *ekg_resolver2(plugin_t *plugin, const char *server, watcher_handler_func_t async, void *data);
-watch_t *ekg_resolver3(plugin_t *plugin, const char *server, watcher_handler_func_t async, void *data, const int port, const int proto);
watch_t *ekg_resolver4(plugin_t *plugin, const char *server, watcher_handler_func_t async, void *data, const int proto_port, const int port, const int proto);
watch_t *ekg_connect(session_t *session, const char *server, const int proto_port, const int port, watcher_handler_func_t async);
From svn w toxygen.net Wed Jul 22 12:29:23 2009
From: svn w toxygen.net (SVN commit)
Date: Wed, 22 Jul 2009 12:29:23 +0200 (CEST)
Subject: [ekg2-commit] r4834 - trunk/scons.d: trunk/scons.d/oracle
Message-ID: <20090722102923.D1D1517B45@toxygen.net>
Author: peres
Date: 2009-07-22 12:29:23 +0200 (Wed, 22 Jul 2009)
New Revision: 4834
Modified:
trunk/scons.d/oracle
Log:
That should be ORACLE_HOME, not ORACLEHOME.
Modified: trunk/scons.d/oracle
===================================================================
--- trunk/scons.d/oracle 2009-07-06 17:12:09 UTC (rev 4833)
+++ trunk/scons.d/oracle 2009-07-22 10:29:23 UTC (rev 4834)
@@ -5,8 +5,8 @@
Import('*')
-if 'ORACLEHOME' in os.environ:
- orhome = os.environ['ORACLEHOME']
+if 'ORACLE_HOME' in os.environ:
+ orhome = os.environ['ORACLE_HOME']
flags.append('-L%s/lib' % orhome)
flags.append('-I%s/rdbms/public' % orhome)
@@ -18,7 +18,7 @@
RestoreFlags(env, old)
else:
- print '[oracle] ${ORACLEHOME} not defined.'
+ print '[oracle] ${ORACLE_HOME} not defined.'
out = False
Return('out')
From svn w toxygen.net Wed Jul 22 12:49:59 2009
From: svn w toxygen.net (SVN commit)
Date: Wed, 22 Jul 2009 12:49:59 +0200 (CEST)
Subject: [ekg2-commit] r4835 - trunk/plugins/logsoracle:
trunk/plugins/logsoracle/main.c trunk/plugins/logsoracle/oralog.c
Message-ID: <20090722104959.A2D0F17B45@toxygen.net>
Author: peres
Date: 2009-07-22 12:49:59 +0200 (Wed, 22 Jul 2009)
New Revision: 4835
Modified:
trunk/plugins/logsoracle/main.c
trunk/plugins/logsoracle/oralog.c
Log:
Fix logsoracle compilation.
Modified: trunk/plugins/logsoracle/main.c
===================================================================
--- trunk/plugins/logsoracle/main.c 2009-07-22 10:29:23 UTC (rev 4834)
+++ trunk/plugins/logsoracle/main.c 2009-07-22 10:49:59 UTC (rev 4835)
@@ -27,6 +27,7 @@
#include
#include
#include
+#include
#include
#include
@@ -225,7 +226,7 @@
}
if(status_n) {
- status = xstrdup(ekg_status_string(status, 0));
+ status = xstrdup(ekg_status_string(status_n, 0));
} else {
status = xstrdup(EMPTY_STATUS);
}
Modified: trunk/plugins/logsoracle/oralog.c
===================================================================
--- trunk/plugins/logsoracle/oralog.c 2009-07-22 10:29:23 UTC (rev 4834)
+++ trunk/plugins/logsoracle/oralog.c 2009-07-22 10:49:59 UTC (rev 4835)
@@ -42,6 +42,7 @@
#include
#include
#include
+#include
#include
From svn w toxygen.net Wed Jul 22 12:50:26 2009
From: svn w toxygen.net (SVN commit)
Date: Wed, 22 Jul 2009 12:50:26 +0200 (CEST)
Subject: [ekg2-commit] r4836 - trunk/scons.d: trunk/scons.d/oracle
Message-ID: <20090722105026.83C4017B45@toxygen.net>
Author: peres
Date: 2009-07-22 12:50:26 +0200 (Wed, 22 Jul 2009)
New Revision: 4836
Modified:
trunk/scons.d/oracle
Log:
Fix finding logsoracle.
Modified: trunk/scons.d/oracle
===================================================================
--- trunk/scons.d/oracle 2009-07-22 10:49:59 UTC (rev 4835)
+++ trunk/scons.d/oracle 2009-07-22 10:50:26 UTC (rev 4836)
@@ -1,5 +1,5 @@
-# oracle (need testing)
+# oracle
import os
@@ -12,7 +12,7 @@
old = SetFlags(env, flags)
- out = conf.CheckLib('clntsh', 'sqlcxt', ['oci.h'], None, 0)
+ out = conf.CheckLibWithHeader('clntsh', ['oci.h'], 'C', 'sqlcxt();', 0)
if out:
libs.append('clntsh')
From svn w toxygen.net Wed Jul 22 16:13:58 2009
From: svn w toxygen.net (SVN commit)
Date: Wed, 22 Jul 2009 16:13:58 +0200 (CEST)
Subject: [ekg2-commit] r4837 - in trunk: . scons.d: trunk/SConstruct
trunk/scons.d/compat
Message-ID: <20090722141358.AF3F417B44@toxygen.net>
Author: peres
Date: 2009-07-22 16:13:58 +0200 (Wed, 22 Jul 2009)
New Revision: 4837
Modified:
trunk/SConstruct
trunk/scons.d/compat
Log:
Support SKIPCONF to allow calling separate configure phase.
Modified: trunk/SConstruct
===================================================================
--- trunk/SConstruct 2009-07-22 10:50:26 UTC (rev 4836)
+++ trunk/SConstruct 2009-07-22 14:13:58 UTC (rev 4837)
@@ -38,7 +38,7 @@
plugin_states = ['all', 'nocompile', 'deprecated', 'unknown', 'experimental', 'def', 'unstable', 'stable', 'none']
plugin_symbols = ['', '!', '!', '?', '*', '', '~', '', '']
-import glob, subprocess, codecs, os, os.path, sys, SCons
+import glob, subprocess, codecs, os, os.path, sys, cPickle, SCons
def writedef(definefile, var, val):
""" Write define to definefile, choosing correct format. """
@@ -216,6 +216,7 @@
opts.Add(BoolOption('IDN', 'Support Internation Domain Names if libidn is found', True))
opts.Add(BoolOption('NLS', 'Enable l10n in core (requires gettext)', True))
opts.Add(BoolOption('STATIC', 'Whether to build static plugins instead of shared', 0))
+opts.Add(BoolOption('SKIPCONF', 'Restore previous environment and skip configure if possible', False))
opts.Add(EnumOption('DEBUG', 'Internal debug level', 'std', ['none', 'std', 'stderr']))
opts.Add('DISTNOTES', 'Additional info to /version for use with distributed packages')
@@ -293,206 +294,246 @@
env.MergeFlags(flags)
env.Append(LINKFLAGS = linkflags)
-conf = env.Configure(custom_tests = {
- 'CheckStructMember': CheckStructMember,
- 'PkgConfig': PkgConfig,
- 'External': StupidPythonExec
- })
-ekg_libs = []
-ekg_staticlibs = []
+if env['SKIPCONF']:
+ try:
+ conff = open('env.cache', 'r')
+ try:
+ confd = cPickle.load(conff)
+ finally:
+ conff.close()
+ except (IOError, EOFError, cPickle.UnpicklingError):
+ print '! SKIPCONF requested but no saved conf found'
+ env['SKIPCONF'] = False
+ else:
+ # allow defines to be replaced
+ for k, v in defines.items():
+ confd['defines'][k] = v
+ # and load environment
+ for k, v in confd.items():
+ globals()[k] = v
-ExtTest('standard', ['ekg_libs'])
-ExtTest('compat', ['ekg_staticlibs'])
+if not env['SKIPCONF']:
+ conf = env.Configure(custom_tests = {
+ 'CheckStructMember': CheckStructMember,
+ 'PkgConfig': PkgConfig,
+ 'External': StupidPythonExec
+ })
+ ekg_libs = []
+ ekg_staticlibs = []
+ ekg_compat = []
-plugin_def = {
- 'type': 'misc',
- 'state': 'unknown',
- 'depends': [],
- 'optdepends': [],
- 'extradist': []
- }
+ ExtTest('standard', ['ekg_libs'])
+ ExtTest('compat', ['ekg_compat'])
-specplugins = env['PLUGINS']
+ plugin_def = {
+ 'type': 'misc',
+ 'state': 'unknown',
+ 'depends': [],
+ 'optdepends': [],
+ 'extradist': []
+ }
-plugins_state = plugin_states.index('none')
+ specplugins = env['PLUGINS']
-for st in reversed(plugin_states):
- while '@%s' % st in specplugins:
- specplugins.remove('@%s' % st)
- plugins_state = plugin_states.index(st)
+ plugins_state = plugin_states.index('none')
-avplugins = {}.fromkeys(avplugins)
+ for st in reversed(plugin_states):
+ while '@%s' % st in specplugins:
+ specplugins.remove('@%s' % st)
+ plugins_state = plugin_states.index(st)
-pl = {}
+ avplugins = {}.fromkeys(avplugins)
-plugins = avplugins
-pllist = list(plugins.keys())
-pllist.sort()
-for plugin in pllist:
- plugpath = 'plugins/%s' % (plugin)
- info = SConscript('%s/SConscript' % (plugpath), ['env'])
- if not info:
- info = plugin_def
- else:
- for k in plugin_def.keys():
- if not k in info:
- info[k] = plugin_def[k]
+ pl = {}
- if plugin_states.index(info['state']) < plugins_state:
- if not plugin in specplugins:
+ plugins = avplugins
+ pllist = list(plugins.keys())
+ pllist.sort()
+ for plugin in pllist:
+ plugpath = 'plugins/%s' % (plugin)
+ info = SConscript('%s/SConscript' % (plugpath), ['env'])
+ if not info:
+ info = plugin_def
+ else:
+ for k in plugin_def.keys():
+ if not k in info:
+ info[k] = plugin_def[k]
+
+ if plugin_states.index(info['state']) < plugins_state:
+ if not plugin in specplugins:
+ del plugins[plugin]
+ continue
+ elif '-%s' % plugin in specplugins and not plugin in specplugins:
del plugins[plugin]
continue
- elif '-%s' % plugin in specplugins and not plugin in specplugins:
- del plugins[plugin]
- continue
- if 'nocompile' in info:
- del plugins[plugin]
- print '[%s] Disabling due to build system incompatibility.' % (plugin)
- continue
+ if 'nocompile' in info:
+ del plugins[plugin]
+ print '[%s] Disabling due to build system incompatibility.' % (plugin)
+ continue
- optdeps = []
- xlibs = []
- xflags = []
+ optdeps = []
+ xlibs = []
+ xflags = []
- for dep in info['depends'] + info['optdepends']:
- isopt = dep in info['optdepends']
+ for dep in info['depends'] + info['optdepends']:
+ isopt = dep in info['optdepends']
- if not isinstance(dep, list):
- dep = [dep]
- try:
- prefs = env['%s_DEPS' % plugin.upper()]
- except KeyError:
- prefs = []
+ if not isinstance(dep, list):
+ dep = [dep]
+ try:
+ prefs = env['%s_DEPS' % plugin.upper()]
+ except KeyError:
+ prefs = []
- for a in prefs:
- if a[0] == '-':
- pass
- elif a[0] == '+':
- if '-%s' % a[1:] in prefs:
- raise ValueError('More than one variant of depend %s specified (%s and -%s)' % (a[1:],a,a[1:]))
- else:
- if '-%s' % a in prefs or '+%s' % a in prefs:
- raise ValueError('More than one variant of depend %s specified (%s, +%s and/or -%s)' % (a,a,a,a))
+ for a in prefs:
+ if a[0] == '-':
+ pass
+ elif a[0] == '+':
+ if '-%s' % a[1:] in prefs:
+ raise ValueError('More than one variant of depend %s specified (%s and -%s)' % (a[1:],a,a[1:]))
+ else:
+ if '-%s' % a in prefs or '+%s' % a in prefs:
+ raise ValueError('More than one variant of depend %s specified (%s, +%s and/or -%s)' % (a,a,a,a))
- forced = False
- have_it = True # if empty set is given, don't complain
- sdep = []
- for xdep in dep:
- if '+%s' % xdep in prefs: # if user forces dep, then forget about the rest
- for a in dep:
- if a != xdep and '+%s' % a in prefs:
- raise ValueError('More than one exclusive dependency forced (%s and %s)' % (xdep, a))
- forced = True
- sdep = [xdep]
- break
- elif xdep in prefs: # if he prefers it, place it before others
- sdep.append(xdep)
- if not forced:
+ forced = False
+ have_it = True # if empty set is given, don't complain
+ sdep = []
for xdep in dep:
- if not xdep in sdep and not '-%s' % xdep in prefs: # and rest of possibilities
+ if '+%s' % xdep in prefs: # if user forces dep, then forget about the rest
+ for a in dep:
+ if a != xdep and '+%s' % a in prefs:
+ raise ValueError('More than one exclusive dependency forced (%s and %s)' % (xdep, a))
+ forced = True
+ sdep = [xdep]
+ break
+ elif xdep in prefs: # if he prefers it, place it before others
sdep.append(xdep)
+ if not forced:
+ for xdep in dep:
+ if not xdep in sdep and not '-%s' % xdep in prefs: # and rest of possibilities
+ sdep.append(xdep)
- for xdep in sdep: # 'flags' will be nicely split by SCons, but 'libs' are nicer to write
- libs = []
- flags = []
+ for xdep in sdep: # 'flags' will be nicely split by SCons, but 'libs' are nicer to write
+ libs = []
+ flags = []
- have_it = ExtTest(xdep, ['libs', 'flags'])
- if have_it:
- if isopt or len(dep) > 1: # pretty-print optional and selected required (if more than one possibility)
- optdeps.append('%s' % (xdep))
+ have_it = ExtTest(xdep, ['libs', 'flags'])
+ if have_it:
+ if isopt or len(dep) > 1: # pretty-print optional and selected required (if more than one possibility)
+ optdeps.append('%s' % (xdep))
- xflags.extend(flags)
- xlibs.extend(libs)
- break
+ xflags.extend(flags)
+ xlibs.extend(libs)
+ break
- if not have_it:
- if isopt:
- if forced:
- print '[%s] User-forced optional dependency not satisfied: %s' % (plugin, sdep)
+ if not have_it:
+ if isopt:
+ if forced:
+ print '[%s] User-forced optional dependency not satisfied: %s' % (plugin, sdep)
+ if env['HARDDEPS']:
+ print 'HARDDEPS specified, aborting.'
+ sys.exit(1)
+ info['fail'] = True
+ break
+ else:
+ print '[%s] Optional dependency not satisfied: %s' % (plugin, sdep)
+ optdeps.append('-%s' % (' -'.join(dep)))
+ else:
+ print '[%s] Dependency not satisfied: %s' % (plugin, sdep)
if env['HARDDEPS']:
print 'HARDDEPS specified, aborting.'
sys.exit(1)
info['fail'] = True
break
- else:
- print '[%s] Optional dependency not satisfied: %s' % (plugin, sdep)
- optdeps.append('-%s' % (' -'.join(dep)))
- else:
- print '[%s] Dependency not satisfied: %s' % (plugin, sdep)
- if env['HARDDEPS']:
- print 'HARDDEPS specified, aborting.'
- sys.exit(1)
- info['fail'] = True
- break
- if 'fail' in info:
- warnings.append("Plugin '%s' disabled due to unsatisfied dependency: %s" % (plugin, sdep))
- del plugins[plugin]
- continue
+ if 'fail' in info:
+ warnings.append("Plugin '%s' disabled due to unsatisfied dependency: %s" % (plugin, sdep))
+ del plugins[plugin]
+ continue
- SConscript('%s/SConscript' % (plugpath), ['defines', 'optdeps'])
- plugins[plugin] = {
- 'info': info,
- 'libs': xlibs,
- 'flags': xflags
- }
+ SConscript('%s/SConscript' % (plugpath), ['defines', 'optdeps'])
+ plugins[plugin] = {
+ 'info': info,
+ 'libs': xlibs,
+ 'flags': xflags
+ }
- type = info['type']
- if not pl.has_key(type):
- pl[type] = []
+ type = info['type']
+ if not pl.has_key(type):
+ pl[type] = []
- if optdeps:
- optdeps = ' [%s]' % (' '.join(optdeps))
- defines['SCONS_NOTES'] += '; %s%s' % (plugin, optdeps)
- else:
- optdeps = ''
+ if optdeps:
+ optdeps = ' [%s]' % (' '.join(optdeps))
+ defines['SCONS_NOTES'] += '; %s%s' % (plugin, optdeps)
+ else:
+ optdeps = ''
- pl[type].append('%s%s%s' % (plugin_symbols[plugin_states.index(info['state'])], plugin, optdeps))
+ pl[type].append('%s%s%s' % (plugin_symbols[plugin_states.index(info['state'])], plugin, optdeps))
-# some fancy output
+ # some fancy output
-print
-if pl:
- print 'Enabled plugins:'
- for type, plugs in pl.items():
- print '- %s: %s' % (type, ', '.join(plugs))
print
+ if pl:
+ print 'Enabled plugins:'
+ for type, plugs in pl.items():
+ print '- %s: %s' % (type, ', '.join(plugs))
+ print
- if not 'ui' in pl:
- warnings.append('No UI-plugin selected. EKG2 might be unusable to you.')
- if not 'protocol' in pl:
- warnings.append("No protocol plugin selected. EKG2 won't be instant messenger anymore.")
-else:
- warnings.append('You are compiling ekg2 without any plugin. Are you sure this is what you mean to do?')
+ if not 'ui' in pl:
+ warnings.append('No UI-plugin selected. EKG2 might be unusable to you.')
+ if not 'protocol' in pl:
+ warnings.append("No protocol plugin selected. EKG2 won't be instant messenger anymore.")
+ else:
+ warnings.append('You are compiling ekg2 without any plugin. Are you sure this is what you mean to do?')
-print 'Options:'
-print '- unicode: %s' % (env['UNICODE'])
-print '- nls: %s' % (defines['ENABLE_NLS'])
-print
-print 'Paths:'
-for k in dirs:
- print '- %s: %s' % (k, env[k])
-print
-print 'User-specified build environment:'
-for k in ['CC', 'CCFLAGS', 'CPPPATH', 'LIBS', 'LINK', 'LINKFLAGS', 'LIBPATH']:
+ print 'Options:'
+ print '- unicode: %s' % (env['UNICODE'])
+ print '- nls: %s' % (defines['ENABLE_NLS'])
+ print
+ print 'Paths:'
+ for k in dirs:
+ print '- %s: %s' % (k, env[k])
+ print
+ print 'User-specified build environment:'
+ for k in ['CC', 'CCFLAGS', 'CPPPATH', 'LIBS', 'LINK', 'LINKFLAGS', 'LIBPATH']:
+ try:
+ print '- %s: %s' % (k, env[k])
+ except KeyError:
+ pass
+ print
+
+ if warnings:
+ print 'Warnings:'
+ for w in {}.fromkeys(warnings).keys():
+ print '- %s' % w.replace('\n', '\n ')
+ print
+
+ conf.Finish()
+
try:
- print '- %s: %s' % (k, env[k])
- except KeyError:
+ conff = open('env.cache', 'w')
+ try:
+ cPickle.dump({
+ 'ekg_libs': ekg_libs,
+ 'ekg_staticlibs': ekg_staticlibs,
+ 'ekg_compat': ekg_compat,
+ 'plugins': plugins,
+ 'defines': defines
+ }, conff, cPickle.HIGHEST_PROTOCOL)
+ finally:
+ conff.close()
+ except IOError:
pass
-print
-if warnings:
- print 'Warnings:'
- for w in {}.fromkeys(warnings).keys():
- print '- %s' % w.replace('\n', '\n ')
- print
+ env['EKG_DEFINES'] = defines
+ env.Defines('ekg2-config.h', [])
+ env.AlwaysBuild('ekg2-config.h', 'ekg2-static.c')
-conf.Finish()
+if ekg_compat:
+ ekg_staticlibs.append('compat/%scompat%s' % (env['LIBPREFIX'], env['LIBSUFFIX']))
+ env.StaticLibrary('compat/compat', ekg_compat)
-env['EKG_DEFINES'] = defines
-env.Defines('ekg2-config.h', [])
-env.AlwaysBuild('ekg2-config.h', 'ekg2-static.c')
env.Append(CPPPATH = ['.'])
for k in dirs:
@@ -501,6 +542,7 @@
docglobs = ['commands*', 'vars*', 'session*']
+env.Alias('conf', 'ekg2-config.h')
env.Alias('install', [env['PREFIX'], env['EPREFIX']])
cenv = env.Clone()
Modified: trunk/scons.d/compat
===================================================================
--- trunk/scons.d/compat 2009-07-22 10:50:26 UTC (rev 4836)
+++ trunk/scons.d/compat 2009-07-22 14:13:58 UTC (rev 4837)
@@ -9,25 +9,19 @@
'getopt_long': ['getopt', 'getopt1']
}
-compat = []
-
for func in compat_funcs:
have_it = conf.CheckFunc(func)
defines['HAVE_%s' % (func.upper())] = have_it
if not have_it:
- compat.append('../compat/%s.c' % (func))
+ ekg_compat.append('compat/%s.c' % (func))
for func, files in compat_spec.items():
have_it = conf.CheckFunc(func)
defines['HAVE_%s' % (func.upper())] = have_it
if not have_it:
for file in files:
- compat.append('../compat/%s.c' % (file))
+ ekg_compat.append('compat/%s.c' % (file))
-if compat:
- ekg_staticlibs.append('compat/%scompat%s' % (env['LIBPREFIX'], env['LIBSUFFIX']))
- env.StaticLibrary('../compat/compat', compat)
-
ret = True
Return('ret')
From svn w toxygen.net Wed Jul 22 16:20:25 2009
From: svn w toxygen.net (SVN commit)
Date: Wed, 22 Jul 2009 16:20:25 +0200 (CEST)
Subject: [ekg2-commit] r4838 - trunk: trunk/SConstruct
Message-ID: <20090722142025.43CC017B40@toxygen.net>
Author: peres
Date: 2009-07-22 16:20:24 +0200 (Wed, 22 Jul 2009)
New Revision: 4838
Modified:
trunk/SConstruct
Log:
Update Copyright.
Modified: trunk/SConstruct
===================================================================
--- trunk/SConstruct 2009-07-22 14:13:58 UTC (rev 4837)
+++ trunk/SConstruct 2009-07-22 14:20:24 UTC (rev 4838)
@@ -1,7 +1,7 @@
#!/usr/bin/scons
# vim:set fileencoding=utf-8
-# Alternate build system for EKG2, unstable and unfinished yet
-# (C) 2008 Michał Górny
+# Alternate build system for EKG2
+# (C) 2008/09 Michał Górny
EnsureSConsVersion(0,97)
EnsurePythonVersion(2,4)
From svn w toxygen.net Thu Jul 23 01:44:05 2009
From: svn w toxygen.net (SVN commit)
Date: Thu, 23 Jul 2009 01:44:05 +0200 (CEST)
Subject: [ekg2-commit] r4844 - trunk/remote: -trunk/remote/SConscript
Message-ID: <20090722234405.A179117B4E@toxygen.net>
Author: peres
Date: 2009-07-23 01:44:05 +0200 (Thu, 23 Jul 2009)
New Revision: 4844
Removed:
trunk/remote/SConscript
Log:
Not used anymore.
Deleted: trunk/remote/SConscript
===================================================================
--- trunk/remote/SConscript 2009-07-22 23:17:37 UTC (rev 4843)
+++ trunk/remote/SConscript 2009-07-22 23:44:05 UTC (rev 4844)
@@ -1,15 +0,0 @@
-
-Import('*')
-
-import glob
-
-if ekg_compat:
- compatlibs = ['../compat/%scompat%s' % (benv['LIBPREFIX'], benv['LIBSUFFIX'])]
-else:
- compatlibs = []
-
-benv.Append(CPPPATH = ['..'])
-benv.Program('ekg2-remote', glob.glob('*.c') + compatlibs)
-benv.Install(benv['BINDIR'], '%sekg2-remote%s' % (benv['PROGPREFIX'], benv['PROGSUFFIX']))
-
-# vim:ts=4:sts=4:sw=4:syntax=python
From svn w toxygen.net Thu Jul 23 01:54:14 2009
From: svn w toxygen.net (SVN commit)
Date: Thu, 23 Jul 2009 01:54:14 +0200 (CEST)
Subject: [ekg2-commit] r4846 - in trunk: . plugins/httprc_xajax
plugins/remote: trunk/SConstruct
trunk/plugins/httprc_xajax/SConscript
trunk/plugins/remote/SConscript
Message-ID: <20090722235414.4728117B54@toxygen.net>
Author: peres
Date: 2009-07-23 01:54:13 +0200 (Thu, 23 Jul 2009)
New Revision: 4846
Modified:
trunk/SConstruct
trunk/plugins/httprc_xajax/SConscript
trunk/plugins/remote/SConscript
Log:
Basic support of building ekg2-remote.
What works:
* with REMOTE=only, all non-UI plugins are discarded,
* unsupported UI plugins are discarded too,
* with STATIC=0, all REMOTE variants seem to work,
* with STATIC=1, 'no' and 'only' seem to work.
What doesn't work:
* with STATIC=1, REMOTE=yes:
- we've got some target conflicts,
- static loader contains all plugins, not only remote ones.
I also need to take a look at the way ekg2-remote loads plugins, to see
whether it'd be possible to install them in a different directory (to
avoid collisions with ekg2).
Modified: trunk/SConstruct
===================================================================
--- trunk/SConstruct 2009-07-22 23:44:28 UTC (rev 4845)
+++ trunk/SConstruct 2009-07-22 23:54:13 UTC (rev 4846)
@@ -360,6 +360,11 @@
if not k in info:
info[k] = plugin_def[k]
+ # if we're building remote only, we use only UI plugins
+ if env['REMOTE'] == 'only' and (info['type'] != 'ui' or 'noremote' in info):
+ del plugins[plugin]
+ continue
+
if plugin_states.index(info['state']) < plugins_state:
if not plugin in specplugins:
del plugins[plugin]
@@ -550,44 +555,7 @@
env.Alias('conf', 'ekg2-config.h')
env.Alias('install', [env['PREFIX'], env['EPREFIX']])
-cenv = env.Clone()
-
-docfiles = []
-for doc in docglobs:
- docfiles.extend(glob.glob('docs/%s.txt' % doc))
-
-if defines['ENABLE_NLS']:
- cenv.CompileMsg('po/', glob.glob('po/*.po'))
- for f in glob.glob('po/*.mo'):
- lang = str(f)[str(f).rindex('/') + 1:-3]
- cenv.InstallAs(target = '%s/%s/LC_MESSAGES/ekg2.mo' % (env['LOCALEDIR'], lang), source = f)
-
-cenv.Install(env['BINDIR'], 'ekg/%sekg2%s' % (env['PROGPREFIX'], env['PROGSUFFIX']))
-#cenv.Install(env['INCLUDEDIR'], glob.glob('ekg/*.h', 'ekg2-config.h', 'gettext.h'))
-cenv.Install(env['DATADIR'], docfiles)
-cenv.Install('%s/themes' % env['DATADIR'], glob.glob('contrib/themes/*.theme'))
-
-adddocs = [elem for elem in glob.glob('docs/*.txt') if not elem in docfiles]
-for a in glob.glob('*') + glob.glob('docs/*'):
- i = a.find('.')
- if i != -1:
- b = a[:i]
- else:
- b = a
- i = b.find('/')
- if b != -1:
- b = b[i + 1:]
-
- if b.upper() == b: # all uppercase
- if a != 'docs/README': # what ekg1 readme does there? O O
- adddocs.append(a)
- else:
- i = b.rfind('.')
- if b[i:] == '.txt' and not b in docfiles:
- adddocs.append(a)
-cenv.Install(env['DOCDIR'], adddocs)
-
-def InstallMan(pattern):
+def InstallMan(env, pattern):
for f in glob.glob(pattern):
i = f.rindex('.')
cat = f[i+1:]
@@ -602,10 +570,8 @@
lng = '%s/' % lng
fn = '%s/%sman%s/%s' % (env['MANDIR'], lng, cat, fn)
- cenv.InstallAs(target = fn, source = f)
+ env.InstallAs(target = fn, source = f)
-InstallMan('docs/ekg2.*[12345678]')
-
ekg_libpath = []
for plugin, data in plugins.items():
@@ -639,13 +605,70 @@
penv.Install('%s/plugins/%s' % (env['DATADIR'], plugin), docfiles)
-if env['STATIC']:
- env.StaticLoader('ekg2-static.c', [])
- ekg_staticlibs.insert(0, 'ekg2-static.c') # well, it ain't exactly static lib, but no need to panic
+if env['REMOTE'] != 'no':
+ cenv = env.Clone()
-cenv.Append(LIBS = ekg_libs)
-cenv.Append(LIBPATH = ekg_libpath)
-cenv.Append(LINKFLAGS = ['-Wl,--export-dynamic'])
-cenv.Program('ekg/ekg2', glob.glob('ekg/*.c') + ekg_staticlibs)
+ InstallMan(cenv, 'docs/ekg2-remote.*[12345678]')
+ if env['STATIC']:
+ env.StaticLoader('ekg2-remote-static.c', [])
+ ekg_staticlibs.insert(0, 'ekg2-remote-static.c') # well, it ain't exactly static lib, but no need to panic
+ else:
+ cenv.Append(LINKFLAGS = ['-Wl,--export-dynamic'])
+
+ cenv.Append(LIBPATH = ekg_libpath)
+ cenv.Append(LIBS = ekg_libs)
+ cenv.Program('remote/ekg2-remote', glob.glob('remote/*.c') + ekg_staticlibs)
+ cenv.Install(env['BINDIR'], 'remote/%sekg2-remote%s' % (env['PROGPREFIX'], env['PROGSUFFIX']))
+
+if env['REMOTE'] != 'only':
+ cenv = env.Clone()
+
+ docfiles = []
+ for doc in docglobs:
+ docfiles.extend(glob.glob('docs/%s.txt' % doc))
+
+ if defines['ENABLE_NLS']:
+ cenv.CompileMsg('po/', glob.glob('po/*.po'))
+ for f in glob.glob('po/*.mo'):
+ lang = str(f)[str(f).rindex('/') + 1:-3]
+ cenv.InstallAs(target = '%s/%s/LC_MESSAGES/ekg2.mo' % (env['LOCALEDIR'], lang), source = f)
+
+ #cenv.Install(env['INCLUDEDIR'], glob.glob('ekg/*.h', 'ekg2-config.h', 'gettext.h'))
+ cenv.Install(env['DATADIR'], docfiles)
+ cenv.Install('%s/themes' % env['DATADIR'], glob.glob('contrib/themes/*.theme'))
+
+ adddocs = [elem for elem in glob.glob('docs/*.txt') if not elem in docfiles]
+ for a in glob.glob('*') + glob.glob('docs/*'):
+ i = a.find('.')
+ if i != -1:
+ b = a[:i]
+ else:
+ b = a
+ i = b.find('/')
+ if b != -1:
+ b = b[i + 1:]
+
+ if b.upper() == b: # all uppercase
+ if a != 'docs/README': # what ekg1 readme does there? O O
+ adddocs.append(a)
+ else:
+ i = b.rfind('.')
+ if b[i:] == '.txt' and not b in docfiles:
+ adddocs.append(a)
+ cenv.Install(env['DOCDIR'], adddocs)
+
+ InstallMan(cenv, 'docs/ekg2.*[12345678]')
+
+ if env['STATIC']:
+ env.StaticLoader('ekg2-static.c', [])
+ ekg_staticlibs.insert(0, 'ekg2-static.c') # well, it ain't exactly static lib, but no need to panic
+ else:
+ cenv.Append(LINKFLAGS = ['-Wl,--export-dynamic'])
+
+ cenv.Append(LIBS = ekg_libs)
+ cenv.Append(LIBPATH = ekg_libpath)
+ cenv.Program('ekg/ekg2', glob.glob('ekg/*.c') + ekg_staticlibs)
+ cenv.Install(env['BINDIR'], 'ekg/%sekg2%s' % (env['PROGPREFIX'], env['PROGSUFFIX']))
+
# vim:ts=4:sts=4:sw=4:syntax=python
Modified: trunk/plugins/httprc_xajax/SConscript
===================================================================
--- trunk/plugins/httprc_xajax/SConscript 2009-07-22 23:44:28 UTC (rev 4845)
+++ trunk/plugins/httprc_xajax/SConscript 2009-07-22 23:54:13 UTC (rev 4846)
@@ -6,7 +6,8 @@
'type': 'ui',
'state': 'unstable',
'depends': [],
- 'extradist': ['xajax_0.2.4.js', 'ekg2.js', 'ekg2.css']
+ 'extradist': ['xajax_0.2.4.js', 'ekg2.js', 'ekg2.css'],
+ 'noremote': True
}
Return('plugin')
Modified: trunk/plugins/remote/SConscript
===================================================================
--- trunk/plugins/remote/SConscript 2009-07-22 23:44:28 UTC (rev 4845)
+++ trunk/plugins/remote/SConscript 2009-07-22 23:54:13 UTC (rev 4846)
@@ -6,7 +6,8 @@
'type': 'ui',
'state': 'experimental',
'depends': [],
- 'optdepends': []
+ 'optdepends': [],
+ 'noremote': True
}
Return('plugin')
From svn w toxygen.net Wed Jul 22 18:04:14 2009
From: svn w toxygen.net (SVN commit)
Date: Wed, 22 Jul 2009 18:04:14 +0200 (CEST)
Subject: [ekg2-commit] r4839 - in trunk: . plugins/ioctld: trunk/SConstruct
trunk/plugins/ioctld/SConscript
Message-ID: <20090722160414.5717F17B40@toxygen.net>
Author: peres
Date: 2009-07-22 18:04:13 +0200 (Wed, 22 Jul 2009)
New Revision: 4839
Modified:
trunk/SConstruct
trunk/plugins/ioctld/SConscript
Log:
Support better option setting within plugins. Move IOCTLD_PATH into
plugin's SConscript. Enable building of ioctld binary.
Modified: trunk/SConstruct
===================================================================
--- trunk/SConstruct 2009-07-22 14:20:24 UTC (rev 4838)
+++ trunk/SConstruct 2009-07-22 16:04:13 UTC (rev 4839)
@@ -27,7 +27,6 @@
['MANDIR', '$DATAROOTDIR/man', 'EKG2 manfiles'],
['DOCDIR', '$DATAROOTDIR/doc/ekg2', 'EKG2 additional documentation'],
['PLUGINDIR', '$LIBDIR/ekg2/plugins', 'EKG2 plugins'],
- ['IOCTLD_PATH', '$LIBEXECDIR/ekg2', 'EKG2 ioctld']
]
envs = {
'CCFLAGS': ['CFLAGS', 'Compiler flags'],
@@ -215,13 +214,13 @@
opts.Add(BoolOption('RESOLV', 'Use libresolv-based domain resolver with SRV support', True))
opts.Add(BoolOption('IDN', 'Support Internation Domain Names if libidn is found', True))
opts.Add(BoolOption('NLS', 'Enable l10n in core (requires gettext)', True))
-opts.Add(BoolOption('STATIC', 'Whether to build static plugins instead of shared', 0))
+opts.Add(BoolOption('STATIC', 'Whether to build static plugins instead of shared', False))
opts.Add(BoolOption('SKIPCONF', 'Restore previous environment and skip configure if possible', False))
opts.Add(EnumOption('DEBUG', 'Internal debug level', 'std', ['none', 'std', 'stderr']))
opts.Add('DISTNOTES', 'Additional info to /version for use with distributed packages')
for p in avplugins:
- info = SConscript('plugins/%s/SConscript' % p, ['env', 'opts'])
+ info = SConscript('plugins/%s/SConscript' % p, ['env', 'opts', 'indirs'])
if not info:
continue
values = []
@@ -345,6 +344,7 @@
avplugins = {}.fromkeys(avplugins)
pl = {}
+ addopts = []
plugins = avplugins
pllist = list(plugins.keys())
@@ -452,7 +452,7 @@
del plugins[plugin]
continue
- SConscript('%s/SConscript' % (plugpath), ['defines', 'optdeps'])
+ SConscript('%s/SConscript' % (plugpath), ['defines', 'optdeps', 'addopts'])
plugins[plugin] = {
'info': info,
'libs': xlibs,
@@ -489,7 +489,10 @@
print 'Options:'
print '- unicode: %s' % (env['UNICODE'])
- print '- nls: %s' % (defines['ENABLE_NLS'])
+ print '- nls (gettext): %s' % (defines['ENABLE_NLS'])
+ for d, k in addopts:
+ print '- %s: %s' % (d, env[k])
+
print
print 'Paths:'
for k in dirs:
Modified: trunk/plugins/ioctld/SConscript
===================================================================
--- trunk/plugins/ioctld/SConscript 2009-07-22 14:20:24 UTC (rev 4838)
+++ trunk/plugins/ioctld/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
@@ -1,17 +1,27 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'misc',
'state': 'stable',
'depends': ['ioctld'] # includes
}
+ if 'indirs' in globals():
+ indirs.append(['IOCTLD_PATH', '$LIBEXECDIR/ekg2-ioctld', 'EKG2 ioctld'])
+ if 'opts' in globals():
+ opts.Add(BoolOption('IOCTLD_BIN', 'Whether to build ioctld binary', True))
+
Return('plugin')
+if 'addopts' in globals():
+ addopts.append(['ioctld binary', 'IOCTLD_BIN'])
+
+if 'penv' in globals() and penv['IOCTLD_BIN']:
+ benv = penv.Clone()
+ benv.Append(CPPPATH = ['../..'])
+ benv.Program('ioctld', 'ioctld.c')
+ benv.InstallAs(benv['IOCTLD_PATH'], '%sioctld%s' % (benv['PROGPREFIX'], benv['PROGSUFFIX']))
+
# vim:ts=4:sts=4:sw=4:syntax=python
From svn w toxygen.net Wed Jul 22 18:12:33 2009
From: svn w toxygen.net (SVN commit)
Date: Wed, 22 Jul 2009 18:12:33 +0200 (CEST)
Subject: [ekg2-commit] r4840 - in trunk/plugins: autoresponder dbus dummy
feed gg gpg gsm gtk httprc_xajax icq irc jabber jogger logs logsoracle
logsqlite mail ncurses oss pcm perl polchat python rc readline remote
rivchat rot13 ruby sim sms sniff xmsg xosd:
trunk/plugins/autoresponder/SConscript trunk/plugins/dbus/SConscript
trunk/plugins/dummy/SConscript trunk/plugins/feed/SConscript
trunk/plugins/gg/SConscript trunk/plugins/gpg/SConscript
trunk/plugins/gsm/SConscript trunk/plugins/gtk/SConscript
trunk/plugins/httprc_xajax/SConscript trunk/plugins/icq/SConscript
trunk/plugins/irc/SConscript trunk/plugins/jabber/SConscript
trunk/plugins/jogger/SConscript trunk/plugins/logs/SConscript
trunk/plugins/logsoracle/SConscript trunk/plugins/logsqlite/SConscript
trunk/plugins/mail/SConscript trunk/plugins/ncurses/SConscript
trunk/plugins/oss/SConscript trunk/plugins/pcm/SConscript
trunk/plugins/perl/SConscript trunk/plugins/polchat/SConscript
trunk/plugins/python/SConscript trunk/pl! ugins/rc/SConscript
trunk/plugins/readline/SConscript trunk/plugins/remote/SConscript
trunk/plugins/rivchat/SConscript trunk/plugins/rot13/SConscript
trunk/plugins/ruby/SConscript trunk/plugins/sim/SConscript
trunk/plugins/sms/SConscript trunk/plugins/sniff/SConscript
trunk/plugins/xmsg/SConscript trunk/plugins/xosd/SConscript
Message-ID: <20090722161233.EA3BB17B45@toxygen.net>
Author: peres
Date: 2009-07-22 18:12:33 +0200 (Wed, 22 Jul 2009)
New Revision: 4840
Modified:
trunk/plugins/autoresponder/SConscript
trunk/plugins/dbus/SConscript
trunk/plugins/dummy/SConscript
trunk/plugins/feed/SConscript
trunk/plugins/gg/SConscript
trunk/plugins/gpg/SConscript
trunk/plugins/gsm/SConscript
trunk/plugins/gtk/SConscript
trunk/plugins/httprc_xajax/SConscript
trunk/plugins/icq/SConscript
trunk/plugins/irc/SConscript
trunk/plugins/jabber/SConscript
trunk/plugins/jogger/SConscript
trunk/plugins/logs/SConscript
trunk/plugins/logsoracle/SConscript
trunk/plugins/logsqlite/SConscript
trunk/plugins/mail/SConscript
trunk/plugins/ncurses/SConscript
trunk/plugins/oss/SConscript
trunk/plugins/pcm/SConscript
trunk/plugins/perl/SConscript
trunk/plugins/polchat/SConscript
trunk/plugins/python/SConscript
trunk/plugins/rc/SConscript
trunk/plugins/readline/SConscript
trunk/plugins/remote/SConscript
trunk/plugins/rivchat/SConscript
trunk/plugins/rot13/SConscript
trunk/plugins/ruby/SConscript
trunk/plugins/sim/SConscript
trunk/plugins/sms/SConscript
trunk/plugins/sniff/SConscript
trunk/plugins/xmsg/SConscript
trunk/plugins/xosd/SConscript
Log:
Replace try/except with 'if * in globals()'.
Modified: trunk/plugins/autoresponder/SConscript
===================================================================
--- trunk/plugins/autoresponder/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/autoresponder/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'misc',
'state': 'stable',
Modified: trunk/plugins/dbus/SConscript
===================================================================
--- trunk/plugins/dbus/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/dbus/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'misc',
'state': 'experimental',
Modified: trunk/plugins/dummy/SConscript
===================================================================
--- trunk/plugins/dummy/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/dummy/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'misc',
'state': 'nocompile', # example
Modified: trunk/plugins/feed/SConscript
===================================================================
--- trunk/plugins/feed/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/feed/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'protocol',
'state': 'unstable',
Modified: trunk/plugins/gg/SConscript
===================================================================
--- trunk/plugins/gg/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/gg/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'protocol',
'state': 'stable',
Modified: trunk/plugins/gpg/SConscript
===================================================================
--- trunk/plugins/gpg/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/gpg/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'crypt',
'state': 'unstable',
Modified: trunk/plugins/gsm/SConscript
===================================================================
--- trunk/plugins/gsm/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/gsm/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'codec',
'state': 'stable',
Modified: trunk/plugins/gtk/SConscript
===================================================================
--- trunk/plugins/gtk/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/gtk/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -3,11 +3,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'ui',
'state': 'unstable',
@@ -16,11 +12,7 @@
Return('plugin')
-try:
- penv
-except NameError:
- pass
-else:
+if 'penv' in globals():
def InlinePNGGen(target, source, env, for_signature):
src = []
for f in source:
Modified: trunk/plugins/httprc_xajax/SConscript
===================================================================
--- trunk/plugins/httprc_xajax/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/httprc_xajax/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'ui',
'state': 'unstable',
Modified: trunk/plugins/icq/SConscript
===================================================================
--- trunk/plugins/icq/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/icq/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'protocol',
'state': 'experimental',
Modified: trunk/plugins/irc/SConscript
===================================================================
--- trunk/plugins/irc/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/irc/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'protocol',
'state': 'stable',
Modified: trunk/plugins/jabber/SConscript
===================================================================
--- trunk/plugins/jabber/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/jabber/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,21 +1,13 @@
Import('*')
-try:
- defines
-except NameError:
- pass
-else:
+if 'defines' in globals():
for o in ['gnutls', 'openssl']:
if o in optdeps:
defines['JABBER_HAVE_%s' % o.upper()] = True
break
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'protocol',
'state': 'stable',
Modified: trunk/plugins/jogger/SConscript
===================================================================
--- trunk/plugins/jogger/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/jogger/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'protocol',
'state': 'stable',
Modified: trunk/plugins/logs/SConscript
===================================================================
--- trunk/plugins/logs/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/logs/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'log',
'state': 'stable',
Modified: trunk/plugins/logsoracle/SConscript
===================================================================
--- trunk/plugins/logsoracle/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/logsoracle/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'log',
'state': 'experimental',
Modified: trunk/plugins/logsqlite/SConscript
===================================================================
--- trunk/plugins/logsqlite/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/logsqlite/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'log',
'state': 'stable',
Modified: trunk/plugins/mail/SConscript
===================================================================
--- trunk/plugins/mail/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/mail/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'misc',
'state': 'stable',
Modified: trunk/plugins/ncurses/SConscript
===================================================================
--- trunk/plugins/ncurses/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/ncurses/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'ui',
'state': 'stable',
Modified: trunk/plugins/oss/SConscript
===================================================================
--- trunk/plugins/oss/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/oss/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'codec',
'state': 'experimental',
Modified: trunk/plugins/pcm/SConscript
===================================================================
--- trunk/plugins/pcm/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/pcm/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'codec',
'state': 'stable',
Modified: trunk/plugins/perl/SConscript
===================================================================
--- trunk/plugins/perl/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/perl/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -3,11 +3,7 @@
import glob
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'scripting',
'state': 'stable',
@@ -16,11 +12,7 @@
Return('plugin')
-try:
- penv
-except NameError:
- pass
-else:
+if 'penv' in globals():
penv.Install('%s/scripts/' % penv['DATADIR'], glob.glob('../../contrib/perl/*.pl'))
# vim:ts=4:sts=4:sw=4:syntax=python
Modified: trunk/plugins/polchat/SConscript
===================================================================
--- trunk/plugins/polchat/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/polchat/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'protocol',
'state': 'unstable',
Modified: trunk/plugins/python/SConscript
===================================================================
--- trunk/plugins/python/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/python/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -3,11 +3,7 @@
import glob
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'scripting',
'state': 'stable',
@@ -17,11 +13,7 @@
Return('plugin')
-try:
- penv
-except NameError:
- pass
-else:
+if 'penv' in globals():
penv.Install('%s/scripts/' % penv['DATADIR'], glob.glob('../../contrib/python/*.py'))
# vim:ts=4:sts=4:sw=4:syntax=python
Modified: trunk/plugins/rc/SConscript
===================================================================
--- trunk/plugins/rc/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/rc/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'misc',
'state': 'stable',
Modified: trunk/plugins/readline/SConscript
===================================================================
--- trunk/plugins/readline/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/readline/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'ui',
'state': 'deprecated',
Modified: trunk/plugins/remote/SConscript
===================================================================
--- trunk/plugins/remote/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/remote/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'ui',
'state': 'experimental',
Modified: trunk/plugins/rivchat/SConscript
===================================================================
--- trunk/plugins/rivchat/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/rivchat/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'protocol',
'state': 'experimental',
Modified: trunk/plugins/rot13/SConscript
===================================================================
--- trunk/plugins/rot13/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/rot13/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'crypt',
'state': 'stable',
Modified: trunk/plugins/ruby/SConscript
===================================================================
--- trunk/plugins/ruby/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/ruby/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'scripting',
'state': 'experimental',
Modified: trunk/plugins/sim/SConscript
===================================================================
--- trunk/plugins/sim/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/sim/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'crypt',
'state': 'stable',
Modified: trunk/plugins/sms/SConscript
===================================================================
--- trunk/plugins/sms/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/sms/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'misc',
'state': 'stable',
Modified: trunk/plugins/sniff/SConscript
===================================================================
--- trunk/plugins/sniff/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/sniff/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'protocol',
'state': 'experimental',
Modified: trunk/plugins/xmsg/SConscript
===================================================================
--- trunk/plugins/xmsg/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/xmsg/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'protocol',
'state': 'unstable',
Modified: trunk/plugins/xosd/SConscript
===================================================================
--- trunk/plugins/xosd/SConscript 2009-07-22 16:04:13 UTC (rev 4839)
+++ trunk/plugins/xosd/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
@@ -1,11 +1,7 @@
Import('*')
-try:
- env
-except NameError:
- pass
-else:
+if 'env' in globals():
plugin = {
'type': 'misc',
'state': 'deprecated',
From svn w toxygen.net Thu Jul 23 01:44:29 2009
From: svn w toxygen.net (SVN commit)
Date: Thu, 23 Jul 2009 01:44:29 +0200 (CEST)
Subject: [ekg2-commit] r4845 - trunk/remote: trunk/remote/plugins.c
Message-ID: <20090722234429.5D3B317B51@toxygen.net>
Author: peres
Date: 2009-07-23 01:44:28 +0200 (Thu, 23 Jul 2009)
New Revision: 4845
Modified:
trunk/remote/plugins.c
Log:
Support static plugins SCons-way.
Modified: trunk/remote/plugins.c
===================================================================
--- trunk/remote/plugins.c 2009-07-22 23:44:05 UTC (rev 4844)
+++ trunk/remote/plugins.c 2009-07-22 23:44:28 UTC (rev 4845)
@@ -130,6 +130,7 @@
#endif
#ifdef STATIC_LIBS
+#ifndef SCONS
/* first let's try to load static plugin... */
// extern int readline_plugin_init(int prio);
// extern int ncurses_plugin_init(int prio);
@@ -139,7 +140,12 @@
if (!strcmp(name, "gtk"))
plugin_init = >k_plugin_init;
+#else
+ debug_function("plugin_load(), trying to find static plugin '%s'\n", name);
+ void *plugin_load_static(const char *name); /* autogenerated by scons */
+ plugin_init = plugin_load_static(name);
#endif
+#endif
#ifdef SHARED_LIBS
if (!plugin_init) {
From svn w toxygen.net Wed Jul 22 18:45:18 2009
From: svn w toxygen.net (SVN commit)
Date: Wed, 22 Jul 2009 18:45:18 +0200 (CEST)
Subject: [ekg2-commit] r4841 - in trunk: . plugins/remote remote:
+trunk/remote/SConscript trunk/SConstruct
trunk/plugins/remote/SConscript
Message-ID: <20090722164518.726D617B49@toxygen.net>
Author: peres
Date: 2009-07-22 18:45:18 +0200 (Wed, 22 Jul 2009)
New Revision: 4841
Added:
trunk/remote/SConscript
Modified:
trunk/SConstruct
trunk/plugins/remote/SConscript
Log:
Support for building ekg2-remote using SCons.
Modified: trunk/SConstruct
===================================================================
--- trunk/SConstruct 2009-07-22 16:12:33 UTC (rev 4840)
+++ trunk/SConstruct 2009-07-22 16:45:18 UTC (rev 4841)
@@ -610,7 +610,7 @@
penv.Append(LIBS = data['libs'])
penv.MergeFlags(data['flags'])
- SConscript('%s/SConscript' % plugpath, ['penv'])
+ SConscript('%s/SConscript' % plugpath, ['penv', 'ekg_compat', 'ekg_libs', 'ekg_libpath'])
libfile = '%s/%s' % (plugpath, plugin)
if env['STATIC']:
Modified: trunk/plugins/remote/SConscript
===================================================================
--- trunk/plugins/remote/SConscript 2009-07-22 16:12:33 UTC (rev 4840)
+++ trunk/plugins/remote/SConscript 2009-07-22 16:45:18 UTC (rev 4841)
@@ -1,14 +1,31 @@
Import('*')
+# All those TLS/SSL things are for the ekg2-remote binary
+
+if 'defines' in globals():
+ for o in ['gnutls', 'openssl']:
+ if o in optdeps:
+ defines['REMOTE_WANT_%s' % o.upper()] = True
+ break
+
if 'env' in globals():
plugin = {
'type': 'ui',
'state': 'experimental',
'depends': [],
- 'optdepends': []
+ 'optdepends': [['gnutls', 'openssl']]
}
+ if 'opts' in globals():
+ opts.Add(BoolOption('REMOTE_BIN', 'Whether to build ekg2-remote binary', True))
+
Return('plugin')
+if 'penv' in globals() and penv['REMOTE_BIN']:
+ benv = penv.Clone()
+ benv.Append(LIBS = ekg_libs)
+ benv.Append(LIBPATH = ekg_libpath)
+ SConscript('../../remote/SConscript', ['benv', 'ekg_compat'])
+
# vim:ts=4:sts=4:sw=4:syntax=python
Added: trunk/remote/SConscript
===================================================================
--- trunk/remote/SConscript (rev 0)
+++ trunk/remote/SConscript 2009-07-22 16:45:18 UTC (rev 4841)
@@ -0,0 +1,15 @@
+
+Import('*')
+
+import glob
+
+if ekg_compat:
+ compatlibs = ['../compat/%scompat%s' % (benv['LIBPREFIX'], benv['LIBSUFFIX'])]
+else:
+ compatlibs = []
+
+benv.Append(CPPPATH = ['..'])
+benv.Program('ekg2-remote', glob.glob('*.c') + compatlibs)
+benv.Install(benv['BINDIR'], '%sekg2-remote%s' % (benv['PROGPREFIX'], benv['PROGSUFFIX']))
+
+# vim:ts=4:sts=4:sw=4:syntax=python
From svn w toxygen.net Thu Jul 23 01:17:37 2009
From: svn w toxygen.net (SVN commit)
Date: Thu, 23 Jul 2009 01:17:37 +0200 (CEST)
Subject: [ekg2-commit] r4843 - in trunk: . plugins/remote: trunk/SConstruct
trunk/plugins/remote/SConscript
Message-ID: <20090722231737.E77EF17B4C@toxygen.net>
Author: peres
Date: 2009-07-23 01:17:37 +0200 (Thu, 23 Jul 2009)
New Revision: 4843
Modified:
trunk/SConstruct
trunk/plugins/remote/SConscript
Log:
Remove ekg2-remote building code from plugins/remote.
By default, install only ekg2 manfiles.
Preparations for new ekg2-remote building code.
Modified: trunk/SConstruct
===================================================================
--- trunk/SConstruct 2009-07-22 23:02:54 UTC (rev 4842)
+++ trunk/SConstruct 2009-07-22 23:17:37 UTC (rev 4843)
@@ -217,6 +217,7 @@
opts.Add(BoolOption('STATIC', 'Whether to build static plugins instead of shared', False))
opts.Add(BoolOption('SKIPCONF', 'Restore previous environment and skip configure if possible', False))
opts.Add(EnumOption('DEBUG', 'Internal debug level', 'std', ['none', 'std', 'stderr']))
+opts.Add(EnumOption('REMOTE', 'Whether to build ekg2-remote', 'no', ['no', 'yes', 'only']))
opts.Add('DISTNOTES', 'Additional info to /version for use with distributed packages')
for p in avplugins:
@@ -490,6 +491,7 @@
print 'Options:'
print '- unicode: %s' % (env['UNICODE'])
print '- nls (gettext): %s' % (defines['ENABLE_NLS'])
+ print '- build ekg2-remote: %s' % (env['REMOTE'])
for d, k in addopts:
print '- %s: %s' % (d, env[k])
@@ -585,22 +587,25 @@
adddocs.append(a)
cenv.Install(env['DOCDIR'], adddocs)
-for f in glob.glob('docs/*.[12345678]'):
- i = f.rindex('.')
- cat = f[i+1:]
- j = f.rindex('.', 0, i)
- lng = f[j+1:i]
- i = f.rindex('/')
- fn = f[i + 1:].replace('%s.' % lng, '')
+def InstallMan(pattern):
+ for f in glob.glob(pattern):
+ i = f.rindex('.')
+ cat = f[i+1:]
+ j = f.rindex('.', 0, i)
+ lng = f[j+1:i]
+ i = f.rindex('/')
+ fn = f[i + 1:].replace('%s.' % lng, '')
- if lng == 'en':
- lng = ''
- else:
- lng = '%s/' % lng
+ if lng == 'en':
+ lng = ''
+ else:
+ lng = '%s/' % lng
- fn = '%s/%sman%s/%s' % (env['MANDIR'], lng, cat, fn)
- cenv.InstallAs(target = fn, source = f)
+ fn = '%s/%sman%s/%s' % (env['MANDIR'], lng, cat, fn)
+ cenv.InstallAs(target = fn, source = f)
+InstallMan('docs/ekg2.*[12345678]')
+
ekg_libpath = []
for plugin, data in plugins.items():
@@ -610,7 +615,7 @@
penv.Append(LIBS = data['libs'])
penv.MergeFlags(data['flags'])
- SConscript('%s/SConscript' % plugpath, ['penv', 'ekg_compat', 'ekg_libs', 'ekg_libpath'])
+ SConscript('%s/SConscript' % plugpath, ['penv'])
libfile = '%s/%s' % (plugpath, plugin)
if env['STATIC']:
Modified: trunk/plugins/remote/SConscript
===================================================================
--- trunk/plugins/remote/SConscript 2009-07-22 23:02:54 UTC (rev 4842)
+++ trunk/plugins/remote/SConscript 2009-07-22 23:17:37 UTC (rev 4843)
@@ -1,31 +1,14 @@
Import('*')
-# All those TLS/SSL things are for the ekg2-remote binary
-
-if 'defines' in globals():
- for o in ['gnutls', 'openssl']:
- if o in optdeps:
- defines['REMOTE_WANT_%s' % o.upper()] = True
- break
-
if 'env' in globals():
plugin = {
'type': 'ui',
'state': 'experimental',
'depends': [],
- 'optdepends': [['gnutls', 'openssl']]
+ 'optdepends': []
}
- if 'opts' in globals():
- opts.Add(BoolOption('REMOTE_BIN', 'Whether to build ekg2-remote binary', True))
-
Return('plugin')
-if 'penv' in globals() and penv['REMOTE_BIN']:
- benv = penv.Clone()
- benv.Append(LIBS = ekg_libs)
- benv.Append(LIBPATH = ekg_libpath)
- SConscript('../../remote/SConscript', ['benv', 'ekg_compat'])
-
# vim:ts=4:sts=4:sw=4:syntax=python
From svn w toxygen.net Thu Jul 23 01:02:55 2009
From: svn w toxygen.net (SVN commit)
Date: Thu, 23 Jul 2009 01:02:55 +0200 (CEST)
Subject: [ekg2-commit] r4842 - trunk/plugins/ioctld:
trunk/plugins/ioctld/Makefile.am
trunk/plugins/ioctld/SConscript trunk/plugins/ioctld/ioctld.c
Message-ID: <20090722230255.2CFC017B4A@toxygen.net>
Author: peres
Date: 2009-07-23 01:02:54 +0200 (Thu, 23 Jul 2009)
New Revision: 4842
Modified:
trunk/plugins/ioctld/Makefile.am
trunk/plugins/ioctld/SConscript
trunk/plugins/ioctld/ioctld.c
Log:
Adding #ifdef to avoiding miscompiling 'ioctld' daemon code into plugin.
Hope you won't mind.
Modified: trunk/plugins/ioctld/Makefile.am
===================================================================
--- trunk/plugins/ioctld/Makefile.am 2009-07-22 16:45:18 UTC (rev 4841)
+++ trunk/plugins/ioctld/Makefile.am 2009-07-22 23:02:54 UTC (rev 4842)
@@ -7,6 +7,7 @@
override libdir = $(plugindir)
libexec_PROGRAMS = ioctld
+ioctld_CPPFLAGS = -DIOCTLD_BUILD=1
ioctld_SOURCES = ioctld.c ioctld.h
INCLUDES = -DIOCTLD_PATH=\"$(libexecdir)/ioctld\"
Modified: trunk/plugins/ioctld/SConscript
===================================================================
--- trunk/plugins/ioctld/SConscript 2009-07-22 16:45:18 UTC (rev 4841)
+++ trunk/plugins/ioctld/SConscript 2009-07-22 23:02:54 UTC (rev 4842)
@@ -20,7 +20,7 @@
if 'penv' in globals() and penv['IOCTLD_BIN']:
benv = penv.Clone()
- benv.Append(CPPPATH = ['../..'])
+ benv.Append(CPPPATH = ['../..'], CPPFLAGS = ['-DIOCTLD_BUILD=1'])
benv.Program('ioctld', 'ioctld.c')
benv.InstallAs(benv['IOCTLD_PATH'], '%sioctld%s' % (benv['PROGPREFIX'], benv['PROGSUFFIX']))
Modified: trunk/plugins/ioctld/ioctld.c
===================================================================
--- trunk/plugins/ioctld/ioctld.c 2009-07-22 16:45:18 UTC (rev 4841)
+++ trunk/plugins/ioctld/ioctld.c 2009-07-22 23:02:54 UTC (rev 4842)
@@ -19,6 +19,8 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+#ifdef IOCTLD_BUILD /* to avoid miscompiling into plugin */
+
#ifndef __FreeBSD__
#define _XOPEN_SOURCE 600
#define __EXTENSIONS__
@@ -214,6 +216,8 @@
exit(0);
}
+#endif
+
/*
* Local Variables:
* mode: c
From svn w toxygen.net Thu Jul 23 12:07:56 2009
From: svn w toxygen.net (SVN commit)
Date: Thu, 23 Jul 2009 12:07:56 +0200 (CEST)
Subject: [ekg2-commit] r4847 - trunk: trunk/SConstruct
Message-ID: <20090723100756.9AFE317B34@toxygen.net>
Author: peres
Date: 2009-07-23 12:07:56 +0200 (Thu, 23 Jul 2009)
New Revision: 4847
Modified:
trunk/SConstruct
Log:
Don't install plugin docs with ekg2-remote.
Modified: trunk/SConstruct
===================================================================
--- trunk/SConstruct 2009-07-22 23:54:13 UTC (rev 4846)
+++ trunk/SConstruct 2009-07-23 10:07:56 UTC (rev 4847)
@@ -597,9 +597,11 @@
penv.Install(env['PLUGINDIR'], libfile + env['SHLIBSUFFIX'])
docfiles = []
- for doc in docglobs:
- docfiles.extend(glob.glob('%s/%s.txt' % (plugpath, doc)))
-
+ # ekg2-remote doesn't use docs
+ if env['REMOTE'] != 'only':
+ for doc in docglobs:
+ docfiles.extend(glob.glob('%s/%s.txt' % (plugpath, doc)))
+
for f in data['info']['extradist']:
docfiles.extend(glob.glob('%s/%s' % (plugpath, f)))
From svn w toxygen.net Thu Jul 23 12:23:17 2009
From: svn w toxygen.net (SVN commit)
Date: Thu, 23 Jul 2009 12:23:17 +0200 (CEST)
Subject: [ekg2-commit] r4848 - trunk: trunk/SConstruct
Message-ID: <20090723102317.7F54017B34@toxygen.net>
Author: peres
Date: 2009-07-23 12:23:17 +0200 (Thu, 23 Jul 2009)
New Revision: 4848
Modified:
trunk/SConstruct
Log:
Fix STATIC=1 REMOTE=only.
Modified: trunk/SConstruct
===================================================================
--- trunk/SConstruct 2009-07-23 10:07:56 UTC (rev 4847)
+++ trunk/SConstruct 2009-07-23 10:23:17 UTC (rev 4848)
@@ -64,7 +64,7 @@
def WriteStatic(target, source, env):
""" Write static plugin loader """
- static_inc = open('ekg2-static.c', 'w')
+ static_inc = open(str(target[0]), 'w')
for p in plugins:
static_inc.write('extern int %s_plugin_init(int prio);\n' % p)
static_inc.write('\nvoid *plugin_load_static(const char *name) {\n')
From svn w toxygen.net Thu Jul 23 12:33:42 2009
From: svn w toxygen.net (SVN commit)
Date: Thu, 23 Jul 2009 12:33:42 +0200 (CEST)
Subject: [ekg2-commit] r4849 - trunk/plugins/ioctld:
trunk/plugins/ioctld/SConscript
Message-ID: <20090723103342.8153117B34@toxygen.net>
Author: peres
Date: 2009-07-23 12:33:42 +0200 (Thu, 23 Jul 2009)
New Revision: 4849
Modified:
trunk/plugins/ioctld/SConscript
Log:
Add OBJSUFFIX when building ioctld binary to fix STATIC=1.
Modified: trunk/plugins/ioctld/SConscript
===================================================================
--- trunk/plugins/ioctld/SConscript 2009-07-23 10:23:17 UTC (rev 4848)
+++ trunk/plugins/ioctld/SConscript 2009-07-23 10:33:42 UTC (rev 4849)
@@ -20,6 +20,7 @@
if 'penv' in globals() and penv['IOCTLD_BIN']:
benv = penv.Clone()
+ benv['OBJSUFFIX'] += 'b'
benv.Append(CPPPATH = ['../..'], CPPFLAGS = ['-DIOCTLD_BUILD=1'])
benv.Program('ioctld', 'ioctld.c')
benv.InstallAs(benv['IOCTLD_PATH'], '%sioctld%s' % (benv['PROGPREFIX'], benv['PROGSUFFIX']))
From svn w toxygen.net Thu Jul 23 12:39:09 2009
From: svn w toxygen.net (SVN commit)
Date: Thu, 23 Jul 2009 12:39:09 +0200 (CEST)
Subject: [ekg2-commit] r4850 - trunk: trunk/SConstruct
Message-ID: <20090723103909.667CA17B34@toxygen.net>
Author: peres
Date: 2009-07-23 12:39:08 +0200 (Thu, 23 Jul 2009)
New Revision: 4850
Modified:
trunk/SConstruct
Log:
Add 'return NULL' to ekg2*-static.c.
Modified: trunk/SConstruct
===================================================================
--- trunk/SConstruct 2009-07-23 10:33:42 UTC (rev 4849)
+++ trunk/SConstruct 2009-07-23 10:39:08 UTC (rev 4850)
@@ -70,7 +70,7 @@
static_inc.write('\nvoid *plugin_load_static(const char *name) {\n')
for p in plugins:
static_inc.write('\tif (!xstrcmp(name, "%s")) return &%s_plugin_init;\n' % (p, p))
- static_inc.write('}\n')
+ static_inc.write('\treturn NULL;\n}\n')
static_inc.close()
return None
From svn w toxygen.net Thu Jul 23 13:17:30 2009
From: svn w toxygen.net (SVN commit)
Date: Thu, 23 Jul 2009 13:17:30 +0200 (CEST)
Subject: [ekg2-commit] r4851 - trunk: trunk/SConstruct
Message-ID: <20090723111730.EA11217B34@toxygen.net>
Author: peres
Date: 2009-07-23 13:17:30 +0200 (Thu, 23 Jul 2009)
New Revision: 4851
Modified:
trunk/SConstruct
Log:
Fix STATIC=1. With REMOTE=yes too.
Modified: trunk/SConstruct
===================================================================
--- trunk/SConstruct 2009-07-23 10:39:08 UTC (rev 4850)
+++ trunk/SConstruct 2009-07-23 11:17:30 UTC (rev 4851)
@@ -64,11 +64,18 @@
def WriteStatic(target, source, env):
""" Write static plugin loader """
+ plug = []
+ for p in source:
+ p = str(p).split('/', 3)
+ if p[0] == 'plugins':
+ plug.append(p[1])
+
static_inc = open(str(target[0]), 'w')
- for p in plugins:
+ static_inc.write('/* autogenerated, do not modify */\n#include \n\n')
+ for p in plug:
static_inc.write('extern int %s_plugin_init(int prio);\n' % p)
static_inc.write('\nvoid *plugin_load_static(const char *name) {\n')
- for p in plugins:
+ for p in plug:
static_inc.write('\tif (!xstrcmp(name, "%s")) return &%s_plugin_init;\n' % (p, p))
static_inc.write('\treturn NULL;\n}\n')
static_inc.close()
@@ -459,16 +466,19 @@
continue
SConscript('%s/SConscript' % (plugpath), ['defines', 'optdeps', 'addopts'])
+
+ type = info['type']
+ if not pl.has_key(type):
+ pl[type] = []
+
plugins[plugin] = {
'info': info,
'libs': xlibs,
'flags': xflags
}
+ if env['REMOTE'] != 'no' and (type != 'ui' or 'noremote' in info):
+ plugins[plugin]['noremote'] = True
- type = info['type']
- if not pl.has_key(type):
- pl[type] = []
-
if optdeps:
optdeps = ' [%s]' % (' '.join(optdeps))
defines['SCONS_NOTES'] += '; %s%s' % (plugin, optdeps)
@@ -574,6 +584,9 @@
ekg_libpath = []
+if env['REMOTE'] == 'yes':
+ ekg_staticlibs_r = list(ekg_staticlibs)
+
for plugin, data in plugins.items():
plugpath = 'plugins/%s' % (plugin)
@@ -591,7 +604,10 @@
ekg_libpath.extend(penv['LIBPATH'])
except KeyError:
pass
- ekg_staticlibs.append('%s/%s%s' % (plugpath, plugin, env['LIBSUFFIX']))
+ sl = '%s/%s%s' % (plugpath, plugin, env['LIBSUFFIX'])
+ ekg_staticlibs.append(sl)
+ if env['REMOTE'] == 'yes' and 'noremote' not in data:
+ ekg_staticlibs_r.append(sl)
else:
penv.SharedLibrary(libfile, glob.glob('%s/*.c' % (plugpath)), LIBPREFIX = '')
penv.Install(env['PLUGINDIR'], libfile + env['SHLIBSUFFIX'])
@@ -613,14 +629,16 @@
InstallMan(cenv, 'docs/ekg2-remote.*[12345678]')
if env['STATIC']:
- env.StaticLoader('ekg2-remote-static.c', [])
- ekg_staticlibs.insert(0, 'ekg2-remote-static.c') # well, it ain't exactly static lib, but no need to panic
+ if env['REMOTE'] == 'only':
+ ekg_staticlibs_r = ekg_staticlibs
+ env.StaticLoader('ekg2-remote-static.c', ekg_staticlibs_r)
+ ekg_staticlibs_r.insert(0, 'ekg2-remote-static.c') # well, it ain't exactly static lib, but no need to panic
else:
cenv.Append(LINKFLAGS = ['-Wl,--export-dynamic'])
cenv.Append(LIBPATH = ekg_libpath)
cenv.Append(LIBS = ekg_libs)
- cenv.Program('remote/ekg2-remote', glob.glob('remote/*.c') + ekg_staticlibs)
+ cenv.Program('remote/ekg2-remote', glob.glob('remote/*.c') + ekg_staticlibs_r)
cenv.Install(env['BINDIR'], 'remote/%sekg2-remote%s' % (env['PROGPREFIX'], env['PROGSUFFIX']))
if env['REMOTE'] != 'only':
@@ -663,7 +681,7 @@
InstallMan(cenv, 'docs/ekg2.*[12345678]')
if env['STATIC']:
- env.StaticLoader('ekg2-static.c', [])
+ env.StaticLoader('ekg2-static.c', ekg_staticlibs)
ekg_staticlibs.insert(0, 'ekg2-static.c') # well, it ain't exactly static lib, but no need to panic
else:
cenv.Append(LINKFLAGS = ['-Wl,--export-dynamic'])
From svn w toxygen.net Thu Jul 23 13:23:57 2009
From: svn w toxygen.net (SVN commit)
Date: Thu, 23 Jul 2009 13:23:57 +0200 (CEST)
Subject: [ekg2-commit] r4852 - trunk: trunk/SConstruct
Message-ID: <20090723112357.5D8AA17B34@toxygen.net>
Author: peres
Date: 2009-07-23 13:23:56 +0200 (Thu, 23 Jul 2009)
New Revision: 4852
Modified:
trunk/SConstruct
Log:
Fix shared remote compilation.
Modified: trunk/SConstruct
===================================================================
--- trunk/SConstruct 2009-07-23 11:17:30 UTC (rev 4851)
+++ trunk/SConstruct 2009-07-23 11:23:56 UTC (rev 4852)
@@ -628,9 +628,9 @@
InstallMan(cenv, 'docs/ekg2-remote.*[12345678]')
+ if env['REMOTE'] == 'only':
+ ekg_staticlibs_r = ekg_staticlibs
if env['STATIC']:
- if env['REMOTE'] == 'only':
- ekg_staticlibs_r = ekg_staticlibs
env.StaticLoader('ekg2-remote-static.c', ekg_staticlibs_r)
ekg_staticlibs_r.insert(0, 'ekg2-remote-static.c') # well, it ain't exactly static lib, but no need to panic
else:
From svn w toxygen.net Thu Jul 23 14:21:25 2009
From: svn w toxygen.net (SVN commit)
Date: Thu, 23 Jul 2009 14:21:25 +0200 (CEST)
Subject: [ekg2-commit] r4853 - trunk: trunk/SConstruct
Message-ID: <20090723122125.B51E117B34@toxygen.net>
Author: peres
Date: 2009-07-23 14:21:25 +0200 (Thu, 23 Jul 2009)
New Revision: 4853
Modified:
trunk/SConstruct
Log:
Support SSL with ekg2-remote.
Modified: trunk/SConstruct
===================================================================
--- trunk/SConstruct 2009-07-23 11:23:56 UTC (rev 4852)
+++ trunk/SConstruct 2009-07-23 12:21:25 UTC (rev 4853)
@@ -225,6 +225,7 @@
opts.Add(BoolOption('SKIPCONF', 'Restore previous environment and skip configure if possible', False))
opts.Add(EnumOption('DEBUG', 'Internal debug level', 'std', ['none', 'std', 'stderr']))
opts.Add(EnumOption('REMOTE', 'Whether to build ekg2-remote', 'no', ['no', 'yes', 'only']))
+opts.Add(EnumOption('REMOTE_SSL', 'What SSL/TLS library to use with ekg2-remote', 'auto', ['none', 'openssl', 'gnutls', 'any', 'auto']))
opts.Add('DISTNOTES', 'Additional info to /version for use with distributed packages')
for p in avplugins:
@@ -328,10 +329,26 @@
ekg_libs = []
ekg_staticlibs = []
ekg_compat = []
+ ekg_remote_flags = []
ExtTest('standard', ['ekg_libs'])
ExtTest('compat', ['ekg_compat'])
+ if env['REMOTE'] != 'no' and env['REMOTE_SSL'] != 'none':
+ reqssl = env['REMOTE_SSL']
+ flags = []
+
+ for dep in ['gnutls', 'openssl']:
+ if reqssl in ['auto', 'any', dep]:
+ if ExtTest(dep, ['flags']):
+ ekg_remote_flags.extend(flags)
+ defines['REMOTE_WANT_%s' % dep.upper()] = True
+ break
+
+ if not ekg_remote_flags and reqssl != 'auto' and env['HARDDEPS']:
+ print 'Unable to find %s SSL/TLS library for ekg2-remote and HARDDEPS specified, aborting.' % reqssl
+ sys.exit(1)
+
plugin_def = {
'type': 'misc',
'state': 'unknown',
@@ -498,7 +515,7 @@
if not 'ui' in pl:
warnings.append('No UI-plugin selected. EKG2 might be unusable to you.')
- if not 'protocol' in pl:
+ if not 'protocol' in pl and env['REMOTE'] != 'only':
warnings.append("No protocol plugin selected. EKG2 won't be instant messenger anymore.")
else:
warnings.append('You are compiling ekg2 without any plugin. Are you sure this is what you mean to do?')
@@ -506,7 +523,11 @@
print 'Options:'
print '- unicode: %s' % (env['UNICODE'])
print '- nls (gettext): %s' % (defines['ENABLE_NLS'])
- print '- build ekg2-remote: %s' % (env['REMOTE'])
+ if env['REMOTE'] != 'no':
+ remssl = ' (SSL: %s)' % env['REMOTE_SSL']
+ else:
+ remssl = ''
+ print '- build ekg2-remote: %s%s' % (env['REMOTE'], remssl)
for d, k in addopts:
print '- %s: %s' % (d, env[k])
@@ -538,6 +559,7 @@
'ekg_libs': ekg_libs,
'ekg_staticlibs': ekg_staticlibs,
'ekg_compat': ekg_compat,
+ 'ekg_remote_flags': ekg_remote_flags,
'plugins': plugins,
'defines': defines
}, conff, cPickle.HIGHEST_PROTOCOL)
@@ -636,6 +658,7 @@
else:
cenv.Append(LINKFLAGS = ['-Wl,--export-dynamic'])
+ cenv.MergeFlags(cenv.ParseFlags(ekg_remote_flags))
cenv.Append(LIBPATH = ekg_libpath)
cenv.Append(LIBS = ekg_libs)
cenv.Program('remote/ekg2-remote', glob.glob('remote/*.c') + ekg_staticlibs_r)
From svn w toxygen.net Thu Jul 23 14:57:58 2009
From: svn w toxygen.net (SVN commit)
Date: Thu, 23 Jul 2009 14:57:58 +0200 (CEST)
Subject: [ekg2-commit] r4854 - in trunk: . scons.d: trunk/SConstruct
trunk/scons.d/standard
Message-ID: <20090723125758.EEB0417B34@toxygen.net>
Author: peres
Date: 2009-07-23 14:57:58 +0200 (Thu, 23 Jul 2009)
New Revision: 4854
Modified:
trunk/SConstruct
trunk/scons.d/standard
Log:
Disable NLS, IDN and RESOLV if REMOTE=only (ekg2-remote doesn't use them).
Modified: trunk/SConstruct
===================================================================
--- trunk/SConstruct 2009-07-23 12:21:25 UTC (rev 4853)
+++ trunk/SConstruct 2009-07-23 12:57:58 UTC (rev 4854)
@@ -331,6 +331,12 @@
ekg_compat = []
ekg_remote_flags = []
+ if env['REMOTE'] == 'only':
+ # disable unused libs to avoid useless linking
+ # XXX: we should get separate ekg_libs for ekg2-remote indeed
+ for k in ['NLS', 'IDN', 'RESOLV']:
+ env[k] = False
+
ExtTest('standard', ['ekg_libs'])
ExtTest('compat', ['ekg_compat'])
Modified: trunk/scons.d/standard
===================================================================
--- trunk/scons.d/standard 2009-07-23 12:21:25 UTC (rev 4853)
+++ trunk/scons.d/standard 2009-07-23 12:57:58 UTC (rev 4854)
@@ -115,7 +115,7 @@
have_resolv = False
defines['HAVE_RESOLV_H'] = have_resolv
-if not have_resolv:
+if not have_resolv and env['REMOTE'] != 'only':
warnings.append("""libresolv not found, SRV resolving won't work. If you're going to use GTalk
account, you'll have to manually set 'server' to 'talk.google.com'.""")
if not 'HAVE_GETADDRINFO' in defines:
From svn w toxygen.net Thu Jul 23 15:44:37 2009
From: svn w toxygen.net (SVN commit)
Date: Thu, 23 Jul 2009 15:44:37 +0200 (CEST)
Subject: [ekg2-commit] r4855 - in trunk: ekg plugins/xmsg: trunk/ekg/srv.c
trunk/plugins/xmsg/xmsg.c
Message-ID: <20090723134437.4D2C517B34@toxygen.net>
Author: peres
Date: 2009-07-23 15:44:36 +0200 (Thu, 23 Jul 2009)
New Revision: 4855
Modified:
trunk/ekg/srv.c
trunk/plugins/xmsg/xmsg.c
Log:
Darwin fixes.
Modified: trunk/ekg/srv.c
===================================================================
--- trunk/ekg/srv.c 2009-07-23 12:57:58 UTC (rev 4854)
+++ trunk/ekg/srv.c 2009-07-23 13:44:36 UTC (rev 4855)
@@ -35,6 +35,9 @@
#include
#include
#include
+#ifdef __APPLE__
+#include
+#endif
#include
#ifdef HAVE_RESOLV_H
#include /* res_init, res_query */
Modified: trunk/plugins/xmsg/xmsg.c
===================================================================
--- trunk/plugins/xmsg/xmsg.c 2009-07-23 12:57:58 UTC (rev 4854)
+++ trunk/plugins/xmsg/xmsg.c 2009-07-23 13:44:36 UTC (rev 4855)
@@ -5,6 +5,11 @@
#define _GNU_SOURCE
+#ifdef __APPLE__
+#define _DARWIN_C_SOURCE
+#include
+#endif
+
#ifdef __NetBSD__
# define _NETBSD_SOURCE
#else
From svn w toxygen.net Sat Jul 25 17:02:54 2009
From: svn w toxygen.net (SVN commit)
Date: Sat, 25 Jul 2009 17:02:54 +0200 (CEST)
Subject: [ekg2-commit] r4856 - trunk/plugins/logs: trunk/plugins/logs/main.c
Message-ID: <20090725150254.8677817B4A@toxygen.net>
Author: peres
Date: 2009-07-25 17:02:53 +0200 (Sat, 25 Jul 2009)
New Revision: 4856
Modified:
trunk/plugins/logs/main.c
Log:
Fix compilation on MacOS.
Modified: trunk/plugins/logs/main.c
===================================================================
--- trunk/plugins/logs/main.c 2009-07-23 13:44:36 UTC (rev 4855)
+++ trunk/plugins/logs/main.c 2009-07-25 15:02:53 UTC (rev 4856)
@@ -23,6 +23,11 @@
#include "ekg2-config.h"
#include
+#ifdef __APPLE__
+#define _DARWIN_C_SOURCE
+#include
+#endif
+
#ifndef __FreeBSD__
#define _XOPEN_SOURCE 600
#define __EXTENSIONS__
From svn w toxygen.net Mon Jul 27 10:39:39 2009
From: svn w toxygen.net (SVN commit)
Date: Mon, 27 Jul 2009 10:39:39 +0200 (CEST)
Subject: [ekg2-commit] r4857 - trunk/plugins/gg: trunk/plugins/gg/commands.c
Message-ID: <20090727083939.E44B417B4C@toxygen.net>
Author: peres
Date: 2009-07-27 10:39:39 +0200 (Mon, 27 Jul 2009)
New Revision: 4857
Modified:
trunk/plugins/gg/commands.c
Log:
Fix compilation on MacOS.
Modified: trunk/plugins/gg/commands.c
===================================================================
--- trunk/plugins/gg/commands.c 2009-07-25 15:02:53 UTC (rev 4856)
+++ trunk/plugins/gg/commands.c 2009-07-27 08:39:39 UTC (rev 4857)
@@ -29,6 +29,10 @@
# define GIF_OCR
#endif
+#ifdef __APPLE__
+#include
+#endif
+
#ifndef __FreeBSD__
#define _XOPEN_SOURCE 600
#define __EXTENSIONS__