parent
7de82a7f9f
commit
f56395e5e6
@ -0,0 +1,41 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of MXE. See LICENSE.md for licensing information.
|
||||||
|
*
|
||||||
|
* http://unbound.nlnetlabs.nl/documentation/libunbound-tutorial-1.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h> /* for printf */
|
||||||
|
#include <winsock2.h> /* for inet_ntoa */
|
||||||
|
#include <unbound.h> /* unbound API */
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
struct ub_ctx* ctx;
|
||||||
|
struct ub_result* result;
|
||||||
|
int retval;
|
||||||
|
|
||||||
|
/* create context */
|
||||||
|
ctx = ub_ctx_create();
|
||||||
|
if(!ctx) {
|
||||||
|
printf("error: could not create unbound context\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* query for webserver */
|
||||||
|
retval = ub_resolve(ctx, "www.nlnetlabs.nl",
|
||||||
|
1 /* TYPE A (IPv4 address) */,
|
||||||
|
1 /* CLASS IN (internet) */, &result);
|
||||||
|
if(retval != 0) {
|
||||||
|
printf("resolve error: %s\n", ub_strerror(retval));
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* show first result */
|
||||||
|
if(result->havedata)
|
||||||
|
printf("The address is %s\n",
|
||||||
|
inet_ntoa(*(struct in_addr*)result->data[0]));
|
||||||
|
|
||||||
|
ub_resolve_free(result);
|
||||||
|
ub_ctx_delete(ctx);
|
||||||
|
return 0;
|
||||||
|
}
|
@ -0,0 +1,51 @@
|
|||||||
|
# This file is part of MXE. See LICENSE.md for licensing information.
|
||||||
|
|
||||||
|
PKG := unbound
|
||||||
|
$(PKG)_WEBSITE := https://unbound.net
|
||||||
|
$(PKG)_DESCR := Unbound is a validating, recursive, and caching DNS resolver.
|
||||||
|
$(PKG)_IGNORE :=
|
||||||
|
$(PKG)_VERSION := 1.9.0
|
||||||
|
$(PKG)_CHECKSUM := 415af94b8392bc6b2c52e44ac8f17935cc6ddf2cc81edfb47c5be4ad205ab917
|
||||||
|
$(PKG)_SUBDIR := unbound-$($(PKG)_VERSION)
|
||||||
|
$(PKG)_FILE := unbound-$($(PKG)_VERSION).tar.gz
|
||||||
|
$(PKG)_URL := https://unbound.net/downloads/unbound-$($(PKG)_VERSION).tar.gz
|
||||||
|
$(PKG)_DEPS := gcc expat libsodium openssl zlib
|
||||||
|
|
||||||
|
$(PKG)_UPDATE = \
|
||||||
|
$(call GET_LATEST_VERSION,https://unbound.net/downloads,unbound-)
|
||||||
|
|
||||||
|
define $(PKG)_BUILD
|
||||||
|
# build and install the library
|
||||||
|
cd '$(BUILD_DIR)' && '$(SOURCE_DIR)/configure' \
|
||||||
|
$(MXE_CONFIGURE_OPTS) \
|
||||||
|
--disable-flto \
|
||||||
|
--with-libunbound-only \
|
||||||
|
--with-conf_file='C:/Program Files/Unbound/service.conf' \
|
||||||
|
--with-rootkey-file='C:/Program Files/Unbound/root.key' \
|
||||||
|
--with-rootcert-file='C:/Program Files/Unbound/icannbundle.pem' \
|
||||||
|
--with-libexpat='$(PREFIX)/$(TARGET)' \
|
||||||
|
--with-libsodium='$(PREFIX)/$(TARGET)' \
|
||||||
|
--with-ssl='$(PREFIX)/$(TARGET)' \
|
||||||
|
LIBS="`'$(TARGET)-pkg-config' openssl --libs`"
|
||||||
|
|
||||||
|
# fixup libtool
|
||||||
|
$(SED) -i 's/global_symbol_pipe=""/global_symbol_pipe=echo/' '$(BUILD_DIR)/libtool'
|
||||||
|
|
||||||
|
$(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)'
|
||||||
|
$(MAKE) -C '$(BUILD_DIR)' -j 1 install
|
||||||
|
|
||||||
|
# create pkg-config file
|
||||||
|
$(INSTALL) -d '$(PREFIX)/$(TARGET)/lib/pkgconfig'
|
||||||
|
(echo 'Name: $(PKG)'; \
|
||||||
|
echo 'Version: $($(PKG)_VERSION)'; \
|
||||||
|
echo 'Description: $($(PKG)_DESCR)'; \
|
||||||
|
echo 'Requires: expat libsodium openssl zlib'; \
|
||||||
|
echo 'Libs: -lunbound -lws2_32 -liphlpapi';) \
|
||||||
|
> '$(PREFIX)/$(TARGET)/lib/pkgconfig/$(PKG).pc'
|
||||||
|
|
||||||
|
# compile test
|
||||||
|
'$(TARGET)-gcc' \
|
||||||
|
-W -Wall -Werror -ansi -pedantic \
|
||||||
|
'$(TEST_FILE)' -o '$(PREFIX)/$(TARGET)/bin/test-$(PKG).exe' \
|
||||||
|
`'$(TARGET)-pkg-config' $(PKG) --cflags --libs`
|
||||||
|
endef
|
Loading…
Reference in new issue