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
@@