package qdbm: static cross-build, enable optional deps, test program

This commit is contained in:
Tony Theodore 2012-05-15 22:03:41 +10:00
parent 0b3d85efe8
commit 0ba1e71333
4 changed files with 95 additions and 5 deletions

View File

@ -1748,6 +1748,11 @@ USE_OSGPLUGIN(<plugin2>)
<td id="pthreads-version">2-8-0</td>
<td id="pthreads-website"><a href="http://sourceware.org/pthreads-win32/">Pthreads-w32</a></td>
</tr>
<tr>
<td id="qdbm-package">qdbm</td>
<td id="qdbm-version">1.8.78</td>
<td id="qdbm-website"><a href="http://fallabs.com/qdbm/">QDBM</a></td>
</tr>
<tr>
<td id="qjson-package">qjson</td>
<td id="qjson-version">0.7.1</td>

51
src/qdbm-test.c Normal file
View File

@ -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 <depot.h>
#include <stdlib.h>
#include <stdio.h>
#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;
}

16
src/qdbm.diff Normal file
View File

@ -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(&lt;plugin2&gt;)
<td id="pthreads-website"><a href="http://sourceware.org/pthreads-win32/">Pthreads-w32</a></td>
</tr>
<tr>
+ <td id="qdbm-package">qdbm</td>
+ <td id="qdbm-version">1.8.78</td>
+ <td id="qdbm-website"><a href="http://fallabs.com/qdbm/">QDBM</a></td>
+ </tr>
+ <tr>
<td id="qjson-package">qjson</td>
<td id="qjson-version">0.7.1</td>
<td id="qjson-website"><a href="http://qjson.sourceforge.net/">QJson</a></td>

View File

@ -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