enet: Fix to build with autotools

This commit is contained in:
Alexey Pavlov
2016-01-14 09:08:11 +03:00
parent 0629f031ca
commit 5339be0dbd
3 changed files with 50 additions and 16 deletions

View File

@@ -0,0 +1,11 @@
--- enet-1.3.13/Makefile.am.orig 2016-01-14 08:45:22.158946100 +0300
+++ enet-1.3.13/Makefile.am 2016-01-14 08:45:34.832946100 +0300
@@ -16,7 +16,7 @@
lib_LTLIBRARIES = libenet.la
libenet_la_SOURCES = callbacks.c compress.c host.c list.c packet.c peer.c protocol.c unix.c win32.c
# see info '(libtool) Updating version info' before making a release
-libenet_la_LDFLAGS = $(AM_LDFLAGS) -version-info 7:1:0
+libenet_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined -version-info 7:1:0
AM_CPPFLAGS = -I$(top_srcdir)/include
ACLOCAL_AMFLAGS = -Im4

View File

@@ -0,0 +1,17 @@
--- senet-1.3.13/configure.ac.orig 2016-01-14 08:49:48.966946100 +0300
+++ enet-1.3.13/configure.ac 2016-01-14 08:56:43.378946100 +0300
@@ -7,6 +7,14 @@
AC_PROG_CC
AC_PROG_LIBTOOL
+
+# Check system type
+case "$target" in
+*mingw*)
+ LIBS="$LIBS -lws2_32 -lwinmm"
+ ;;
+esac
+
AC_CHECK_FUNC(gethostbyaddr_r, [AC_DEFINE(HAS_GETHOSTBYADDR_R)])
AC_CHECK_FUNC(gethostbyname_r, [AC_DEFINE(HAS_GETHOSTBYNAME_R)])
AC_CHECK_FUNC(poll, [AC_DEFINE(HAS_POLL)])

View File

@@ -11,29 +11,35 @@ arch=('any')
license=('custom')
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc")
options=('staticlibs' 'strip')
source=("http://enet.bespin.org/download/enet-${pkgver}.tar.gz")
md5sums=('b83b9a7791417b6b6f5c68231f6e218b')
source=("http://enet.bespin.org/download/${_realname}-${pkgver}.tar.gz"
001-no-undefined.patch
002-win-libs.patch)
md5sums=('b83b9a7791417b6b6f5c68231f6e218b'
'ab88c0a1edbfeddf50c9a8dda0798dd9'
'67dbf65539af7940e138574a43593fca')
prepare() {
cd "${srcdir}/enet-${pkgver}"
patch -p1 -i ${srcdir}/001-no-undefined.patch
patch -p1 -i ${srcdir}/002-win-libs.patch
autoreconf -fiv
}
build() {
cd "${srcdir}/enet-${pkgver}"
gcc -shared ${CFLAGS} \
-Wl,--out-implib,libenet.dll.a \
-DENET_DLL\
-Iinclude \
*.c \
-lws2_32 -lwinmm \
-o enet.dll
mkdir -p build-${MINGW_CHOST}
cd build-${MINGW_CHOST}
../${_realname}-${pkgver}/configure \
--build=${MINGW_CHOST} \
--host=${MINGW_CHOST} \
--target=${MINGW_CHOST} \
--prefix=${MINGW_PREFIX}
make
}
package() {
mkdir -p ${pkgdir}${MINGW_PREFIX}/{bin,lib,include}
mkdir -p ${pkgdir}${MINGW_PREFIX}/include/${_realname}
cd "${srcdir}/enet-${pkgver}"
install -m644 enet.dll "${pkgdir}${MINGW_PREFIX}/bin/"
install -m644 libenet.dll.a "${pkgdir}${MINGW_PREFIX}/lib/"
install -m644 include/enet/*.h "${pkgdir}${MINGW_PREFIX}/include/${_realname}/"
cd "${srcdir}/build-${MINGW_CHOST}"
make DESTDIR="${pkgdir}" install
}