summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Ruppert <idl0r@gentoo.org>2013-02-21 22:58:42 +0000
committerChristian Ruppert <idl0r@gentoo.org>2013-02-21 22:58:42 +0000
commitb69fd5ecbc980fc4b5768a7c0f550ad4d3f2e1ae (patch)
tree6e78d0babecf51f8e3a57e8c976e20322c6afcd6 /dev-cpp/asio
parentStable for ppc64, wrt bug #458188 (diff)
downloadhistorical-b69fd5ecbc980fc4b5768a7c0f550ad4d3f2e1ae.tar.gz
historical-b69fd5ecbc980fc4b5768a7c0f550ad4d3f2e1ae.tar.bz2
historical-b69fd5ecbc980fc4b5768a7c0f550ad4d3f2e1ae.zip
Add a patch to fix some function declarations, http://sourceforge.net/tracker/?func=detail&aid=3291113&group_id=122478&atid=694037
Package-Manager: portage-2.2.0_alpha163/cvs/Linux x86_64 Manifest-Sign-Key: 0xB427ABC8
Diffstat (limited to 'dev-cpp/asio')
-rw-r--r--dev-cpp/asio/ChangeLog12
-rw-r--r--dev-cpp/asio/Manifest17
-rw-r--r--dev-cpp/asio/asio-1.4.8-r1.ebuild (renamed from dev-cpp/asio/asio-1.4.8.ebuild)10
-rw-r--r--dev-cpp/asio/files/asio-1.4.8_declarations.patch1186
-rw-r--r--dev-cpp/asio/metadata.xml2
5 files changed, 1216 insertions, 11 deletions
diff --git a/dev-cpp/asio/ChangeLog b/dev-cpp/asio/ChangeLog
index 4fbf0a7c9837..b9177ad9310e 100644
--- a/dev-cpp/asio/ChangeLog
+++ b/dev-cpp/asio/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for dev-cpp/asio
-# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-cpp/asio/ChangeLog,v 1.32 2012/08/05 20:43:13 blueness Exp $
+# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-cpp/asio/ChangeLog,v 1.33 2013/02/21 22:58:37 idl0r Exp $
+
+*asio-1.4.8-r1 (21 Feb 2013)
+
+ 21 Feb 2013; Christian Ruppert <idl0r@gentoo.org> -asio-1.4.8.ebuild,
+ +asio-1.4.8-r1.ebuild, +files/asio-1.4.8_declarations.patch, metadata.xml:
+ Add a patch to fix some function declarations,
+ http://sourceforge.net/tracker/?func=detail&aid=3291113&group_id=122478&atid=
+ 694037
05 Aug 2012; Anthony G. Basile <blueness@gentoo.org> asio-1.4.8.ebuild:
Keyword ~arm
diff --git a/dev-cpp/asio/Manifest b/dev-cpp/asio/Manifest
index 4171bd708ce7..f85886c3ef3a 100644
--- a/dev-cpp/asio/Manifest
+++ b/dev-cpp/asio/Manifest
@@ -1,16 +1,21 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
+AUX asio-1.4.8_declarations.patch 29773 SHA256 e5dc1df9a1f2ba653a85c222a844950bd45dc93036736816e60563c833e65a9f SHA512 2f36b507a337e52c8e1e5e1ad12876f9259d691b2b8b3be8ad37d4b1a2c3dfd0b2ea1afe6ad2226a53edf1284bd01b6b2e9c3e5c64be82c0792af7ab318be770 WHIRLPOOL 77296efacd0c247ce4ecf72ac3187aeddb96748fe0f0043612bfc9592fb84c1df01662b0d41e73c0dfb8db3167472f6cd20c3de23ebca945d136c20905b21a54
DIST asio-1.4.5.tar.bz2 877613 SHA256 33fcb5bdd88ec0833b0069b5d1e4aba6a257b1f55f728274dfca5316e99901ff SHA512 571f0bc183956c9bc6fa4150bdcdbf38e81b713e054a5d981be246b00058cef9fe7ac8f6f4d33993f183867cc57a0f75b2cbc480674277b1b491c62db89f9bf4 WHIRLPOOL 6f39c82c6794017868a482d59b7a887db92a08c2c02eb8bb002a0d94193936ece4d675ffbbbcfd182c4ad3f0a3580210a7e639714b172b9e313395a1818c37a8
DIST asio-1.4.8.tar.bz2 907503 SHA256 8d6a594c15ef10b5779d0e80adb9483be1cd36f7ada401b40aa7df85559b1fb9 SHA512 74755767a90e87963352233ba0b1b865197262fc3fc2f2fa4446340d910de0f146454bf1b46736bb81aff4518bc64db1ee74f79966bcc1382774408468dd0540 WHIRLPOOL 646bec38ca0c7654fef93e2430ae61b09d08f26daeea464d2fb13487ef7ebc0345007e98909880c9428fe66bac5f0a102b95cc4b86ffaca4c6a4638bf20aa242
EBUILD asio-1.4.5.ebuild 1019 SHA256 aa078b7ff353ab34723c8b5249e4d146aaa5835e1b026ce3d103d56723f7c265 SHA512 5da5f28d8ce92d9b82baa5b9531484244ca1e1ca054e5706e781673638df9d37fb2a374a3b13f350e405a23b4d7acd181e6e8ebe4c0afbe4eb9839ab35b53e78 WHIRLPOOL 3fc9a7a88b3e0a393548160c34e4bcc35cdf35547a59dcecc6850b956e69e0f1c98d96bc6de795a310a7079bc2d84a10094fa0d4564d9f76af2b5af1150b8df7
-EBUILD asio-1.4.8.ebuild 952 SHA256 bc87c2f83f9e47075416b89fa67eaf0d6d989256cc3e97a991bb05f37c94bdd8 SHA512 00350796780dec816417cac8c12e551c52837e2ac341d81d06a3b03c4d1a071a5ef874d9931b00ac641989824691f2f88aa4f51574e9a238d5f4f9c2ea7bc1b2 WHIRLPOOL 35e9e7acdda6931758bc1993358c0146af7c0e522a5d00c85d33152162ea1602b73b8c14984eccdfb28b540d212f135327d104cf22b273357f63079f44f8928b
-MISC ChangeLog 4036 SHA256 8d3e9ca6df20d1348ab96184c40f9669951033d1c8f0ff04a8041788d64e3ffe SHA512 68749db50838d5c046b401d79ceab7fe4ba00c14718a710a540dcadc3ce60ff7efaebeb0be1aa5ed0fb654ccb7310e034bac1a3abfc13441d16c81169b88b333 WHIRLPOOL 47aab39e62be5b83fd0073247bb33483d73a897e5eff010537e7f0ede8e2726fa835e01bb75358197b99b86b5921a19c088861aca89ca82334dba02650328a98
-MISC metadata.xml 156 SHA256 0e8490f9c62cb74e5894b52f643a02de0024d97dbfebad43082dce6bcb39555f SHA512 e91dd7187a03a5b11f6d23d0d620c7a0326c8b3631599d616c9bd4aaf5f7901fdf8405a86bae896ecbad57afcbc9f3515a067f78817d06de4a426d5a07e7cf75 WHIRLPOOL e7838d8e96cb2762d53f85ddc28d8034cd19c2ec76c5d5356d21e2508539b7dca9e8e2ed636731eb578aa9f914a6710f165e321aa3a321a4f622cf2624e38808
+EBUILD asio-1.4.8-r1.ebuild 1157 SHA256 fd4432958a3f8c3e8d9030babed743d304df24d33a53114399a8a9471a745b1e SHA512 030b43a4a5f378c037de36a99476f816286b38955a4492ae5bc01ca8ad91973edc8f00a0039795eccb2fb12b583913e8dd9ad41698f8011d6ee6fbe5c1f0bec4 WHIRLPOOL 0f0a2f2e96b9b4f1e2769dc6df6064058bef4fa2afb07802cc01215486ba765408ab1e042867a4b1aa57dd060207c595f3325fb73f69d133808ab66f096c2efd
+MISC ChangeLog 4351 SHA256 260c095b2b2c689cc4fa7baf3644ff80f7b18e13efbfc9f1b3f4d5f4341a6076 SHA512 71905efa814ec2dbd7ece4b9c739bcde6859d3bd956c1bcc4aba309f36001ca759a15e23897f84117106e0c2f52d577de7c2ef4467556a1cb98fa3a51c7d8e4d WHIRLPOOL 48d8411ae79c5c52469f292b4a8bb33e785f4eb47727fed39b4423a63dd25a2c9f0d85a4a67294c002a04ebcc1bd16ae95b74162fbcd37bca8898d32fdd8ea54
+MISC metadata.xml 157 SHA256 e44459c87638f81370c6caee91f75bf864c56875d2b17f69ec7473c81ff58f9f SHA512 4f271b4deed62e5ddabaa61b2c0ba18af241b6128455590e4162da56403962a21c39cb494e54357dc83d944b9756d3cb8ecc5be1f73ac12505d112610dc1eb05 WHIRLPOOL 78c6cca8353a608f6baadb9a88cd1e10348f39dad3d17151f929bb8d91e4cf64840e060b6c7083663c8d56320faddbc855863654e34d1280fa3c24cadeb9c653
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
-iEYEAREIAAYFAlAe2uwACgkQl5yvQNBFVTX6PACfZ4Rq8izghspaqEPX6tfDRIOF
-HLIAni65KYMCk4714a4Qdq8ZgHsIMjy3
-=6R91
+iQEcBAEBCAAGBQJRJqaiAAoJEMOx0zmdw4Z1W78IAJcDe+50FDskwxes+Le1fIJQ
+wyjaU2Yt5aGS6WJFDZbnYf7VFPidrNrx6O53wEE4e9jxJKtCIJ8aoPAb5+uup95j
+QPyAUHncnOKeHkLtWkQ1t5Q0rt4TZFQATGnaSLq+0ELJ+Wy0MtaUs3yT1CY0VdF4
+Y8peqnHPKe3sTwCrHneNdIJR6KARYUWrgXHpJ+61KOHbtCx/3BXaAqrZ1J9+l5Ye
+fvm3wv1p6xyrK3aTZXa5dykHz2sOST2x9s0lq3sf1w8hg5uhIVCAcJ2ZQ/YfQxzC
+JD/9ICjbuE8JU7vbr6vrrVtJp5rgXiBbnz1J4un9/IXooa+fO1b44IBehjN9Ydg=
+=JcDm
-----END PGP SIGNATURE-----
diff --git a/dev-cpp/asio/asio-1.4.8.ebuild b/dev-cpp/asio/asio-1.4.8-r1.ebuild
index d88ee38a1bcd..74b6c4a96916 100644
--- a/dev-cpp/asio/asio-1.4.8.ebuild
+++ b/dev-cpp/asio/asio-1.4.8-r1.ebuild
@@ -1,9 +1,11 @@
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-cpp/asio/asio-1.4.8.ebuild,v 1.2 2012/08/05 20:43:14 blueness Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-cpp/asio/asio-1.4.8-r1.ebuild,v 1.1 2013/02/21 22:58:37 idl0r Exp $
EAPI=4
+inherit eutils
+
DESCRIPTION="Asynchronous Network Library"
HOMEPAGE="http://asio.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
@@ -27,6 +29,10 @@ all:
install:
EOF
fi
+
+ # Added ASIO_DECL to a number of function definitions
+ # http://sourceforge.net/tracker/?func=detail&aid=3291113&group_id=122478&atid=694037
+ epatch "${FILESDIR}/${P}_declarations.patch"
}
src_install() {
diff --git a/dev-cpp/asio/files/asio-1.4.8_declarations.patch b/dev-cpp/asio/files/asio-1.4.8_declarations.patch
new file mode 100644
index 000000000000..d86109c38e02
--- /dev/null
+++ b/dev-cpp/asio/files/asio-1.4.8_declarations.patch
@@ -0,0 +1,1186 @@
+--- a/include//asio/detail/impl/descriptor_ops.ipp
++++ b/include//asio/detail/impl/descriptor_ops.ipp
+@@ -28,6 +28,7 @@ namespace asio {
+ namespace detail {
+ namespace descriptor_ops {
+
++ASIO_DECL
+ int open(const char* path, int flags, asio::error_code& ec)
+ {
+ errno = 0;
+@@ -37,6 +38,7 @@ int open(const char* path, int flags, asio::error_code& ec)
+ return result;
+ }
+
++ASIO_DECL
+ int close(int d, state_type& state, asio::error_code& ec)
+ {
+ int result = 0;
+@@ -64,6 +66,7 @@ int close(int d, state_type& state, asio::error_code& ec)
+ return result;
+ }
+
++ASIO_DECL
+ bool set_internal_non_blocking(int d,
+ state_type& state, asio::error_code& ec)
+ {
+@@ -96,6 +99,7 @@ bool set_internal_non_blocking(int d,
+ return false;
+ }
+
++ASIO_DECL
+ std::size_t sync_read(int d, state_type state, buf* bufs,
+ std::size_t count, bool all_empty, asio::error_code& ec)
+ {
+@@ -142,6 +146,7 @@ std::size_t sync_read(int d, state_type state, buf* bufs,
+ }
+ }
+
++ASIO_DECL
+ bool non_blocking_read(int d, buf* bufs, std::size_t count,
+ asio::error_code& ec, std::size_t& bytes_transferred)
+ {
+@@ -180,6 +185,7 @@ bool non_blocking_read(int d, buf* bufs, std::size_t count,
+ }
+ }
+
++ASIO_DECL
+ std::size_t sync_write(int d, state_type state, const buf* bufs,
+ std::size_t count, bool all_empty, asio::error_code& ec)
+ {
+@@ -219,6 +225,7 @@ std::size_t sync_write(int d, state_type state, const buf* bufs,
+ }
+ }
+
++ASIO_DECL
+ bool non_blocking_write(int d, const buf* bufs, std::size_t count,
+ asio::error_code& ec, std::size_t& bytes_transferred)
+ {
+@@ -250,6 +257,7 @@ bool non_blocking_write(int d, const buf* bufs, std::size_t count,
+ }
+ }
+
++ASIO_DECL
+ int ioctl(int d, state_type& state, long cmd,
+ ioctl_arg_type* arg, asio::error_code& ec)
+ {
+@@ -291,6 +299,7 @@ int ioctl(int d, state_type& state, long cmd,
+ return result;
+ }
+
++ASIO_DECL
+ int fcntl(int d, long cmd, asio::error_code& ec)
+ {
+ if (d == -1)
+@@ -306,6 +315,7 @@ int fcntl(int d, long cmd, asio::error_code& ec)
+ return result;
+ }
+
++ASIO_DECL
+ int fcntl(int d, long cmd, long arg, asio::error_code& ec)
+ {
+ if (d == -1)
+@@ -321,6 +331,7 @@ int fcntl(int d, long cmd, long arg, asio::error_code& ec)
+ return result;
+ }
+
++ASIO_DECL
+ int poll_read(int d, asio::error_code& ec)
+ {
+ if (d == -1)
+@@ -340,6 +351,7 @@ int poll_read(int d, asio::error_code& ec)
+ return result;
+ }
+
++ASIO_DECL
+ int poll_write(int d, asio::error_code& ec)
+ {
+ if (d == -1)
+--- a/include//asio/detail/impl/socket_ops.ipp
++++ b/include//asio/detail/impl/socket_ops.ipp
+@@ -77,6 +77,7 @@ inline socket_type call_accept(SockLenType msghdr::*,
+ return result;
+ }
+
++ASIO_DECL
+ socket_type accept(socket_type s, socket_addr_type* addr,
+ std::size_t* addrlen, asio::error_code& ec)
+ {
+@@ -108,6 +109,7 @@ socket_type accept(socket_type s, socket_addr_type* addr,
+ return new_s;
+ }
+
++ASIO_DECL
+ socket_type sync_accept(socket_type s, state_type state,
+ socket_addr_type* addr, std::size_t* addrlen, asio::error_code& ec)
+ {
+@@ -199,6 +201,7 @@ void complete_iocp_accept(socket_type s,
+
+ #else // defined(ASIO_HAS_IOCP)
+
++ASIO_DECL
+ bool non_blocking_accept(socket_type s,
+ state_type state, socket_addr_type* addr, std::size_t* addrlen,
+ asio::error_code& ec, socket_type& new_socket)
+@@ -254,6 +257,7 @@ inline int call_bind(SockLenType msghdr::*,
+ return ::bind(s, addr, (SockLenType)addrlen);
+ }
+
++ASIO_DECL
+ int bind(socket_type s, const socket_addr_type* addr,
+ std::size_t addrlen, asio::error_code& ec)
+ {
+@@ -271,6 +275,7 @@ int bind(socket_type s, const socket_addr_type* addr,
+ return result;
+ }
+
++ASIO_DECL
+ int close(socket_type s, state_type& state,
+ bool destruction, asio::error_code& ec)
+ {
+@@ -322,6 +327,7 @@ int close(socket_type s, state_type& state,
+ return result;
+ }
+
++ASIO_DECL
+ bool set_internal_non_blocking(socket_type s,
+ state_type& state, asio::error_code& ec)
+ {
+@@ -357,6 +363,7 @@ bool set_internal_non_blocking(socket_type s,
+ return false;
+ }
+
++ASIO_DECL
+ int shutdown(socket_type s, int what, asio::error_code& ec)
+ {
+ if (s == invalid_socket)
+@@ -379,6 +386,7 @@ inline int call_connect(SockLenType msghdr::*,
+ return ::connect(s, addr, (SockLenType)addrlen);
+ }
+
++ASIO_DECL
+ int connect(socket_type s, const socket_addr_type* addr,
+ std::size_t addrlen, asio::error_code& ec)
+ {
+@@ -396,6 +404,7 @@ int connect(socket_type s, const socket_addr_type* addr,
+ return result;
+ }
+
++ASIO_DECL
+ void sync_connect(socket_type s, const socket_addr_type* addr,
+ std::size_t addrlen, asio::error_code& ec)
+ {
+@@ -424,6 +433,7 @@ void sync_connect(socket_type s, const socket_addr_type* addr,
+ asio::error::get_system_category());
+ }
+
++ASIO_DECL
+ bool non_blocking_connect(socket_type s, asio::error_code& ec)
+ {
+ // Get the error code from the connect operation.
+@@ -444,6 +454,7 @@ bool non_blocking_connect(socket_type s, asio::error_code& ec)
+ return true;
+ }
+
++ASIO_DECL
+ int socketpair(int af, int type, int protocol,
+ socket_type sv[2], asio::error_code& ec)
+ {
+@@ -463,6 +474,7 @@ int socketpair(int af, int type, int protocol,
+ #endif
+ }
+
++ASIO_DECL
+ bool sockatmark(socket_type s, asio::error_code& ec)
+ {
+ if (s == invalid_socket)
+@@ -493,6 +505,7 @@ bool sockatmark(socket_type s, asio::error_code& ec)
+ return ec ? false : value != 0;
+ }
+
++ASIO_DECL
+ size_t available(socket_type s, asio::error_code& ec)
+ {
+ if (s == invalid_socket)
+@@ -517,6 +530,7 @@ size_t available(socket_type s, asio::error_code& ec)
+ return ec ? static_cast<size_t>(0) : static_cast<size_t>(value);
+ }
+
++ASIO_DECL
+ int listen(socket_type s, int backlog, asio::error_code& ec)
+ {
+ if (s == invalid_socket)
+@@ -549,6 +563,7 @@ typedef WSABUF buf;
+ typedef iovec buf;
+ #endif // defined(BOOST_WINDOWS) || defined(__CYGWIN__)
+
++ASIO_DECL
+ void init_buf(buf& b, void* data, size_t size)
+ {
+ #if defined(BOOST_WINDOWS) || defined(__CYGWIN__)
+@@ -560,6 +575,7 @@ void init_buf(buf& b, void* data, size_t size)
+ #endif // defined(BOOST_WINDOWS) || defined(__CYGWIN__)
+ }
+
++ASIO_DECL
+ void init_buf(buf& b, const void* data, size_t size)
+ {
+ #if defined(BOOST_WINDOWS) || defined(__CYGWIN__)
+@@ -593,6 +609,7 @@ inline void init_msghdr_msg_name(T& name, const socket_addr_type* addr)
+ name = reinterpret_cast<T>(const_cast<socket_addr_type*>(addr));
+ }
+
++ASIO_DECL
+ int recv(socket_type s, buf* bufs, size_t count, int flags,
+ asio::error_code& ec)
+ {
+@@ -623,6 +640,7 @@ int recv(socket_type s, buf* bufs, size_t count, int flags,
+ #endif // defined(BOOST_WINDOWS) || defined(__CYGWIN__)
+ }
+
++ASIO_DECL
+ size_t sync_recv(socket_type s, state_type state, buf* bufs,
+ size_t count, int flags, bool all_empty, asio::error_code& ec)
+ {
+@@ -670,6 +688,7 @@ size_t sync_recv(socket_type s, state_type state, buf* bufs,
+
+ #if defined(ASIO_HAS_IOCP)
+
++ASIO_DECL
+ void complete_iocp_recv(state_type state,
+ const weak_cancel_token_type& cancel_token, bool all_empty,
+ asio::error_code& ec, size_t bytes_transferred)
+@@ -698,6 +717,7 @@ void complete_iocp_recv(state_type state,
+
+ #else // defined(ASIO_HAS_IOCP)
+
++ASIO_DECL
+ bool non_blocking_recv(socket_type s,
+ buf* bufs, size_t count, int flags, bool is_stream,
+ asio::error_code& ec, size_t& bytes_transferred)
+@@ -738,6 +758,7 @@ bool non_blocking_recv(socket_type s,
+
+ #endif // defined(ASIO_HAS_IOCP)
+
++ASIO_DECL
+ int recvfrom(socket_type s, buf* bufs, size_t count, int flags,
+ socket_addr_type* addr, std::size_t* addrlen,
+ asio::error_code& ec)
+@@ -774,6 +795,7 @@ int recvfrom(socket_type s, buf* bufs, size_t count, int flags,
+ #endif // defined(BOOST_WINDOWS) || defined(__CYGWIN__)
+ }
+
++ASIO_DECL
+ size_t sync_recvfrom(socket_type s, state_type state, buf* bufs,
+ size_t count, int flags, socket_addr_type* addr,
+ std::size_t* addrlen, asio::error_code& ec)
+@@ -808,6 +830,7 @@ size_t sync_recvfrom(socket_type s, state_type state, buf* bufs,
+
+ #if defined(ASIO_HAS_IOCP)
+
++ASIO_DECL
+ void complete_iocp_recvfrom(
+ const weak_cancel_token_type& cancel_token,
+ asio::error_code& ec)
+@@ -828,6 +851,7 @@ void complete_iocp_recvfrom(
+
+ #else // defined(ASIO_HAS_IOCP)
+
++ASIO_DECL
+ bool non_blocking_recvfrom(socket_type s,
+ buf* bufs, size_t count, int flags,
+ socket_addr_type* addr, std::size_t* addrlen,
+@@ -862,6 +886,7 @@ bool non_blocking_recvfrom(socket_type s,
+
+ #endif // defined(ASIO_HAS_IOCP)
+
++ASIO_DECL
+ int send(socket_type s, const buf* bufs, size_t count, int flags,
+ asio::error_code& ec)
+ {
+@@ -895,6 +920,7 @@ int send(socket_type s, const buf* bufs, size_t count, int flags,
+ #endif // defined(BOOST_WINDOWS) || defined(__CYGWIN__)
+ }
+
++ASIO_DECL
+ size_t sync_send(socket_type s, state_type state, const buf* bufs,
+ size_t count, int flags, bool all_empty, asio::error_code& ec)
+ {
+@@ -935,6 +961,7 @@ size_t sync_send(socket_type s, state_type state, const buf* bufs,
+
+ #if defined(ASIO_HAS_IOCP)
+
++ASIO_DECL
+ void complete_iocp_send(
+ const weak_cancel_token_type& cancel_token,
+ asio::error_code& ec)
+@@ -955,6 +982,7 @@ void complete_iocp_send(
+
+ #else // defined(ASIO_HAS_IOCP)
+
++ASIO_DECL
+ bool non_blocking_send(socket_type s,
+ const buf* bufs, size_t count, int flags,
+ asio::error_code& ec, size_t& bytes_transferred)
+@@ -988,6 +1016,7 @@ bool non_blocking_send(socket_type s,
+
+ #endif // defined(ASIO_HAS_IOCP)
+
++ASIO_DECL
+ int sendto(socket_type s, const buf* bufs, size_t count, int flags,
+ const socket_addr_type* addr, std::size_t addrlen,
+ asio::error_code& ec)
+@@ -1024,6 +1053,7 @@ int sendto(socket_type s, const buf* bufs, size_t count, int flags,
+ #endif // defined(BOOST_WINDOWS) || defined(__CYGWIN__)
+ }
+
++ASIO_DECL
+ size_t sync_sendto(socket_type s, state_type state, const buf* bufs,
+ size_t count, int flags, const socket_addr_type* addr,
+ std::size_t addrlen, asio::error_code& ec)
+@@ -1058,6 +1088,7 @@ size_t sync_sendto(socket_type s, state_type state, const buf* bufs,
+
+ #if !defined(ASIO_HAS_IOCP)
+
++ASIO_DECL
+ bool non_blocking_sendto(socket_type s,
+ const buf* bufs, size_t count, int flags,
+ const socket_addr_type* addr, std::size_t addrlen,
+@@ -1092,6 +1123,7 @@ bool non_blocking_sendto(socket_type s,
+
+ #endif // !defined(ASIO_HAS_IOCP)
+
++ASIO_DECL
+ socket_type socket(int af, int type, int protocol,
+ asio::error_code& ec)
+ {
+@@ -1147,6 +1179,7 @@ inline int call_setsockopt(SockLenType msghdr::*,
+ (const char*)optval, (SockLenType)optlen);
+ }
+
++ASIO_DECL
+ int setsockopt(socket_type s, state_type& state, int level, int optname,
+ const void* optval, std::size_t optlen, asio::error_code& ec)
+ {
+@@ -1235,6 +1268,7 @@ inline int call_getsockopt(SockLenType msghdr::*,
+ return result;
+ }
+
++ASIO_DECL
+ int getsockopt(socket_type s, state_type state, int level, int optname,
+ void* optval, size_t* optlen, asio::error_code& ec)
+ {
+@@ -1344,6 +1378,7 @@ inline int call_getpeername(SockLenType msghdr::*,
+ return result;
+ }
+
++ASIO_DECL
+ int getpeername(socket_type s, socket_addr_type* addr,
+ std::size_t* addrlen, bool cached, asio::error_code& ec)
+ {
+@@ -1396,6 +1431,7 @@ inline int call_getsockname(SockLenType msghdr::*,
+ return result;
+ }
+
++ASIO_DECL
+ int getsockname(socket_type s, socket_addr_type* addr,
+ std::size_t* addrlen, asio::error_code& ec)
+ {
+@@ -1413,6 +1449,7 @@ int getsockname(socket_type s, socket_addr_type* addr,
+ return result;
+ }
+
++ASIO_DECL
+ int ioctl(socket_type s, state_type& state, int cmd,
+ ioctl_arg_type* arg, asio::error_code& ec)
+ {
+@@ -1460,6 +1497,7 @@ int ioctl(socket_type s, state_type& state, int cmd,
+ return result;
+ }
+
++ASIO_DECL
+ int select(int nfds, fd_set* readfds, fd_set* writefds,
+ fd_set* exceptfds, timeval* timeout, asio::error_code& ec)
+ {
+@@ -1501,6 +1539,7 @@ int select(int nfds, fd_set* readfds, fd_set* writefds,
+ #endif
+ }
+
++ASIO_DECL
+ int poll_read(socket_type s, asio::error_code& ec)
+ {
+ if (s == invalid_socket)
+@@ -1537,6 +1576,7 @@ int poll_read(socket_type s, asio::error_code& ec)
+ // || defined(__SYMBIAN32__)
+ }
+
++ASIO_DECL
+ int poll_write(socket_type s, asio::error_code& ec)
+ {
+ if (s == invalid_socket)
+@@ -1573,6 +1613,7 @@ int poll_write(socket_type s, asio::error_code& ec)
+ // || defined(__SYMBIAN32__)
+ }
+
++ASIO_DECL
+ int poll_connect(socket_type s, asio::error_code& ec)
+ {
+ if (s == invalid_socket)
+@@ -1612,6 +1653,7 @@ int poll_connect(socket_type s, asio::error_code& ec)
+ // || defined(__SYMBIAN32__)
+ }
+
++ASIO_DECL
+ const char* inet_ntop(int af, const void* src, char* dest, size_t length,
+ unsigned long scope_id, asio::error_code& ec)
+ {
+@@ -1688,6 +1730,7 @@ const char* inet_ntop(int af, const void* src, char* dest, size_t length,
+ #endif // defined(BOOST_WINDOWS) || defined(__CYGWIN__)
+ }
+
++ASIO_DECL
+ int inet_pton(int af, const char* src, void* dest,
+ unsigned long* scope_id, asio::error_code& ec)
+ {
+@@ -1774,6 +1817,7 @@ int inet_pton(int af, const char* src, void* dest,
+ #endif // defined(BOOST_WINDOWS) || defined(__CYGWIN__)
+ }
+
++ASIO_DECL
+ int gethostname(char* name, int namelen, asio::error_code& ec)
+ {
+ clear_last_error();
+@@ -2667,6 +2711,7 @@ inline asio::error_code translate_addrinfo_error(int error)
+ }
+ }
+
++ASIO_DECL
+ asio::error_code getaddrinfo(const char* host,
+ const char* service, const addrinfo_type& hints,
+ addrinfo_type** result, asio::error_code& ec)
+@@ -2703,6 +2748,7 @@ asio::error_code getaddrinfo(const char* host,
+ #endif
+ }
+
++ASIO_DECL
+ asio::error_code background_getaddrinfo(
+ const weak_cancel_token_type& cancel_token, const char* host,
+ const char* service, const addrinfo_type& hints,
+@@ -2715,6 +2761,7 @@ asio::error_code background_getaddrinfo(
+ return ec;
+ }
+
++ASIO_DECL
+ void freeaddrinfo(addrinfo_type* ai)
+ {
+ #if defined(BOOST_WINDOWS) || defined(__CYGWIN__)
+@@ -2741,6 +2788,7 @@ void freeaddrinfo(addrinfo_type* ai)
+ #endif
+ }
+
++ASIO_DECL
+ asio::error_code getnameinfo(const socket_addr_type* addr,
+ std::size_t addrlen, char* host, std::size_t hostlen,
+ char* serv, std::size_t servlen, int flags, asio::error_code& ec)
+@@ -2788,6 +2836,7 @@ asio::error_code getnameinfo(const socket_addr_type* addr,
+ #endif
+ }
+
++ASIO_DECL
+ asio::error_code sync_getnameinfo(
+ const socket_addr_type* addr, std::size_t addrlen,
+ char* host, std::size_t hostlen, char* serv,
+@@ -2807,6 +2856,7 @@ asio::error_code sync_getnameinfo(
+ return ec;
+ }
+
++ASIO_DECL
+ asio::error_code background_getnameinfo(
+ const weak_cancel_token_type& cancel_token,
+ const socket_addr_type* addr, std::size_t addrlen,
+@@ -2834,21 +2884,25 @@ asio::error_code background_getnameinfo(
+ return ec;
+ }
+
++ASIO_DECL
+ u_long_type network_to_host_long(u_long_type value)
+ {
+ return ntohl(value);
+ }
+
++ASIO_DECL
+ u_long_type host_to_network_long(u_long_type value)
+ {
+ return htonl(value);
+ }
+
++ASIO_DECL
+ u_short_type network_to_host_short(u_short_type value)
+ {
+ return ntohs(value);
+ }
+
++ASIO_DECL
+ u_short_type host_to_network_short(u_short_type value)
+ {
+ return htons(value);
+--- a/include//asio/detail/impl/throw_error.ipp
++++ b/include//asio/detail/impl/throw_error.ipp
+@@ -25,12 +25,14 @@
+ namespace asio {
+ namespace detail {
+
++ASIO_DECL
+ void do_throw_error(const asio::error_code& err)
+ {
+ asio::system_error e(err);
+ boost::throw_exception(e);
+ }
+
++ASIO_DECL
+ void do_throw_error(const asio::error_code& err, const char* location)
+ {
+ asio::system_error e(err, location);
+--- a/include//asio/ip/detail/impl/endpoint.ipp
++++ b/include//asio/ip/detail/impl/endpoint.ipp
+@@ -31,6 +31,7 @@ namespace asio {
+ namespace ip {
+ namespace detail {
+
++ASIO_DECL
+ endpoint::endpoint()
+ : data_()
+ {
+@@ -39,6 +40,7 @@ endpoint::endpoint()
+ data_.v4.sin_addr.s_addr = INADDR_ANY;
+ }
+
++ASIO_DECL
+ endpoint::endpoint(int family, unsigned short port_num)
+ : data_()
+ {
+@@ -62,6 +64,7 @@ endpoint::endpoint(int family, unsigned short port_num)
+ }
+ }
+
++ASIO_DECL
+ endpoint::endpoint(const asio::ip::address& addr,
+ unsigned short port_num)
+ : data_()
+@@ -89,6 +92,7 @@ endpoint::endpoint(const asio::ip::address& addr,
+ }
+ }
+
++ASIO_DECL
+ void endpoint::resize(std::size_t size)
+ {
+ if (size > sizeof(asio::detail::sockaddr_storage_type))
+@@ -98,6 +102,7 @@ void endpoint::resize(std::size_t size)
+ }
+ }
+
++ASIO_DECL
+ unsigned short endpoint::port() const
+ {
+ if (is_v4())
+@@ -112,6 +117,7 @@ unsigned short endpoint::port() const
+ }
+ }
+
++ASIO_DECL
+ void endpoint::port(unsigned short port_num)
+ {
+ if (is_v4())
+@@ -126,6 +132,7 @@ void endpoint::port(unsigned short port_num)
+ }
+ }
+
++ASIO_DECL
+ asio::ip::address endpoint::address() const
+ {
+ using namespace std; // For memcpy.
+@@ -143,17 +150,20 @@ asio::ip::address endpoint::address() const
+ }
+ }
+
++ASIO_DECL
+ void endpoint::address(const asio::ip::address& addr)
+ {
+ endpoint tmp_endpoint(addr, port());
+ data_ = tmp_endpoint.data_;
+ }
+
++ASIO_DECL
+ bool operator==(const endpoint& e1, const endpoint& e2)
+ {
+ return e1.address() == e2.address() && e1.port() == e2.port();
+ }
+
++ASIO_DECL
+ bool operator<(const endpoint& e1, const endpoint& e2)
+ {
+ if (e1.address() < e2.address())
+@@ -164,6 +174,7 @@ bool operator<(const endpoint& e1, const endpoint& e2)
+ }
+
+ #if !defined(BOOST_NO_IOSTREAM)
++ASIO_DECL
+ std::string endpoint::to_string(asio::error_code& ec) const
+ {
+ std::string a = address().to_string(ec);
+--- a/include//asio/ip/impl/address.ipp
++++ b/include//asio/ip/impl/address.ipp
+@@ -28,6 +28,7 @@
+ namespace asio {
+ namespace ip {
+
++ASIO_DECL
+ address::address()
+ : type_(ipv4),
+ ipv4_address_(),
+@@ -35,6 +36,7 @@ address::address()
+ {
+ }
+
++ASIO_DECL
+ address::address(const asio::ip::address_v4& ipv4_address)
+ : type_(ipv4),
+ ipv4_address_(ipv4_address),
+@@ -42,6 +44,7 @@ address::address(const asio::ip::address_v4& ipv4_address)
+ {
+ }
+
++ASIO_DECL
+ address::address(const asio::ip::address_v6& ipv6_address)
+ : type_(ipv6),
+ ipv4_address_(),
+@@ -49,6 +52,7 @@ address::address(const asio::ip::address_v6& ipv6_address)
+ {
+ }
+
++ASIO_DECL
+ address::address(const address& other)
+ : type_(other.type_),
+ ipv4_address_(other.ipv4_address_),
+@@ -56,6 +60,7 @@ address::address(const address& other)
+ {
+ }
+
++ASIO_DECL
+ address& address::operator=(const address& other)
+ {
+ type_ = other.type_;
+@@ -64,6 +69,7 @@ address& address::operator=(const address& other)
+ return *this;
+ }
+
++ASIO_DECL
+ address& address::operator=(const asio::ip::address_v4& ipv4_address)
+ {
+ type_ = ipv4;
+@@ -72,6 +78,7 @@ address& address::operator=(const asio::ip::address_v4& ipv4_address)
+ return *this;
+ }
+
++ASIO_DECL
+ address& address::operator=(const asio::ip::address_v6& ipv6_address)
+ {
+ type_ = ipv6;
+@@ -80,6 +87,7 @@ address& address::operator=(const asio::ip::address_v6& ipv6_address)
+ return *this;
+ }
+
++ASIO_DECL
+ asio::ip::address_v4 address::to_v4() const
+ {
+ if (type_ != ipv4)
+@@ -90,6 +98,7 @@ asio::ip::address_v4 address::to_v4() const
+ return ipv4_address_;
+ }
+
++ASIO_DECL
+ asio::ip::address_v6 address::to_v6() const
+ {
+ if (type_ != ipv6)
+@@ -100,6 +109,7 @@ asio::ip::address_v6 address::to_v6() const
+ return ipv6_address_;
+ }
+
++ASIO_DECL
+ std::string address::to_string() const
+ {
+ if (type_ == ipv6)
+@@ -107,6 +117,7 @@ std::string address::to_string() const
+ return ipv4_address_.to_string();
+ }
+
++ASIO_DECL
+ std::string address::to_string(asio::error_code& ec) const
+ {
+ if (type_ == ipv6)
+@@ -114,6 +125,7 @@ std::string address::to_string(asio::error_code& ec) const
+ return ipv4_address_.to_string(ec);
+ }
+
++ASIO_DECL
+ address address::from_string(const char* str)
+ {
+ asio::error_code ec;
+@@ -122,6 +134,7 @@ address address::from_string(const char* str)
+ return addr;
+ }
+
++ASIO_DECL
+ address address::from_string(const char* str, asio::error_code& ec)
+ {
+ asio::ip::address_v6 ipv6_address =
+@@ -147,17 +160,20 @@ address address::from_string(const char* str, asio::error_code& ec)
+ return address();
+ }
+
++ASIO_DECL
+ address address::from_string(const std::string& str)
+ {
+ return from_string(str.c_str());
+ }
+
++ASIO_DECL
+ address address::from_string(const std::string& str,
+ asio::error_code& ec)
+ {
+ return from_string(str.c_str(), ec);
+ }
+
++ASIO_DECL
+ bool operator==(const address& a1, const address& a2)
+ {
+ if (a1.type_ != a2.type_)
+@@ -167,6 +183,7 @@ bool operator==(const address& a1, const address& a2)
+ return a1.ipv4_address_ == a2.ipv4_address_;
+ }
+
++ASIO_DECL
+ bool operator<(const address& a1, const address& a2)
+ {
+ if (a1.type_ < a2.type_)
+--- a/include//asio/ip/impl/address_v4.ipp
++++ b/include//asio/ip/impl/address_v4.ipp
+@@ -29,6 +29,7 @@
+ namespace asio {
+ namespace ip {
+
++ASIO_DECL
+ address_v4::address_v4(const address_v4::bytes_type& bytes)
+ {
+ #if UCHAR_MAX > 0xFF
+@@ -44,6 +45,7 @@ address_v4::address_v4(const address_v4::bytes_type& bytes)
+ memcpy(&addr_.s_addr, bytes.elems, 4);
+ }
+
++ASIO_DECL
+ address_v4::address_v4(unsigned long addr)
+ {
+ #if ULONG_MAX > 0xFFFFFFFF
+@@ -57,6 +59,7 @@ address_v4::address_v4(unsigned long addr)
+ addr_.s_addr = asio::detail::socket_ops::host_to_network_long(addr);
+ }
+
++ASIO_DECL
+ address_v4::bytes_type address_v4::to_bytes() const
+ {
+ using namespace std; // For memcpy.
+@@ -65,11 +68,13 @@ address_v4::bytes_type address_v4::to_bytes() const
+ return bytes;
+ }
+
++ASIO_DECL
+ unsigned long address_v4::to_ulong() const
+ {
+ return asio::detail::socket_ops::network_to_host_long(addr_.s_addr);
+ }
+
++ASIO_DECL
+ std::string address_v4::to_string() const
+ {
+ asio::error_code ec;
+@@ -78,6 +83,7 @@ std::string address_v4::to_string() const
+ return addr;
+ }
+
++ASIO_DECL
+ std::string address_v4::to_string(asio::error_code& ec) const
+ {
+ char addr_str[asio::detail::max_addr_v4_str_len];
+@@ -89,6 +95,7 @@ std::string address_v4::to_string(asio::error_code& ec) const
+ return addr;
+ }
+
++ASIO_DECL
+ address_v4 address_v4::from_string(const char* str)
+ {
+ asio::error_code ec;
+@@ -97,6 +104,7 @@ address_v4 address_v4::from_string(const char* str)
+ return addr;
+ }
+
++ASIO_DECL
+ address_v4 address_v4::from_string(
+ const char* str, asio::error_code& ec)
+ {
+@@ -107,42 +115,50 @@ address_v4 address_v4::from_string(
+ return tmp;
+ }
+
++ASIO_DECL
+ address_v4 address_v4::from_string(const std::string& str)
+ {
+ return from_string(str.c_str());
+ }
+
++ASIO_DECL
+ address_v4 address_v4::from_string(
+ const std::string& str, asio::error_code& ec)
+ {
+ return from_string(str.c_str(), ec);
+ }
+
++ASIO_DECL
+ bool address_v4::is_class_a() const
+ {
+ return IN_CLASSA(to_ulong());
+ }
+
++ASIO_DECL
+ bool address_v4::is_class_b() const
+ {
+ return IN_CLASSB(to_ulong());
+ }
+
++ASIO_DECL
+ bool address_v4::is_class_c() const
+ {
+ return IN_CLASSC(to_ulong());
+ }
+
++ASIO_DECL
+ bool address_v4::is_multicast() const
+ {
+ return IN_MULTICAST(to_ulong());
+ }
+
++ASIO_DECL
+ address_v4 address_v4::broadcast(const address_v4& addr, const address_v4& mask)
+ {
+ return address_v4(addr.to_ulong() | (mask.to_ulong() ^ 0xFFFFFFFF));
+ }
+
++ASIO_DECL
+ address_v4 address_v4::netmask(const address_v4& addr)
+ {
+ if (addr.is_class_a())
+--- a/include//asio/ip/impl/address_v6.ipp
++++ b/include//asio/ip/impl/address_v6.ipp
+@@ -30,6 +30,7 @@
+ namespace asio {
+ namespace ip {
+
++ASIO_DECL
+ address_v6::address_v6()
+ : scope_id_(0)
+ {
+@@ -37,6 +38,7 @@ address_v6::address_v6()
+ addr_ = tmp_addr;
+ }
+
++ASIO_DECL
+ address_v6::address_v6(const address_v6::bytes_type& bytes,
+ unsigned long scope_id)
+ : scope_id_(scope_id)
+@@ -56,12 +58,14 @@ address_v6::address_v6(const address_v6::bytes_type& bytes,
+ memcpy(addr_.s6_addr, bytes.elems, 16);
+ }
+
++ASIO_DECL
+ address_v6::address_v6(const address_v6& other)
+ : addr_(other.addr_),
+ scope_id_(other.scope_id_)
+ {
+ }
+
++ASIO_DECL
+ address_v6& address_v6::operator=(const address_v6& other)
+ {
+ addr_ = other.addr_;
+@@ -69,6 +73,7 @@ address_v6& address_v6::operator=(const address_v6& other)
+ return *this;
+ }
+
++ASIO_DECL
+ address_v6::bytes_type address_v6::to_bytes() const
+ {
+ using namespace std; // For memcpy.
+@@ -77,6 +82,7 @@ address_v6::bytes_type address_v6::to_bytes() const
+ return bytes;
+ }
+
++ASIO_DECL
+ std::string address_v6::to_string() const
+ {
+ asio::error_code ec;
+@@ -85,6 +91,7 @@ std::string address_v6::to_string() const
+ return addr;
+ }
+
++ASIO_DECL
+ std::string address_v6::to_string(asio::error_code& ec) const
+ {
+ char addr_str[asio::detail::max_addr_v6_str_len];
+@@ -96,6 +103,7 @@ std::string address_v6::to_string(asio::error_code& ec) const
+ return addr;
+ }
+
++ASIO_DECL
+ address_v6 address_v6::from_string(const char* str)
+ {
+ asio::error_code ec;
+@@ -104,6 +112,7 @@ address_v6 address_v6::from_string(const char* str)
+ return addr;
+ }
+
++ASIO_DECL
+ address_v6 address_v6::from_string(
+ const char* str, asio::error_code& ec)
+ {
+@@ -114,17 +123,20 @@ address_v6 address_v6::from_string(
+ return tmp;
+ }
+
++ASIO_DECL
+ address_v6 address_v6::from_string(const std::string& str)
+ {
+ return from_string(str.c_str());
+ }
+
++ASIO_DECL
+ address_v6 address_v6::from_string(
+ const std::string& str, asio::error_code& ec)
+ {
+ return from_string(str.c_str(), ec);
+ }
+
++ASIO_DECL
+ address_v4 address_v6::to_v4() const
+ {
+ if (!is_v4_mapped() && !is_v4_compatible())
+@@ -138,6 +150,7 @@ address_v4 address_v6::to_v4() const
+ return address_v4(v4_bytes);
+ }
+
++ASIO_DECL
+ bool address_v6::is_loopback() const
+ {
+ #if defined(__BORLANDC__)
+@@ -155,6 +168,7 @@ bool address_v6::is_loopback() const
+ #endif
+ }
+
++ASIO_DECL
+ bool address_v6::is_unspecified() const
+ {
+ #if defined(__BORLANDC__)
+@@ -172,66 +186,77 @@ bool address_v6::is_unspecified() const
+ #endif
+ }
+
++ASIO_DECL
+ bool address_v6::is_link_local() const
+ {
+ using namespace asio::detail;
+ return IN6_IS_ADDR_LINKLOCAL(&addr_) != 0;
+ }
+
++ASIO_DECL
+ bool address_v6::is_site_local() const
+ {
+ using namespace asio::detail;
+ return IN6_IS_ADDR_SITELOCAL(&addr_) != 0;
+ }
+
++ASIO_DECL
+ bool address_v6::is_v4_mapped() const
+ {
+ using namespace asio::detail;
+ return IN6_IS_ADDR_V4MAPPED(&addr_) != 0;
+ }
+
++ASIO_DECL
+ bool address_v6::is_v4_compatible() const
+ {
+ using namespace asio::detail;
+ return IN6_IS_ADDR_V4COMPAT(&addr_) != 0;
+ }
+
++ASIO_DECL
+ bool address_v6::is_multicast() const
+ {
+ using namespace asio::detail;
+ return IN6_IS_ADDR_MULTICAST(&addr_) != 0;
+ }
+
++ASIO_DECL
+ bool address_v6::is_multicast_global() const
+ {
+ using namespace asio::detail;
+ return IN6_IS_ADDR_MC_GLOBAL(&addr_) != 0;
+ }
+
++ASIO_DECL
+ bool address_v6::is_multicast_link_local() const
+ {
+ using namespace asio::detail;
+ return IN6_IS_ADDR_MC_LINKLOCAL(&addr_) != 0;
+ }
+
++ASIO_DECL
+ bool address_v6::is_multicast_node_local() const
+ {
+ using namespace asio::detail;
+ return IN6_IS_ADDR_MC_NODELOCAL(&addr_) != 0;
+ }
+
++ASIO_DECL
+ bool address_v6::is_multicast_org_local() const
+ {
+ using namespace asio::detail;
+ return IN6_IS_ADDR_MC_ORGLOCAL(&addr_) != 0;
+ }
+
++ASIO_DECL
+ bool address_v6::is_multicast_site_local() const
+ {
+ using namespace asio::detail;
+ return IN6_IS_ADDR_MC_SITELOCAL(&addr_) != 0;
+ }
+
++ASIO_DECL
+ bool operator==(const address_v6& a1, const address_v6& a2)
+ {
+ using namespace std; // For memcmp.
+@@ -240,6 +265,7 @@ bool operator==(const address_v6& a1, const address_v6& a2)
+ && a1.scope_id_ == a2.scope_id_;
+ }
+
++ASIO_DECL
+ bool operator<(const address_v6& a1, const address_v6& a2)
+ {
+ using namespace std; // For memcmp.
+@@ -252,6 +278,7 @@ bool operator<(const address_v6& a1, const address_v6& a2)
+ return a1.scope_id_ < a2.scope_id_;
+ }
+
++ASIO_DECL
+ address_v6 address_v6::loopback()
+ {
+ address_v6 tmp;
+@@ -260,6 +287,7 @@ address_v6 address_v6::loopback()
+ return tmp;
+ }
+
++ASIO_DECL
+ address_v6 address_v6::v4_mapped(const address_v4& addr)
+ {
+ address_v4::bytes_type v4_bytes = addr.to_bytes();
+@@ -268,6 +296,7 @@ address_v6 address_v6::v4_mapped(const address_v4& addr)
+ return address_v6(v6_bytes);
+ }
+
++ASIO_DECL
+ address_v6 address_v6::v4_compatible(const address_v4& addr)
+ {
+ address_v4::bytes_type v4_bytes = addr.to_bytes();
+--- a/include//asio/ip/impl/host_name.ipp
++++ b/include//asio/ip/impl/host_name.ipp
+@@ -26,6 +26,7 @@
+ namespace asio {
+ namespace ip {
+
++ASIO_DECL
+ std::string host_name()
+ {
+ char name[1024];
+@@ -38,6 +39,7 @@ std::string host_name()
+ return std::string(name);
+ }
+
++ASIO_DECL
+ std::string host_name(asio::error_code& ec)
+ {
+ char name[1024];
+--- a/include//asio/local/detail/impl/endpoint.ipp
++++ b/include//asio/local/detail/impl/endpoint.ipp
+@@ -32,22 +32,26 @@ namespace asio {
+ namespace local {
+ namespace detail {
+
++ASIO_DECL
+ endpoint::endpoint()
+ {
+ init("", 0);
+ }
+
++ASIO_DECL
+ endpoint::endpoint(const char* path)
+ {
+ using namespace std; // For strlen.
+ init(path, strlen(path));
+ }
+
++ASIO_DECL
+ endpoint::endpoint(const std::string& path)
+ {
+ init(path.data(), path.length());
+ }
+
++ASIO_DECL
+ void endpoint::resize(std::size_t size)
+ {
+ if (size > sizeof(asio::detail::sockaddr_un_type))
+@@ -70,32 +74,38 @@ void endpoint::resize(std::size_t size)
+ }
+ }
+
++ASIO_DECL
+ std::string endpoint::path() const
+ {
+ return std::string(data_.local.sun_path, path_length_);
+ }
+
++ASIO_DECL
+ void endpoint::path(const char* p)
+ {
+ using namespace std; // For strlen.
+ init(p, strlen(p));
+ }
+
++ASIO_DECL
+ void endpoint::path(const std::string& p)
+ {
+ init(p.data(), p.length());
+ }
+
++ASIO_DECL
+ bool operator==(const endpoint& e1, const endpoint& e2)
+ {
+ return e1.path() == e2.path();
+ }
+
++ASIO_DECL
+ bool operator<(const endpoint& e1, const endpoint& e2)
+ {
+ return e1.path() < e2.path();
+ }
+
++ASIO_DECL
+ void endpoint::init(const char* path, std::size_t path_length)
+ {
+ if (path_length > sizeof(data_.local.sun_path) - 1)
diff --git a/dev-cpp/asio/metadata.xml b/dev-cpp/asio/metadata.xml
index 8434377a6047..bc97bb6ee207 100644
--- a/dev-cpp/asio/metadata.xml
+++ b/dev-cpp/asio/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<herd>cpp</herd>
+ <herd>cpp</herd>
</pkgmetadata>