From 0ba1e71333e82ac5a672d512b0447c5e58b20f05 Mon Sep 17 00:00:00 2001 From: Tony Theodore Date: Tue, 15 May 2012 22:03:41 +1000 Subject: package qdbm: static cross-build, enable optional deps, test program --- index.html | 5 +++++ src/qdbm-test.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ src/qdbm.diff | 16 ++++++++++++++++ src/qdbm.mk | 28 +++++++++++++++++++++++----- 4 files changed, 95 insertions(+), 5 deletions(-) create mode 100644 src/qdbm-test.c create mode 100644 src/qdbm.diff diff --git a/index.html b/index.html index 0e2cfe0..4207658 100644 --- a/index.html +++ b/index.html @@ -1749,6 +1749,11 @@ USE_OSGPLUGIN(<plugin2>) Pthreads-w32 + qdbm + 1.8.78 + QDBM + + qjson 0.7.1 QJson diff --git a/src/qdbm-test.c b/src/qdbm-test.c new file mode 100644 index 0000000..50b5b92 --- /dev/null +++ b/src/qdbm-test.c @@ -0,0 +1,51 @@ +/* + * This file is part of MXE. + * See index.html for further information. + * + * Taken from examples at http://fallabs.com/qdbm/spex.html + */ + +#include +#include +#include + +#define NAME "mikio" +#define NUMBER "000-1234-5678" +#define DBNAME "book" + +int main(int argc, char **argv){ + DEPOT *depot; + char *val; + + (void)argc; + (void)argv; + + /* open the database */ + if(!(depot = dpopen(DBNAME, DP_OWRITER | DP_OCREAT, -1))){ + fprintf(stderr, "dpopen: %s\n", dperrmsg(dpecode)); + return 1; + } + + /* store the record */ + if(!dpput(depot, NAME, -1, NUMBER, -1, DP_DOVER)){ + fprintf(stderr, "dpput: %s\n", dperrmsg(dpecode)); + } + + /* retrieve the record */ + if(!(val = dpget(depot, NAME, -1, 0, -1, NULL))){ + fprintf(stderr, "dpget: %s\n", dperrmsg(dpecode)); + } + else { + printf("Name: %s\n", NAME); + printf("Number: %s\n", val); + free(val); + } + + /* close the database */ + if(!dpclose(depot)){ + fprintf(stderr, "dpclose: %s\n", dperrmsg(dpecode)); + return 1; + } + + return 0; +} diff --git a/src/qdbm.diff b/src/qdbm.diff new file mode 100644 index 0000000..f9c4ebe --- /dev/null +++ b/src/qdbm.diff @@ -0,0 +1,16 @@ +diff --git a/index.html b/index.html +index 0e2cfe0..4207658 100644 +--- a/index.html ++++ b/index.html +@@ -1749,6 +1749,11 @@ USE_OSGPLUGIN(<plugin2>) + Pthreads-w32 + + ++ qdbm ++ 1.8.78 ++ QDBM ++ ++ + qjson + 0.7.1 + QJson diff --git a/src/qdbm.mk b/src/qdbm.mk index b759f8e..e6be155 100644 --- a/src/qdbm.mk +++ b/src/qdbm.mk @@ -2,13 +2,12 @@ # See index.html for further information. PKG := qdbm -VERSION := 1.8.78 $(PKG)_IGNORE := $(PKG)_CHECKSUM := 8c2ab938c2dad8067c29b0aa93efc6389f0e7076 $(PKG)_SUBDIR := qdbm-$($(PKG)_VERSION) $(PKG)_FILE := qdbm-$($(PKG)_VERSION).tar.gz $(PKG)_URL := http://fallabs.com/qdbm/qdbm-1.8.78.tar.gz -$(PKG)_DEPS := gcc +$(PKG)_DEPS := gcc bzip2 libiconv lzo zlib define $(PKG)_UPDATE wget -q -O- 'http://fallabs.com/qdbm/' | \ @@ -18,9 +17,28 @@ define $(PKG)_UPDATE endef define $(PKG)_BUILD - cd '$(1)/' && ./configure \ + cd '$(1)' && ./configure \ --host='$(TARGET)' \ --prefix='$(PREFIX)/$(TARGET)' \ - CONFIG_SHELL=$(SHELL) - $(MAKE) -C '$(1)/' -j '$(JOBS)' install + --enable-lzo \ + --enable-bzip \ + --enable-zlib \ + --enable-iconv + $(MAKE) -C '$(1)' -j '$(JOBS)' \ + static \ + MYBINS= \ + MYLIBS=libqdbm.a \ + AR=i686-pc-mingw32-ar \ + RANLIB=i686-pc-mingw32-ranlib + $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib/pkgconfig' + $(INSTALL) -m644 '$(1)/libqdbm.a' '$(PREFIX)/$(TARGET)/lib/' + $(INSTALL) -m644 '$(1)/qdbm.pc' '$(PREFIX)/$(TARGET)/lib/pkgconfig/' + $(INSTALL) -d '$(PREFIX)/$(TARGET)/include' + cd '$(1)' && $(INSTALL) -m644 depot.h curia.h relic.h hovel.h \ + cabin.h villa.h vista.h odeum.h '$(PREFIX)/$(TARGET)/include/' + + '$(TARGET)-gcc' \ + -W -Wall -Werror -ansi -pedantic \ + '$(2).c' -o '$(PREFIX)/$(TARGET)/bin/test-qdbm.exe' \ + `'$(TARGET)-pkg-config' qdbm --cflags --libs` endef -- cgit v0.12