summaryrefslogtreecommitdiff
path: root/preinstall.am
diff options
context:
space:
mode:
authorPanu Matilainen <pmatilai@redhat.com>2012-09-07 10:33:22 +0300
committerPanu Matilainen <pmatilai@redhat.com>2012-09-07 13:34:27 +0300
commit9e47043b2d23d6e6657a2a18dd325d2ef014dba3 (patch)
tree87e1dd44653e0c4840843d8657bd19146ed31097 /preinstall.am
parenta466227a2ff77c90f0b524792a5a1eda3e47cbe7 (diff)
downloadrpm-9e47043b2d23d6e6657a2a18dd325d2ef014dba3.tar.gz
rpm-9e47043b2d23d6e6657a2a18dd325d2ef014dba3.tar.bz2
rpm-9e47043b2d23d6e6657a2a18dd325d2ef014dba3.zip
First cut of a libsolv-style string <-> id pool API
- The pool stores "arbitrary" number of strings in a space-efficient manner, with near constant (hashed) string -> id lookup/store and constant time id -> string and id -> string length lookups. - Credits for the idea go to the Suse developers working on libsolv, the basic concept is directly lifted from there but details differ due to using rpm's own hash table implementation etc. Another minor difference is using size_t for offsets to permit over 4GB total data size on 64bit systems, the total number of id's in the pool is limited to uint32 max however (like in libsolv). - Any (re)implementation bugs by yours truly, this is almost certainly going to need further tuning and tweaking, API and otherwise.
Diffstat (limited to 'preinstall.am')
-rw-r--r--preinstall.am4
1 files changed, 4 insertions, 0 deletions
diff --git a/preinstall.am b/preinstall.am
index 4da80c1f8..d21d043cc 100644
--- a/preinstall.am
+++ b/preinstall.am
@@ -30,6 +30,10 @@ include/rpm/rpmstring.h: rpmio/rpmstring.h include/rpm/$(dirstamp)
$(INSTALL_DATA) $(top_srcdir)/rpmio/rpmstring.h include/rpm/rpmstring.h
BUILT_SOURCES += include/rpm/rpmstring.h
CLEANFILES += include/rpm/rpmstring.h
+include/rpm/rpmstrpool.h: rpmio/rpmstrpool.h include/rpm/$(dirstamp)
+ $(INSTALL_DATA) $(top_srcdir)/rpmio/rpmstrpool.h include/rpm/rpmstrpool.h
+BUILT_SOURCES += include/rpm/rpmstrpool.h
+CLEANFILES += include/rpm/rpmstrpool.h
include/rpm/rpmsw.h: rpmio/rpmsw.h include/rpm/$(dirstamp)
$(INSTALL_DATA) $(top_srcdir)/rpmio/rpmsw.h include/rpm/rpmsw.h
BUILT_SOURCES += include/rpm/rpmsw.h