head 1.50; access; symbols L2_0_9_13:1.50 FSL_1_7_0:1.49 L2_0_9_12:1.49 LMTP2NNTP_1_4_1:1.49 LMTP2NNTP_1_4_0:1.49 FSL_1_6_1:1.49 L2_0_9_11:1.49 FSL_1_6_0:1.48 FSL_1_6b2:1.48 L2_0_9_10:1.48 FSL_1_6b1:1.48 L2_0_9_9:1.48 LMTP2NNTP_1_3_0:1.47 LMTP2NNTP_1_3b2:1.47 LMTP2NNTP_1_3b1:1.47 LMTP2NNTP_1_3a3:1.47 FSL_1_5_0:1.47 LMTP2NNTP_1_3a2:1.47 FSL_1_5a3:1.47 LMTP2NNTP_1_3a1:1.47 FSL_1_5a2:1.47 L2_0_9_8:1.47 FSL_1_5a1:1.47 L2_0_9_7:1.47 L2_0_9_6:1.47 FSL_1_4_0:1.47 FSL_1_4b1:1.47 L2_0_9_5:1.47 FSL_1_4a1:1.47 FSL_1_3_0:1.47 FSL_1_3b1:1.47 L2_0_9_4:1.47 FSL_1_2_1:1.47 L2_0_9_3:1.47 FSL_1_2_0:1.47 L2_0_9_2:1.47 FSL_1_1_0:1.47 FSL_1_1b1:1.47 WORKOFF:1.47.0.2 WORKOFF_BP:1.47 FSL_1_0_8:1.47 LMTP2NNTP_1_2_0:1.47 LMTP2NNTP_1_2b4:1.47 LMTP2NNTP_1_2b3:1.47 LMTP2NNTP_1_2b2:1.47 LMTP2NNTP_1_2b1:1.47 LMTP2NNTP_1_2a8:1.47 LMTP2NNTP_1_2a7:1.47 FSL_1_0_7:1.47 FSL_1_0_6:1.46 FSL_1_0_5:1.46 FSL_1_0_4:1.46 L2_0_9_1:1.46 FSL_1_0_3:1.46 LMTP2NNTP_1_2a6:1.45 FSL_1_0_2:1.45 FSL_1_0_1:1.45 FSL_1_0_0:1.45 FSL_0_9_0:1.45 L2_0_9_0:1.45 FSL_0_1_12:1.44 FSL_0_1_11:1.44 FSL_0_1_10:1.44 FSL_0_1_9:1.44 FSL_0_1_8:1.44 FSL_0_1_7:1.44 FSL_0_1_6:1.44 FSL_0_1_5:1.44 FSL_0_1_1:1.44 LMTP2NNTP_1_2a5:1.43 LMTP2NNTP_1_2a4:1.42 LMTP2NNTP_1_2a3:1.42 LMTP2NNTP_1_2a1:1.37 LMTP2NNTP_1_1_1:1.26 LMTP2NNTP_1_1_0:1.26 LMTP2NNTP_1_1b4:1.26 LMTP2NNTP_1_1b3:1.26 L2_CHANNEL_ONLY_REVAMPING_BEFORE:1.26 LMTP2NNTP_1_1b2:1.26 LMTP2NNTP_1_1b1:1.26 L2_0_1_0:1.23 L2NGATE:1.9.0.2 START_MICHAEL:1.9 L2_INITIAL:1.1.1.1 OSSP:1.1.1; locks; strict; comment @# @; 1.50 date 2007.03.23.08.09.27; author rse; state Exp; branches; next 1.49; commitid nuautrhbN5ZmIbbs; 1.49 date 2005.10.03.08.08.11; author rse; state Exp; branches; next 1.48; 1.48 date 2005.01.24.15.03.17; author rse; state Exp; branches; next 1.47; 1.47 date 2003.01.06.11.41.51; author rse; state Exp; branches; next 1.46; 1.46 date 2002.08.21.13.26.27; author rse; state Exp; branches; next 1.45; 1.45 date 2002.07.30.19.08.24; author rse; state Exp; branches; next 1.44; 1.44 date 2002.07.09.08.50.12; author rse; state Exp; branches; next 1.43; 1.43 date 2002.05.29.13.53.01; author rse; state Exp; branches; next 1.42; 1.42 date 2002.01.03.16.12.51; author rse; state Exp; branches; next 1.41; 1.41 date 2002.01.02.17.07.38; author rse; state Exp; branches; next 1.40; 1.40 date 2001.12.22.22.04.55; author rse; state Exp; branches; next 1.39; 1.39 date 2001.12.22.21.58.52; author rse; state Exp; branches; next 1.38; 1.38 date 2001.12.22.21.51.56; author rse; state Exp; branches; next 1.37; 1.37 date 2001.11.10.14.01.47; author rse; state Exp; branches; next 1.36; 1.36 date 2001.11.08.21.58.00; author rse; state Exp; branches; next 1.35; 1.35 date 2001.11.08.20.28.22; author rse; state Exp; branches; next 1.34; 1.34 date 2001.11.08.18.31.50; author ms; state Exp; branches; next 1.33; 1.33 date 2001.11.08.16.54.52; author ms; state Exp; branches; next 1.32; 1.32 date 2001.11.08.09.53.33; author rse; state Exp; branches; next 1.31; 1.31 date 2001.11.07.16.18.38; author rse; state Exp; branches; next 1.30; 1.30 date 2001.11.07.16.17.09; author rse; state Exp; branches; next 1.29; 1.29 date 2001.11.05.20.39.35; author rse; state Exp; branches; next 1.28; 1.28 date 2001.11.04.14.08.24; author rse; state Exp; branches; next 1.27; 1.27 date 2001.11.04.13.21.17; author rse; state Exp; branches; next 1.26; 1.26 date 2001.10.11.08.02.16; author thl; state Exp; branches; next 1.25; 1.25 date 2001.10.04.14.58.29; author ms; state Exp; branches; next 1.24; 1.24 date 2001.09.15.16.03.37; author rse; state Exp; branches; next 1.23; 1.23 date 2001.09.13.14.44.40; author thl; state Exp; branches; next 1.22; 1.22 date 2001.09.13.08.47.17; author thl; state Exp; branches; next 1.21; 1.21 date 2001.09.12.14.43.29; author thl; state Exp; branches; next 1.20; 1.20 date 2001.09.10.06.43.10; author ms; state Exp; branches; next 1.19; 1.19 date 2001.09.09.15.57.10; author rse; state Exp; branches; next 1.18; 1.18 date 2001.09.09.15.42.25; author rse; state Exp; branches; next 1.17; 1.17 date 2001.09.06.16.28.38; author rse; state Exp; branches; next 1.16; 1.16 date 2001.09.06.11.56.15; author rse; state Exp; branches; next 1.15; 1.15 date 2001.09.05.13.33.26; author rse; state Exp; branches; next 1.14; 1.14 date 2001.09.05.13.32.04; author thl; state Exp; branches; next 1.13; 1.13 date 2001.09.04.14.52.28; author rse; state Exp; branches; next 1.12; 1.12 date 2001.09.04.13.53.50; author rse; state Exp; branches; next 1.11; 1.11 date 2001.09.04.13.52.59; author rse; state Exp; branches; next 1.10; 1.10 date 2001.09.03.17.23.48; author rse; state Exp; branches; next 1.9; 1.9 date 2001.08.15.10.36.03; author rse; state Exp; branches; next 1.8; 1.8 date 2001.08.15.07.49.59; author rse; state Exp; branches; next 1.7; 1.7 date 2001.05.22.18.47.31; author rse; state Exp; branches; next 1.6; 1.6 date 2001.05.19.20.08.30; author rse; state Exp; branches; next 1.5; 1.5 date 2001.05.19.19.01.13; author rse; state Exp; branches; next 1.4; 1.4 date 2001.05.17.14.40.34; author simons; state Exp; branches; next 1.3; 1.3 date 2001.05.11.19.50.52; author rse; state Exp; branches; next 1.2; 1.2 date 2001.05.11.18.37.25; author rse; state Exp; branches; next 1.1; 1.1 date 2001.05.10.19.46.01; author rse; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2001.05.10.19.46.01; author rse; state Exp; branches; next ; desc @@ 1.50 log @- Make newer GNU autoconf happy by providing "datarootdir". - Fix installation by using GNU libtool for installing "l2-config". @ text @## ## OSSP l2 - Flexible Logging ## Copyright (c) 2001-2005 Cable & Wireless ## Copyright (c) 2001-2005 The OSSP Project ## Copyright (c) 2001-2005 Ralf S. Engelschall ## ## This file is part of OSSP l2, a flexible logging library which ## can be found at http://www.ossp.org/pkg/lib/l2/. ## ## Permission to use, copy, modify, and distribute this software for ## any purpose with or without fee is hereby granted, provided that ## the above copyright notice and this permission notice appear in all ## copies. ## ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## ## Makefile.in: Autoconf Makefile skeleton ## @@SET_MAKE@@ TOP = . # installation paths DESTDIR = prefix = @@prefix@@ exec_prefix = @@exec_prefix@@ datarootdir = @@datarootdir@@ bindir = @@bindir@@ libdir = @@libdir@@ includedir = @@includedir@@ mandir = @@mandir@@ # build tools CC = @@CC@@ CFLAGS = @@CFLAGS@@ -I. LDFLAGS = @@LDFLAGS@@ -L. LIBS = @@LIBS@@ AR = @@AR@@ RANLIB = @@RANLIB@@ RM = rm -f RMDIR = rmdir POD2MAN = pod2man TRUE = true BISON = @@BISON@@ FLEX = @@FLEX@@ SHTOOL = ./shtool LIBTOOL = ./libtool TARGET = $(TARGET_LIBS) $(TARGET_MANS) $(TARGET_PROGS) TARGET_LIBS = libl2.la TARGET_MANS = l2tool.1 l2-config.1 l2.3 TARGET_PROGS = l2tool l2_test # list of library object files OBJS = \ l2_env.lo \ l2_channel.lo \ l2_ch_noop.lo \ l2_ch_fd.lo \ l2_ch_file.lo \ l2_ch_pipe.lo \ l2_ch_syslog.lo \ l2_ch_socket.lo \ l2_ch_irc.lo \ l2_ch_smtp.lo \ l2_ch_null.lo \ l2_ch_filter.lo \ l2_ch_prefix.lo \ l2_ch_buffer.lo \ l2_ut_format.lo \ l2_ut_param.lo \ l2_ut_pcre.lo \ l2_ut_level.lo \ l2_ut_fmtcb.lo \ l2_ut_sa.lo \ l2_spec.lo \ l2_spec_scan.lo \ l2_spec_parse.lo \ l2_version.lo # list of source files SRCS = \ l2_env.c \ l2_channel.c \ l2_ch_noop.c \ l2_ch_fd.c \ l2_ch_file.c \ l2_ch_pipe.c \ l2_ch_syslog.c \ l2_ch_socket.c \ l2_ch_irc.c \ l2_ch_smtp.c \ l2_ch_null.c \ l2_ch_filter.c \ l2_ch_prefix.c \ l2_ch_buffer.c \ l2_ut_format.c \ l2_ut_param.c \ l2_ut_pcre.c \ l2_ut_level.c \ l2_ut_fmtcb.c \ l2_ut_sa.c \ l2_version.c # helper macro for generating a Unix manual page _MANPAGE = \ V1=`$(SHTOOL) version -lc -dshort l2_version.c`; \ V2=`$(SHTOOL) version -lc -dlong l2_version.c`; \ D=`$(SHTOOL) version -lc -dlong l2_version.c |\ sed -e 's;.*(;;' -e 's;).*;;'`; \ $(POD2MAN) --section=$${SEC} --center="$${ONELINE}" \ --release="$$D" --date="$${NAME} $$V1" $(S)$${BASENAME}.pod |\ sed -e "s;L2_VERSION_STR;$$V2;" >$${BASENAME}.$${SEC} # implicit building rules .SUFFIXES: .SUFFIXES: .c .cc .o .lo .c.o: $(CC) -c $(CPPFLAGS) $(CFLAGS) $< .c.lo: $(LIBTOOL) --mode=compile --quiet $(CC) -c $(CPPFLAGS) $(CFLAGS) $< # default target all: $(TARGET) # build libraries libl2.la: $(OBJS) $(LIBTOOL) --mode=link --quiet $(CC) -o libl2.la $(OBJS) -rpath $(libdir) \ -version-info `$(SHTOOL) version -l c -d libtool l2_version.c` # build regex library l2_ut_pcre.lo: l2_ut_pcre.tab l2_ut_pcre.c l2_ut_pcre.tab: l2_ut_pcre.c $(CC) $(CFLAGS) -DL2_UT_PCRE_TAB $(LDFLAGS) -o l2_ut_pcre.gen l2_ut_pcre.c $(LIBS) ./l2_ut_pcre.gen >l2_ut_pcre.tab -$(RM) l2_ut_pcre.gen # build specification parser/scanner l2_spec.c: l2_spec.h l2_spec_parse.h l2_spec_scan.lo: l2_spec_scan.c l2_spec_parse.h @@M@@l2_spec_scan.c: l2_spec_scan.l @@M@@ $(FLEX) -Pl2_spec_ -s -8 -B -ol2_spec_scan.c l2_spec_scan.l @@M@@l2_spec_parse.c l2_spec_parse.h: l2_spec_parse.y @@M@@ $(BISON) -d -k -pl2_spec_ -ol2_spec_parse.c l2_spec_parse.y # build programs l2tool: l2tool.o libl2.la $(LIBTOOL) --mode=link --quiet $(CC) $(LDFLAGS) -o l2tool l2tool.o libl2.la $(LIBS) l2_test: l2_test.o libl2.la $(LIBTOOL) --mode=link --quiet $(CC) $(LDFLAGS) -o l2_test l2_test.o libl2.la $(LIBS) # build Unix manual pages l2tool.1: l2tool.pod l2_version.c BASENAME="l2tool"; SEC=1; \ NAME="L2"; ONELINE="Logging Tool"; \ $(_MANPAGE) l2-config.1: l2-config.pod l2_version.c BASENAME="l2-config"; SEC=1; \ NAME="L2"; ONELINE="Flexible Logging"; \ $(_MANPAGE) l2.3: l2.pod l2_version.c BASENAME="l2"; SEC=3; \ NAME="L2"; ONELINE="Flexible Logging"; \ $(_MANPAGE) # (minimalistic) test suite check: test test: all $(LIBTOOL) --mode=execute ./l2_test # perform standard installation procedure install: all $(SHTOOL) mkdir -p -f -m 755 $(DESTDIR)$(bindir) $(SHTOOL) mkdir -p -f -m 755 $(DESTDIR)$(includedir) $(SHTOOL) mkdir -p -f -m 755 $(DESTDIR)$(libdir) $(SHTOOL) mkdir -p -f -m 755 $(DESTDIR)$(mandir)/man1 $(SHTOOL) mkdir -p -f -m 755 $(DESTDIR)$(mandir)/man3 $(SHTOOL) install -c -m 755 l2-config $(DESTDIR)$(bindir)/l2-config $(SHTOOL) install -c -m 644 l2-config.1 $(DESTDIR)$(mandir)/man1/l2-config.1 @@$(LIBTOOL) --mode=install \ $(SHTOOL) install -c -m 755 l2tool $(DESTDIR)$(bindir)/l2tool $(SHTOOL) install -c -m 644 l2tool.1 $(DESTDIR)$(mandir)/man1/l2tool.1 $(SHTOOL) install -c -m 644 l2.3 $(DESTDIR)$(mandir)/man3/l2.3 $(SHTOOL) install -c -m 644 l2.h $(DESTDIR)$(includedir)/l2.h @@$(LIBTOOL) --mode=install \ $(SHTOOL) install -c -m 644 libl2.la $(DESTDIR)$(libdir)/libl2.la # perform standard uninstallation procedure uninstall: @@$(LIBTOOL) --mode=uninstall \ $(RM) $(DESTDIR)$(libdir)/libl2.la $(RM) $(DESTDIR)$(includedir)/l2.h $(RM) $(DESTDIR)$(mandir)/man3/l2.3 $(RM) $(DESTDIR)$(mandir)/man1/l2tool.1 @@$(LIBTOOL) --mode=uninstall \ $(RM) $(DESTDIR)$(bindir)/l2tool $(RM) $(DESTDIR)$(mandir)/man1/l2-config.1 $(RM) $(DESTDIR)$(bindir)/l2-config $(RMDIR) $(DESTDIR)$(mandir)/man3 $(RMDIR) $(DESTDIR)$(mandir)/man1 $(RMDIR) $(DESTDIR)$(mandir) $(RMDIR) $(DESTDIR)$(libdir) $(RMDIR) $(DESTDIR)$(includedir) $(RMDIR) $(DESTDIR)$(bindir) # remove everything which can be regenerated # by "make all" clean: $(RM) *.lo *.o $(RM) .libs/* -$(RMDIR) .libs >/dev/null 2>&1 || $(TRUE) $(RM) $(TARGET_LIBS) $(RM) $(TARGET_PROGS) # remove everything which can be regenerated # by "./configure && make all" distclean: clean $(RM) l2-config $(RM) l2_config.h $(RM) config.log config.cache config.status $(RM) libtool $(RM) Makefile $(RM) l2_test.log $(RM) l2_ut_pcre.tab $(RM) l2.h # remove everything which can be regenerated # by "./devtool autogen" realclean: distclean $(RM) configure $(RM) config.guess config.sub $(RM) ltmain.sh libtool.m4 $(RM) shtool $(RM) l2_config.h.in $(RM) l2_spec_scan.c $(RM) l2_spec_parse.c l2_spec_parse.h $(RM) $(TARGET_MANS) # create dependencies depend: all cp Makefile.in Makefile.in.bak \ && sed -ne '1,/^# AUTOMATICALLY GENERATED DEPENDENCY LIST/p' Makefile.in > Makefile.new \ && $(CC) -MM $(CPPFLAGS) $(CFLAGS) $(SRCS) |\ perl -e 'my $$d = ""; $$d .= $$_ while (); $$_ = $$d; \ s|\\\n\s*| |sg; s|\b?\S*/\S*\b?||g; s|\s{2,}| |g; \ print $$_;' >> Makefile.new \ && cp Makefile.new Makefile.in && rm -f Makefile.new $(OBJS): Makefile # AUTOMATICALLY GENERATED DEPENDENCY LIST - DO NOT EDIT l2_env.o: l2_env.c l2_p.h l2.h l2_config.h l2_ut_format.h l2_ut_pcre.h l2_ut_sa.h l2_channel.o: l2_channel.c l2_p.h l2.h l2_config.h l2_ut_format.h l2_ut_pcre.h l2_ut_sa.h l2_ch_noop.o: l2_ch_noop.c l2.h l2_ch_fd.o: l2_ch_fd.c l2.h l2_ch_file.o: l2_ch_file.c l2.h l2_ch_pipe.o: l2_ch_pipe.c l2.h l2_p.h l2_config.h l2_ut_format.h l2_ut_pcre.h l2_ut_sa.h l2_ch_syslog.o: l2_ch_syslog.c l2.h l2_p.h l2_config.h l2_ut_format.h l2_ut_pcre.h l2_ut_sa.h l2_ch_socket.o: l2_ch_socket.c l2.h l2_p.h l2_config.h l2_ut_format.h l2_ut_pcre.h l2_ut_sa.h l2_ch_irc.o: l2_ch_irc.c l2.h l2_p.h l2_config.h l2_ut_format.h l2_ut_pcre.h l2_ut_sa.h l2_ch_smtp.o: l2_ch_smtp.c l2.h l2_p.h l2_config.h l2_ut_format.h l2_ut_pcre.h l2_ut_sa.h l2_ch_null.o: l2_ch_null.c l2.h l2_ch_filter.o: l2_ch_filter.c l2.h l2_ut_pcre.h l2_ch_prefix.o: l2_ch_prefix.c l2.h l2_ch_buffer.o: l2_ch_buffer.c l2.h l2_p.h l2_config.h l2_ut_format.h l2_ut_pcre.h l2_ut_sa.h l2_ut_format.o: l2_ut_format.c l2_ut_format.h l2_ut_param.o: l2_ut_param.c l2.h l2_p.h l2_config.h l2_ut_format.h l2_ut_pcre.h l2_ut_sa.h l2_ut_pcre.o: l2_ut_pcre.c l2_ut_pcre.h l2_ut_pcre.tab l2_ut_level.o: l2_ut_level.c l2.h l2_p.h l2_config.h l2_ut_format.h l2_ut_pcre.h l2_ut_sa.h l2_ut_fmtcb.o: l2_ut_fmtcb.c l2.h l2_ut_sa.o: l2_ut_sa.c l2_config.h l2_ut_sa.h l2_version.o: l2_version.c l2_version.c @ 1.49 log @Adjust copyright messages for new year 2005. @ text @d39 1 d192 2 a193 1 $(SHTOOL) install -c -m 755 l2tool $(DESTDIR)$(bindir)/l2tool d197 2 a198 2 @@$(LIBTOOL) --mode=install $(SHTOOL) install -c -m 644 \ libl2.la $(DESTDIR)$(libdir)/libl2.la d202 2 a203 2 $(MAKE) $(MFLAGS) uninstall-c uninstall-std @@$(LIBTOOL) --mode=uninstall $(RM) $(DESTDIR)$(libdir)/libl2.la d207 2 a208 1 $(RM) $(DESTDIR)$(bindir)/l2tool @ 1.48 log @Adjust copyright messages for new year 2005. @ text @d3 3 a5 3 ## Copyright (c) 2001-2004 Cable & Wireless ## Copyright (c) 2001-2004 The OSSP Project ## Copyright (c) 2001-2004 Ralf S. Engelschall @ 1.47 log @- remove trailing whitespaces - adjust copyright messages - consistently use "OSSP l2" - consistently talk about "Flexible Logging" - use standard OSSP ASCII-art @ text @d3 3 a5 3 ## Copyright (c) 2001-2003 Cable & Wireless Deutschland GmbH ## Copyright (c) 2001-2003 The OSSP Project (http://www.ossp.org/) ## Copyright (c) 2001-2003 Ralf S. Engelschall @ 1.46 log @fix DESTDIR support @ text @d2 4 a5 3 ## OSSP l2 - Logging Library ## Copyright (c) 2001-2002 The OSSP Project (http://www.ossp.org/) ## Copyright (c) 2001-2002 Cable & Wireless Deutschland (http://www.cw.com/de/) d7 1 a7 1 ## This file is part of OSSP L2, a flexible logging library which d170 1 a170 1 NAME="L2"; ONELINE="Logging Library"; \ d174 1 a174 1 NAME="L2"; ONELINE="Logging Library"; \ @ 1.45 log @polish for release @ text @a182 2 $(MAKE) $(MFLAGS) install-std install-c install-std: a191 1 install-c: a199 1 uninstall-c: a202 1 uninstall-std: @ 1.44 log @axe out l2syslog stuff (will occur on OSSP fsl soon) @ text @d2 1 a2 1 ## L2 - OSSP Logging Library d7 1 a7 1 ## can be found at http://www.ossp.org/pkg/l2/. @ 1.43 log @disable syslog test for now @ text @d60 1 a60 1 TARGET_LIBS = libl2.la libl2syslog.la a139 3 libl2syslog.la: l2_syslog.lo libl2.la $(LIBTOOL) --mode=link --quiet $(CC) -o libl2syslog.la l2_syslog.lo libl2.la -rpath $(libdir) \ -version-info `$(SHTOOL) version -l c -d libtool l2_version.c` a160 2 l2_test_syslog: l2_test_syslog.o libl2syslog.la libl2.la $(LIBTOOL) --mode=link --quiet $(CC) $(LDFLAGS) -o l2_test_syslog l2_test_syslog.o libl2syslog.la libl2.la $(LIBS) a198 2 @@$(LIBTOOL) --mode=install $(SHTOOL) install -c -m 644 \ libl2syslog.la $(DESTDIR)$(libdir)/libl2syslog.la a203 1 @@$(LIBTOOL) --mode=uninstall $(RM) $(DESTDIR)$(libdir)/libl2syslog.la @ 1.42 log @integrate first cut of l2syslog stuff @ text @d62 1 a62 1 TARGET_PROGS = l2tool l2_test l2_test_syslog @ 1.41 log @bump copyright year @ text @d60 1 a60 1 TARGET_LIBS = libl2.la d62 1 a62 1 TARGET_PROGS = l2tool l2_test d140 3 d164 2 d204 2 d211 1 @ 1.40 log @fix realclean target @ text @d3 2 a4 2 ## Copyright (c) 2001 The OSSP Project (http://www.ossp.org/) ## Copyright (c) 2001 Cable & Wireless Deutschland (http://www.cw.com/de/) @ 1.39 log @Remove socket monitor utility, because now we have SA and the functionality either has to be applied again as an "satool" to SA or we should use one of the existing tools like "netcat", etc. @ text @a246 1 $(RM) l2-config.1 a247 1 $(RM) l2.3 d250 1 @ 1.38 log @Remove all half-done C++ things. Because in the near future we neither will have time to finish this nor do we really want it to be finished. So kick out all of this stuff. If we later want to add real C++ support, we can easily apply this again. @ text @a160 2 l2_sockmon: l2_sockmon.o $(LIBTOOL) --mode=link --quiet $(CC) $(LDFLAGS) -o l2_sockmon l2_sockmon.o $(LIBS) @ 1.37 log @First cut for the L2 command line tool which allows us very easy testing through the new channel tree specification parser. @ text @a44 1 CXX = @@CXX@@ a45 1 CXXFLAGS = @@CXXFLAGS@@ -I. d60 3 a62 3 TARGET_LIBS = libl2.la @@LIBL2XX_LA@@ TARGET_MANS = l2tool.1 l2-config.1 l2.3 @@L2XX_3@@ TARGET_PROGS = l2tool l2_test @@L2_TESTXX@@ a129 2 .cc.o: $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $< a131 2 .cc.lo: $(LIBTOOL) --mode=compile --quiet $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $< a139 3 libl2++.la: $(OBJS) l2++.lo $(LIBTOOL) --mode=link --quiet $(CC) -o libl2++.la $(OBJS) l2++.lo -rpath $(libdir) \ -version-info `$(SHTOOL) version -l c -d libtool l2_version.c` a160 2 l2_test++: l2_test++.o libl2++.la $(LIBTOOL) --mode=link --quiet $(CC) $(LDFLAGS) -o l2_test++ l2_test++.o libl2++.la $(LIBS) a176 4 l2++.3: l2++.pod l2_version.c BASENAME="l2++"; SEC=3; \ NAME="L2"; ONELINE="Logging Library (C++)"; \ $(_MANPAGE) d180 1 a180 2 test: all test-c @@TEST_CXX@@ test-c: a181 2 test-cxx: $(LIBTOOL) --mode=execute ./l2_test++ d185 1 a185 1 $(MAKE) $(MFLAGS) install-std install-c @@INSTALL_CXX@@ a200 5 install-cxx: $(SHTOOL) install -c -m 644 l2++.3 $(DESTDIR)$(mandir)/man3/l2++.3 $(SHTOOL) install -c -m 644 l2++.h $(DESTDIR)$(includedir)/l2++.h @@$(LIBTOOL) --mode=install $(SHTOOL) install -c -m 644 \ libl2++.la $(DESTDIR)$(libdir)/libl2++.la d204 1 a204 5 $(MAKE) $(MFLAGS) @@UNINSTALL_CXX@@ uninstall-c uninstall-std uninstall-cxx: @@$(LIBTOOL) --mode=uninstall $(RM) $(DESTDIR)$(libdir)/libl2++.la $(RM) $(DESTDIR)$(includedir)/l2++.h $(RM) $(DESTDIR)$(mandir)/man3/l2++.3 a251 1 $(RM) l2++.3 @ 1.36 log @Enhance the specification parser to be more smart in parsing parameter values in order to remove the burden on the user to provide massive syntactic sugar. One now can name=value or name="value" or even name=va"lu"e, i.e., do not require quotation marks. But if they are present they can be used to introduce spaces or special characters with \xXX notation. @ text @d61 1 a61 1 TARGET = $(TARGET_LIBS) $(TARGET_MANS) $(TARGET_TESTS) d63 2 a64 2 TARGET_MANS = l2-config.1 l2.3 @@L2XX_3@@ TARGET_TESTS = l2_test @@L2_TESTXX@@ d165 3 a167 1 # build test suite programs d176 4 d212 2 d237 2 d255 1 a255 1 $(RM) $(TARGET_TESTS) @ 1.35 log @Add --enable-maintainer mode and only use Bison and Flex if this mode enabled. Else we assume end user mode where the scanner and parser files have to be already pre-generated. Additionally check the version of the installed GNU Flex to make sure developers to not think the 1997'er Flex version 2.5.4 is sufficient. @ text @d161 1 a161 1 @@M@@ $(FLEX) -f -Pl2_spec_ -s -8 -B -ol2_spec_scan.c l2_spec_scan.l @ 1.34 log @The parser should be compiled first to later provide the lexer with symbols. @ text @d56 2 a57 2 BISON = bison FLEX = flex d160 4 a163 4 l2_spec_parse.c l2_spec_parse.h: l2_spec_parse.y $(BISON) -d -k -pl2_spec_ -ol2_spec_parse.c l2_spec_parse.y l2_spec_scan.c: l2_spec_scan.l $(FLEX) -f -Pl2_spec_ -s -8 -B -ol2_spec_scan.c l2_spec_scan.l a245 4 # remove machine-generated parsers and scanners $(RM) l2_spec_parse.h $(RM) l2_spec_parse.c $(RM) l2_spec_scan.c @ 1.33 log @Remove yacc and lex generated files. @ text @d160 2 a163 2 l2_spec_parse.c l2_spec_parse.h: l2_spec_parse.y $(BISON) -d -k -pl2_spec_ -ol2_spec_parse.c l2_spec_parse.y @ 1.32 log @switch to devtool stuff (taken over from OSSP SA) @ text @d246 4 @ 1.31 log @ok, this was just for easier developing the parser @ text @a116 10 # file containing the official version information _VERSION_FILE = \ l2_version.c # helper macro for updating version information _VERSION = \ $(SHTOOL) version -lc -nL2 -pl2_ $$OPT $(_VERSION_FILE);\ V=`$(SHTOOL) version -lc -dlong $(_VERSION_FILE)`;\ sed -e "s/Version .*(.*)/Version $$V/g" README.n && mv README.n README d119 3 a121 3 V1=`$(SHTOOL) version -lc -dshort $(_VERSION_FILE)`; \ V2=`$(SHTOOL) version -lc -dlong $(_VERSION_FILE)`; \ D=`$(SHTOOL) version -lc -dlong $(_VERSION_FILE) |\ d174 1 a174 1 l2-config.1: l2-config.pod $(_VERSION_FILE) d178 1 a178 1 l2.3: l2.pod $(_VERSION_FILE) d182 1 a182 1 l2++.3: l2++.pod $(_VERSION_FILE) d260 1 a260 1 # by "autoconf && autoheader && ./configure && make all" a271 19 # roll a distribution tarball dist: distclean @@$(SHTOOL) fixperm -v .; \ V=`$(SHTOOL) version -l c -d short l2_version.c`; \ $(SHTOOL) tarball -o l2-$${V}.tar.gz -d str-$${V} -u ossp -g ossp \ -e 'CVS,\.cvsignore,\.[ao],^\.,autogen.sh' -c 'gzip --best' . # increase or update version information new-version: @@V="$(VERSION)"; \ if [ ".$$V" != . ]; then \ OPT="-s$$V"; \ else \ OPT="-e"; \ fi; \ $(_VERSION) update-version: @@OPT="-s`$(SHTOOL) version -lc -dshort $(_VERSION_FILE)`" && $(_VERSION) @ 1.30 log @HEADS UP, guys: Here comes the first cut for the long-awaited channel tree specification parser and channel tree builder. This certainly makes L2 finally _THE_ killer library in the logging field. Woohooo... and the crowd goes wild! It allows one to build an arbitrary complex logging channel tree out of a single textual specification. An example follows: noop -> { prefix(prefix="[%d-%m-%Y/%H:%M:%S] %L test[%P]: ", timezone="local") -> filter(regex="hecking", negate="0") -> buffer(size="800") -> file(path="l2_test.log",append="1",perm="420"); error: syslog(ident="L2-Test", facility="user", remotehost="en1", logpid="1", target="remote"); panic: smtp(rcpt="rse@@engelschall.com", host="en1", port="25" } This allows one to log nice timestamp-prefixed messages containing the word "hecking" to a buffered file. Additionally if the message has a level higher or equal to "error" it also logs it remotely via UDP to the syslogd on en1. And additionally if the message is a panic message, it is also sent out as an Email via SMTP to the MTA on en1. Ever thought a C library has to be dull and simple? ;) PS: This stuff certainly needs more polishing and cleanup and also a few things I'll enhance in the future (for instance to remove the restriction that parameter values have to be in quotation marks, etc.). @ text @a255 2 $(RM) l2_spec_scan.c # FIXME: remove later $(RM) l2_spec_parse.c l2_spec_parse.h # FIXME: remove later @ 1.29 log @Seems like my long years of programming in assembly language still have an impact on my thinking. Change "nop" (assembly mnemonic) to "noop" (english abbreviation) in the name of our no-operation channel. Thanks to Michael for catching this. @ text @d56 2 d88 3 d167 8 d256 2 d282 2 @ 1.28 log @Simplify "null" (discard) output channel to minimum implementation and provide an additional "nop" (no-operation) filter channel for typical use as the root channel in a channel tree. @ text @d68 1 a68 1 l2_ch_nop.lo \ d92 1 a92 1 l2_ch_nop.c \ d301 3 a303 2 l2_env.o: l2_env.c l2.h l2_p.h l2_config.h l2_ut_pcre.h l2_ut_sa.h l2_channel.o: l2_channel.c l2.h l2_p.h l2_config.h l2_ut_pcre.h l2_ut_sa.h d306 5 a310 5 l2_ch_pipe.o: l2_ch_pipe.c l2.h l2_p.h l2_config.h l2_ut_pcre.h l2_ut_sa.h l2_ch_syslog.o: l2_ch_syslog.c l2.h l2_p.h l2_config.h l2_ut_pcre.h l2_ut_sa.h l2_ch_socket.o: l2_ch_socket.c l2.h l2_p.h l2_config.h l2_ut_pcre.h l2_ut_sa.h l2_ch_irc.o: l2_ch_irc.c l2.h l2_p.h l2_config.h l2_ut_pcre.h l2_ut_sa.h l2_ch_smtp.o: l2_ch_smtp.c l2.h l2_p.h l2_config.h l2_ut_pcre.h l2_ut_sa.h d314 3 a316 3 l2_ch_buffer.o: l2_ch_buffer.c l2.h l2_p.h l2_config.h l2_ut_pcre.h l2_ut_sa.h l2_ut_format.o: l2_ut_format.c l2.h l2_p.h l2_config.h l2_ut_pcre.h l2_ut_sa.h l2_ut_param.o: l2_ut_param.c l2.h l2_p.h l2_config.h l2_ut_pcre.h l2_ut_sa.h d318 1 a318 1 l2_ut_level.o: l2_ut_level.c l2.h l2_p.h l2_config.h l2_ut_pcre.h l2_ut_sa.h @ 1.27 log @Channel-Only Revamping Step 2: - moved code of l2_stream.c into (new) l2_env.c and l2_channel.c - created new l2_env_t and l2_env_xxx() - changed l2_xx_create() functions to also return l2_result_t - moved error handling into l2_env_t - replaced l2_channel_stack() with two new and more flexible l2_channel_link() and l2_channel_unlink() functions - rewritten test stuff in l2_test.c to use new structure - added new l2_channel_env() function for retriving l2_env_t Puhhh.... @ text @d68 1 d92 1 @ 1.26 log @make depend @ text @d66 1 a66 1 l2_stream.lo \ d89 1 a89 1 l2_stream.c \ d299 1 a299 1 l2_stream.o: l2_stream.c l2.h l2_p.h l2_config.h l2_ut_pcre.h l2_ut_sa.h d306 1 @ 1.25 log @Birth of IRC channel. @ text @d303 2 a304 2 l2_ch_pipe.o: l2_ch_pipe.c l2.h l2_ch_syslog.o: l2_ch_syslog.c l2.h d308 1 a308 1 l2_ch_filter.o: l2_ch_filter.c l2.h d310 1 a310 1 l2_ch_buffer.o: l2_ch_buffer.c l2.h d313 1 a313 1 l2_ut_pcre.o: l2_ut_pcre.c l2_ut_pcre.h l2_ut_pcre_tab.c d316 1 a316 1 l2_ut_sa.o: l2_ut_sa.c l2_p.h l2.h l2_config.h l2_ut_pcre.h l2_ut_sa.h @ 1.24 log @Reduce to the new generated version of PCRE 3.5. This version is just half the size, because all comments and unneccessary whitespaces were stripped. @ text @d73 1 d96 1 @ 1.23 log @remove l2.h on 'make distclean' @ text @d152 5 a156 6 l2_ut_pcre.lo: l2_ut_pcre.c l2_ut_pcre.c: l2_ut_pcre_tab.c l2_ut_pcre_tab.c: l2_ut_pcre_gen ./l2_ut_pcre_gen >l2_ut_pcre_tab.c l2_ut_pcre_gen: $(CC) $(CFLAGS) -DL2_UT_PCRE_GENTAB $(LDFLAGS) -o l2_ut_pcre_gen l2_ut_pcre.c $(LIBS) d249 1 a249 1 $(RM) l2_ut_pcre_gen l2_ut_pcre_tab.c @ 1.22 log @Fix dependency generation @ text @d251 1 @ 1.21 log @adapted new L2 flushmask feature @ text @d86 22 d284 1 a284 1 depend: d286 5 a290 3 && sed -ne '1,/^# DO NOT REMOVE/p' Makefile.in > Makefile.new \ && $(CC) -MM $(CPPFLAGS) $(CFLAGS) *.c |\ sed -e 's/^\(l2_.*\)\.o:/\1.lo:/' >> Makefile.new \ a293 5 ## ## ____ DEPENDENCY AREA ____________________________________________ ## (AUTOMATICALLY UPDATED - DO NOT EDIT) ## d296 19 a314 13 l2_ch_buffer.o: l2_ch_buffer.c l2.h l2_p.h l2_ch_fd.o: l2_ch_fd.c l2.h l2_p.h l2_ch_file.o: l2_ch_file.c l2.h l2_p.h l2_ch_filter.o: l2_ch_filter.c l2.h l2_p.h l2_ch_null.o: l2_ch_null.c l2.h l2_p.h l2_ch_pipe.o: l2_ch_pipe.c l2.h l2_p.h l2_ch_prefix.o: l2_ch_prefix.c l2.h l2_p.h l2_ch_socket.o: l2_ch_socket.c l2.h l2_p.h l2_ch_syslog.o: l2_ch_syslog.c l2.h l2_p.h l2_channel.o: l2_channel.c l2.h l2_p.h l2_stream.o: l2_stream.c l2.h l2_p.h l2_test.o: l2_test.c l2.h l2_sockmon.o: l2_sockmon.c a315 47 l2_ch_buffer.lo: l2_ch_buffer.c l2.h l2_p.h l2_ut_pcre.h l2_ch_fd.lo: l2_ch_fd.c l2.h l2_p.h l2_ut_pcre.h l2_ch_file.lo: l2_ch_file.c l2.h l2_p.h l2_ut_pcre.h l2_ch_filter.lo: l2_ch_filter.c l2.h l2_p.h l2_ut_pcre.h l2_ch_null.lo: l2_ch_null.c l2.h l2_p.h l2_ut_pcre.h l2_ch_pipe.lo: l2_ch_pipe.c l2.h l2_p.h l2_ut_pcre.h l2_ch_prefix.lo: l2_ch_prefix.c l2.h l2_p.h l2_ut_pcre.h l2_ch_socket.lo: l2_ch_socket.c l2.h l2_p.h l2_ut_pcre.h l2_ch_syslog.lo: l2_ch_syslog.c l2.h l2_p.h l2_ut_pcre.h l2_channel.lo: l2_channel.c l2.h l2_p.h l2_ut_pcre.h l2_stream.lo: l2_stream.c l2.h l2_p.h l2_ut_pcre.h l2_ut_format.lo: l2_ut_format.c l2.h l2_p.h l2_ut_pcre.h l2_ut_param.lo: l2_ut_param.c l2.h l2_p.h l2_ut_pcre.h l2_ut_pcre.lo: l2_ut_pcre.c l2_ut_pcre.h l2_ut_pcre_tab.c l2_ut_pcre_tab.lo: l2_ut_pcre_tab.c l2_version.lo: l2_version.c l2_version.c l2_ch_buffer.lo: l2_ch_buffer.c l2.h l2_ch_fd.lo: l2_ch_fd.c l2.h l2_ch_file.lo: l2_ch_file.c l2.h l2_ch_filter.lo: l2_ch_filter.c l2.h l2_ch_null.lo: l2_ch_null.c l2.h l2_ch_pipe.lo: l2_ch_pipe.c l2.h l2_ch_prefix.lo: l2_ch_prefix.c l2.h l2_ch_smtp.lo: l2_ch_smtp.c l2.h l2_p.h l2_config.h l2_ut_pcre.h \ l2_ut_sa.h l2_ch_socket.lo: l2_ch_socket.c l2.h l2_p.h l2_config.h l2_ut_pcre.h \ l2_ut_sa.h l2_ch_syslog.lo: l2_ch_syslog.c l2.h l2_channel.lo: l2_channel.c l2.h l2_p.h l2_config.h l2_ut_pcre.h \ l2_ut_sa.h l2_epreuve.lo: l2_epreuve.c l2.h l2_p.h l2_config.h l2_ut_pcre.h \ l2_ut_sa.h l2_sockmon.lo: l2_sockmon.c l2_stream.lo: l2_stream.c l2.h l2_p.h l2_config.h l2_ut_pcre.h l2_ut_sa.h l2_test.lo: l2_test.c l2.h l2_ut_fmtcb.lo: l2_ut_fmtcb.c l2.h l2_ut_format.lo: l2_ut_format.c l2.h l2_p.h l2_config.h l2_ut_pcre.h \ l2_ut_sa.h l2_ut_level.lo: l2_ut_level.c l2.h l2_p.h l2_config.h l2_ut_pcre.h \ l2_ut_sa.h l2_ut_param.lo: l2_ut_param.c l2.h l2_p.h l2_config.h l2_ut_pcre.h \ l2_ut_sa.h l2_ut_pcre.lo: l2_ut_pcre.c l2_ut_pcre.h l2_ut_pcre_tab.c l2_ut_pcre_tab.lo: l2_ut_pcre_tab.c l2_ut_sa.lo: l2_ut_sa.c l2_p.h l2.h l2_config.h l2_ut_pcre.h l2_ut_sa.h l2_version.lo: l2_version.c l2_version.c @ 1.20 log @Bug fixes, cleanup, and removed makefile redundancies (see end.) @ text @d308 30 @ 1.19 log @First cut for an SMTP output channel. This is very useful for (additionally) logging L2_LEVEL_PANIC messages in real-time to a mailbox via direct SMTP connection to a mail server. Internally it is very simple, because it is based on our new Socket Abstraction (SA) library (l2_ut_sa.[ch])... @ text @d142 2 d289 1 d291 1 a291 48 l2_ch_buffer.o: l2_ch_buffer.c l2.h l2_p.h l2_ch_fd.o: l2_ch_fd.c l2.h l2_p.h l2_ch_file.o: l2_ch_file.c l2.h l2_p.h l2_ch_filter.o: l2_ch_filter.c l2.h l2_p.h l2_ch_null.o: l2_ch_null.c l2.h l2_p.h l2_ch_pipe.o: l2_ch_pipe.c l2.h l2_p.h l2_ch_prefix.o: l2_ch_prefix.c l2.h l2_p.h l2_ch_socket.o: l2_ch_socket.c l2.h l2_p.h l2_ch_syslog.o: l2_ch_syslog.c l2.h l2_p.h l2_channel.o: l2_channel.c l2.h l2_p.h l2_epreuve.o: l2_epreuve.c l2.h l2_p.h l2_stream.o: l2_stream.c l2.h l2_p.h l2_test.o: l2_test.c l2.h l2_ut_format.o: l2_ut_format.c l2.h l2_p.h l2_ut_param.o: l2_ut_param.c l2.h l2_p.h l2_version.o: l2_version.c l2_version.c l2_ch_buffer.lo: l2_ch_buffer.c l2.h l2_p.h l2_ch_fd.lo: l2_ch_fd.c l2.h l2_p.h l2_ch_file.lo: l2_ch_file.c l2.h l2_p.h l2_ch_filter.lo: l2_ch_filter.c l2.h l2_p.h l2_ch_null.lo: l2_ch_null.c l2.h l2_p.h l2_ch_pipe.lo: l2_ch_pipe.c l2.h l2_p.h l2_ch_prefix.lo: l2_ch_prefix.c l2.h l2_p.h l2_ch_socket.lo: l2_ch_socket.c l2.h l2_p.h l2_ch_syslog.lo: l2_ch_syslog.c l2.h l2_p.h l2_channel.lo: l2_channel.c l2.h l2_p.h l2_epreuve.lo: l2_epreuve.c l2.h l2_p.h l2_stream.lo: l2_stream.c l2.h l2_p.h l2_test.lo: l2_test.c l2.h l2_ut_format.lo: l2_ut_format.c l2.h l2_p.h l2_ut_param.lo: l2_ut_param.c l2.h l2_p.h l2_version.lo: l2_version.c l2_version.c l2_ch_buffer.lo: l2_ch_buffer.c l2.h l2_p.h l2_ch_fd.lo: l2_ch_fd.c l2.h l2_p.h l2_ch_file.lo: l2_ch_file.c l2.h l2_p.h l2_ch_filter.lo: l2_ch_filter.c l2.h l2_p.h l2_ch_null.lo: l2_ch_null.c l2.h l2_p.h l2_ch_pipe.lo: l2_ch_pipe.c l2.h l2_p.h l2_ch_prefix.lo: l2_ch_prefix.c l2.h l2_p.h l2_ch_socket.lo: l2_ch_socket.c l2.h l2_p.h l2_ch_syslog.lo: l2_ch_syslog.c l2.h l2_p.h l2_channel.lo: l2_channel.c l2.h l2_p.h l2_epreuve.lo: l2_epreuve.c l2.h l2_p.h l2_stream.lo: l2_stream.c l2.h l2_p.h l2_test.lo: l2_test.c l2.h l2_ut_format.lo: l2_ut_format.c l2.h l2_p.h l2_ut_param.lo: l2_ut_param.c l2.h l2_p.h l2_version.lo: l2_version.c l2_version.c a301 1 l2_epreuve.lo: l2_epreuve.c l2.h l2_p.h l2_ut_pcre.h a302 1 l2_test.lo: l2_test.c l2.h @ 1.18 log @make sure the version is available internally @ text @d73 1 @ 1.17 log @Add a copy of our SA library to L2 in order to simplify socket channel and socket monitor program. @ text @d82 2 a83 1 l2_ut_sa.lo @ 1.16 log @Add two cool extra formatter functions ;) l2_util_fmt_string: This can be used like %s, but instead of fetching only a "char *" from the var-args stack, it fetches a "char *" plus a "size_t" and this way allows one to log only a sub-string of a larger string without the need for any temporary buffers, etc. l2_util_fmt_dump: This can be used as "%{type}X" for dumping arbitrary octets. The parameter "type" can be either "text" (the default if only "%X" is used) for dumping the octets as text but with non-printable characters replaced by "\xXX" constructs; "hex" for dumping the octets in hexadecimal as "XX:XX:XX:XX" or "base64" for dumping the octets Base64 encoded. All three are intended for making it easier to produce reasonable L2_LEVEL_DEBUG messages without having to fiddle around with temporary buffers and having to care with non-printable characters. For instance, using... : l2_stream_formatter(st, 'D', l2_util_fmt_dump, NULL); : l2_stream_vlog(st, L2_LEVEL_DEBUG, "%{text}D %{hex}D %{base64}D\n", "foo", 12345, "foo\1bar", 7, "foo\1bar", 7, "foo\1bar", 7); : ...produces "foo\x01bar 66:6f:6f:01:62:61:72 Zm9vAWJhcg==" in the output. @ text @d81 2 a82 1 l2_ut_fmtcb.lo @ 1.15 log @fix 'make check' @ text @d80 2 a81 1 l2_ut_level.lo @ 1.14 log @added to utility functions for transforming levelmask between string and int and vice versa @ text @d155 1 a155 1 test: test-c @@TEST_CXX@@ @ 1.13 log @Add (automatically) stripped down version of PCRE 3.5 for use in the filter channel. @ text @d79 2 a80 1 l2_ut_pcre.lo @ 1.12 log @remove test logfile from 'make check' @ text @d78 2 a79 1 l2_ut_param.lo d124 8 d221 1 d314 34 @ 1.11 log @Wohhooooo! Here comes the underlying message formatting support: 1. renamed l2_channel_setparam() to l2_util_setparam() because it is just a utility function and is not tied to any channel. 2. moved l2_util_setparam() to its own l2_ut_param.c source file. 3. added l2_ut_format.c which contains a slightly adjusted version of Str's str_format() stuff under the name l2_util_format(). 4. use l2_util_format() in l2_stream.c instead of vsnprintf() and this way finally support l2_formatter_t callbacks. 5. cleanup adjustments to the l2_stream_formatter() API. Let's rock... @ text @d211 1 @ 1.10 log @- fix realclean target - remove tool update targets (done by autogen.sh) @ text @d76 3 a78 1 l2_ch_buffer.lo d220 1 d248 1 a248 1 sed -e 's/^\(pth_.*\)\.o:/\1.lo:/' >> Makefile.new \ d272 32 @ 1.9 log @Fix more ossp.com references by replacing with the correct domain name ossp.org. @ text @d214 3 d219 1 a238 19 # update build environment tools update-tools: @@$(RM) ltmain.sh ltconfig shtool @@$(MAKE) $(MFLAGS) ltmain.sh ltconfig configure shtool configure: configure.in aclocal.m4 $(RM) configure autoconf ltmain.sh: @@F=`libtoolize -n -c -f | grep 'cp.*ltmain.sh' |\ sed -e 's;[^/]*;;' -e 's; .*;;'`; \ echo "ltmain.sh <-- $$F"; cat $$F |\ sed -e 's:/bin/sh; then:/bin/sh || test "$$nonopt" = ./shtool;then:' \ -e 's:exec \$$SHELL \$$0 --finish:exit 0 #:' >ltmain.sh ltconfig: @@F=`libtoolize -n -c -f | grep 'cp.*ltconfig' | sed -e 's;[^/]*;;' -e 's; .*;;'`; \ echo "ltconfig <-- $$F"; cp $$F . shtool: shtoolize -o shtool echo version mkdir install fixperm tarball @ 1.8 log @Upgrade to GNU autoconf 2.52, GNU libtool 1.4, GNU shtool 1.5.4 @ text @d7 1 a7 1 ## can be found at http://www.ossp.com/pkg/l2/. @ 1.7 log @Simplify things by merging the parameter stuff into l2_channel.c and the l2_stream_t related things into l2_stream.c @ text @d222 1 a222 1 -e 'CVS,\.cvsignore,\.[ao],^\.' -c 'gzip --best' . @ 1.6 log @the "int l2_channel_configure(l2_channel_t *ch, const char *fmt, ...);" beast was my idea, so it is fair to also provide the necessary tool for implementing the underlying handler functions. Here it is, l2_param_parse(). @ text @a65 1 l2_log.lo \ a67 1 l2_param.lo \ @ 1.5 log @fix 'make clean' @ text @d69 1 @ 1.4 log @Added l2_log.c module, which contains l2_stream_log() and l2_stream_vlog(). @ text @d55 1 @ 1.3 log @Major overhaul and improvement of build environment. Especially we now added optional support for C++ building with --with-cxx. @ text @d65 1 d111 1 a111 1 all: $(TARGET) d114 1 a114 1 libl2.la: $(OBJS) d117 1 a117 1 libl2++.la: $(OBJS) l2++.lo d172 1 a172 1 uninstall: d192 1 a192 1 # remove everything which can be regenerated d200 2 a201 2 # remove everything which can be regenerated d210 1 a210 1 # remove everything which can be regenerated @ 1.2 log @Fix manpage substitution @ text @d33 3 d43 1 d53 1 d58 18 a75 25 SRCS=\ l2_stream.c \ l2_channel.c \ l2_ch_fd.c \ l2_ch_file.c \ l2_ch_pipe.c \ l2_ch_syslog.c \ l2_ch_socket.c \ l2_ch_null.c \ l2_ch_filter.c \ l2_ch_prefix.c \ l2_ch_buffer.c OBJS=\ l2_stream.lo \ l2_channel.lo \ l2_ch_fd.lo \ l2_ch_file.lo \ l2_ch_pipe.lo \ l2_ch_syslog.lo \ l2_ch_socket.lo \ l2_ch_null.lo \ l2_ch_filter.lo \ l2_ch_prefix.lo \ l2_ch_buffer.lo d77 1 d79 1 a79 1 $(S)l2_version.c d81 1 d83 3 a85 3 $(SHTOOL) version -lc -nL2 -pl2_ $$OPT $(_VERSION_FILE);\ V=`$(SHTOOL) version -lc -dlong $(_VERSION_FILE)`;\ sed -e "s/Version .*(.*)/Version $$V/g" README.n && mv README.n README d87 1 d89 7 a95 7 V1=`$(SHTOOL) version -lc -dshort $(_VERSION_FILE)`; \ V2=`$(SHTOOL) version -lc -dlong $(_VERSION_FILE)`; \ D=`$(SHTOOL) version -lc -dlong $(_VERSION_FILE) |\ sed -e 's;.*(;;' -e 's;).*;;'`; \ $(POD2MAN) --section=$${SEC} --center="$${ONELINE}" \ --release="$$D" --date="$${NAME} $$V1" $(S)$${BASENAME}.pod |\ sed -e "s;L2_VERSION_STR;$$V2;" >$${BASENAME}.$${SEC} d97 1 d99 1 a99 1 .SUFFIXES: .c .o .lo d101 3 a103 1 $(CC) -c $(CFLAGS) $< d105 3 a107 1 $(LIBTOOL) --mode=compile --quiet $(CC) -c $(CFLAGS) $< d109 2 a110 1 all: libl2.la l2_test l2.3 l2-config.1 d112 1 d115 4 a118 1 -version-info `$(SHTOOL) version -l c -d libtool l2_version.c` d120 1 d123 2 d126 1 d135 4 d140 1 d142 2 a143 1 test: l2_test d145 2 d148 1 d150 40 a189 10 $(SHTOOL) mkdir -p -f -m 755 $(bindir) $(SHTOOL) mkdir -p -f -m 755 $(includedir) $(SHTOOL) mkdir -p -f -m 755 $(libdir) $(SHTOOL) mkdir -p -f -m 755 $(mandir)/man1 $(SHTOOL) mkdir -p -f -m 755 $(mandir)/man3 $(SHTOOL) install -c -m 755 l2-config $(bindir)/l2-config $(SHTOOL) install -c -m 644 l2-config.1 $(mandir)/man1/l2-config.1 $(SHTOOL) install -c -m 644 l2.3 $(mandir)/man3/l2.3 $(SHTOOL) install -c -m 644 l2.h $(includedir)/l2.h @@$(LIBTOOL) --mode=install $(SHTOOL) install -c -m 644 libl2.la $(libdir)/libl2.la d191 2 d195 4 a198 3 $(RM) l2_test.o l2_test $(RM) libl2.la $(RM) -r .libs d200 2 d209 8 d235 2 a236 1 update: d268 1 a268 1 $(LOBJS): Makefile @ 1.1 log @Initial revision @ text @d94 1 a94 1 sed -e "s;STR_VERSION_STR;$$V2;" >$${BASENAME}.$${SEC} @ 1.1.1.1 log @L2 initial source tree @ text @@