diff --git a/index.html b/index.html index d0b76274..2f5ad684 100644 --- a/index.html +++ b/index.html @@ -1909,6 +1909,10 @@ local-pkg-list: $(LOCAL_PKG_LIST) libusb1 LibUsb-1.0 + + libuv + libuv + libvpx vpx diff --git a/src/libuv-1-fixes.patch b/src/libuv-1-fixes.patch new file mode 100644 index 00000000..bc34a022 --- /dev/null +++ b/src/libuv-1-fixes.patch @@ -0,0 +1,27 @@ +This file is part of MXE. +See index.html for further information. + +Contains ad hoc patches for cross building. + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Boris Nagaev +Date: Mon, 11 Apr 2016 02:02:54 +0200 +Subject: [PATCH] set Libs in pc-file + +They are already defined in Makefile.am, but are not passed +(only -lpthread is passed). + +According to http://stackoverflow.com/a/30960268 passing LIBS from +Makefile.am to libuv.pc is impossible, as it is not fully-expanded. + +diff --git a/libuv.pc.in b/libuv.pc.in +index 1111111..2222222 100644 +--- a/libuv.pc.in ++++ b/libuv.pc.in +@@ -7,5 +7,5 @@ Name: @PACKAGE_NAME@ + Version: @PACKAGE_VERSION@ + Description: multi-platform support library with a focus on asynchronous I/O. + +-Libs: -L${libdir} -luv @LIBS@ ++Libs: -L${libdir} -luv -lpthread -lws2_32 -lpsapi -liphlpapi -lshell32 -luserenv + Cflags: -I${includedir} diff --git a/src/libuv-test.c b/src/libuv-test.c new file mode 100644 index 00000000..a31bf88a --- /dev/null +++ b/src/libuv-test.c @@ -0,0 +1,15 @@ +#include +#include +#include + +int main() { + uv_loop_t *loop = malloc(sizeof(uv_loop_t)); + uv_loop_init(loop); + + printf("Now quitting.\n"); + uv_run(loop, UV_RUN_DEFAULT); + + uv_loop_close(loop); + free(loop); + return 0; +} diff --git a/src/libuv.mk b/src/libuv.mk new file mode 100644 index 00000000..5dd70a2c --- /dev/null +++ b/src/libuv.mk @@ -0,0 +1,28 @@ +# This file is part of MXE. +# See index.html for further information. + +PKG := libuv +$(PKG)_IGNORE := +$(PKG)_VERSION := 1.8.0 +$(PKG)_CHECKSUM := 6511f734da4fe082dacf85967606d600b7bce557bb9b2f0d2539193535323125 +$(PKG)_SUBDIR := $(PKG)-v$($(PKG)_VERSION) +$(PKG)_FILE := $(PKG)-v$($(PKG)_VERSION).tar.gz +$(PKG)_URL := http://dist.libuv.org/dist/v$($(PKG)_VERSION)/$($(PKG)_FILE) +$(PKG)_DEPS := gcc + +define $(PKG)_UPDATE + $(call MXE_GET_GITHUB_TAGS, libuv/libuv, v) +endef + +define $(PKG)_BUILD + cd '$(1)' && sh autogen.sh + cd '$(1)' && ./configure \ + $(MXE_CONFIGURE_OPTS) + $(MAKE) -C '$(1)' -j '$(JOBS)' + $(MAKE) -C '$(1)' -j 1 install + + '$(TARGET)-gcc' \ + -W -Wall -Werror -pedantic \ + '$(2).c' -o '$(PREFIX)/$(TARGET)/bin/test-$(PKG).exe' \ + `'$(TARGET)-pkg-config' $(PKG) --libs` +endef