From: Lucas De Marchi Date: Tue, 27 Dec 2011 14:26:51 +0000 (-0200) Subject: build-sys: create libkmod-util.la convenience lib X-Git-Tag: v3~49 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=529148ea708d93aa30f8745f6b63b95ca24a52f9;p=thirdparty%2Fkmod.git build-sys: create libkmod-util.la convenience lib Util functions can be shared betweeing libkmod and tools. Start with the hash implementation. --- diff --git a/Makefile.am b/Makefile.am index fdba51bd..9fecc2ce 100644 --- a/Makefile.am +++ b/Makefile.am @@ -40,6 +40,10 @@ LIBKMOD_CURRENT=2 LIBKMOD_REVISION=0 LIBKMOD_AGE=1 +noinst_LTLIBRARIES = libkmod/libkmod-util.la +libkmod_libkmod_util_la_SOURCES = libkmod/libkmod-hash.c \ + libkmod/libkmod-hash.h + include_HEADERS = libkmod/libkmod.h lib_LTLIBRARIES = libkmod/libkmod.la @@ -49,7 +53,6 @@ libkmod_libkmod_la_SOURCES =\ libkmod/macro.h \ libkmod/libkmod.c \ libkmod/libkmod-list.c \ - libkmod/libkmod-hash.c \ libkmod/libkmod-config.c \ libkmod/libkmod-util.c \ libkmod/libkmod-index.c \ @@ -64,8 +67,10 @@ EXTRA_DIST += libkmod/COPYING libkmod/README libkmod_libkmod_la_LDFLAGS = $(AM_LDFLAGS) \ -version-info $(LIBKMOD_CURRENT):$(LIBKMOD_REVISION):$(LIBKMOD_AGE) \ -Wl,--version-script=$(top_srcdir)/libkmod/libkmod.sym -libkmod_libkmod_la_DEPENDENCIES = ${top_srcdir}/libkmod/libkmod.sym -libkmod_libkmod_la_LIBADD = ${liblzma_LIBS} ${zlib_LIBS} +libkmod_libkmod_la_DEPENDENCIES = libkmod/libkmod-util.la \ + ${top_srcdir}/libkmod/libkmod.sym +libkmod_libkmod_la_LIBADD = libkmod/libkmod-util.la \ + ${liblzma_LIBS} ${zlib_LIBS} pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libkmod/libkmod.pc diff --git a/libkmod/libkmod-hash.c b/libkmod/libkmod-hash.c index 43cbc02f..15140ece 100644 --- a/libkmod/libkmod-hash.c +++ b/libkmod/libkmod-hash.c @@ -19,7 +19,7 @@ */ #include "libkmod.h" -#include "libkmod-private.h" +#include "libkmod-hash.h" #include #include diff --git a/libkmod/libkmod-hash.h b/libkmod/libkmod-hash.h new file mode 100644 index 00000000..53e6c81d --- /dev/null +++ b/libkmod/libkmod-hash.h @@ -0,0 +1,13 @@ +#ifndef _LIBKMOD_HASH_H_ +#define _LIBKMOD_HASH_H_ + +struct hash; +struct hash *hash_new(unsigned int n_buckets, void (*free_value)(void *value)); +void hash_free(struct hash *hash); +int hash_add(struct hash *hash, const char *key, const void *value); +int hash_add_unique(struct hash *hash, const char *key, const void *value); +int hash_del(struct hash *hash, const char *key); +void *hash_find(const struct hash *hash, const char *key); +unsigned int hash_get_count(const struct hash *hash); + +#endif diff --git a/libkmod/libkmod-private.h b/libkmod/libkmod-private.h index ee76e70e..5c9eeaf7 100644 --- a/libkmod/libkmod-private.h +++ b/libkmod/libkmod-private.h @@ -129,14 +129,8 @@ void kmod_module_set_install_commands(struct kmod_module *mod, const char *cmd) void kmod_module_set_remove_commands(struct kmod_module *mod, const char *cmd) __attribute__((nonnull(1))); /* libkmod-hash.c */ -struct hash; -struct hash *hash_new(unsigned int n_buckets, void (*free_value)(void *value)); -void hash_free(struct hash *hash); -int hash_add(struct hash *hash, const char *key, const void *value); -int hash_add_unique(struct hash *hash, const char *key, const void *value); -int hash_del(struct hash *hash, const char *key); -void *hash_find(const struct hash *hash, const char *key); -unsigned int hash_get_count(const struct hash *hash); + +#include "libkmod-hash.h" /* libkmod-file.c */ struct kmod_file *kmod_file_open(const char *filename) __must_check __attribute__((nonnull(1)));