From 1c36abeb27b0b0fed7eb07f008bcf9dcaaefb7bb Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Tue, 30 Jun 2026 09:22:20 +0300 Subject: Fix runtime crashes: logd recursion, trim OOB, sock SO_REUSEADDR/accept, md5 session Multiple latent bugs made the chat crash on real use (login POST segfaulted): - logd::flush: when a log file can't be opened, log the error to stderr and exit(1). Previously it called wrap::system_message, which routes back through LOGD->log_simple_line->flush on the same failing logd -> infinite recursion -> stack overflow (SIGSEGV). Bitten in k8s where an emptyDir on /app/log hides the image's /app/log/rooms, so the room log open failed on login. - tool::trim: rewrite the right-trim; the original did s_str[s_str.size()] (out-of-bounds under _GLIBCXX_ASSERTIONS / UB) and erased at i_pos=size. - sock::_make_server_socket: move SO_REUSEADDR setsockopt BEFORE bind so a quick container restart rebinds port 2000 (was EADDRINUSE -> fallback to 2001, which the k8s Service doesn't target -> 502). - sock::process_request: init accept() addrlen and bail on any accept error (not just EAGAIN/EINTR) so we never proceed with fd=-1 (EBADF). - chat.session.md5hash=false at runtime: the md5 session-id path does s_hash.substr(s_ret.find(s_salt)+salt.len()+3); the default salt has chars not in chat.session.validchars so find() returns npos and the substr/append corrupts the heap and segfaults on login. Overridden via -o in the image CMD. - docker-entrypoint.sh: mkdir -p /app/log/rooms at startup (volume mount hides the image's copy). --- ychat/Dockerfile | 12 +- ychat/Makefile | 2 +- ychat/docker-entrypoint.sh | 9 + ychat/log/rooms/lounge | 1 + ychat/log/system_log | 36 ++ ychat/src/Makefile | 58 +-- ychat/src/config.h | 37 +- ychat/src/config.log | 512 +++++++++---------- ychat/src/config.status | 1162 ++++++++++++++++++++------------------------ ychat/src/logd.cpp | 9 +- ychat/src/sock/sock.cpp | 14 +- ychat/src/tool/tool.cpp | 37 +- 12 files changed, 924 insertions(+), 965 deletions(-) create mode 100755 ychat/docker-entrypoint.sh create mode 100644 ychat/log/rooms/lounge create mode 100644 ychat/log/system_log diff --git a/ychat/Dockerfile b/ychat/Dockerfile index 9324050..1804d54 100644 --- a/ychat/Dockerfile +++ b/ychat/Dockerfile @@ -54,12 +54,20 @@ COPY --from=builder /build/ychat/bin/ychat /app/bin/ychat # Read-only resources COPY --from=builder /build/ychat/html/ /app/html/ COPY --from=builder /build/ychat/mods/ /app/mods/ +COPY docker-entrypoint.sh /app/docker-entrypoint.sh COPY etc/ychat.conf /app/etc/ychat.conf -# Writable log dir +# Writable log dir (entrypoint recreates /app/log/rooms since a volume mount +# on /app/log hides the image's copy). RUN mkdir -p /app/log/rooms && chown -R ychat:ychat /app USER 1000:1000 EXPOSE 2000 -ENTRYPOINT ["/app/bin/ychat"] \ No newline at end of file +ENTRYPOINT ["/app/docker-entrypoint.sh"] +# chat.session.md5hash=false: the md5 session-id path does a bad substr() +# (the default salt contains chars not in chat.session.validchars, so +# s_ret.find(salt) returns npos and the subsequent substr/append corrupts +# the heap and segfaults on login). The 32-char random id is enough for a +# revival guest chat. +CMD ["/app/bin/ychat", "-o", "chat.session.md5hash", "false"] \ No newline at end of file diff --git a/ychat/Makefile b/ychat/Makefile index ed88660..3bd905d 100644 --- a/ychat/Makefile +++ b/ychat/Makefile @@ -1,7 +1,7 @@ MAKE=gmake HEADER?=docs/header.txt PREFIX=/usr/local -EFIND=find -E +EFIND=find -regextype posix-extended BIN=./bin/ychat all: build modules base @echo "Now edit the ychat.conf and run ychat!" diff --git a/ychat/docker-entrypoint.sh b/ychat/docker-entrypoint.sh new file mode 100755 index 0000000..e51264b --- /dev/null +++ b/ychat/docker-entrypoint.sh @@ -0,0 +1,9 @@ +#!/bin/sh +# yChat container entrypoint. +# Ensure writable log subdirs exist (an emptyDir mounted on /app/log hides +# the image's pre-created /app/log/rooms, so recreate it here). yChat exits +# the whole process if a log file can't be opened, so this is required for +# room logs (chat.logging.roomlogdir = log/rooms/) to work. +set -e +mkdir -p /app/log/rooms +exec "$@" \ No newline at end of file diff --git a/ychat/log/rooms/lounge b/ychat/log/rooms/lounge new file mode 100644 index 0000000..88540bf --- /dev/null +++ b/ychat/log/rooms/lounge @@ -0,0 +1 @@ +[30/Jun/2026:06:20:37 +0000] 00:00:00 testguest enters the chat. diff --git a/ychat/log/system_log b/ychat/log/system_log new file mode 100644 index 0000000..d142324 --- /dev/null +++ b/ychat/log/system_log @@ -0,0 +1,36 @@ +[30/Jun/2026:06:15:08 +0000] Sock: Created socket on localhost:2000 +[30/Jun/2026:06:15:08 +0000] Sock: Server socket is ready +[30/Jun/2026:06:15:08 +0000] Reading standard command exec permissions +[30/Jun/2026:06:15:08 +0000] Chat: Using replacement strings +[30/Jun/2026:06:15:08 +0000] Timer: Initializing +[30/Jun/2026:06:15:08 +0000] Timer: Setting offset to 0 +[30/Jun/2026:06:15:08 +0000] Garbage: Initializing collector +[30/Jun/2026:06:15:08 +0000] Initializing sock events (1) +[30/Jun/2026:06:15:11 +0000] Sock: New request 1 127.0.0.1:39482 @1 +[30/Jun/2026:06:15:11 +0000] Sock: Caching IP 127.0.0.1 +[30/Jun/2026:06:18:06 +0000] Sock: Created socket on localhost:2000 +[30/Jun/2026:06:18:06 +0000] Sock: Server socket is ready +[30/Jun/2026:06:18:06 +0000] Reading standard command exec permissions +[30/Jun/2026:06:18:06 +0000] Chat: Using replacement strings +[30/Jun/2026:06:18:06 +0000] Timer: Initializing +[30/Jun/2026:06:18:06 +0000] Timer: Setting offset to 0 +[30/Jun/2026:06:18:06 +0000] Garbage: Initializing collector +[30/Jun/2026:06:18:06 +0000] Initializing sock events (1) +[30/Jun/2026:06:18:09 +0000] Sock: New request 1 127.0.0.1:37368 @1 +[30/Jun/2026:06:18:09 +0000] Sock: Caching IP 127.0.0.1 +[30/Jun/2026:06:18:09 +0000] Reqp: Request string /frameset.html +[30/Jun/2026:06:20:33 +0000] Sock: Created socket on localhost:2000 +[30/Jun/2026:06:20:33 +0000] Sock: Server socket is ready +[30/Jun/2026:06:20:33 +0000] Reading standard command exec permissions +[30/Jun/2026:06:20:33 +0000] Chat: Using replacement strings +[30/Jun/2026:06:20:33 +0000] Timer: Initializing +[30/Jun/2026:06:20:33 +0000] Timer: Setting offset to 0 +[30/Jun/2026:06:20:33 +0000] Garbage: Initializing collector +[30/Jun/2026:06:20:33 +0000] Initializing sock events (1) +[30/Jun/2026:06:20:37 +0000] Sock: New request 1 127.0.0.1:40498 @1 +[30/Jun/2026:06:20:37 +0000] Sock: Caching IP 127.0.0.1 +[30/Jun/2026:06:20:37 +0000] Reqp: Request string /frameset.html +[30/Jun/2026:06:20:37 +0000] Session: Create (1,5300208) +[30/Jun/2026:06:20:37 +0000] Chat: New room Lounge +[30/Jun/2026:06:20:37 +0000] Chat: New user testguest +[30/Jun/2026:06:20:37 +0000] HTML: Caching document html//frameset.html diff --git a/ychat/src/Makefile b/ychat/src/Makefile index 7efc9a8..cc01073 100644 --- a/ychat/src/Makefile +++ b/ychat/src/Makefile @@ -1,11 +1,11 @@ -SRCS=./conf/conf.cpp ./time/timo.cpp ./time/timr.cpp ./data/con.cpp ./data/data_base.cpp ./data/con_base.cpp ./data/data.cpp ./tool/dir.cpp ./tool/tool.cpp ./chat/sman.cpp ./chat/perm.cpp ./chat/room.cpp ./chat/sess.cpp ./chat/user.cpp ./chat/chat.cpp ./chat/gcol.cpp ./monitor/stats.cpp ./monitor/dump.cpp ./sock/sock.cpp ./sock/sslsock.cpp ./sock/context.cpp ./contrib/xml/tinyxmlerror.cpp ./contrib/xml/tinyxmlparser.cpp ./contrib/xml/tinyxml.cpp ./contrib/crypt/md5.cpp ./contrib/crypt/md5crypt.cpp ./cli/cli.cpp ./html.cpp ./reqp.cpp ./main.cpp ./sign.cpp ./wrap.cpp ./name.cpp ./logd.cpp ./modl.cpp -OBJS= ../obj/./conf/conf.o ../obj/./time/timo.o ../obj/./time/timr.o ../obj/./data/con.o ../obj/./data/data_base.o ../obj/./data/con_base.o ../obj/./data/data.o ../obj/./tool/dir.o ../obj/./tool/tool.o ../obj/./chat/sman.o ../obj/./chat/perm.o ../obj/./chat/room.o ../obj/./chat/sess.o ../obj/./chat/user.o ../obj/./chat/chat.o ../obj/./chat/gcol.o ../obj/./monitor/stats.o ../obj/./monitor/dump.o ../obj/./sock/sock.o ../obj/./sock/sslsock.o ../obj/./sock/context.o ../obj/./contrib/xml/tinyxmlerror.o ../obj/./contrib/xml/tinyxmlparser.o ../obj/./contrib/xml/tinyxml.o ../obj/./contrib/crypt/md5.o ../obj/./contrib/crypt/md5crypt.o ../obj/./cli/cli.o ../obj/./html.o ../obj/./reqp.o ../obj/./main.o ../obj/./sign.o ../obj/./wrap.o ../obj/./name.o ../obj/./logd.o ../obj/./modl.o +SRCS=./chat/chat.cpp ./chat/gcol.cpp ./chat/perm.cpp ./chat/room.cpp ./chat/sess.cpp ./chat/sman.cpp ./chat/user.cpp ./cli/cli.cpp ./conf/conf.cpp ./contrib/crypt/md5.cpp ./contrib/crypt/md5crypt.cpp ./contrib/xml/tinyxml.cpp ./contrib/xml/tinyxmlerror.cpp ./contrib/xml/tinyxmlparser.cpp ./data/con.cpp ./data/con_base.cpp ./data/data.cpp ./data/data_base.cpp ./html.cpp ./logd.cpp ./main.cpp ./modl.cpp ./monitor/dump.cpp ./monitor/stats.cpp ./name.cpp ./reqp.cpp ./sign.cpp ./sock/context.cpp ./sock/sock.cpp ./sock/sslsock.cpp ./time/timo.cpp ./time/timr.cpp ./tool/dir.cpp ./tool/tool.cpp ./wrap.cpp +OBJS= ../obj/./chat/chat.o ../obj/./chat/gcol.o ../obj/./chat/perm.o ../obj/./chat/room.o ../obj/./chat/sess.o ../obj/./chat/sman.o ../obj/./chat/user.o ../obj/./cli/cli.o ../obj/./conf/conf.o ../obj/./contrib/crypt/md5.o ../obj/./contrib/crypt/md5crypt.o ../obj/./contrib/xml/tinyxml.o ../obj/./contrib/xml/tinyxmlerror.o ../obj/./contrib/xml/tinyxmlparser.o ../obj/./data/con.o ../obj/./data/con_base.o ../obj/./data/data.o ../obj/./data/data_base.o ../obj/./html.o ../obj/./logd.o ../obj/./main.o ../obj/./modl.o ../obj/./monitor/dump.o ../obj/./monitor/stats.o ../obj/./name.o ../obj/./reqp.o ../obj/./sign.o ../obj/./sock/context.o ../obj/./sock/sock.o ../obj/./sock/sslsock.o ../obj/./time/timo.o ../obj/./time/timr.o ../obj/./tool/dir.o ../obj/./tool/tool.o ../obj/./wrap.o BIN=../bin/ychat CXX=g++ #EFLAGS=-frepo CXXFLAGS=-fno-inline -fno-default-inline -g -O2 ${EFLAGS} -#LDADD+=-lreadline -levent -lpthread -lstdc++ -D_THREAD_SAVE -export-dynamic -LDADD+=-lreadline -levent -lpthread -lstdc++ -export-dynamic +#LDADD+=-ldl -levent -lpthread -lstdc++ -D_THREAD_SAVE -export-dynamic +LDADD+=-ldl -levent -lpthread -lstdc++ -export-dynamic PREFIX=/usr/local all: message ${OBJS} @dirname=`dirname ${BIN}`; if ! test -d $$dirname; then mkdir -p $$dirname; fi @@ -35,38 +35,38 @@ mrproper: clean @for i in Makefile config.h config.log config.status; \ do if [ -f $$i ]; then rm -f $$i; fi; done -../obj/./conf/conf.o: ./conf/conf.cpp -../obj/./time/timo.o: ./time/timo.cpp -../obj/./time/timr.o: ./time/timr.cpp -../obj/./data/con.o: ./data/con.cpp -../obj/./data/data_base.o: ./data/data_base.cpp -../obj/./data/con_base.o: ./data/con_base.cpp -../obj/./data/data.o: ./data/data.cpp -../obj/./tool/dir.o: ./tool/dir.cpp -../obj/./tool/tool.o: ./tool/tool.cpp -../obj/./chat/sman.o: ./chat/sman.cpp +../obj/./chat/chat.o: ./chat/chat.cpp +../obj/./chat/gcol.o: ./chat/gcol.cpp ../obj/./chat/perm.o: ./chat/perm.cpp ../obj/./chat/room.o: ./chat/room.cpp ../obj/./chat/sess.o: ./chat/sess.cpp +../obj/./chat/sman.o: ./chat/sman.cpp ../obj/./chat/user.o: ./chat/user.cpp -../obj/./chat/chat.o: ./chat/chat.cpp -../obj/./chat/gcol.o: ./chat/gcol.cpp -../obj/./monitor/stats.o: ./monitor/stats.cpp -../obj/./monitor/dump.o: ./monitor/dump.cpp -../obj/./sock/sock.o: ./sock/sock.cpp -../obj/./sock/sslsock.o: ./sock/sslsock.cpp -../obj/./sock/context.o: ./sock/context.cpp -../obj/./contrib/xml/tinyxmlerror.o: ./contrib/xml/tinyxmlerror.cpp -../obj/./contrib/xml/tinyxmlparser.o: ./contrib/xml/tinyxmlparser.cpp -../obj/./contrib/xml/tinyxml.o: ./contrib/xml/tinyxml.cpp +../obj/./cli/cli.o: ./cli/cli.cpp +../obj/./conf/conf.o: ./conf/conf.cpp ../obj/./contrib/crypt/md5.o: ./contrib/crypt/md5.cpp ../obj/./contrib/crypt/md5crypt.o: ./contrib/crypt/md5crypt.cpp -../obj/./cli/cli.o: ./cli/cli.cpp +../obj/./contrib/xml/tinyxml.o: ./contrib/xml/tinyxml.cpp +../obj/./contrib/xml/tinyxmlerror.o: ./contrib/xml/tinyxmlerror.cpp +../obj/./contrib/xml/tinyxmlparser.o: ./contrib/xml/tinyxmlparser.cpp +../obj/./data/con.o: ./data/con.cpp +../obj/./data/con_base.o: ./data/con_base.cpp +../obj/./data/data.o: ./data/data.cpp +../obj/./data/data_base.o: ./data/data_base.cpp ../obj/./html.o: ./html.cpp -../obj/./reqp.o: ./reqp.cpp +../obj/./logd.o: ./logd.cpp ../obj/./main.o: ./main.cpp +../obj/./modl.o: ./modl.cpp +../obj/./monitor/dump.o: ./monitor/dump.cpp +../obj/./monitor/stats.o: ./monitor/stats.cpp +../obj/./name.o: ./name.cpp +../obj/./reqp.o: ./reqp.cpp ../obj/./sign.o: ./sign.cpp +../obj/./sock/context.o: ./sock/context.cpp +../obj/./sock/sock.o: ./sock/sock.cpp +../obj/./sock/sslsock.o: ./sock/sslsock.cpp +../obj/./time/timo.o: ./time/timo.cpp +../obj/./time/timr.o: ./time/timr.cpp +../obj/./tool/dir.o: ./tool/dir.cpp +../obj/./tool/tool.o: ./tool/tool.cpp ../obj/./wrap.o: ./wrap.cpp -../obj/./name.o: ./name.cpp -../obj/./logd.o: ./logd.cpp -../obj/./modl.o: ./modl.cpp diff --git a/ychat/src/config.h b/ychat/src/config.h index 272decf..c8d7b86 100644 --- a/ychat/src/config.h +++ b/ychat/src/config.h @@ -1,28 +1,4 @@ -/*:* - *: File: ./src/config.h - *: - *: yChat; Homepage: ychat.buetow.org; Version 0.9.0-CURRENT - *: - *: Copyright (C) 2003 Paul C. Buetow, Volker Richter - *: Copyright (C) 2004 Paul C. Buetow - *: Copyright (C) 2005 EXA Digital Solutions GbR - *: Copyright (C) 2006, 2007 Paul C. Buetow - *: - *: This program is free software; you can redistribute it and/or - *: modify it under the terms of the GNU General Public License - *: as published by the Free Software Foundation; either version 2 - *: of the License, or (at your option) any later version. - *: - *: This program is distributed in the hope that it will be useful, - *: but WITHOUT ANY WARRANTY; without even the implied warranty of - *: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - *: GNU General Public License for more details. - *: - *: You should have received a copy of the GNU General Public License - *: along with this program; if not, write to the Free Software - *: Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - *:*/ -/* config.h. Generated by configure. */ +/* config.h. Generated from config.h.in by configure. */ /* config.h.in. Generated from configure.ac by autoheader. */ /* Define to 1 if you have the header file. */ @@ -32,7 +8,7 @@ #define HAVE_INTTYPES_H 1 /* Define to 1 if you have the `dl' library (-ldl). */ -/* #undef HAVE_LIBDL */ +#define HAVE_LIBDL 1 /* Define to 1 if you have the `mysqlclient' library (-lmysqlclient). */ /* #undef HAVE_LIBMYSQLCLIENT */ @@ -41,7 +17,7 @@ #define HAVE_LIBPTHREAD 1 /* Define to 1 if you have the `readline' library (-lreadline). */ -#define HAVE_LIBREADLINE 1 +/* #undef HAVE_LIBREADLINE */ /* Define to 1 if you have the `ssl' library (-lssl). */ /* #undef HAVE_LIBSSL */ @@ -62,7 +38,7 @@ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ -#define HAVE_READLINE_READLINE_H 1 +/* #undef HAVE_READLINE_READLINE_H */ /* Define to 1 if you have the header file. */ #define HAVE_STDINT_H 1 @@ -106,5 +82,10 @@ /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 +/* Posttasking has been done by ./src/configure. + Please edit ./src/configure.ac and run autoconf if you + want to modify all values below this comment! + */ + /* Program prefix. */ #define PREFIX "/usr/local" diff --git a/ychat/src/config.log b/ychat/src/config.log index f89f34f..ebb65a3 100644 --- a/ychat/src/config.log +++ b/ychat/src/config.log @@ -4,22 +4,22 @@ running configure, to aid debugging if configure makes a mistake. It was created by configure, which was generated by GNU Autoconf 2.61. Invocation command line was - $ ./configure + $ ./configure --disable-readline --disable-ssl --disable-mysql ## --------- ## ## Platform. ## ## --------- ## -hostname = joghurt.lan.buetow.org -uname -m = i386 -uname -r = 7.0-BETA2 -uname -s = FreeBSD -uname -v = FreeBSD 7.0-BETA2 #0: Thu Nov 8 22:33:42 EET 2007 root@joghurt.lan.buetow.org:/usr/obj/usr/srcs/freebsd.src7/src/sys/JOGHURT7 +hostname = earth +uname -m = x86_64 +uname -r = 7.0.11-200.fc44.x86_64 +uname -s = Linux +uname -v = #1 SMP PREEMPT_DYNAMIC Mon Jun 1 22:50:37 UTC 2026 -/usr/bin/uname -p = i386 +/usr/bin/uname -p = unknown /bin/uname -X = unknown -/bin/arch = unknown +/bin/arch = x86_64 /usr/bin/arch -k = unknown /usr/convex/getsysinfo = unknown /usr/bin/hostinfo = unknown @@ -27,21 +27,22 @@ uname -v = FreeBSD 7.0-BETA2 #0: Thu Nov 8 22:33:42 EET 2007 root@joghurt.l /usr/bin/oslevel = unknown /bin/universe = unknown -PATH: /home/buetow/bin +PATH: /home/paul/.pi/agent/bin +PATH: /home/paul/.krew/bin +PATH: /home/linuxbrew/.linuxbrew/bin +PATH: /home/linuxbrew/.linuxbrew/sbin +PATH: /home/paul/bin +PATH: /home/paul/scripts +PATH: /home/paul/go/bin +PATH: /home/paul/.cargo/bin +PATH: /home/paul/.local/bin +PATH: /home/paul/.krew/bin +PATH: /home/paul/.krew/bin +PATH: /usr/local/sbin PATH: /usr/local/bin -PATH: /usr/bin -PATH: /usr/pkg/bin -PATH: /sbin PATH: /usr/sbin -PATH: /usr/local/sbin -PATH: /usr/pkg/sbin -PATH: /bin -PATH: /usr/X11R6/bin -PATH: /usr/scripts -PATH: /usr/srcs/bin -PATH: /usr/games -PATH: /usr/local/java/bin -PATH: /usr/local/parrot-0.4.0-devel/bin +PATH: /usr/bin +PATH: /var/lib/snapd/snap/bin ## ----------- ## @@ -53,21 +54,28 @@ configure:1765: found /usr/bin/g++ configure:1776: result: g++ configure:1807: checking for C++ compiler version configure:1814: g++ --version >&5 -g++ (GCC) 4.2.1 20070719 [FreeBSD] -Copyright (C) 2007 Free Software Foundation, Inc. +g++ (GCC) 16.1.1 20260515 (Red Hat 16.1.1-2) +Copyright (C) 2026 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. configure:1817: $? = 0 configure:1824: g++ -v >&5 Using built-in specs. -Target: i386-undermydesk-freebsd -Configured with: FreeBSD/i386 system compiler +COLLECT_GCC=g++ +COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/16/lto-wrapper +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-redhat-linux +Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,objc,obj-c++,ada,go,d,m2,cobol,algol68,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugzilla.redhat.com/ --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-16.1.1-build/gcc-16.1.1-20260515/obj-x86_64-redhat-linux/isl-install --enable-offload-targets=nvptx-none,amdgcn-amdhsa --enable-offload-defaulted --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-tls=gnu2 --with-arch_32=i686 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1 --disable-libssp Thread model: posix -gcc version 4.2.1 20070719 [FreeBSD] +Supported LTO compression algorithms: zlib zstd +gcc version 16.1.1 20260515 (Red Hat 16.1.1-2) (GCC) configure:1827: $? = 0 configure:1834: g++ -V >&5 -g++: '-V' option must have argument +g++: error: unrecognized command-line option '-V' +g++: fatal error: no input files +compilation terminated. configure:1837: $? = 1 configure:1860: checking for C++ compiler default output file name configure:1887: g++ conftest.cpp >&5 @@ -95,45 +103,59 @@ configure:2140: checking whether g++ accepts -g configure:2170: g++ -c -g conftest.cpp >&5 configure:2176: $? = 0 configure:2275: result: yes -configure:2379: checking for gcc -configure:2395: found /usr/bin/gcc -configure:2406: result: gcc -configure:2644: checking for C compiler version -configure:2651: gcc --version >&5 -gcc (GCC) 4.2.1 20070719 [FreeBSD] -Copyright (C) 2007 Free Software Foundation, Inc. +configure:2380: checking for gcc +configure:2396: found /usr/bin/gcc +configure:2407: result: gcc +configure:2645: checking for C compiler version +configure:2652: gcc --version >&5 +gcc (GCC) 16.1.1 20260515 (Red Hat 16.1.1-2) +Copyright (C) 2026 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -configure:2654: $? = 0 -configure:2661: gcc -v >&5 +configure:2655: $? = 0 +configure:2662: gcc -v >&5 Using built-in specs. -Target: i386-undermydesk-freebsd -Configured with: FreeBSD/i386 system compiler +COLLECT_GCC=gcc +COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/16/lto-wrapper +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-redhat-linux +Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,objc,obj-c++,ada,go,d,m2,cobol,algol68,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugzilla.redhat.com/ --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-16.1.1-build/gcc-16.1.1-20260515/obj-x86_64-redhat-linux/isl-install --enable-offload-targets=nvptx-none,amdgcn-amdhsa --enable-offload-defaulted --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-tls=gnu2 --with-arch_32=i686 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1 --disable-libssp Thread model: posix -gcc version 4.2.1 20070719 [FreeBSD] -configure:2664: $? = 0 -configure:2671: gcc -V >&5 -gcc: '-V' option must have argument -configure:2674: $? = 1 -configure:2677: checking whether we are using the GNU C compiler -configure:2706: gcc -c conftest.c >&5 -configure:2712: $? = 0 -configure:2729: result: yes -configure:2734: checking whether gcc accepts -g -configure:2764: gcc -c -g conftest.c >&5 -configure:2770: $? = 0 -configure:2869: result: yes -configure:2886: checking for gcc option to accept ISO C89 -configure:2960: gcc -c -g -O2 conftest.c >&5 -configure:2966: $? = 0 -configure:2989: result: none needed -configure:3013: checking how to run the C preprocessor -configure:3053: gcc -E conftest.c -configure:3059: $? = 0 -configure:3090: gcc -E conftest.c -conftest.c:8:28: error: ac_nonexistent.h: No such file or directory -configure:3096: $? = 1 +Supported LTO compression algorithms: zlib zstd +gcc version 16.1.1 20260515 (Red Hat 16.1.1-2) (GCC) +configure:2665: $? = 0 +configure:2672: gcc -V >&5 +gcc: error: unrecognized command-line option '-V' +gcc: fatal error: no input files +compilation terminated. +configure:2675: $? = 1 +configure:2678: checking whether we are using the GNU C compiler +configure:2707: gcc -c conftest.c >&5 +configure:2713: $? = 0 +configure:2730: result: yes +configure:2735: checking whether gcc accepts -g +configure:2765: gcc -c -g conftest.c >&5 +configure:2771: $? = 0 +configure:2870: result: yes +configure:2887: checking for gcc option to accept ISO C89 +configure:2961: gcc -c -g -O2 conftest.c >&5 +conftest.c: In function 'e': +conftest.c:15:14: warning: old-style function definition [-Wold-style-definition] + 15 | static char *e (p, i) + | ^ +configure:2967: $? = 0 +configure:2990: result: none needed +configure:3014: checking how to run the C preprocessor +configure:3054: gcc -E conftest.c +configure:3060: $? = 0 +configure:3091: gcc -E conftest.c +conftest.c:8:10: fatal error: ac_nonexistent.h: No such file or directory + 8 | #include + | ^~~~~~~~~~~~~~~~~~ +compilation terminated. +configure:3097: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "" @@ -143,12 +165,15 @@ configure: failed program was: | #define PACKAGE_BUGREPORT "" | /* end confdefs.h. */ | #include -configure:3129: result: gcc -E -configure:3158: gcc -E conftest.c -configure:3164: $? = 0 -configure:3195: gcc -E conftest.c -conftest.c:8:28: error: ac_nonexistent.h: No such file or directory -configure:3201: $? = 1 +configure:3130: result: gcc -E +configure:3159: gcc -E conftest.c +configure:3165: $? = 0 +configure:3196: gcc -E conftest.c +conftest.c:8:10: fatal error: ac_nonexistent.h: No such file or directory + 8 | #include + | ^~~~~~~~~~~~~~~~~~ +compilation terminated. +configure:3202: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "" @@ -158,186 +183,156 @@ configure: failed program was: | #define PACKAGE_BUGREPORT "" | /* end confdefs.h. */ | #include -configure:3239: checking for grep that handles long lines and -e -configure:3313: result: /usr/bin/grep -configure:3318: checking for egrep -configure:3396: result: /usr/bin/grep -E -configure:3401: checking for ANSI C header files -configure:3431: gcc -c -g -O2 conftest.c >&5 -configure:3437: $? = 0 -configure:3536: gcc -o conftest -g -O2 conftest.c >&5 -configure:3539: $? = 0 -configure:3545: ./conftest -configure:3548: $? = 0 -configure:3565: result: yes -configure:3589: checking for sys/types.h -configure:3610: gcc -c -g -O2 conftest.c >&5 -configure:3616: $? = 0 -configure:3632: result: yes -configure:3589: checking for sys/stat.h -configure:3610: gcc -c -g -O2 conftest.c >&5 -configure:3616: $? = 0 -configure:3632: result: yes -configure:3589: checking for stdlib.h -configure:3610: gcc -c -g -O2 conftest.c >&5 -configure:3616: $? = 0 -configure:3632: result: yes -configure:3589: checking for string.h -configure:3610: gcc -c -g -O2 conftest.c >&5 -configure:3616: $? = 0 -configure:3632: result: yes -configure:3589: checking for memory.h -configure:3610: gcc -c -g -O2 conftest.c >&5 -configure:3616: $? = 0 -configure:3632: result: yes -configure:3589: checking for strings.h -configure:3610: gcc -c -g -O2 conftest.c >&5 -configure:3616: $? = 0 -configure:3632: result: yes -configure:3589: checking for inttypes.h -configure:3610: gcc -c -g -O2 conftest.c >&5 -configure:3616: $? = 0 -configure:3632: result: yes -configure:3589: checking for stdint.h -configure:3610: gcc -c -g -O2 conftest.c >&5 -configure:3616: $? = 0 -configure:3632: result: yes -configure:3589: checking for unistd.h -configure:3610: gcc -c -g -O2 conftest.c >&5 -configure:3616: $? = 0 -configure:3632: result: yes -configure:3663: checking dlfcn.h usability -configure:3680: gcc -c -g -O2 conftest.c >&5 -configure:3686: $? = 0 -configure:3700: result: yes -configure:3704: checking dlfcn.h presence -configure:3719: gcc -E conftest.c -configure:3725: $? = 0 -configure:3739: result: yes -configure:3767: checking for dlfcn.h -configure:3775: result: yes -configure:3663: checking netinet/in.h usability -configure:3680: gcc -c -g -O2 conftest.c >&5 -configure:3686: $? = 0 -configure:3700: result: yes -configure:3704: checking netinet/in.h presence -configure:3719: gcc -E conftest.c -configure:3725: $? = 0 -configure:3739: result: yes -configure:3767: checking for netinet/in.h -configure:3775: result: yes -configure:3663: checking time.h usability -configure:3680: gcc -c -g -O2 conftest.c >&5 -configure:3686: $? = 0 -configure:3700: result: yes -configure:3704: checking time.h presence -configure:3719: gcc -E conftest.c -configure:3725: $? = 0 -configure:3739: result: yes -configure:3767: checking for time.h -configure:3775: result: yes -configure:3663: checking pthread.h usability -configure:3680: gcc -c -g -O2 conftest.c >&5 -configure:3686: $? = 0 -configure:3700: result: yes -configure:3704: checking pthread.h presence -configure:3719: gcc -E conftest.c -configure:3725: $? = 0 -configure:3739: result: yes -configure:3767: checking for pthread.h -configure:3775: result: yes -configure:3663: checking event.h usability -configure:3680: gcc -c -g -O2 conftest.c >&5 -conftest.c:55:19: error: event.h: No such file or directory -configure:3686: $? = 1 -configure: failed program was: -| /* confdefs.h. */ -| #define PACKAGE_NAME "" -| #define PACKAGE_TARNAME "" -| #define PACKAGE_VERSION "" -| #define PACKAGE_STRING "" -| #define PACKAGE_BUGREPORT "" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define HAVE_NETINET_IN_H 1 -| #define HAVE_TIME_H 1 -| #define HAVE_PTHREAD_H 1 -| /* end confdefs.h. */ -| #include -| #ifdef HAVE_SYS_TYPES_H -| # include -| #endif -| #ifdef HAVE_SYS_STAT_H -| # include -| #endif -| #ifdef STDC_HEADERS -| # include -| # include -| #else -| # ifdef HAVE_STDLIB_H -| # include -| # endif -| #endif -| #ifdef HAVE_STRING_H -| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H -| # include -| # endif -| # include -| #endif -| #ifdef HAVE_STRINGS_H -| # include -| #endif -| #ifdef HAVE_INTTYPES_H -| # include -| #endif -| #ifdef HAVE_STDINT_H -| # include -| #endif -| #ifdef HAVE_UNISTD_H -| # include -| #endif -| #include -configure:3700: result: no -configure:3704: checking event.h presence -configure:3719: gcc -E conftest.c -conftest.c:22:19: error: event.h: No such file or directory -configure:3725: $? = 1 -configure: failed program was: -| /* confdefs.h. */ -| #define PACKAGE_NAME "" -| #define PACKAGE_TARNAME "" -| #define PACKAGE_VERSION "" -| #define PACKAGE_STRING "" -| #define PACKAGE_BUGREPORT "" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define HAVE_NETINET_IN_H 1 -| #define HAVE_TIME_H 1 -| #define HAVE_PTHREAD_H 1 -| /* end confdefs.h. */ -| #include -configure:3739: result: no -configure:3767: checking for event.h -configure:3775: result: no -configure:2323: error: Could not find required header, please check the installation of the required header +configure:3240: checking for grep that handles long lines and -e +configure:3314: result: /usr/bin/grep +configure:3319: checking for egrep +configure:3397: result: /usr/bin/grep -E +configure:3402: checking for ANSI C header files +configure:3432: gcc -c -g -O2 conftest.c >&5 +configure:3438: $? = 0 +configure:3537: gcc -o conftest -g -O2 conftest.c >&5 +configure:3540: $? = 0 +configure:3546: ./conftest +configure:3549: $? = 0 +configure:3566: result: yes +configure:3590: checking for sys/types.h +configure:3611: gcc -c -g -O2 conftest.c >&5 +configure:3617: $? = 0 +configure:3633: result: yes +configure:3590: checking for sys/stat.h +configure:3611: gcc -c -g -O2 conftest.c >&5 +configure:3617: $? = 0 +configure:3633: result: yes +configure:3590: checking for stdlib.h +configure:3611: gcc -c -g -O2 conftest.c >&5 +configure:3617: $? = 0 +configure:3633: result: yes +configure:3590: checking for string.h +configure:3611: gcc -c -g -O2 conftest.c >&5 +configure:3617: $? = 0 +configure:3633: result: yes +configure:3590: checking for memory.h +configure:3611: gcc -c -g -O2 conftest.c >&5 +configure:3617: $? = 0 +configure:3633: result: yes +configure:3590: checking for strings.h +configure:3611: gcc -c -g -O2 conftest.c >&5 +configure:3617: $? = 0 +configure:3633: result: yes +configure:3590: checking for inttypes.h +configure:3611: gcc -c -g -O2 conftest.c >&5 +configure:3617: $? = 0 +configure:3633: result: yes +configure:3590: checking for stdint.h +configure:3611: gcc -c -g -O2 conftest.c >&5 +configure:3617: $? = 0 +configure:3633: result: yes +configure:3590: checking for unistd.h +configure:3611: gcc -c -g -O2 conftest.c >&5 +configure:3617: $? = 0 +configure:3633: result: yes +configure:3664: checking dlfcn.h usability +configure:3681: gcc -c -g -O2 conftest.c >&5 +configure:3687: $? = 0 +configure:3701: result: yes +configure:3705: checking dlfcn.h presence +configure:3720: gcc -E conftest.c +configure:3726: $? = 0 +configure:3740: result: yes +configure:3768: checking for dlfcn.h +configure:3776: result: yes +configure:3664: checking netinet/in.h usability +configure:3681: gcc -c -g -O2 conftest.c >&5 +configure:3687: $? = 0 +configure:3701: result: yes +configure:3705: checking netinet/in.h presence +configure:3720: gcc -E conftest.c +configure:3726: $? = 0 +configure:3740: result: yes +configure:3768: checking for netinet/in.h +configure:3776: result: yes +configure:3664: checking time.h usability +configure:3681: gcc -c -g -O2 conftest.c >&5 +configure:3687: $? = 0 +configure:3701: result: yes +configure:3705: checking time.h presence +configure:3720: gcc -E conftest.c +configure:3726: $? = 0 +configure:3740: result: yes +configure:3768: checking for time.h +configure:3776: result: yes +configure:3664: checking pthread.h usability +configure:3681: gcc -c -g -O2 conftest.c >&5 +configure:3687: $? = 0 +configure:3701: result: yes +configure:3705: checking pthread.h presence +configure:3720: gcc -E conftest.c +configure:3726: $? = 0 +configure:3740: result: yes +configure:3768: checking for pthread.h +configure:3776: result: yes +configure:3664: checking event.h usability +configure:3681: gcc -c -g -O2 conftest.c >&5 +configure:3687: $? = 0 +configure:3701: result: yes +configure:3705: checking event.h presence +configure:3720: gcc -E conftest.c +configure:3726: $? = 0 +configure:3740: result: yes +configure:3768: checking for event.h +configure:3776: result: yes +configure:3792: checking for pthread_create in -lpthread +configure:3827: gcc -o conftest -g -O2 conftest.c -lpthread >&5 +configure:3833: $? = 0 +configure:3851: result: yes +configure:3865: checking for event_init in -levent +configure:3900: gcc -o conftest -g -O2 conftest.c -levent -lpthread >&5 +configure:3906: $? = 0 +configure:3924: result: yes +configure:4616: checking for dlopen in -ldl +configure:4651: gcc -o conftest -g -O2 conftest.c -ldl -levent -lpthread >&5 +configure:4657: $? = 0 +configure:4675: result: yes +configure:4793: creating ./config.status + +## ---------------------- ## +## Running config.status. ## +## ---------------------- ## + +This file was extended by config.status, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = + CONFIG_HEADERS = + CONFIG_LINKS = + CONFIG_COMMANDS = + $ ./config.status + +on earth + +config.status:595: creating Makefile +config.status:595: creating config.h +configure:5889: creating ./config.status + +## ---------------------- ## +## Running config.status. ## +## ---------------------- ## + +This file was extended by config.status, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = + CONFIG_HEADERS = + CONFIG_LINKS = + CONFIG_COMMANDS = + $ ./config.status + +on earth + +config.status:596: creating Makefile +config.status:596: creating ../Makefile +config.status:596: creating config.h +config.status:817: config.h is unchanged ## ---------------- ## ## Cache variables. ## @@ -370,7 +365,7 @@ ac_cv_env_host_alias_value= ac_cv_env_target_alias_set= ac_cv_env_target_alias_value= ac_cv_header_dlfcn_h=yes -ac_cv_header_event_h=no +ac_cv_header_event_h=yes ac_cv_header_inttypes_h=yes ac_cv_header_memory_h=yes ac_cv_header_netinet_in_h=yes @@ -384,6 +379,9 @@ ac_cv_header_sys_stat_h=yes ac_cv_header_sys_types_h=yes ac_cv_header_time_h=yes ac_cv_header_unistd_h=yes +ac_cv_lib_dl_dlopen=yes +ac_cv_lib_event_event_init=yes +ac_cv_lib_pthread_pthread_create=yes ac_cv_objext=o ac_cv_path_EGREP='/usr/bin/grep -E' ac_cv_path_GREP=/usr/bin/grep @@ -404,7 +402,7 @@ CPP='gcc -E' CPPFLAGS='' CXX='g++' CXXFLAGS='-g -O2' -DEFS='' +DEFS='-DHAVE_CONFIG_H' ECHO_C='' ECHO_N='-n' ECHO_T='' @@ -413,7 +411,7 @@ EXEEXT='' GREP='/usr/bin/grep' LDFLAGS='' LIBOBJS='' -LIBS='' +LIBS='-ldl -levent -lpthread ' LTLIBOBJS='' OBJEXT='o' PACKAGE_BUGREPORT='' @@ -422,7 +420,7 @@ PACKAGE_STRING='' PACKAGE_TARNAME='' PACKAGE_VERSION='' PATH_SEPARATOR=':' -SHELL='/bin/bash' +SHELL='/bin/sh' ac_ct_CC='gcc' ac_ct_CXX='g++' bindir='${exec_prefix}/bin' @@ -431,8 +429,8 @@ datadir='${datarootdir}' datarootdir='${prefix}/share' docdir='${datarootdir}/doc/${PACKAGE}' dvidir='${docdir}' -efind='' -exec_prefix='NONE' +efind='find -regextype posix-extended' +exec_prefix='${prefix}' host_alias='' htmldir='${docdir}' includedir='${prefix}/include' @@ -444,7 +442,7 @@ localstatedir='${prefix}/var' mandir='${datarootdir}/man' oldincludedir='/usr/include' pdfdir='${docdir}' -prefix='NONE' +prefix='/usr/local' program_transform_name='s,x,x,' psdir='${docdir}' sbindir='${exec_prefix}/sbin' @@ -475,5 +473,9 @@ target_alias='' #define HAVE_NETINET_IN_H 1 #define HAVE_TIME_H 1 #define HAVE_PTHREAD_H 1 +#define HAVE_EVENT_H 1 +#define HAVE_LIBPTHREAD 1 +#define HAVE_LIBEVENT 1 +#define HAVE_LIBDL 1 -configure: exit 1 +configure: exit 0 diff --git a/ychat/src/config.status b/ychat/src/config.status index f3dc63e..0d0747b 100755 --- a/ychat/src/config.status +++ b/ychat/src/config.status @@ -1,4 +1,4 @@ -#! /bin/bash +#! /bin/sh # Generated by configure. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging @@ -7,22 +7,50 @@ debug=false ac_cs_recheck=false ac_cs_silent=false -SHELL=${CONFIG_SHELL-/bin/bash} +SHELL=${CONFIG_SHELL-/bin/sh} ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## -# Be Bourne compatible +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh fi -DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then @@ -32,8 +60,43 @@ else fi +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + # Work around bugs in pre-3.0 UWIN ksh. -$as_unset ENV MAIL MAILPATH +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done PS1='$ ' PS2='> ' PS4='+ ' @@ -47,18 +110,19 @@ do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else - $as_unset $as_var + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1; then +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false @@ -66,159 +130,120 @@ fi # Name of the executable. -as_me=`$as_basename "$0" || +as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)$' \| \ - . : '\(.\)' 2>/dev/null || + X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } - /^X\/\(\/\/\)$/{ s//\1/; q; } - /^X\/\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` - -# PATH needs CR, and LINENO needs CR and PATH. -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi +# CDPATH. +$as_unset CDPATH - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" || { - # Find who we are. Look in the path if we contain no path at all - # relative or not. - case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done - ;; - esac - # We did not find ourselves, most probably we were run as `sh COMMAND' - # in which case we are not to be found in the path. - if test "x$as_myself" = x; then - as_myself=$0 - fi - if test ! -f "$as_myself"; then - { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 -echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} - { (exit 1); exit 1; }; } - fi - case $CONFIG_SHELL in - '') - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for as_base in sh bash ksh sh5; do - case $as_dir in - /*) - if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then - $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } - $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } - CONFIG_SHELL=$as_dir/$as_base - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$0" ${1+"$@"} - fi;; - esac - done -done -;; - esac + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line before each line; the second 'sed' does the real - # work. The second script uses 'N' to pair each line-number line - # with the numbered line, and appends trailing '-' during - # substitution so that $LINENO is not a special case at line end. + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) - sed '=' <$as_myself | + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno N - s,$,-, - : loop - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop - s,-$,, - s,^['$as_cr_digits']*\n,, + s/-\n.*// ' >$as_me.lineno && - chmod +x $as_me.lineno || - { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 -echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensible to this). - . ./$as_me.lineno + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" # Exit status is that of the last command. exit } -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; esac -if expr a : '\(a\)' >/dev/null 2>&1; then +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' - else - as_ln_s='ln -s' - fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi -rm -f conf$$ conf$$.exe conf$$.file +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: @@ -227,7 +252,28 @@ else as_mkdir_p=false fi -as_executable_p="test -f" +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -236,31 +282,14 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH - exec 6>&1 -# Open the log real soon, to keep \$[0] and so on meaningful, and to +# Save the log message, to keep $[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. Logging --version etc. is OK. -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX -} >&5 -cat >&5 <<_CSEOF - +# values after options handling. +ac_log=" This file was extended by $as_me, which was -generated by GNU Autoconf 2.59. Invocation command line was +generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -268,9 +297,10 @@ generated by GNU Autoconf 2.59. Invocation command line was CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ -_CSEOF -echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 -echo >&5 +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +# Files that config.status was made for. config_files=" Makefile ../Makefile" config_headers=" config.h" @@ -281,7 +311,7 @@ current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit - -V, --version print version number, then exit + -V, --version print version number and configuration settings, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions @@ -297,15 +327,18 @@ Configuration headers: $config_headers Report bugs to ." + ac_cs_version="\ config.status -configured by ./configure, generated by GNU Autoconf 2.59, - with options \"\" +configured by ./configure, generated by GNU Autoconf 2.61, + with options \"'--disable-readline' '--disable-ssl' '--disable-mysql'\" -Copyright (C) 2003 Free Software Foundation, Inc. +Copyright (C) 2006 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." -srcdir=. + +ac_pwd='/home/paul/git/ychat/ychat/src' +srcdir='.' # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: @@ -313,37 +346,24 @@ while test $# != 0 do case $1 in --*=*) - ac_option=`expr "x$1" : 'x\([^=]*\)='` - ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; - -*) + *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; - *) # This is not an option, so the user has probably given explicit - # arguments. - ac_option=$1 - ac_need_defaults=false;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; - --version | --vers* | -V ) - echo "$ac_cs_version"; exit 0 ;; - --he | --h) - # Conflict between --help and --header - { { echo "$as_me:$LINENO: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - echo "$ac_cs_usage"; exit 0 ;; - --debug | --d* | -d ) + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift @@ -353,18 +373,24 @@ Try \`$0 --help' for more information." >&2;} $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. - -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2;} + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; - *) ac_config_targets="$ac_config_targets $1" ;; + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; esac shift @@ -378,23 +404,37 @@ if $ac_cs_silent; then fi if $ac_cs_recheck; then - echo "running /bin/bash ./configure " $ac_configure_extra_args " --no-create --no-recursion" >&6 - exec /bin/bash ./configure $ac_configure_extra_args --no-create --no-recursion + echo "running CONFIG_SHELL=/bin/sh /bin/sh ./configure " '--disable-readline' '--disable-ssl' '--disable-mysql' $ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=/bin/sh + export CONFIG_SHELL + exec /bin/sh "./configure" '--disable-readline' '--disable-ssl' '--disable-mysql' $ac_configure_extra_args --no-create --no-recursion fi +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + + +# Handling of arguments. for ac_config_target in $ac_config_targets do - case "$ac_config_target" in - # Handling of arguments. - "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "../Makefile" ) CONFIG_FILES="$CONFIG_FILES ../Makefile" ;; - "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "../Makefile") CONFIG_FILES="$CONFIG_FILES ../Makefile" ;; + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done + # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely @@ -405,514 +445,392 @@ if $ac_need_defaults; then fi # Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason to put it here, and in addition, +# simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. -# Create a temporary directory, and hook for its removal unless debugging. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. $debug || { - trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } - # Create a (secure) tmp directory for tmp files. { - tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { - tmp=./confstat$$-$RANDOM - (umask 077 && mkdir $tmp) + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } - # -# CONFIG_FILES section. +# Set up the sed scripts for CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "$CONFIG_FILES"; then - # Protect against being on the right side of a sed subst in config.status. - sed 's/,@/@@/; s/@,/@@/; s/,;t t$/@;t t/; /@;t t$/s/[\\&,]/\\&/g; - s/@@/,@/; s/@@/@,/; s/@;t t$/,;t t/' >$tmp/subs.sed <<\CEOF -s,@SHELL@,/bin/bash,;t t -s,@PATH_SEPARATOR@,:,;t t -s,@PACKAGE_NAME@,,;t t -s,@PACKAGE_TARNAME@,,;t t -s,@PACKAGE_VERSION@,,;t t -s,@PACKAGE_STRING@,,;t t -s,@PACKAGE_BUGREPORT@,,;t t -s,@exec_prefix@,${prefix},;t t -s,@prefix@,/usr/local,;t t -s,@program_transform_name@,s,x,x,,;t t -s,@bindir@,${exec_prefix}/bin,;t t -s,@sbindir@,${exec_prefix}/sbin,;t t -s,@libexecdir@,${exec_prefix}/libexec,;t t -s,@datadir@,${prefix}/share,;t t -s,@sysconfdir@,${prefix}/etc,;t t -s,@sharedstatedir@,${prefix}/com,;t t -s,@localstatedir@,${prefix}/var,;t t -s,@libdir@,${exec_prefix}/lib,;t t -s,@includedir@,${prefix}/include,;t t -s,@oldincludedir@,/usr/include,;t t -s,@infodir@,${prefix}/info,;t t -s,@mandir@,${prefix}/man,;t t -s,@build_alias@,,;t t -s,@host_alias@,,;t t -s,@target_alias@,,;t t -s,@DEFS@,-DHAVE_CONFIG_H,;t t -s,@ECHO_C@,,;t t -s,@ECHO_N@,-n,;t t -s,@ECHO_T@,,;t t -s,@LIBS@,-lreadline -levent -lpthread ,;t t -s,@CXX@,g++,;t t -s,@CXXFLAGS@,-g -O2,;t t -s,@LDFLAGS@,,;t t -s,@CPPFLAGS@,,;t t -s,@ac_ct_CXX@,g++,;t t -s,@EXEEXT@,,;t t -s,@OBJEXT@,o,;t t -s,@CC@,gcc,;t t -s,@CFLAGS@,-g -O2,;t t -s,@ac_ct_CC@,gcc,;t t -s,@CPP@,gcc -E,;t t -s,@EGREP@,grep -E,;t t -s,@efind@,find -E,;t t -s,@LIBOBJS@,,;t t -s,@LTLIBOBJS@,,;t t + +cat >"$tmp/subs-1.sed" <<\CEOF +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +s,@SHELL@,|#_!!_#|/bin/sh,g +s,@PATH_SEPARATOR@,|#_!!_#|:,g +s,@PACKAGE_NAME@,|#_!!_#|,g +s,@PACKAGE_TARNAME@,|#_!!_#|,g +s,@PACKAGE_VERSION@,|#_!!_#|,g +s,@PACKAGE_STRING@,|#_!!_#|,g +s,@PACKAGE_BUGREPORT@,|#_!!_#|,g +s,@exec_prefix@,|#_!!_#|${prefix},g +s,@prefix@,|#_!!_#|/usr/local,g +s,@program_transform_name@,|#_!!_#|s\,x\,x\,,g +s,@bindir@,|#_!!_#|${exec_prefix}/bin,g +s,@sbindir@,|#_!!_#|${exec_prefix}/sbin,g +s,@libexecdir@,|#_!!_#|${exec_prefix}/libexec,g +s,@datarootdir@,|#_!!_#|${prefix}/share,g +s,@datadir@,|#_!!_#|${datarootdir},g +s,@sysconfdir@,|#_!!_#|${prefix}/etc,g +s,@sharedstatedir@,|#_!!_#|${prefix}/com,g +s,@localstatedir@,|#_!!_#|${prefix}/var,g +s,@includedir@,|#_!!_#|${prefix}/include,g +s,@oldincludedir@,|#_!!_#|/usr/include,g +s,@docdir@,|#_!!_#|${datarootdir}/doc/${PACKAGE},g +s,@infodir@,|#_!!_#|${datarootdir}/info,g +s,@htmldir@,|#_!!_#|${docdir},g +s,@dvidir@,|#_!!_#|${docdir},g +s,@pdfdir@,|#_!!_#|${docdir},g +s,@psdir@,|#_!!_#|${docdir},g +s,@libdir@,|#_!!_#|${exec_prefix}/lib,g +s,@localedir@,|#_!!_#|${datarootdir}/locale,g +s,@mandir@,|#_!!_#|${datarootdir}/man,g +s,@DEFS@,|#_!!_#|-DHAVE_CONFIG_H,g +s,@ECHO_C@,|#_!!_#|,g +s,@ECHO_N@,|#_!!_#|-n,g +s,@ECHO_T@,|#_!!_#|,g +s,@LIBS@,|#_!!_#|-ldl -levent -lpthread ,g +s,@build_alias@,|#_!!_#|,g +s,@host_alias@,|#_!!_#|,g +s,@target_alias@,|#_!!_#|,g +s,@CXX@,|#_!!_#|g++,g +s,@CXXFLAGS@,|#_!!_#|-g -O2,g +s,@LDFLAGS@,|#_!!_#|,g +s,@CPPFLAGS@,|#_!!_#|,g +s,@ac_ct_CXX@,|#_!!_#|g++,g +s,@EXEEXT@,|#_!!_#|,g +s,@OBJEXT@,|#_!!_#|o,g +s,@CC@,|#_!!_#|gcc,g +s,@CFLAGS@,|#_!!_#|-g -O2,g +s,@ac_ct_CC@,|#_!!_#|gcc,g +s,@CPP@,|#_!!_#|gcc -E,g +s,@GREP@,|#_!!_#|/usr/bin/grep,g +s,@EGREP@,|#_!!_#|/usr/bin/grep -E,g +s,@efind@,|#_!!_#|find -regextype posix-extended,g +s,@LIBOBJS@,|#_!!_#|,g +s,@LTLIBOBJS@,|#_!!_#|,g +:end +s/|#_!!_#|//g CEOF +fi # test -n "$CONFIG_FILES" - # Split the substitutions into bite-sized pieces for seds with - # small command number limits, like on Digital OSF/1 and HP-UX. - ac_max_sed_lines=48 - ac_sed_frag=1 # Number of current file. - ac_beg=1 # First line for current file. - ac_end=$ac_max_sed_lines # Line after last line for current file. - ac_more_lines=: - ac_sed_cmds= - while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - else - sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - fi - if test ! -s $tmp/subs.frag; then - ac_more_lines=false - else - # The purpose of the label and of the branching condition is to - # speed up the sed processing (if there are no `@' at all, there - # is no need to browse any of the substitutions). - # These are the two extra sed commands mentioned above. - (echo ':t - /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" - else - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" - fi - ac_sed_frag=`expr $ac_sed_frag + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_lines` + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} fi - done - if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat - fi -fi # test -n "$CONFIG_FILES" -for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; esac - # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. - ac_dir=`(dirname "$ac_file") 2>/dev/null || + ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(