# Copyright (C) 2006-2010 David Sugar, Tycho Softworks.
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

MAINTAINERCLEANFILES = Makefile.in Makefile
RELEASE = $(LT_VERSION) -release $(LT_RELEASE)
AM_CXXFLAGS = $(UCOMMON_FLAGS)

pkgincludedir = $(includedir)/ucommon
pkginclude_HEADERS = cpr.h object.h linked.h string.h counter.h vector.h \
	bitmap.h timers.h socket.h access.h export.h thread.h mapped.h \
	keydata.h memory.h platform.h fsys.h xml.h ucommon.h stream.h \
	persist.h shell.h protocols.h atomic.h buffer.h numbers.h file.h \
	datetime.h unicode.h secure.h generics.h containers.h stl.h


