Merge branch 'master' of git://git.psyced.org/git/psyclpc

This commit is contained in:
Gabor Adam Toth 2012-10-09 23:40:45 +02:00
commit 89608125ce
7 changed files with 57 additions and 42 deletions

8
FAQ
View File

@ -20,3 +20,11 @@ Why our own derivate of the LDMud?
It should still be possible to run psyced with an off-the-mill ldmud and
counterwise run a MUD installation with a psyclpc.
===============================================================================
Why is ERQ crashing?
- erq doesn't conform to fortify code safety standards. this is ugly and
should be fixed but it is okay to just turn off fortify because erq is
fed exclusively with sanitized data from psyced, so buffer overruns are
possible but only theoretical.

15
INSTALL
View File

@ -95,20 +95,13 @@ Unix or Unix-like system
install-headers: install the driver header files in ${includedir}.
install-all: compile and install everything.
To actually run this, you need either psyced or a mudlib.
To actually use psyclpc, you need either psyced or a mudlib.
pthreads:
If your systems supports pthreads, --enable-use-pthreads will allow to
compile the driver with pthread support. Currently this means that
background threads will be used to write data to the network.
WARNING: pthreads support is still experimental and might crash
your driver!
Debian/Ubuntu Linux:
apt-get install libssl-dev libidn11-dev libpcre3 bison autoconf
FreeBSD:
When using gcc, it could happen that the compiler aborts with signal 10
or 11. The reasons are unknown, but you can restart the compilation
process by typing "make" again (and again...).
...
AIX 3.4:
The native compiler comes in several forms, of which only the

13
TODO
View File

@ -1,8 +1,16 @@
FROM LDMUD
+ we are glad to find out that Lars is back and working on ldmud! :D
- examine & apply: 2320, 2334, 2335, 2336, 2340, 2341
- ldmud has made quite some progress, although not exactly in the areas
that we are active in. syncing with ldmud is a good idea.
BUGS
- erq doesn't conform to fortify code safety standards. this is ugly and
should be fixed but it is okay to just turn off fortify because erq is
fed exclusively with sanitized data from psyced, so buffer overruns are
possible but only theoretical.
- configure should warn more vehemently when libidn is missing
- libpsyc isnt recognized even if properly installed
- x86_64 seems to require -ldl explicitly at the end of libs
- sometimes -lpsyc and -lpcre are added twice to $LIBS !?
- should autoconf to sysmalloc also for osol (OpenSolaris)
- #define USE_EXPAT und JSON werden trotzdem gesetzt in config.h
auch wenn configure keine libs gefunden hat (egal, wir verwenden beide nicht)
@ -75,6 +83,7 @@ NETWORKING
- add_message("%s", "\n*** Text lost in transmission ***\n");
should be passed to master instead.
+ _length: <eL> somebody implement a new input_to(#'get_data, length).
? replace ERQ with c-ares http://c-ares.haxx.se/ for async dns lookups
? MAYBE the whole networking should be replaced by libevent!??
+ support epoll() / kqueue (or just libevent?)

View File

@ -84,9 +84,11 @@ SFMT_FLAGS = -fno-strict-aliasing
#
MPATH=-DMUD_LIB='"$(MUD_LIB)"' -DBINDIR='"$(BINDIR)"' -DERQ_DIR='"$(ERQ_DIR)"'
#
# would be nicer to have this idn include in autoconf but it shouldn't hurt
# here either.. it makes this compile on OpenSolaris.. --lynX via tg 2010
CFLAGS=-DPROGNAME='"@PROGNAME@"' @EXTRA_CFLAGS@ $(OPTIMIZE) $(DEBUG) $(WARN) $(MPATH) $(PROFIL) -I/usr/include/idn -I/usr/local/include
# tg says for OpenSolaris we need -I/usr/include/idn here but since that path
# may exist when idnkit is installed and cause errors because of its 'wrong'
# assert.h, we can't include that path here by default. configure should
# learn when to add this path here, but that's tricky. --lynX
CFLAGS=-DPROGNAME='"@PROGNAME@"' @EXTRA_CFLAGS@ $(OPTIMIZE) $(DEBUG) $(WARN) $(MPATH) $(PROFIL) -I/usr/local/include
#
LIBS= @PKGLIBS@ @LIBS@ -lm
#
@ -475,6 +477,9 @@ pkg-pgsql.o : ../mudlib/sys/pgsql.h xalloc.h stdstrings.h simulate.h \
strfuns.h sent.h bytecode.h hash.h backend.h exec.h port.h config.h \
hosts/unix.h hosts/be/be.h machine.h
pkg-psyc.o : xalloc.h simulate.h pkg-psyc.h object.h mstrings.h mapping.h \
machine.h interpret.h efuns.h array.h
pkg-sqlite.o : xalloc.h stdstrings.h object.h svalue.h simulate.h \
mstrings.h interpret.h array.h my-alloca.h typedefs.h driver.h \
strfuns.h sent.h bytecode.h hash.h backend.h port.h config.h main.h \

View File

@ -1389,27 +1389,27 @@ int main(void)
lp_cv_need_lib_iconv=no,
lp_cv_need_lib_iconv=yes
))
if test "$lp_cv_need_lib_iconv" = "yes"; then
# Search the libraries
# if test "$lp_cv_need_lib_iconv" = "yes"; then
# # Search the libraries
tmp=""
# tmp=""
AC_CHECK_LIB(iconv,libiconv_close, tmp="$PKGLIBS -liconv")
# AC_CHECK_LIB(iconv,libiconv_close, tmp="$PKGLIBS -liconv")
if test "x$tmp" = "x"; then
CFLAGS="$saveflags -L/usr/local/lib"
AC_CHECK_LIB(iconv,libiconv_close, tmp="$PKGLIBS -L/usr/local/lib -liconv")
fi
# if test "x$tmp" = "x"; then
# CFLAGS="$saveflags -L/usr/local/lib"
# AC_CHECK_LIB(iconv,libiconv_close, tmp="$PKGLIBS -L/usr/local/lib -liconv")
# fi
if test "x$tmp" = "x"; then
echo "iconv library not found."
lp_cv_has_iconv="no"
else
PKGLIBS="$tmp"
fi
# if test "x$tmp" = "x"; then
# echo "iconv library not found."
# lp_cv_has_iconv="no"
# else
# PKGLIBS="$tmp"
# fi
CFLAGS="$saveflags"
fi
# CFLAGS="$saveflags"
# fi
fi
if test "x$lp_cv_has_iconv" = "xyes"; then

View File

@ -66,19 +66,19 @@ psyc_dispatch(mixed p) {
*/
#include "array.h"
#include "interpret.h"
#include "mapping.h"
#include "mstrings.h"
#include "object.h"
#include "pkg-psyc.h"
#include "simulate.h"
#include "xalloc.h"
#include "efuns.h"
#include "machine.h"
#ifdef HAS_PSYC
# include "array.h"
# include "efuns.h"
# include "interpret.h"
# include "mapping.h"
# include "mstrings.h"
# include "object.h"
# include "pkg-psyc.h"
# include "simulate.h"
# include "xalloc.h"
# include <stdio.h>
# include <unistd.h>

View File

@ -17,7 +17,7 @@ version_longtype="stable"
# A timestamp, to be used by bumpversion and other scripts.
# It can be used, for example, to 'touch' this file on every build, thus
# forcing revision control systems to add it on every checkin automatically.
version_stamp="Tue May 24 18:47:17 CEST 2011"
version_stamp="Mon Aug 29 16:41:20 CEST 2011"
# Okay, LDMUD is using 3.x.x so to avoid conflicts let's just use 4.x.x
version_major=4