psyclpc/src/settings/psyced

358 lines
10 KiB
Bash
Executable File

#!/bin/sh
#
# settings/psyced version 4.0
#
# $Id: psyced,v 1.29 2008/04/19 16:37:21 lynx Exp $
#
# LDMUD compilation settings for psyced, the LPC server and client
# implementation of the protocol for synchronous conferencing.
# Please execute this instead of ./configure before compilation.
#
# The latest version of this file is in the psyced-CVS and usually also
# at http://www.psyced.org/dist/config/psyced.settings
# The version in the LDMUD distribution may be slightly outdated.
#
# Documents and download on: http://www.psyced.org
# Information about PSYC: http://www.psyc.eu
#
# the PSYC implementation and library is designed in a way that it should
# easily co-host in a running LPMUD, it just needs a few patches to the
# master object and #includes in simul_efun.
#
# how to multiplex InterMUD and PSYC on the same udp port:
# PSYC UDP packets always start with ".\n".
#
# configure will strip this part from the script.
cp $0 settings/psyced-current
exec ./configure --prefix=/opt/psyced --bindir=/opt/psyced/bin --libdir=/opt/psyced/world --libexec=/opt/psyced/run --with-setting=psyced-current $*
exit
#-- PSYCLPC TUNINGS
# turn this off. you don't want this just because i do.
enable_use_experimental=no
# Experimental stuff:
enable_use_restored_objects=no
# enable this if you want use http://about.psyc.eu/psyclpc#Authlocal
enable_use_authlocal=no
# requires procfs with readable /proc/net/tcp
#
# some kernel configurations show wrong port numbers however,
# in that case the correlation from peer port to user id fails.
# there is however no risk of error (the peer ports are unprivileged
# whereas the 'wrong' ones are privileged ones. could be related to
# iptables or some other port mapping magic).
# Enable run time sanity checks and allow for more -d flag outputs.
# This will use more time and space and useful in the psyced context
# only if you are an LPC or C level developer, or if you think this
# software is seriously damaged.
enable_debug=no
# NO NEED TO SERVICE ANY PARTS BELOW
# the rest of the configuration should be sane as it is
#-- PSYCLPC EXTENSIONS
# compile json c library in, if available
enable_use_json=yes
# compile expat xml & xmpp parser in, if available
enable_use_expat=no
# compile iksemel parser in, if available
enable_use_iksemel=no
# compile DNS SRV support in, if available
enable_use_srv=yes
# get rid of some MUD features we don't need
enable_use_actions=no
enable_use_builtin_editor=no
enable_use_debug_log=no
enable_use_inventories=no
enable_use_ldmud_compatibility=no
enable_use_paranoia=no
enable_use_shadowing=no
enable_use_snooping=no
enable_use_socket_limits=no
enable_use_swap=no
# Already obsolete:
#enable_backtrace_always=yes
#-- FILE PATHES
with_master_name=drivers/ldmud/master/master
# unused really
with_swap_file=log/psyced.swap
#-- NETWORKING & DATA BASES
# cool tool that does external name server resolution and more
enable_erq=erq
# the "sorry" message of the built-in ACL isn't flexible enough:
# it cannot output a properly formatted HTTP or PSYC message
# and why shouldn't this be done in LPC anyway?
enable_access_control=no
# zlib compression, really
enable_use_mccp=yes
# Enable support for TLS (Transport Layer Security).
#
# 'no': TLS support is not compiled it
# 'gnu': TLS support using GnuTLS is compiled in if found.
# 'ssl': TLS support using OpenSSL is compiled in if found.
# 'yes': TLS support using either OpenSSL or GnuTLS is compiled in if found.
# The configuration script looks first for OpenSSL, then GnuTLS.
# If both are available, OpenSSL is used.
#
# gnutls does not offer features we need
enable_use_tls=ssl
# SQL storage not implemented. Maybe PSYC synchronization is good enough?
# see http://about.psyc.eu/storage for info.
enable_use_mysql=no
enable_use_pgsql=no
enable_use_sqlite=no
# maximum permitted tcp connections
with_max_players=900
# The maximum number of ports to listen for connections on.
with_maxnumports=33
# size of the buffer for incoming data of each socket
with_size_socket_buffer=32768
# The maximum number of simultaneous connect() calls
with_max_net_connects=33
# how can i set all the other port numbers?
# still using the historic dirty command line hack?
with_portno=4404
# Maximum size of a socket send buffer (when intentionally set).
with_set_buffer_size_max=4404404
#with_set_buffer_size_max=262144
# the PSYC port
with_udp_port=4404
# Enable support for IPv6 (this should better be autodetected!!)
#enable_use_ipv6=no
# Enable the use of pthreads for background socket IO.
enable_use_pthreads=no
# If PThreads are used, this is the max amount of data held pending
# for writing. If the amount is exceeded, the oldest data blocks
# are discarded.
# If 0, any amount of data is allowed.
with_pthread_write_max_size=333333
#-- RUNTIME LIMITS
#
# currently we consider a psyced a friendly environment
# where no coders will abuse cpu time and other limits
# you may want to change this if you have many room coders
# you can lower this value for better debugging
with_max_cost=9999999
#with_catch_reserved_cost=2000
#with_master_reserved_cost=512
enable_dynamic_costs=no
# Maximum function call depth for normal program execution
#with_max_user_trace=60
# Maximum function call depth during error handling.
# It must be bigger than MAX_USER_TRACE (check at compile time).
#with_max_trace=65
# Maximum number of bits in a bit string.
# The limit is more based on considerations of speed than memory consumption.
#with_max_bits=6144
# Allowed number of ed commands per backend cycle (for faster file upload).
#with_allowed_ed_cmds=20
# disabled "mud" limits
with_max_array_size=0
with_max_mapping_size=0
with_max_mapping_keys=0
with_read_file_max_size=0
with_max_byte_transfer=0
with_max_callouts=0
# new, was =100000
with_pthread_write_max_size=0
# Compiler stack size. This value affects the complexity the compiler can
# parse.
#with_compiler_stack_size=400
# Maximum number of local variables
#with_max_local=50
# Maximum size of an expanded preprocessor definition.
#with_defmax=65000
#-- MEMORY ALLOCATION
# slabmalloc seems to interact badly with net/jabber
# other mallocs don't even compile & run
# but sysmalloc seems to work, and it's probably the
# best choice after so many years of design - also
# considering that psyceds aren't muds.
with_malloc=sysmalloc
# if you run into trouble compiling psyclpc and malloc
# try commenting the line above and rerunning this file
enable_malloc_sbrk=yes
enable_malloc_check=no
enable_malloc_trace=no
enable_malloc_sbrk_trace=no
#enable_malloc_lpc_trace=no, MALLOC_slaballoc
# disabled, sort of
with_reserved_user_size=100000
# hash table sizes. we have many chat strings (like lastlogs), but few objects
# (max: 65536)
with_htable_size=32768
with_otable_size=256
# Size of the hash table for defines, reserved words, identifiers, and
# efun names. This should be several times smaller than HTABLE_SIZE.
#with_itable_size=256
# Size of the apply cache, expressed in the bitsize of its indices.
# The number of entries is 2**cache_bits.
#with_apply_cache_bits=12
# Select whether compiled regular expressions shall be cached, and
# how big the cache shall be (max: 65536).
enable_rxcache_table=yes
with_rxcache_table=4096
#-- TIMER MECHANISMS
# short resets, not strictly necessary but useful
with_time_to_reset=1000
with_time_to_clean_up=9000
#with_time_to_swap=1500
#with_time_to_swap_variables=2500
with_time_to_swap=0
with_time_to_swap_variables=0
#-- MUD FEATURES
# should work in "native" too, after a tweak or two
# however, psyced expects create() to get called instead of reset(0)
enable_compat_mode=yes
enable_strict_euids=no
# The Input escape character.
# If this character is typed as first on the line, the normal input_to()s
# are bypassed.
#with_input_escape="!"
# Define ALLOW_FILENAME_SPACES if the driver should accept space characters
# in filenames. If it is not defined, a hardcoded test for space characters
# is activated.
enable_filename_spaces=yes
with_wizlist_file=no
enable_use_set_light=no
enable_use_set_is_wizard=no
#-- LANGUAGE
enable_use_parse_command=no
enable_use_process_string=no
enable_lpc_nosave=yes
# if turned to yes this causes errors
# in textdb and room history:
enable_share_variables=no
# keep .o files crossplatform
enable_use_system_crypt=no
# Define this to enable LPC structs.
enable_use_structs=no
# new inline closure and function syntax, see doc/LPC/inline-closures
# ... We don't want to use them as yet, but current
# 3.3.5xx doesn't compile properly without! :-(
enable_use_new_inlines=yes
enable_use_alists=no
# we use it for system shout
enable_lpc_array_calls=yes
# only enables the ancient transfer() efun we don't use
enable_use_deprecated=no
# Enable PCRE instead of traditional regexps
# 'no': use traditional regexps by default
# 'no-builtin': use traditional regexps by default, or the builtin PCRE
# package if PCRE is requested
# 'builtin': use PCRE package by default, using the builtin package
# 'yes': use the system's PCRE package if available, otherwise the
# builtin package
#
# yes is nicer to your system, but currently many linuces are distributed
# with old non-utf8 pcre variants, so let's use our own copy by default
# until this is settled. if you think your pcre installation is smarter,
# say "yes" here instead of "builtin"
enable_use_pcre=builtin
#-- COMPILATION
# The optimization level in the generated Makefile
# Settings: no, low, med, high
with_optimize=med
#-- DEBUGGING
# LPC compiler debug
#enable_yydebug=no
# Disable inlining. Use this to debug obscure crashes, or for
# speed tests.
#enable_no_inlines=no
# Activate debug prints in the telnet machine (lots of output).
#enable_debug_telnet=no
# Activate allocation debug prints in the malloc module (lots of output).
# Supported by: MALLOC_smalloc, MALLOC_slaballoc
#enable_debug_malloc_allocs=no
# The DEBUG level for the ERQ daemon:
# 0 : no debug output
# 1 : standard debug output
# 2 : verbose debug output
# 3 : also debug SRV support
with_erq_debug=0
# If TRACE_CODE is enable, the driver keeps a log of TOTAL_TRACE_LENGTH
# most recently execute bytecode instructions.
enable_trace_code=yes
with_total_trace_length=1024
# Enable these for runtime statistics:
# COMM_STAT: number and size of outgoing packets
# APPLY_CACHE_STAT: number of hits and misses in the apply cache
enable_comm_stat=yes
enable_apply_cache_stat=no
# Enable usage statistics of VM instructions.
enable_opcprof=no
enable_verbose_opcprof=no
# Lars' hardcore debug features
#enable_check_object_stat=no
#enable_check_mapping_total=no
#enable_check_object_ref=no
#enable_check_object_gc_ref=no
#enable_dump_gc_refs=no