diff options
| -rw-r--r-- | CHANGES | 157 | ||||
| -rwxr-xr-x[-rw-r--r--] | Makefile | 36 | ||||
| -rwxr-xr-x | README | 139 | ||||
| -rwxr-xr-x | conf.txt | 33 | ||||
| -rwxr-xr-x | configure | 1556 | ||||
| -rw-r--r--[-rwxr-xr-x] | html/favicon.ico | bin | 2238 -> 2238 bytes | |||
| -rwxr-xr-x | scripts/astyle.sh | 3 | ||||
| -rwxr-xr-x | scripts/stats.pl | 2 | ||||
| -rwxr-xr-x | src/Makefile.in | 32 | ||||
| -rwxr-xr-x | src/base.cpp | 2 | ||||
| -rwxr-xr-x | src/chat.cpp | 2 | ||||
| -rwxr-xr-x | src/cmnd.cpp | 17 | ||||
| -rwxr-xr-x | src/cmnd.h | 18 | ||||
| -rwxr-xr-x | src/configure | 1884 | ||||
| -rwxr-xr-x | src/glob.h | 232 | ||||
| -rwxr-xr-x | src/html.cpp | 132 | ||||
| -rwxr-xr-x | src/html.h | 36 | ||||
| -rwxr-xr-x | src/incl.h | 19 | ||||
| -rw-r--r--[-rwxr-xr-x] | src/logd.cpp | 163 | ||||
| -rw-r--r--[-rwxr-xr-x] | src/logd.h | 30 | ||||
| -rwxr-xr-x | src/main.cpp | 130 | ||||
| -rwxr-xr-x | src/modl.cpp | 149 | ||||
| -rwxr-xr-x | src/modl.h | 30 | ||||
| -rwxr-xr-x | src/msgs.h | 163 | ||||
| -rwxr-xr-x | src/name.cpp | 34 | ||||
| -rwxr-xr-x | src/name.h | 20 | ||||
| -rwxr-xr-x | src/reqp.cpp | 452 | ||||
| -rwxr-xr-x | src/reqp.h | 47 | ||||
| -rw-r--r-- | src/s_modl.cpp | 10 | ||||
| -rw-r--r-- | src/s_modl.h | 27 | ||||
| -rw-r--r-- | src/s_tool.cpp | 17 | ||||
| -rw-r--r-- | src/s_tool.h | 1 | ||||
| -rw-r--r-- | src/sman.cpp | 8 | ||||
| -rwxr-xr-x | src/sock.cpp | 7 | ||||
| -rwxr-xr-x | src/sock.h | 2 | ||||
| -rwxr-xr-x | src/user.cpp | 29 | ||||
| -rwxr-xr-x | src/user.h | 3 |
37 files changed, 2394 insertions, 3228 deletions
@@ -1,150 +1,11 @@ --Changes from 0.7.9.2-RELEASE to 0.8-RELEASE -$ Modified the Makefiles, so that they produce valid output while using -$ the -j flag of gmake. -$ OpenSSL support has been integrated. Thanks to CryptoMail.org for patching! -$ The next release will also have a credits section in the README! -$ The HTTP parsing stuff has been reviewed and improved by CryptoMail as well. -$ Also a mini bug of the configure script has been fixed. +Changes from 0.5.2-LEGACYRELEASE to 0.5.3-LEGACYRLEASE +- Code cleanup +- Added ./scripts/* +- Added gmake stats option --Changes from 0.7.9.1-RELEASE to 0.7.9.2-RELEASE - -$ Added monitor/dump, and the dump command to the CLI. -$ Fixed a bug in the session manager. -$ Added gmake dist do the README. -$ Added the charset to the HTTP-header. +Changes from 0.5.1-RELEASE to 0.5.2-LEGACYRLEASE +- Changed this branch into a LEGACY branch. +- Rewrote the dynamic thread pool (backport from 0.7.8-CURRENT). +- Added scripts/* +- Code now uses ANSI C++ style with 2 space code indenting. --Changes from 0.7.9-RELEASE to 0.7.9.1-RELEASE - -$ Fixed etc/ychat.conf (Its now valid XML) -$ Fixed some typos. -$ Added the scripts/makedist.sh script, which can be invoked by gmake dist. -$ yhttpd.org has been renamed to yChat.org. The yhttpd.org SLD will be -$ canceled! The yhttpd.org Homepage will remain on yChat.org! - --Changes from 0.7.8-RELEASE to 0.7.9-RELEASE - -$ In the system messages will be the user printed which has requested the - specified module. -$ Removed the cursor from the ncurses interface. -$ Added wrap::init_wrappers -> The main.cpp is now shorter. -$ Added some Makefile modifications -$ Bugfix: cleanipcache shouldn run every minute but every 10! -$ Bugfix: scripts/stats.pl now counts all text-files properly. - --Changes from 0.7.7.1-RELEASE to 0.7.8-RELEASE - -$ Updated the yhttpd generation script due new sources in src/memb. -$ Changd some hashmaps back into simple std::map objects, this might -$ has resulted in some bugs due slow hashmap initialization time. -$ Hashmaps now only should being used on permanent objects. -$ Rewrote the dynamic thread pool. -$ makeyhttpd now also removes the yChat specific form etc/yhttpd.conf -$ automatically. -$ Implemnted an IP Cache (makes yChat faster). -$ Implemented signal catcher: -$ SIGUSR1 will clear the html template cache. -$ SIGUSR2 will reload the dynamic modules. -$ SIGSEGV can be catched if defined in src/glob.h. -$ SIGHUP, SIGINT and SIGTERM will shutdown yChat cleanly. -$ Added Allow: GET to the HTTP header. -$ Bugfix: The httpd.logging.accesslines now will be read correctly. -$ Bugfix: JavaScript messages now wont be logged. - --Changes from 0.7.7-RELEASE to 0.7.7.1-RELEASE - -$ Bugfix in main.cpp which resulted in a core dump on yChat startup. - --Changes from 0.7.6-RELEASE to 0.7.7-RELEASE - -$ Major code cleanup. -$ Bugfix in /col. -$ Bugfix in gcol #1 (destroy session also if no database is used). -$ Bugfix in gcol #2 (now runs each hour not once a day). -$ Renew the style.css and stream.html. - --Changes from 0.7.5-RELEASE to 0.7.6-RELEASE - -$ Removed the old hash maps and included the SGI C++ STL extenstion -$ hash_map. - --Changes from 0.7.4.1-RELEASE to 0.7.5-RELEASE - -$ Garbage collector will now run once a hour rather than each ten minutes. -$ Dynamic thread pool improvements. -$ Removed equiv-http-refresh meta tag from the online list. -$ Minor bugfix in the /topic command. -$ Implemented "User list". - --Changes from 0.7.4-RELEASE to 0.7.4.1-RELEASE - -$ Dynamic thread pool bugfix (dead lock). - --Changes from 0.7.3-RELEASE to 0.7.4-RELEASE - -$ Code cleanup. -$ Made the thread pool increasing dynamic. -$ Added some thread pool optimazions. -$ Added some more ${MAKE} vars to the Makefiles. -$ Added Content-length to the HTTPD header. -$ Added the !command to the command line interface. -$ Added Content-type text/plain. -$ Added scrolling checkbox to input.html. -$ Removed modl from yhttpd. Dynamic modules are not needed in yhttpd yet. -$ Improved session engine. -$ Fixed auto logout bug. -$ Fixed newline bug (one \n too much for each html template). -$ Logging can now be completely disabled. - --Changes from 0.7.2 to 0.7.3-RELEASE - -$ Added FreeBSD 5.3-RELEASE support. -$ Added chat.enableguest option. -$ Added the /all command (Global system message). -$ Renamed the /getstatus command into /about. -$ Fixed the &-bug (& should be allowed in messages). \AND is now a -$ synonym for & too. -$ Fixed the /msg bug (In /msg the string replacer should be activated). -$ Fixed logging bug (do not log any timestamps if there are no messages). - --Changes from 0.7.1 to 0.7.2-RELEASE - -$ New features: -$ /morph. -$ Added the new standard html template design. -$ Bugfixes: -$ /away prints a . instead of a : if no away reason is given. -$ /ko message was wrong. Displayed not room name of the user to be kicked out. -$ /invisible command displayed wrong private messages. -$ /getstatus had no help text. -$ /msg and /s should now print the system time if printalwaystime == true. -$ Added a blank to the /uptime message. -$ /topic now prints the topic in the user's color. -$ Fixed some typos. - --Changes from 0.7.0 to 0.7.1-RELEASE - -$ Added ${MAKE} to the config file because some Linux distros dont use -$ the "gmake" command for GNU make but just "make"! Modified the -$ configure script to generate a make.version file. -$ Removed some typos from the ychat.conf. -$ Fixed the auto away message. This one will be posted in the room -$ as public rather than only private to the auto-away-user. -$ Fixed some documentation stuff for yhttpd because yhttpd does not -$ need MySQL at all. -$ Added the chat.maxlength.word option. - --Changes from 0.6 to 0.7.0-RELEASE - -$ Better stability . -$ Better performance (using more hmaps). -$ HTML color switcher menu. -$ New commands: /away /room /j /ren. -$ Simple garbage collector for old user and room objects. -$ Use of the database (MySQL). -$ Nick registration and password protection. -$ Status images for Operator, Half-Operator, Voiced user and Guests. -$ New Makefiles. -$ Useful Perl scripts for sourcecode stats generation etc. -$ Added system_log and room logging to access_log logging. -$ Added time-offset option. -$ Added to the admin interface new options. -$ Added Logout button. -$ Added string replacer there certain substr. of postings will be replaced by another string (such as smiley images). -$ Added Superuser levels and the /ko and /set commands. -$ Added admin CLI (Command Line Interface) mode. -$ Added memory rusage history which tracks memory usage for the last 10 days. -$ Added HTTP POST request parsing. -$ Made yChat more modular so yhttpd can be extracted from it -$ (scripts/makeyhttpd.pl). -$ Added CGI support. -$ Rewrote big parts of the Makefiles and the configure scripts. -$ Made it compatible to GNU G++ 3.4, 3.3, 3.2 and 3.1 (3.0 and earlier do not -$ work). -$ XML based configuration file (ychat.conf). -$ Added default operator option: chat.defaultop. @@ -1,13 +1,23 @@ -# Generated automatically from Makefile.in by configure. -SRCS=base.cpp chat.cpp s_chat.cpp cmnd.cpp conf.cpp s_conf.cpp cont.cpp html.cpp s_html.cpp main.cpp mutx.cpp s_mutx.cpp name.cpp pool.cpp reqp.cpp room.cpp sock.cpp s_sock.cpp thrd.cpp s_tool.cpp user.cpp -OBJS=$(SRCS:.cpp=.o) -CC=g++ -LDFLAGS=-ldl -lstdc++ -g -LDADD=-pthread -D_THREAD_SAFE -all: ychat -$(SRCS): - $(CC) $(CFLAGS) -c $*.cpp -ychat: $(OBJS) - $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDADD) -clean: - rm *.o +MAKE=gmake +all: base + @echo "Now edit the ./conf.txt file and run ./ychat!" + @echo WARNING! This software is EXPERIMENTAL! +install: deinstall +uninstall: deinstall +deinstall: + @echo Install/deinstall is not supported! + @echo Start yChat with ./ychat instead! + @exit 1 +base: + @${MAKE} -C ./src +clean_base: + @${MAKE} -C ./src clean +stats: + @perl scripts/stats.pl +run: + ./ychat +gpl: + @more COPYING +clean: clean_base +debug: + @gdb ./ychat ychat.core @@ -1,5 +1,6 @@ -yChat++; Homepage: www.yChat.org; Version CVS +yChat; Homepage: www.yChat.org; Version 0.5.3-RELEASE Copyright (C) 2003 Paul C. Buetow, Volker Richter +Copyright (C) 2005 Paul C. Buetow ----------------------------------------------------------------- This program is free software; you can redistribute it and/or @@ -18,40 +19,74 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ----------------------------------------------------------------- -Notes: I programmed this on FreeBSD but should also compile without -big problems on Linux or other UNIX-like systems. -If you have tested one of those then pleace write me the name of the OS, -kernel version, make version and compiler & version. I will list it -right here: +0.0.0 LEGACY YCHAT 0.5 TABLE OF CONTENTS +1.0.0 REQUIREMENTS +1.1.0 TESTED PLATFORMS +1.2.0 IMPORTANT NOTES +1.3.0 HOW TO OBTAIN YCHAT +1.3.1 INSTALLATION +1.5.0 CUSTOMIZATION +1.6.0 FILES +1.7.0 WRITING BUG REPORTS +1.8.0 CONTACT + +1.0.0 REQUIREMENTS: + +- gcc 3.x + The GNU C++ compiler. + +1.1.0 TESTED PLATFORMS: The following platforms have been tested with success: -- FreeBSD 5.0-RELEASE, GCC 3.2.1, FreeBSD 5.0 make and GNU make 3.80 +- Linux with GCC 3.2.0, GNU make 3.79.1 +- FreeBSD 5.1-RELEASE-p2, GCC 3.2.2, GNU make 3.80 +- FreeBSD 5.3-RELEASE, GCC 3.4, GNU make 3.80 -- Linux Kernel 2.4.19, GCC 3.2.0, GNU make 3.79.1 +1.2.0 IMPORTANT NOTES: Before you compile the source you have to be sure to use at least GCC version 3.x with pthreads enabled. ( Type gcc -v to check it ). -GCC 2.95 did not work while testing on linux and won't be supported! +GCC 2.95 did not work while testing on linux and WON'T BE SUPPORTED! +If you like to support yChat please write us an email and tell what +you can/like/would help ;-]. Please also take a look at the yChat +homepage which is located at http://www.yChat.org. + +1.3.0 HOW TO OBTAIN YCHAT: + +yChat can be downloaded as a source package or through CVS. + +The packages are located at http://www.yChat.org -> Sourcecode -> +Packages or go to http://programming.buetow.org/CPP-yChat . + +For CVS download type also look at the homepage please. + +1.3.1 INSTALLATION: -If you like to support yChat++, please write me an email and tell me -what you can/like/would help ;-]. Please also take a look at the -yChat++ homepage ( www.yChat.org ). +Invoke "./configure" and afterwards "make", edit the conf.txt. + +Now we want to compile all the dynamic loadable modules of ychat. +Invoke "cd cmnd && ./compile.sh && cd -". All command modules should get +compiled. + +Now its time to run the server with ./ychat. +Then point your webbrowser to http://yourip:port ! -Installation: Just invoke "./configure" and afterwards "make", edit the -conf.txt and run the server with ./ychat. Then point your webbrowser -to http://yourip:port/index.html -( ignoring the index.html on the end of the url will not work! ). ... have fun :-). -If you like customizing the design/layout/language of yChat, you will have +1.5.0 CUSTOMIZATION: + +If you like to customize the design/layout/language of yChat, you will have to edit msgs.h and glob.h before you compile the sources. Afterwards you can change the html-template files which are placed in the html/ subdirectory. +Dynamic loadable modules can be found in the cmnd/ subdirectory. -Files: +1.6.0 FILES: ( This list is not complete ) conf.txt - The yChat configuration file. ( read by conf.cpp ). +Files in ./src: + base.cpp - Encapsulates vector fields of room's or user ( may be later hash_maps ) and provides methods for manipulating data objects. @@ -62,6 +97,10 @@ hmap.cpp - The hash map implementation which is a very fast data main.cpp - This includes the required manager headers for starting the server and finally regulates the correct starting. +modl.cpp - The module loader. Stores pointers of all dynamic loaded + yChat modules in a hash map object and loads new modules + if desired or returns their pointers. + pool.cpp - The implementation of the thread pool. all threads are stored in a queue. Each thread will be reused if the assigned job is finished. @@ -116,7 +155,7 @@ sock.cpp - The socket manager. Manages the socket connections. There are multiplexed sockets. For each requests a new POSIX thread will be created. -Files written in capital letters contain static C++ classes +Files with a leading s_ contain static C++ classes s_chat.cpp - Static wrapper for the dynamic chat class. holds one global reachable instance of chat until the program shuts down. @@ -151,7 +190,6 @@ msgs.h - Defines console output messages for verbosity level 0 ( see all the system messages. you may edit this file for translating the system user language. - The basic class structure: base<room> base<user> @@ -165,11 +203,58 @@ The basic class structure: / \ conf html -Version Lines of code - 0.1 2402 - 0.2 2377 +1.7 WRITING BUG REPORTS + +How to submit a good bug report? + +Send them to Bug@yChat.org. + +First you should give the following information: +- yChat version, if CVS (or devel. tarball) then which day? +- operating system / distribution and it's version +- when did it crash? did you do something? can you reproduce the crash? + +Getting backtrace of the crash also helps a lot, especially if yChat crashes randomly. If after crash you see text: + + "segmentation fault (core dumped)" + +It writes a file named "core" or "ychat.core" depending on your OS to directory where you started yChat. If it doesn't print the "(core dumped)" or you can't find the core file, you'll have to raise the limit for max. core file size before running yChat. To do this, say: + + ulimit -c unlimited + +So, if you have the core file and GNU debugger (gdb), you can get the backtrace with: + + gdb ychat core + bt + +Paste all the lines starting from line having #0 at the beginning. + +Here's an example session: + + in reqp::parse(thrd*, std::string, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > >&) () + (gdb) bt + #0 0x0805c287 in reqp::parse(thrd*, std::string, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > >&) () + #1 0x0806060f in sock::read_write(thrd*, int) () + #2 0x080612ba in thrd::run() () + #3 0x0805a3b8 in pool::run_func(void*) () + #4 0x0805a375 in pool::tpool_thread(void*) () + #5 0x281d44ae in _thread_start () from /usr/lib/libc_r.so.5 + (gdb) + +1.8 CONTACT: + +You may contact us through the following addresses: + +- Homepage + The yChat homepage is located at http://www.yChat.org + +- E-Mail + Paul C. Buetow: Snooper@yChat.org ( core developer ) + Volker Richter: Rover@yChat.org ( core developer ) + Mail@yChat.org ( reaches everybody of yChat ) + +- ICQ + Paul C. Buetow: 11655527 -New in 0.2: - - POST request now work. - - Thread pool ( pool.cpp ). - - Bugfixes +- IRC + #ychat at irc.german-elite.net @@ -11,16 +11,17 @@ # all lines which do not contain a semicolon and at least two quotes # or start with a # will be ignored. # -# greets, paul c. buetow ( snooper@ychat.org ); +# greets, paul c. buetow ( snooper at ychat dot org ); # # server specific configurations ( not allowed to be removed ): HTMLTEMP="html/"; # directory of the html-template files. -THRDPOOL="5"; # thread pool size. -THRDQUEU="5"; # length of the thread pool queue. -SRVRPORT="2000"; # local port on which the server listens. +THRDPOOL="1"; # Initial pool size. +THRDPMAX="52"; # Max thread pool size +SRVRPORT="3000"; # local port on which the server listens. STRDROOM="Lounge"; # the name of the standard room. +LANGUAGE="en"; # language of the chat outputs ( CONSOLE OUTPUT IS NOT AFFECTED ) # the html template file which will be send if the requested file does not exists. NOTFOUND="notfound.html"; @@ -29,21 +30,25 @@ STARTMPL="index.html"; # user's standard nick color. USERCOL1="#FFFFFF"; -# superuser level names. level 0 has the most provileges. -SULEVEL0="Coder"; # programmer. -SULEVEL1="Admin"; # administrator. -SULEVEL2="Magic"; # super user with special privileges. -SULEVEL3="Super"; # temporary super user. -SULEVEL4="Basic"; # normal user without special privileges. -SULEVEL5="Guest"; # guest user, has almost no privileges. -SULEVEL6="Restr"; # a very restricted user. -SULEVEL7="Outbn"; # banned out of the system. +# length of the generated session id +SESSION_LENGTH="32"; # html = "OFF" strips all html tags from incoming messages HTML="OFF"; + +# Logging + +# relative or absolute path to logfile +ACCESS_LOG="log/access_log"; + +# we're using buffered logging for performance +# LOG_LINES specifies after how many lines the log is flushed into a file +# if you don't want buffered logging set LOG_LINES to 1 +LOG_LINES="10"; + # values which are used by the html-templates and are not sticked within the yC++ core source! GRAPHICS="http://paul.buetow.info/yChat"; # url for graphic files etc. -PGETITLE="yChat++ Basic - Fast Simple Extensible"; +PGETITLE="yChat 0.5.2-LEGACY - Fast Simple Extensible"; # do not edit beyond this line @@ -1,1555 +1,5 @@ -#! /bin/sh +#!/bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.13 -# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - -# Defaults: -ac_help= -ac_default_prefix=/usr/local -# Any additions from configure.in: - -# Initialize some variables set by options. -# The variables have the same names as the options, with -# dashes changed to underlines. -build=NONE -cache_file=./config.cache -exec_prefix=NONE -host=NONE -no_create= -nonopt=NONE -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -target=NONE -verbose= -x_includes=NONE -x_libraries=NONE -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -# Initialize some other variables. -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} -# Maximum number of lines to put in a shell here document. -ac_max_here_lines=12 - -ac_prev= -for ac_option -do - - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - case "$ac_option" in - -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) ac_optarg= ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case "$ac_option" in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir="$ac_optarg" ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build="$ac_optarg" ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file="$ac_optarg" ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir="$ac_optarg" ;; - - -disable-* | --disable-*) - ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - eval "enable_${ac_feature}=no" ;; - - -enable-* | --enable-*) - ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "enable_${ac_feature}='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix="$ac_optarg" ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he) - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat << EOF -Usage: configure [options] [host] -Options: [defaults in brackets after descriptions] -Configuration: - --cache-file=FILE cache test results in FILE - --help print this message - --no-create do not create output files - --quiet, --silent do not print \`checking...' messages - --version print the version of autoconf that created configure -Directory and file names: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [same as prefix] - --bindir=DIR user executables in DIR [EPREFIX/bin] - --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] - --libexecdir=DIR program executables in DIR [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data in DIR - [PREFIX/share] - --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data in DIR - [PREFIX/com] - --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] - --libdir=DIR object code libraries in DIR [EPREFIX/lib] - --includedir=DIR C header files in DIR [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] - --infodir=DIR info documentation in DIR [PREFIX/info] - --mandir=DIR man documentation in DIR [PREFIX/man] - --srcdir=DIR find the sources in DIR [configure dir or ..] - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM - run sed PROGRAM on installed program names -EOF - cat << EOF -Host type: - --build=BUILD configure for building on BUILD [BUILD=HOST] - --host=HOST configure for HOST [guessed] - --target=TARGET configure for TARGET [TARGET=HOST] -Features and packages: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR -EOF - if test -n "$ac_help"; then - echo "--enable and --with options recognized:$ac_help" - fi - exit 0 ;; - - -host | --host | --hos | --ho) - ac_prev=host ;; - -host=* | --host=* | --hos=* | --ho=*) - host="$ac_optarg" ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir="$ac_optarg" ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir="$ac_optarg" ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir="$ac_optarg" ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir="$ac_optarg" ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir="$ac_optarg" ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir="$ac_optarg" ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir="$ac_optarg" ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix="$ac_optarg" ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix="$ac_optarg" ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix="$ac_optarg" ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-tr |
