]> git.ipfire.org Git - thirdparty/kmod.git/commitdiff
build-sys: create libkmod-util.la convenience lib
authorLucas De Marchi <lucas.demarchi@profusion.mobi>
Tue, 27 Dec 2011 14:26:51 +0000 (12:26 -0200)
committerLucas De Marchi <lucas.demarchi@profusion.mobi>
Tue, 27 Dec 2011 20:11:58 +0000 (18:11 -0200)
Util functions can be shared betweeing libkmod and tools. Start with the
hash implementation.

Makefile.am
libkmod/libkmod-hash.c
libkmod/libkmod-hash.h [new file with mode: 0644]
libkmod/libkmod-private.h

index fdba51bd21aa551bbb846fa0c20caa6e893c34cf..9fecc2cee01e7fcc9c1cd37fd45f11bf3a36a21a 100644 (file)
@@ -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
index 43cbc02f89a167996cae63201daf7b37d2245a85..15140ece3f94d03994c7005056ef3ed0cb55f3f5 100644 (file)
@@ -19,7 +19,7 @@
  */
 
 #include "libkmod.h"
-#include "libkmod-private.h"
+#include "libkmod-hash.h"
 
 #include <stdlib.h>
 #include <string.h>
diff --git a/libkmod/libkmod-hash.h b/libkmod/libkmod-hash.h
new file mode 100644 (file)
index 0000000..53e6c81
--- /dev/null
@@ -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
index ee76e70e299a9fcb8d99f130e7cfefacd61a7155..5c9eeaf7ab0d044309269bfa1c99f9f5dcb61b53 100644 (file)
@@ -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)));