Commit f93af2a7 authored by Mark Lindner's avatar Mark Lindner

Merge branch 'master' of https://github.com/hyperrealm/libconfig

parents c4972f5d ec2ea363
2015-10-14 Thomas Fischer <fischer@unix-ag.uni-kl.de>
* configure, configure.ac, debian/libconfig++9-dev.install,
debian/libconfig9-dev.install, lib/Makefile.am, lib/Makefile.in,
lib/libconfig++Config.cmake.in, lib/libconfigConfig.cmake.in,
libconfig.spec.in - locating libconfig in CMake-based projects
2015-08-14 Mark Lindner <markl@neuromancer>
* lib/wincompat.h - Fixed Windows portability issue
......
......@@ -16896,7 +16896,7 @@ fi
ac_config_files="$ac_config_files Makefile lib/Makefile lib/libconfig.pc lib/libconfig++.pc doc/Makefile examples/Makefile examples/c/Makefile examples/c++/Makefile tinytest/Makefile tests/Makefile libconfig.spec"
ac_config_files="$ac_config_files Makefile lib/Makefile lib/libconfig.pc lib/libconfig++.pc lib/libconfigConfig.cmake lib/libconfig++Config.cmake doc/Makefile examples/Makefile examples/c/Makefile examples/c++/Makefile tinytest/Makefile tests/Makefile libconfig.spec"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
......@@ -18027,6 +18027,8 @@ do
"lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
"lib/libconfig.pc") CONFIG_FILES="$CONFIG_FILES lib/libconfig.pc" ;;
"lib/libconfig++.pc") CONFIG_FILES="$CONFIG_FILES lib/libconfig++.pc" ;;
"lib/libconfigConfig.cmake") CONFIG_FILES="$CONFIG_FILES lib/libconfigConfig.cmake" ;;
"lib/libconfig++Config.cmake") CONFIG_FILES="$CONFIG_FILES lib/libconfig++Config.cmake" ;;
"doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
"examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
"examples/c/Makefile") CONFIG_FILES="$CONFIG_FILES examples/c/Makefile" ;;
......
......@@ -127,6 +127,8 @@ AC_OUTPUT(
lib/Makefile
lib/libconfig.pc
lib/libconfig++.pc
lib/libconfigConfig.cmake
lib/libconfig++Config.cmake
doc/Makefile
examples/Makefile
examples/c/Makefile
......
......@@ -3,3 +3,4 @@ debian/tmp/usr/lib/libconfig++.a
debian/tmp/usr/lib/libconfig++.so
debian/tmp/usr/lib/libconfig++.la
debian/tmp/usr/lib/pkgconfig/libconfig++.pc
debian/tmp/usr/lib/cmake/libconfig++/libconfig++Config.cmake
......@@ -3,3 +3,4 @@ debian/tmp/usr/lib/libconfig.a
debian/tmp/usr/lib/libconfig.so
debian/tmp/usr/lib/libconfig.la
debian/tmp/usr/lib/pkgconfig/libconfig.pc
debian/tmp/usr/lib/cmake/libconfig/libconfigConfig.cmake
......@@ -78,3 +78,11 @@ pkgconfig_DATA = libconfig.pc
if BUILDCXX
pkgconfig_DATA += libconfig++.pc
endif
cmakedir = $(libdir)/cmake/libconfig
cmake_DATA = libconfigConfig.cmake
if BUILDCXX
cmakeppdir = $(libdir)/cmake/libconfig++
cmakepp_DATA = libconfig++Config.cmake
endif
......@@ -90,7 +90,9 @@ subdir = lib
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/aux-build/mkinstalldirs \
$(srcdir)/libconfig.pc.in $(srcdir)/libconfig++.pc.in \
scanner.c grammar.h grammar.c $(top_srcdir)/aux-build/depcomp \
$(srcdir)/libconfigConfig.cmake.in \
$(srcdir)/libconfig++Config.cmake.in scanner.c grammar.h \
grammar.c $(top_srcdir)/aux-build/depcomp \
$(top_srcdir)/aux-build/ylwrap $(am__include_HEADERS_DIST)
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
......@@ -101,7 +103,8 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/aux-build/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/ac_config.h
CONFIG_CLEAN_FILES = libconfig.pc libconfig++.pc
CONFIG_CLEAN_FILES = libconfig.pc libconfig++.pc libconfigConfig.cmake \
libconfig++Config.cmake
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
......@@ -130,7 +133,8 @@ am__uninstall_files_from_dir = { \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" \
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cmakedir)" \
"$(DESTDIR)$(cmakeppdir)" "$(DESTDIR)$(pkgconfigdir)" \
"$(DESTDIR)$(includedir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
libconfig___la_LIBADD =
......@@ -234,7 +238,7 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
DATA = $(pkgconfig_DATA)
DATA = $(cmake_DATA) $(cmakepp_DATA) $(pkgconfig_DATA)
am__include_HEADERS_DIST = libconfig.h libconfig.h++
HEADERS = $(include_HEADERS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
......@@ -433,6 +437,10 @@ EXTRA_DIST = \
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libconfig.pc $(am__append_5)
cmakedir = $(libdir)/cmake/libconfig
cmake_DATA = libconfigConfig.cmake
@BUILDCXX_TRUE@cmakeppdir = $(libdir)/cmake/libconfig++
@BUILDCXX_TRUE@cmakepp_DATA = libconfig++Config.cmake
all: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) all-am
......@@ -472,6 +480,10 @@ libconfig.pc: $(top_builddir)/config.status $(srcdir)/libconfig.pc.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
libconfig++.pc: $(top_builddir)/config.status $(srcdir)/libconfig++.pc.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
libconfigConfig.cmake: $(top_builddir)/config.status $(srcdir)/libconfigConfig.cmake.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
libconfig++Config.cmake: $(top_builddir)/config.status $(srcdir)/libconfig++Config.cmake.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
......@@ -665,6 +677,48 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
install-cmakeDATA: $(cmake_DATA)
@$(NORMAL_INSTALL)
@list='$(cmake_DATA)'; test -n "$(cmakedir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(cmakedir)'"; \
$(MKDIR_P) "$(DESTDIR)$(cmakedir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(cmakedir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(cmakedir)" || exit $$?; \
done
uninstall-cmakeDATA:
@$(NORMAL_UNINSTALL)
@list='$(cmake_DATA)'; test -n "$(cmakedir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(cmakedir)'; $(am__uninstall_files_from_dir)
install-cmakeppDATA: $(cmakepp_DATA)
@$(NORMAL_INSTALL)
@list='$(cmakepp_DATA)'; test -n "$(cmakeppdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(cmakeppdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(cmakeppdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(cmakeppdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(cmakeppdir)" || exit $$?; \
done
uninstall-cmakeppDATA:
@$(NORMAL_UNINSTALL)
@list='$(cmakepp_DATA)'; test -n "$(cmakeppdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(cmakeppdir)'; $(am__uninstall_files_from_dir)
install-pkgconfigDATA: $(pkgconfig_DATA)
@$(NORMAL_INSTALL)
@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
......@@ -795,7 +849,7 @@ check: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) check-am
all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS)
installdirs:
for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)"; do \
for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cmakedir)" "$(DESTDIR)$(cmakeppdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: $(BUILT_SOURCES)
......@@ -856,7 +910,8 @@ info: info-am
info-am:
install-data-am: install-includeHEADERS install-pkgconfigDATA
install-data-am: install-cmakeDATA install-cmakeppDATA \
install-includeHEADERS install-pkgconfigDATA
install-dvi: install-dvi-am
......@@ -902,7 +957,8 @@ ps: ps-am
ps-am:
uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES \
uninstall-am: uninstall-cmakeDATA uninstall-cmakeppDATA \
uninstall-includeHEADERS uninstall-libLTLIBRARIES \
uninstall-pkgconfigDATA
.MAKE: all check install install-am install-strip
......@@ -911,17 +967,19 @@ uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES \
clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \
ctags-am distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am \
install-includeHEADERS install-info install-info-am \
install-libLTLIBRARIES install-man install-pdf install-pdf-am \
install-pkgconfigDATA install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags tags-am uninstall uninstall-am uninstall-includeHEADERS \
uninstall-libLTLIBRARIES uninstall-pkgconfigDATA
html-am info info-am install install-am install-cmakeDATA \
install-cmakeppDATA install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-includeHEADERS install-info \
install-info-am install-libLTLIBRARIES install-man install-pdf \
install-pdf-am install-pkgconfigDATA install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
uninstall-cmakeDATA uninstall-cmakeppDATA \
uninstall-includeHEADERS uninstall-libLTLIBRARIES \
uninstall-pkgconfigDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
......
set(LIBCONFIG++_FOUND 1)
set(LIBCONFIG++_VERSION "1.5")
set(LIBCONFIG++_LIBRARIES "config++")
set(LIBCONFIG++_LIBRARY_DIRS "@libdir@")
set(LIBCONFIG++_LDFLAGS "")
set(LIBCONFIG++_INCLUDE_DIRS "@includedir@")
set(LIBCONFIG++_CFLAGS "")
......@@ -47,10 +47,11 @@
#define PATH_TOKENS ":./"
#define CHUNK_SIZE 16
#define FLOAT_PRECISION DBL_DIG
#define FLOAT_PRECISION 2
#define TAB2DIGITS(x) (((x) & 0xFF00) >> 8)
#define DIGITS2TAB(x) (((x) & 0xFF) << 8)
#define TAB2TAB(x) ((x) & 0xF)
#define _new(T) (T *)calloc(1, sizeof(T)) /* zeroed */
#define _delete(P) free((void *)(P))
......@@ -371,7 +372,7 @@ static void __config_write_value(const config_t *config,
fputc('\n', stream);
if(depth > 1)
__config_indent(stream, depth, config->tab_width);
__config_indent(stream, depth, TAB2TAB(config->tab_width));
}
fprintf(stream, "{\n");
......@@ -387,7 +388,7 @@ static void __config_write_value(const config_t *config,
}
if(depth > 1)
__config_indent(stream, depth, config->tab_width);
__config_indent(stream, depth, TAB2TAB(config->tab_width));
if(depth > 0)
fputc('}', stream);
......@@ -650,7 +651,7 @@ static void __config_write_setting(const config_t *config,
config, CONFIG_OPTION_COLON_ASSIGNMENT_FOR_NON_GROUPS) ? ':' : '=';
if(depth > 1)
__config_indent(stream, depth, config->tab_width);
__config_indent(stream, depth, TAB2TAB(config->tab_width));
if(setting->name)
......@@ -758,13 +759,30 @@ void config_destroy(config_t *config)
}
/* ------------------------------------------------------------------------- */
void config_set_tab_width(config_t *config,
unsigned short width)
{
/* As per documentation: valid range= 0..15 */
config->tab_width = (width <= 15) ? width : 15;
}
/* ------------------------------------------------------------------------- */
unsigned short config_get_tab_width(const config_t *config)
{
return TAB2TAB(config->tab_width);
}
/* ------------------------------------------------------------------------- */
void config_set_float_precision(config_t *config,
unsigned short digits)
{
config->tab_width |= DIGITS2TAB(digits);
}
unsigned short config_get_float_precision(config_t *config)
unsigned short config_get_float_precision(const config_t *config)
{
return TAB2DIGITS(config->tab_width);
}
......@@ -786,8 +804,8 @@ void config_init(config_t *config)
* (ab)using the existing macros' 0x0F mask in order to preserve
* API & ABI compatibility ; changes are fully backwards compatible
*/
config->tab_width = 2;
config->tab_width |= DIGITS2TAB(FLOAT_PRECISION); /* float_digits */
config->tab_width = FLOAT_PRECISION;
config->tab_width |= DIGITS2TAB(2); /* float_digits */
}
/* ------------------------------------------------------------------------- */
......
......@@ -144,7 +144,11 @@ extern LIBCONFIG_API void config_set_include_dir(config_t *config,
extern LIBCONFIG_API void config_set_float_precision(config_t *config,
unsigned short digits);
extern LIBCONFIG_API unsigned short config_get_float_precision(config_t *config);
extern LIBCONFIG_API unsigned short config_get_float_precision(const config_t *config);
extern LIBCONFIG_API void config_set_tab_width(config_t *config,
unsigned short width);
extern LIBCONFIG_API unsigned short config_get_tab_width(const config_t *config);
extern LIBCONFIG_API void config_init(config_t *config);
extern LIBCONFIG_API void config_destroy(config_t *config);
......@@ -298,13 +302,6 @@ extern LIBCONFIG_API int config_lookup_string(const config_t *config,
#define /* short */ config_get_default_format(/* config_t * */ C) \
((C)->default_format)
#define /* void */ config_set_tab_width(/* config_t * */ C, \
/* unsigned short */ W) \
(C)->tab_width = ((W) & 0x0F)
#define /* unsigned char */ config_get_tab_width(/* const config_t * */ C) \
((C)->tab_width & 0x0F)
#define /* unsigned short */ config_setting_source_line( \
/* const config_setting_t * */ S) \
((S)->line)
......
set(LIBCONFIG_FOUND 1)
set(LIBCONFIG_VERSION "1.5")
set(LIBCONFIG_LIBRARIES "config")
set(LIBCONFIG_LIBRARY_DIRS "@libdir@")
set(LIBCONFIG_LDFLAGS "")
set(LIBCONFIG_INCLUDE_DIRS "@includedir@")
set(LIBCONFIG_CFLAGS "")
......@@ -65,12 +65,16 @@ ldconfig
%{_infodir}
%{_includedir}
%{_libdir}/pkgconfig
%{_libdir}/cmake/libconfig
%{_libdir}/cmake/libconfig++
%{_libdir}/%{name}.a
%{_libdir}/%{name}.la
%{_libdir}/%{name}++.a
%{_libdir}/%{name}++.la
%changelog
* Wed Oct 14 2015 Thomas Fischer <fischer@unix-ag.uni-kl.de> 1.5
- added library directory cmake/libconfig and cmake/libconfig++
* Wed Aug 19 2007 Deneys S. Maartens <dsm@tlabs.ac.za> 1.1.3-1
- create spec file
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment