-
Only in boost_1_57_0: b2.exe
Only in boost_1_57_0: bin.v2
diff -ur boost_1_57_0-o/boost/asio/detail/config.hpp boost_1_57_0/boost/asio/detail/config.hpp
old
|
new
|
|
706 | 706 | # elif defined(UNDER_CE) |
707 | 707 | # define BOOST_ASIO_HAS_GETADDRINFO 1 |
708 | 708 | # endif // defined(UNDER_CE) |
709 | | # elif !(defined(__MACH__) && defined(__APPLE__)) |
| 709 | # elif !(defined(__MACH__) && defined(__APPLE__)) && !defined(__OS2__) |
710 | 710 | # define BOOST_ASIO_HAS_GETADDRINFO 1 |
711 | 711 | # endif // !(defined(__MACH__) && defined(__APPLE__)) |
712 | 712 | #endif // !defined(BOOST_ASIO_HAS_GETADDRINFO) |
-
Only in boost_1_57_0/boost/asio/detail: descriptor_ops.hpp.orig
Only in boost_1_57_0/boost/asio/detail: descriptor_ops.hpp.rej
diff -ur boost_1_57_0-o/boost/asio/detail/impl/descriptor_ops.ipp boost_1_57_0/boost/asio/detail/impl/descriptor_ops.ipp
old
|
new
|
|
401 | 401 | return -1; |
402 | 402 | } |
403 | 403 | |
| 404 | #if defined(__OS2__) |
| 405 | fd_set fds; |
| 406 | FD_ZERO(&fds); |
| 407 | FD_SET(d, &fds); |
| 408 | int result = error_wrapper(::select(d, &fds, 0, 0, 0), ec); |
| 409 | #else |
404 | 410 | pollfd fds; |
405 | 411 | fds.fd = d; |
406 | 412 | fds.events = POLLIN; |
… |
… |
|
408 | 414 | int timeout = (state & user_set_non_blocking) ? 0 : -1; |
409 | 415 | errno = 0; |
410 | 416 | int result = error_wrapper(::poll(&fds, 1, timeout), ec); |
| 417 | #endif |
411 | 418 | if (result == 0) |
412 | 419 | ec = (state & user_set_non_blocking) |
413 | 420 | ? boost::asio::error::would_block : boost::system::error_code(); |
… |
… |
|
424 | 431 | return -1; |
425 | 432 | } |
426 | 433 | |
| 434 | #if defined(__OS2__) |
| 435 | fd_set fds; |
| 436 | FD_ZERO(&fds); |
| 437 | FD_SET(d, &fds); |
| 438 | int result = error_wrapper(::select(d, 0, &fds, 0, 0), ec); |
| 439 | #else |
427 | 440 | pollfd fds; |
428 | 441 | fds.fd = d; |
429 | 442 | fds.events = POLLOUT; |
… |
… |
|
431 | 444 | int timeout = (state & user_set_non_blocking) ? 0 : -1; |
432 | 445 | errno = 0; |
433 | 446 | int result = error_wrapper(::poll(&fds, 1, timeout), ec); |
| 447 | #endif |
434 | 448 | if (result == 0) |
435 | 449 | ec = (state & user_set_non_blocking) |
436 | 450 | ? boost::asio::error::would_block : boost::system::error_code(); |
-
diff -ur boost_1_57_0-o/boost/asio/detail/impl/reactive_serial_port_service.ipp boost_1_57_0/boost/asio/detail/impl/reactive_serial_port_service.ipp
old
|
new
|
|
73 | 73 | s = descriptor_ops::error_wrapper(::tcgetattr(fd, &ios), ec); |
74 | 74 | if (s >= 0) |
75 | 75 | { |
76 | | #if defined(_BSD_SOURCE) |
| 76 | #if defined(_BSD_SOURCE) && !defined(__OS2__) |
77 | 77 | ::cfmakeraw(&ios); |
78 | 78 | #else |
79 | 79 | ios.c_iflag &= ~(IGNBRK | BRKINT | PARMRK |
-
diff -ur boost_1_57_0-o/boost/asio/detail/impl/socket_ops.ipp boost_1_57_0/boost/asio/detail/impl/socket_ops.ipp
old
|
new
|
|
92 | 92 | inline socket_type call_accept(SockLenType msghdr::*, |
93 | 93 | socket_type s, socket_addr_type* addr, std::size_t* addrlen) |
94 | 94 | { |
| 95 | #if defined(__OS2__) |
| 96 | int tmp_addrlen = addrlen ? (int)*addrlen : 0; |
| 97 | #else |
95 | 98 | SockLenType tmp_addrlen = addrlen ? (SockLenType)*addrlen : 0; |
| 99 | #endif |
96 | 100 | socket_type result = ::accept(s, addr, addrlen ? &tmp_addrlen : 0); |
97 | 101 | if (addrlen) |
98 | 102 | *addrlen = (std::size_t)tmp_addrlen; |
… |
… |
|
1491 | 1495 | socket_type s, int level, int optname, |
1492 | 1496 | void* optval, std::size_t* optlen) |
1493 | 1497 | { |
| 1498 | #if defined(__OS2__) |
| 1499 | int tmp_optlen = (int)*optlen; |
| 1500 | #else |
1494 | 1501 | SockLenType tmp_optlen = (SockLenType)*optlen; |
| 1502 | #endif |
1495 | 1503 | int result = ::getsockopt(s, level, optname, (char*)optval, &tmp_optlen); |
1496 | 1504 | *optlen = (std::size_t)tmp_optlen; |
1497 | 1505 | return result; |
… |
… |
|
1600 | 1608 | inline int call_getpeername(SockLenType msghdr::*, |
1601 | 1609 | socket_type s, socket_addr_type* addr, std::size_t* addrlen) |
1602 | 1610 | { |
| 1611 | #if defined(__OS2__) |
| 1612 | int tmp_addrlen = (int)*addrlen; |
| 1613 | #else |
1603 | 1614 | SockLenType tmp_addrlen = (SockLenType)*addrlen; |
| 1615 | #endif |
1604 | 1616 | int result = ::getpeername(s, addr, &tmp_addrlen); |
1605 | 1617 | *addrlen = (std::size_t)tmp_addrlen; |
1606 | 1618 | return result; |
… |
… |
|
1652 | 1664 | inline int call_getsockname(SockLenType msghdr::*, |
1653 | 1665 | socket_type s, socket_addr_type* addr, std::size_t* addrlen) |
1654 | 1666 | { |
| 1667 | #if defined(__OS2__) |
| 1668 | int tmp_addrlen = (int)*addrlen; |
| 1669 | #else |
1655 | 1670 | SockLenType tmp_addrlen = (SockLenType)*addrlen; |
| 1671 | #endif |
1656 | 1672 | int result = ::getsockname(s, addr, &tmp_addrlen); |
1657 | 1673 | *addrlen = (std::size_t)tmp_addrlen; |
1658 | 1674 | return result; |
… |
… |
|
1748 | 1764 | timeout->tv_usec = 1000; |
1749 | 1765 | #endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) |
1750 | 1766 | |
| 1767 | #if defined(__OS2__) |
| 1768 | // The select() call allows timeout values measured in microseconds, but the |
| 1769 | // system clock (as wrapped by boost::posix_time::microsec_clock) typically |
| 1770 | // has a resolution of 10 milliseconds. This can lead to a spinning select |
| 1771 | // reactor, meaning increased CPU usage, when waiting for the earliest |
| 1772 | // scheduled timeout if it's less than 10 milliseconds away. To avoid a tight |
| 1773 | // spin we'll use a minimum timeout of 1 millisecond. |
| 1774 | if (timeout && timeout->tv_sec == 0 |
| 1775 | && timeout->tv_usec > 0 && timeout->tv_usec < 1000) |
| 1776 | timeout->tv_usec = 1000; |
| 1777 | #endif |
| 1778 | |
1751 | 1779 | #if defined(__hpux) && defined(__SELECT) |
1752 | 1780 | timespec ts; |
1753 | 1781 | ts.tv_sec = timeout ? timeout->tv_sec : 0; |
… |
… |
|
1773 | 1801 | |
1774 | 1802 | #if defined(BOOST_ASIO_WINDOWS) \ |
1775 | 1803 | || defined(__CYGWIN__) \ |
| 1804 | || defined(__OS2__) \ |
1776 | 1805 | || defined(__SYMBIAN32__) |
| 1806 | #if defined(__OS2__) |
| 1807 | fd_set fds; |
| 1808 | #else |
1777 | 1809 | fd_set fds; |
| 1810 | #endif |
1778 | 1811 | FD_ZERO(&fds); |
1779 | 1812 | FD_SET(s, &fds); |
1780 | 1813 | timeval zero_timeout; |
… |
… |
|
1814 | 1847 | |
1815 | 1848 | #if defined(BOOST_ASIO_WINDOWS) \ |
1816 | 1849 | || defined(__CYGWIN__) \ |
| 1850 | || defined(__OS2__) \ |
1817 | 1851 | || defined(__SYMBIAN32__) |
1818 | 1852 | fd_set fds; |
1819 | 1853 | FD_ZERO(&fds); |
… |
… |
|
1855 | 1889 | |
1856 | 1890 | #if defined(BOOST_ASIO_WINDOWS) \ |
1857 | 1891 | || defined(__CYGWIN__) \ |
| 1892 | || defined(__OS2__) \ |
1858 | 1893 | || defined(__SYMBIAN32__) |
1859 | 1894 | fd_set write_fds; |
1860 | 1895 | FD_ZERO(&write_fds); |
… |
… |
|
1986 | 2021 | af, src, dest, static_cast<int>(length)), ec); |
1987 | 2022 | if (result == 0 && !ec) |
1988 | 2023 | ec = boost::asio::error::invalid_argument; |
| 2024 | #ifndef __OS2__ |
1989 | 2025 | if (result != 0 && af == BOOST_ASIO_OS_DEF(AF_INET6) && scope_id != 0) |
1990 | 2026 | { |
1991 | 2027 | using namespace std; // For strcat and sprintf. |
… |
… |
|
2000 | 2036 | sprintf(if_name + 1, "%lu", scope_id); |
2001 | 2037 | strcat(dest, if_name); |
2002 | 2038 | } |
| 2039 | #endif |
2003 | 2040 | return result; |
2004 | 2041 | #endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) |
2005 | 2042 | } |
… |
… |
|
2216 | 2253 | int result = error_wrapper(::inet_pton(af, src, dest), ec); |
2217 | 2254 | if (result <= 0 && !ec) |
2218 | 2255 | ec = boost::asio::error::invalid_argument; |
| 2256 | #ifndef __OS2__ |
2219 | 2257 | if (result > 0 && af == BOOST_ASIO_OS_DEF(AF_INET6) && scope_id) |
2220 | 2258 | { |
2221 | 2259 | using namespace std; // For strchr and atoi. |
… |
… |
|
2233 | 2271 | *scope_id = atoi(if_name + 1); |
2234 | 2272 | } |
2235 | 2273 | } |
| 2274 | #endif |
2236 | 2275 | return result; |
2237 | 2276 | #endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) |
2238 | 2277 | } |
… |
… |
|
2282 | 2321 | #if !defined(BOOST_ASIO_WINDOWS_RUNTIME) |
2283 | 2322 | |
2284 | 2323 | #if !defined(BOOST_ASIO_HAS_GETADDRINFO) |
2285 | | |
2286 | 2324 | // The following functions are only needed for emulation of getaddrinfo and |
2287 | 2325 | // getnameinfo. |
2288 | 2326 | |
… |
… |
|
2310 | 2348 | hostent* result, char* buffer, int buflength, boost::system::error_code& ec) |
2311 | 2349 | { |
2312 | 2350 | clear_last_error(); |
2313 | | #if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) |
| 2351 | #if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) || defined(__OS2__) |
2314 | 2352 | (void)(buffer); |
2315 | 2353 | (void)(buflength); |
2316 | 2354 | hostent* retval = error_wrapper(::gethostbyaddr(addr, length, af), ec); |
… |
… |
|
2353 | 2391 | char* buffer, int buflength, int ai_flags, boost::system::error_code& ec) |
2354 | 2392 | { |
2355 | 2393 | clear_last_error(); |
2356 | | #if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) |
| 2394 | #if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) || defined(__OS2__) |
2357 | 2395 | (void)(buffer); |
2358 | 2396 | (void)(buflength); |
2359 | 2397 | (void)(ai_flags); |
-
diff -ur boost_1_57_0-o/boost/asio/detail/impl/socket_select_interrupter.ipp boost_1_57_0/boost/asio/detail/impl/socket_select_interrupter.ipp
old
|
new
|
|
21 | 21 | |
22 | 22 | #if defined(BOOST_ASIO_WINDOWS) \ |
23 | 23 | || defined(__CYGWIN__) \ |
| 24 | || defined(__OS2__) \ |
24 | 25 | || defined(__SYMBIAN32__) |
25 | 26 | |
26 | 27 | #include <cstdlib> |
-
diff -ur boost_1_57_0-o/boost/asio/detail/old_win_sdk_compat.hpp boost_1_57_0/boost/asio/detail/old_win_sdk_compat.hpp
old
|
new
|
|
17 | 17 | |
18 | 18 | #include <boost/asio/detail/config.hpp> |
19 | 19 | |
20 | | #if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) |
| 20 | #if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) || defined(__OS2__) |
21 | 21 | |
22 | 22 | // Guess whether we are building against on old Platform SDK. |
23 | 23 | #if !defined(IN6ADDR_ANY_INIT) |
… |
… |
|
25 | 25 | #endif // !defined(IN6ADDR_ANY_INIT) |
26 | 26 | |
27 | 27 | #if defined(BOOST_ASIO_HAS_OLD_WIN_SDK) |
28 | | |
| 28 | #if defined(__OS2__) |
| 29 | #define __int64 __int64_t |
| 30 | #endif |
29 | 31 | // Emulation of types that are missing from old Platform SDKs. |
30 | 32 | // |
31 | 33 | // N.B. this emulation is also used if building for a Windows 2000 target with |
-
Only in boost_1_57_0/boost/asio/detail: old_win_sdk_compat.hpp.orig
Only in boost_1_57_0/boost/asio/detail: old_win_sdk_compat.hpp.rej
Only in boost_1_57_0/boost/asio/detail: reactive_serial_port_service.hpp.orig
Only in boost_1_57_0/boost/asio/detail: reactive_serial_port_service.hpp.rej
diff -ur boost_1_57_0-o/boost/asio/detail/select_interrupter.hpp boost_1_57_0/boost/asio/detail/select_interrupter.hpp
old
|
new
|
|
19 | 19 | |
20 | 20 | #if !defined(BOOST_ASIO_WINDOWS_RUNTIME) |
21 | 21 | |
22 | | #if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) || defined(__SYMBIAN32__) |
| 22 | #if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) || defined(__SYMBIAN32__) || defined(__OS2__) |
23 | 23 | # include <boost/asio/detail/socket_select_interrupter.hpp> |
24 | 24 | #elif defined(BOOST_ASIO_HAS_EVENTFD) |
25 | 25 | # include <boost/asio/detail/eventfd_select_interrupter.hpp> |
… |
… |
|
31 | 31 | namespace asio { |
32 | 32 | namespace detail { |
33 | 33 | |
34 | | #if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) || defined(__SYMBIAN32__) |
| 34 | #if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) || defined(__SYMBIAN32__) || defined(__OS2__) |
35 | 35 | typedef socket_select_interrupter select_interrupter; |
36 | 36 | #elif defined(BOOST_ASIO_HAS_EVENTFD) |
37 | 37 | typedef eventfd_select_interrupter select_interrupter; |
-
Only in boost_1_57_0/boost/asio/detail: select_interrupter.hpp.orig
Only in boost_1_57_0/boost/asio/detail: select_interrupter.hpp.rej
diff -ur boost_1_57_0-o/boost/asio/detail/socket_ops.hpp boost_1_57_0/boost/asio/detail/socket_ops.hpp
old
|
new
|
|
24 | 24 | |
25 | 25 | #include <boost/asio/detail/push_options.hpp> |
26 | 26 | |
| 27 | #if defined(BOOST_HAS_THREADS) && defined(BOOST_HAS_PTHREADS) |
| 28 | #include <pthread.h> |
| 29 | #endif |
| 30 | |
27 | 31 | namespace boost { |
28 | 32 | namespace asio { |
29 | 33 | namespace detail { |
-
Only in boost_1_57_0/boost/asio/detail: socket_ops.hpp.orig
Only in boost_1_57_0/boost/asio/detail: socket_ops.hpp.rej
diff -ur boost_1_57_0-o/boost/asio/detail/socket_select_interrupter.hpp boost_1_57_0/boost/asio/detail/socket_select_interrupter.hpp
old
|
new
|
|
21 | 21 | |
22 | 22 | #if defined(BOOST_ASIO_WINDOWS) \ |
23 | 23 | || defined(__CYGWIN__) \ |
24 | | || defined(__SYMBIAN32__) |
| 24 | || defined(__SYMBIAN32__) \ |
| 25 | || defined(__OS2__) |
25 | 26 | |
26 | 27 | #include <boost/asio/detail/socket_types.hpp> |
27 | 28 | |
-
diff -ur boost_1_57_0-o/boost/asio/detail/socket_types.hpp boost_1_57_0/boost/asio/detail/socket_types.hpp
old
|
new
|
|
82 | 82 | # endif |
83 | 83 | #endif |
84 | 84 | |
| 85 | #if defined(__OS2__) |
| 86 | #include <boost/asio/detail/old_win_sdk_compat.hpp> |
| 87 | #endif |
85 | 88 | #include <boost/asio/detail/push_options.hpp> |
86 | 89 | |
87 | 90 | namespace boost { |
… |
… |
|
279 | 282 | const int invalid_socket = -1; |
280 | 283 | const int socket_error_retval = -1; |
281 | 284 | const int max_addr_v4_str_len = INET_ADDRSTRLEN; |
| 285 | #if defined(__OS2__) |
| 286 | #define SHUT_RD 0 |
| 287 | #define SHUT_WR 1 |
| 288 | #define SHUT_RDWR 2 |
| 289 | # if defined(BOOST_ASIO_HAS_OLD_WIN_SDK) |
| 290 | typedef in6_addr_emulation in6_addr_type; |
| 291 | typedef ipv6_mreq_emulation in6_mreq_type; |
| 292 | typedef sockaddr_in6_emulation sockaddr_in6_type; |
| 293 | typedef sockaddr_storage_emulation sockaddr_storage_type; |
| 294 | typedef addrinfo_emulation addrinfo_type; |
| 295 | # endif |
| 296 | #endif |
282 | 297 | #if defined(INET6_ADDRSTRLEN) |
283 | 298 | const int max_addr_v6_str_len = INET6_ADDRSTRLEN + 1 + IF_NAMESIZE; |
284 | 299 | #else // defined(INET6_ADDRSTRLEN) |
… |
… |
|
297 | 312 | typedef ip_mreq in4_mreq_type; |
298 | 313 | # endif |
299 | 314 | typedef sockaddr_in sockaddr_in4_type; |
| 315 | #if !defined(__OS2__) |
300 | 316 | typedef in6_addr in6_addr_type; |
301 | 317 | typedef ipv6_mreq in6_mreq_type; |
302 | 318 | typedef sockaddr_in6 sockaddr_in6_type; |
303 | 319 | typedef sockaddr_storage sockaddr_storage_type; |
| 320 | #endif |
304 | 321 | typedef sockaddr_un sockaddr_un_type; |
| 322 | #if !defined(__OS2__) |
305 | 323 | typedef addrinfo addrinfo_type; |
| 324 | #endif |
306 | 325 | typedef ::linger linger_type; |
307 | 326 | typedef int ioctl_arg_type; |
308 | 327 | typedef uint32_t u_long_type; |
-
Only in boost_1_57_0/boost/asio/detail: socket_types.hpp.orig
Only in boost_1_57_0/boost/asio/detail: socket_types.hpp.rej
diff -ur boost_1_57_0-o/boost/asio/impl/serial_port_base.ipp boost_1_57_0/boost/asio/impl/serial_port_base.ipp
old
|
new
|
|
250 | 250 | { |
251 | 251 | case none: |
252 | 252 | storage.c_iflag &= ~(IXOFF | IXON); |
253 | | # if defined(_BSD_SOURCE) |
| 253 | # if defined(_BSD_SOURCE) && !defined(__OS2__) |
254 | 254 | storage.c_cflag &= ~CRTSCTS; |
255 | 255 | # elif defined(__QNXNTO__) |
256 | 256 | storage.c_cflag &= ~(IHFLOW | OHFLOW); |
… |
… |
|
258 | 258 | break; |
259 | 259 | case software: |
260 | 260 | storage.c_iflag |= IXOFF | IXON; |
261 | | # if defined(_BSD_SOURCE) |
| 261 | # if defined(_BSD_SOURCE) && !defined(__OS2__) |
262 | 262 | storage.c_cflag &= ~CRTSCTS; |
263 | 263 | # elif defined(__QNXNTO__) |
264 | 264 | storage.c_cflag &= ~(IHFLOW | OHFLOW); |
… |
… |
|
267 | 267 | case hardware: |
268 | 268 | # if defined(_BSD_SOURCE) |
269 | 269 | storage.c_iflag &= ~(IXOFF | IXON); |
| 270 | #if !defined(__OS2__) |
270 | 271 | storage.c_cflag |= CRTSCTS; |
| 272 | #endif |
271 | 273 | break; |
272 | 274 | # elif defined(__QNXNTO__) |
273 | 275 | storage.c_iflag &= ~(IXOFF | IXON); |
… |
… |
|
306 | 308 | { |
307 | 309 | value_ = software; |
308 | 310 | } |
309 | | # if defined(_BSD_SOURCE) |
| 311 | # if defined(_BSD_SOURCE) && !defined(__OS2__) |
310 | 312 | else if (storage.c_cflag & CRTSCTS) |
311 | 313 | { |
312 | 314 | value_ = hardware; |
-
Only in boost_1_57_0/boost/asio/impl: serial_port_base.ipp.orig
Only in boost_1_57_0/boost/asio/impl: serial_port_base.ipp.rej
diff -ur boost_1_57_0-o/boost/chrono/detail/inlined/posix/thread_clock.hpp boost_1_57_0/boost/chrono/detail/inlined/posix/thread_clock.hpp
old
|
new
|
|
33 | 33 | pthread_t pth=pthread_self(); |
34 | 34 | // get the clock_id associated to the current thread |
35 | 35 | clockid_t clock_id; |
| 36 | #ifndef __OS2__ |
36 | 37 | pthread_getcpuclockid(pth, &clock_id); |
| 38 | #endif |
37 | 39 | // get the timespec associated to the thread clock |
38 | 40 | if ( ::clock_gettime( clock_id, &ts ) ) |
39 | 41 | #endif |
… |
… |
|
59 | 61 | pthread_t pth=pthread_self(); |
60 | 62 | // get the clock_id associated to the current thread |
61 | 63 | clockid_t clock_id; |
| 64 | #ifndef __OS2__ |
62 | 65 | pthread_getcpuclockid(pth, &clock_id); |
| 66 | #endif |
63 | 67 | // get the timespec associated to the thread clock |
64 | 68 | if ( ::clock_gettime( clock_id, &ts ) ) |
65 | 69 | #endif |
-
diff -ur boost_1_57_0-o/boost/chrono/system_clocks.hpp boost_1_57_0/boost/chrono/system_clocks.hpp
old
|
new
|
|
67 | 67 | #include <ctime> |
68 | 68 | |
69 | 69 | # if defined( BOOST_CHRONO_POSIX_API ) |
70 | | # if ! defined(CLOCK_REALTIME) && ! defined (__hpux__) |
| 70 | # if ! defined(CLOCK_REALTIME) && ! defined (__hpux__) && !defined(__OS2__) |
71 | 71 | # error <time.h> does not supply CLOCK_REALTIME |
72 | 72 | # endif |
73 | 73 | # endif |
-
Only in boost_1_57_0/boost/config/platform: os2.hpp
diff -ur boost_1_57_0-o/boost/config/select_platform_config.hpp boost_1_57_0/boost/config/select_platform_config.hpp
old
|
new
|
|
45 | 45 | // BeOS |
46 | 46 | # define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp" |
47 | 47 | |
| 48 | #elif defined(__OS2__) |
| 49 | // BeOS |
| 50 | # define BOOST_PLATFORM_CONFIG "boost/config/platform/os2.hpp" |
| 51 | |
48 | 52 | #elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) |
49 | 53 | // MacOS |
50 | 54 | # define BOOST_PLATFORM_CONFIG "boost/config/platform/macos.hpp" |
… |
… |
|
113 | 117 | # include "boost/config/platform/cygwin.hpp" |
114 | 118 | # include "boost/config/platform/win32.hpp" |
115 | 119 | # include "boost/config/platform/beos.hpp" |
| 120 | # include "boost/config/platform/os2.hpp" |
116 | 121 | # include "boost/config/platform/macos.hpp" |
117 | 122 | # include "boost/config/platform/aix.hpp" |
118 | 123 | # include "boost/config/platform/amigaos.hpp" |
-
Only in boost_1_57_0/boost/config: select_platform_config.hpp.orig
Only in boost_1_57_0/boost/config: select_platform_config.hpp.rej
diff -ur boost_1_57_0-o/boost/config/stdlib/libstdcpp3.hpp boost_1_57_0/boost/config/stdlib/libstdcpp3.hpp
old
|
new
|
|
17 | 17 | #define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCPP__) |
18 | 18 | #endif |
19 | 19 | |
20 | | #if !defined(_GLIBCPP_USE_WCHAR_T) && !defined(_GLIBCXX_USE_WCHAR_T) |
| 20 | #if !defined(_GLIBCPP_USE_WCHAR_T) && !defined(_GLIBCXX_USE_WCHAR_T) && !defined(__OS2__) |
21 | 21 | # define BOOST_NO_CWCHAR |
22 | 22 | # define BOOST_NO_CWCTYPE |
23 | 23 | # define BOOST_NO_STD_WSTRING |
… |
… |
|
36 | 36 | || defined(_GLIBCXX__PTHREADS) \ |
37 | 37 | || defined(_GLIBCXX_HAS_GTHREADS) \ |
38 | 38 | || defined(_WIN32) \ |
| 39 | || defined(__OS2__) \ |
39 | 40 | || defined(_AIX) |
40 | 41 | // |
41 | 42 | // If the std lib has thread support turned on, then turn it on in Boost |
-
diff -ur boost_1_57_0-o/boost/config/suffix.hpp boost_1_57_0/boost/config/suffix.hpp
old
|
new
|
|
247 | 247 | // from here then add to the appropriate compiler section): |
248 | 248 | // |
249 | 249 | #if (defined(__MT__) || defined(_MT) || defined(_REENTRANT) \ |
250 | | || defined(_PTHREADS) || defined(__APPLE__) || defined(__DragonFly__)) \ |
| 250 | || defined(_PTHREADS) || defined(__APPLE__) || defined(__DragonFly__) || defined(__OS2__))\ |
251 | 251 | && !defined(BOOST_HAS_THREADS) |
252 | 252 | # define BOOST_HAS_THREADS |
253 | 253 | #endif |
-
diff -ur boost_1_57_0-o/boost/filesystem/config.hpp boost_1_57_0/boost/filesystem/config.hpp
old
|
new
|
|
45 | 45 | |
46 | 46 | #define BOOST_FILESYSTEM_THROW(EX) throw EX |
47 | 47 | |
48 | | # if defined( BOOST_NO_STD_WSTRING ) |
| 48 | # if defined( BOOST_NO_STD_WSTRING ) && !defined(__OS2__) |
49 | 49 | # error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support |
50 | 50 | # endif |
51 | 51 | |
-
Only in boost_1_57_0/boost/filesystem: config.hpp.orig
Only in boost_1_57_0/boost/filesystem: config.hpp.rej
diff -ur boost_1_57_0-o/boost/filesystem/convenience.hpp boost_1_57_0/boost/filesystem/convenience.hpp
old
|
new
|
|
15 | 15 | |
16 | 16 | #include <boost/config.hpp> |
17 | 17 | |
18 | | # if defined( BOOST_NO_STD_WSTRING ) |
| 18 | # if defined( BOOST_NO_STD_WSTRING ) && !defined(__OS2__) |
19 | 19 | # error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support |
20 | 20 | # endif |
21 | 21 | |
-
diff -ur boost_1_57_0-o/boost/filesystem/fstream.hpp boost_1_57_0/boost/filesystem/fstream.hpp
old
|
new
|
|
14 | 14 | |
15 | 15 | #include <boost/config.hpp> |
16 | 16 | |
17 | | # if defined( BOOST_NO_STD_WSTRING ) |
| 17 | # if defined( BOOST_NO_STD_WSTRING ) && !defined(__OS2__) |
18 | 18 | # error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support |
19 | 19 | # endif |
20 | 20 | |
-
diff -ur boost_1_57_0-o/boost/filesystem/operations.hpp boost_1_57_0/boost/filesystem/operations.hpp
old
|
new
|
|
17 | 17 | |
18 | 18 | #include <boost/config.hpp> |
19 | 19 | |
20 | | # if defined( BOOST_NO_STD_WSTRING ) |
| 20 | # if defined( BOOST_NO_STD_WSTRING ) && !defined(__OS2__) |
21 | 21 | # error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support |
22 | 22 | # endif |
23 | 23 | |
-
diff -ur boost_1_57_0-o/boost/filesystem/path_traits.hpp boost_1_57_0/boost/filesystem/path_traits.hpp
old
|
new
|
|
12 | 12 | |
13 | 13 | #include <boost/config.hpp> |
14 | 14 | |
15 | | # if defined( BOOST_NO_STD_WSTRING ) |
| 15 | # if defined( BOOST_NO_STD_WSTRING ) && !defined(__OS2__) |
16 | 16 | # error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support |
17 | 17 | # endif |
18 | 18 | |
-
diff -ur boost_1_57_0-o/boost/filesystem/path.hpp boost_1_57_0/boost/filesystem/path.hpp
old
|
new
|
|
17 | 17 | |
18 | 18 | #include <boost/config.hpp> |
19 | 19 | |
20 | | # if defined( BOOST_NO_STD_WSTRING ) |
| 20 | # if defined( BOOST_NO_STD_WSTRING ) && !defined(__OS2__) |
21 | 21 | # error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support |
22 | 22 | # endif |
23 | 23 | |
-
diff -ur boost_1_57_0-o/boost/integer_traits.hpp boost_1_57_0/boost/integer_traits.hpp
old
|
new
|
|
23 | 23 | #include <limits.h> |
24 | 24 | // we need wchar.h for WCHAR_MAX/MIN but not all platforms provide it, |
25 | 25 | // and some may have <wchar.h> but not <cwchar> ... |
26 | | #if !defined(BOOST_NO_INTRINSIC_WCHAR_T) && (!defined(BOOST_NO_CWCHAR) || defined(sun) || defined(__sun) || defined(__QNX__)) |
| 26 | #if !defined(BOOST_NO_INTRINSIC_WCHAR_T) && (!defined(BOOST_NO_CWCHAR) || defined(sun) || defined(__sun) || defined(__QNX__) || defined(__OS2__)) |
27 | 27 | #include <wchar.h> |
28 | 28 | #endif |
29 | 29 | |
-
diff -ur boost_1_57_0-o/boost/lexical_cast/detail/converter_lexical_streams.hpp boost_1_57_0/boost/lexical_cast/detail/converter_lexical_streams.hpp
old
|
new
|
|
316 | 316 | #endif |
317 | 317 | |
318 | 318 | |
319 | | #if !defined(BOOST_LCAST_NO_WCHAR_T) && !defined(BOOST_NO_SWPRINTF) && !defined(__MINGW32__) |
| 319 | #if !defined(BOOST_LCAST_NO_WCHAR_T) && !defined(BOOST_NO_SWPRINTF) && !defined(__MINGW32__) && !defined(__OS2__) |
320 | 320 | bool shl_real_type(float val, wchar_t* begin) { |
321 | 321 | using namespace std; |
322 | 322 | const double val_as_double = val; |
-
diff -ur boost_1_57_0-o/boost/smart_ptr/detail/sp_has_sync.hpp boost_1_57_0/boost/smart_ptr/detail/sp_has_sync.hpp
old
|
new
|
|
38 | 38 | #undef BOOST_SP_HAS_SYNC |
39 | 39 | #endif |
40 | 40 | |
| 41 | #if defined( __OS2__ ) |
| 42 | #undef BOOST_SP_HAS_SYNC |
| 43 | #endif |
| 44 | |
41 | 45 | #if defined( __hppa ) || defined( __hppa__ ) |
42 | 46 | #undef BOOST_SP_HAS_SYNC |
43 | 47 | #endif |
-
Only in boost_1_57_0/boost/smart_ptr/detail: sp_has_sync.hpp.orig
Only in boost_1_57_0/boost/smart_ptr/detail: sp_has_sync.hpp.rej
diff -ur boost_1_57_0-o/boost/smart_ptr/detail/yield_k.hpp boost_1_57_0/boost/smart_ptr/detail/yield_k.hpp
old
|
new
|
|
98 | 98 | |
99 | 99 | #elif defined( BOOST_HAS_PTHREADS ) |
100 | 100 | |
| 101 | #ifndef __OS2__ |
101 | 102 | #ifndef _AIX |
102 | 103 | #include <sched.h> |
103 | 104 | #else |
104 | 105 | // AIX's sched.h defines ::var which sometimes conflicts with Lambda's var |
105 | 106 | extern "C" int sched_yield(void); |
106 | 107 | #endif |
107 | | |
| 108 | #endif |
108 | 109 | #include <time.h> |
109 | 110 | |
110 | 111 | namespace boost |
… |
… |
|
126 | 127 | #endif |
127 | 128 | else if( k < 32 || k & 1 ) |
128 | 129 | { |
| 130 | #ifndef __OS2__ |
129 | 131 | sched_yield(); |
| 132 | #endif |
130 | 133 | } |
131 | 134 | else |
132 | 135 | { |
-
Only in boost_1_57_0/boost/thread/pthread: condition_variable.hpp.orig
Only in boost_1_57_0/boost/thread/pthread: condition_variable.hpp.rej
Only in boost_1_57_0/boost/thread/pthread: mutex.hpp.orig
Only in boost_1_57_0/boost/thread/pthread: mutex.hpp.rej
diff -ur boost_1_57_0-o/boost/thread/pthread/timespec.hpp boost_1_57_0/boost/thread/pthread/timespec.hpp
old
|
new
|
|
20 | 20 | #include <boost/chrono/duration.hpp> |
21 | 21 | #endif |
22 | 22 | |
23 | | #if defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) |
| 23 | #if defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) || defined(__OS2__) |
24 | 24 | # define BOOST_THREAD_TIMESPEC_MAC_API |
25 | 25 | #include <sys/time.h> //for gettimeofday and timeval |
26 | 26 | #else |
-
diff -ur boost_1_57_0-o/boost/token_functions.hpp boost_1_57_0/boost/token_functions.hpp
old
|
new
|
|
67 | 67 | namespace std{ |
68 | 68 | using ::ispunct; |
69 | 69 | using ::isspace; |
70 | | #if !defined(BOOST_NO_CWCTYPE) |
| 70 | #if !defined(BOOST_NO_CWCTYPE) && !defined(__OS2__) |
71 | 71 | using ::iswpunct; |
72 | 72 | using ::iswspace; |
73 | 73 | #endif |
… |
… |
|
210 | 210 | // implementations, argument types are not a problem since both forms of character classifiers |
211 | 211 | // expect an int. |
212 | 212 | |
213 | | #if !defined(BOOST_NO_CWCTYPE) |
| 213 | #if !defined(BOOST_NO_CWCTYPE) && !defined(__OS2__) |
214 | 214 | template<typename traits, int N> |
215 | 215 | struct traits_extension_details : public traits { |
216 | 216 | typedef typename traits::char_type char_type; |
-
diff -ur boost_1_57_0-o/boost/wave/token_ids.hpp boost_1_57_0/boost/wave/token_ids.hpp
old
|
new
|
|
27 | 27 | #if !defined(BOOST_WAVE_TOKEN_IDS_DEFINED) |
28 | 28 | #define BOOST_WAVE_TOKEN_IDS_DEFINED |
29 | 29 | |
30 | | #if (defined (__FreeBSD__) || defined (__DragonFly__) || defined (__OpenBSD__)) && defined (T_DIVIDE) |
| 30 | #if (defined (__FreeBSD__) || defined (__DragonFly__) || defined(__OS2__) || defined (__OpenBSD__)) && defined (T_DIVIDE) |
31 | 31 | #undef T_DIVIDE |
32 | 32 | #endif |
33 | 33 | |
-
Only in boost_1_57_0: bootstrap.log
diff -ur boost_1_57_0-o/bootstrap.sh boost_1_57_0/bootstrap.sh
old
|
new
|
|
26 | 26 | flag_icu= |
27 | 27 | flag_show_libraries= |
28 | 28 | |
| 29 | # Check that the OS name, as returned by "uname", is as given. |
| 30 | test_uname () |
| 31 | { |
| 32 | test `uname` = $* |
| 33 | } |
| 34 | |
29 | 35 | for option |
30 | 36 | do |
31 | 37 | case $option in |
… |
… |
|
226 | 232 | arch=`cd $my_dir/tools/build/src/engine && ./bootstrap/jam0 -d0 -f build.jam --toolset=$TOOLSET --toolset-root= --show-locate-target && cd ..` |
227 | 233 | BJAM="$my_dir/tools/build/src/engine/$arch/b2" |
228 | 234 | echo "tools/build/src/engine/$arch/b2" |
| 235 | if test_uname OS/2 ; then |
| 236 | cp "$BJAM.exe" . |
| 237 | else |
229 | 238 | cp "$BJAM" . |
| 239 | fi |
230 | 240 | cp "$my_dir/tools/build/src/engine/$arch/bjam" . |
231 | 241 | |
232 | 242 | fi |
-
Only in boost_1_57_0: bootstrap.sh.orig
Only in boost_1_57_0: bootstrap.sh.rej
Only in boost_1_57_0: build
Only in boost_1_57_0: build.cmd
Only in boost_1_57_0: build.log
diff -ur boost_1_57_0-o/libs/container/src/dlmalloc_2_8_6.c boost_1_57_0/libs/container/src/dlmalloc_2_8_6.c
old
|
new
|
|
565 | 565 | #endif /*MMAP_CLEARS */ |
566 | 566 | #endif /* WIN32 */ |
567 | 567 | |
| 568 | #ifdef __OS2__ |
| 569 | #define LACKS_SCHED_H |
| 570 | #endif |
| 571 | |
568 | 572 | #if defined(DARWIN) || defined(_DARWIN) |
569 | 573 | /* Mac OSX docs advise not to use sbrk; it seems better to use mmap */ |
570 | 574 | #ifndef HAVE_MORECORE |
-
diff -ur boost_1_57_0-o/libs/filesystem/src/path.cpp boost_1_57_0/libs/filesystem/src/path.cpp
old
|
new
|
|
10 | 10 | // Old standard library configurations, particularly MingGW, don't support wide strings. |
11 | 11 | // Report this with an explicit error message. |
12 | 12 | #include <boost/config.hpp> |
13 | | # if defined( BOOST_NO_STD_WSTRING ) |
| 13 | # if defined( BOOST_NO_STD_WSTRING ) && !defined(__OS2__) |
14 | 14 | # error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support |
15 | 15 | # endif |
16 | 16 | |
-
Only in boost_1_57_0/libs/filesystem/src: portability.cpp.orig
Only in boost_1_57_0/libs/filesystem/src: portability.cpp.rej
diff -ur boost_1_57_0-o/libs/filesystem/test/convenience_test.cpp boost_1_57_0/libs/filesystem/test/convenience_test.cpp
old
|
new
|
|
21 | 21 | #include <boost/filesystem/convenience.hpp> |
22 | 22 | |
23 | 23 | #include <boost/config.hpp> |
24 | | # if defined( BOOST_NO_STD_WSTRING ) |
| 24 | # if defined( BOOST_NO_STD_WSTRING ) && !defined(__OS2__) |
25 | 25 | # error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support |
26 | 26 | # endif |
27 | 27 | |
-
diff -ur boost_1_57_0-o/libs/filesystem/test/deprecated_test.cpp boost_1_57_0/libs/filesystem/test/deprecated_test.cpp
old
|
new
|
|
16 | 16 | #include <boost/filesystem.hpp> |
17 | 17 | |
18 | 18 | #include <boost/config.hpp> |
19 | | # if defined( BOOST_NO_STD_WSTRING ) |
| 19 | # if defined( BOOST_NO_STD_WSTRING ) && !defined(__OS2__) |
20 | 20 | # error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support |
21 | 21 | # endif |
22 | 22 | |
-
diff -ur boost_1_57_0-o/libs/filesystem/test/fstream_test.cpp boost_1_57_0/libs/filesystem/test/fstream_test.cpp
old
|
new
|
|
20 | 20 | #include <boost/filesystem/fstream.hpp> |
21 | 21 | |
22 | 22 | #include <boost/config.hpp> |
23 | | # if defined( BOOST_NO_STD_WSTRING ) |
| 23 | # if defined( BOOST_NO_STD_WSTRING ) && !defined(__OS2__) |
24 | 24 | # error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support |
25 | 25 | # endif |
26 | 26 | |
-
diff -ur boost_1_57_0-o/libs/filesystem/test/issues/recurse_dir_iter_5403.cpp boost_1_57_0/libs/filesystem/test/issues/recurse_dir_iter_5403.cpp
old
|
new
|
|
20 | 20 | #include <boost/filesystem/operations.hpp> |
21 | 21 | |
22 | 22 | #include <boost/config.hpp> |
23 | | # if defined( BOOST_NO_STD_WSTRING ) |
| 23 | # if defined( BOOST_NO_STD_WSTRING ) && !defined(__OS2__) |
24 | 24 | # error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support |
25 | 25 | # endif |
26 | 26 | |
-
Only in boost_1_57_0: patch.log
Only in boost_1_57_0: project-config.jam
Only in boost_1_57_0: project-config.jam.1
Only in boost_1_57_0: project-config.jam.2
Only in boost_1_57_0: project-config.jam.3
Only in boost_1_57_0: project-config.jam.4
Only in boost_1_57_0: project-config.jam.5
Only in boost_1_57_0: project-config.jam.6
Only in boost_1_57_0: stage
Only in boost_1_57_0: t.sh
Only in boost_1_57_0/tools/build: bootstrap.log
Only in boost_1_57_0/tools/build/src: bin.os2x86
diff -ur boost_1_57_0-o/tools/build/src/build/type.jam boost_1_57_0/tools/build/src/build/type.jam
old
|
new
|
|
354 | 354 | # |
355 | 355 | rule type ( filename ) |
356 | 356 | { |
357 | | if [ os.name ] in NT CYGWIN |
| 357 | if [ os.name ] in NT CYGWIN OS2 |
358 | 358 | { |
359 | 359 | filename = $(filename:L) ; |
360 | 360 | } |
-
diff -ur boost_1_57_0-o/tools/build/src/build-system.jam boost_1_57_0/tools/build/src/build-system.jam
old
|
new
|
|
334 | 334 | |
335 | 335 | local user-path = [ os.home-directories ] [ os.environ BOOST_BUILD_PATH ] ; |
336 | 336 | local site-path = /etc $(user-path) ; |
337 | | if [ os.name ] in NT CYGWIN |
| 337 | if [ os.name ] in NT CYGWIN OS2 |
338 | 338 | { |
339 | 339 | site-path = [ modules.peek : SystemRoot ] $(user-path) ; |
340 | 340 | } |
-
Only in boost_1_57_0/tools/build/src/engine: b2.exe
Only in boost_1_57_0/tools/build/src/engine: bin.os2x86
Only in boost_1_57_0/tools/build/src/engine: bin.os2x86b2.exe
Only in boost_1_57_0/tools/build/src/engine: bootstrap
diff -ur boost_1_57_0-o/tools/build/src/engine/build.jam boost_1_57_0/tools/build/src/engine/build.jam
old
|
new
|
|
572 | 572 | if $(OS) = NT { actions piecemeal together existing [DELETE] { |
573 | 573 | del /F /Q "$(>)" |
574 | 574 | } } |
| 575 | if $(OS) = OS2 { actions piecemeal together existing [DELETE] { |
| 576 | rm -f "$(>)" |
| 577 | } } |
575 | 578 | if $(UNIX) = true { actions piecemeal together existing [DELETE] { |
576 | 579 | rm -f "$(>)" |
577 | 580 | } } |
… |
… |
|
591 | 594 | if $(OS) = NT { actions [MKDIR] { |
592 | 595 | md "$(<)" |
593 | 596 | } } |
| 597 | if $(OS2) = true { actions [MKDIR] { |
| 598 | md "$(<)" |
| 599 | } } |
594 | 600 | if $(UNIX) = true { actions [MKDIR] { |
595 | 601 | mkdir "$(<)" |
596 | 602 | } } |
-
diff -ur boost_1_57_0-o/tools/build/src/engine/build.sh boost_1_57_0/tools/build/src/engine/build.sh
old
|
new
|
|
130 | 130 | ;; |
131 | 131 | |
132 | 132 | gcc) |
| 133 | if test_uname OS/2 ; then |
| 134 | BOOST_JAM_OPT_JAM="-Zomf $BOOST_JAM_OPT_JAM -D__OS2__ -D__EMX__" |
| 135 | fi |
133 | 136 | BOOST_JAM_CC=gcc |
134 | 137 | ;; |
135 | 138 | |
… |
… |
|
258 | 261 | ;; |
259 | 262 | |
260 | 263 | *) |
| 264 | # if test_uname OS/2 ; then |
| 265 | # BJAM_SOURCES="${BJAM_SOURCES} execos2.c fileunix.c pathunix.c" |
| 266 | # else |
261 | 267 | BJAM_SOURCES="${BJAM_SOURCES} execunix.c fileunix.c pathunix.c" |
| 268 | # fi |
262 | 269 | ;; |
263 | 270 | esac |
264 | 271 | |
-
diff -ur boost_1_57_0-o/tools/build/src/engine/builtins.c boost_1_57_0/tools/build/src/engine/builtins.c
old
|
new
|
|
726 | 726 | globbing.patterns = r; |
727 | 727 | |
728 | 728 | globbing.case_insensitive = |
729 | | # if defined( OS_NT ) || defined( OS_CYGWIN ) |
| 729 | # if defined( OS_NT ) || defined( OS_CYGWIN ) || defined( OS_OS2 ) |
730 | 730 | l; /* Always case-insensitive if any files can be found. */ |
731 | 731 | # else |
732 | 732 | lol_get( frame->args, 2 ); |
… |
… |
|
774 | 774 | globbing.patterns = plist; |
775 | 775 | |
776 | 776 | globbing.case_insensitive |
777 | | # if defined( OS_NT ) || defined( OS_CYGWIN ) |
| 777 | # if defined( OS_NT ) || defined( OS_CYGWIN ) || defined( OS_OS2 ) |
778 | 778 | = plist; /* always case-insensitive if any files can be found */ |
779 | 779 | # else |
780 | 780 | = L0; |
-
Only in boost_1_57_0/tools/build/src/engine: execos2.c
diff -ur boost_1_57_0-o/tools/build/src/engine/execunix.c boost_1_57_0/tools/build/src/engine/execunix.c
old
|
new
|
|
21 | 21 | #include <sys/times.h> |
22 | 22 | #include <sys/wait.h> |
23 | 23 | |
| 24 | #ifdef __OS2__ |
| 25 | #include <sys/socket.h> |
| 26 | #endif |
| 27 | |
24 | 28 | #if defined(sun) || defined(__sun) |
25 | 29 | #include <wait.h> |
26 | 30 | #endif |
27 | 31 | |
28 | 32 | #ifdef USE_EXECUNIX |
29 | | |
30 | 33 | #include <sys/times.h> |
31 | 34 | |
32 | 35 | #if defined(__APPLE__) |
… |
… |
|
169 | 172 | } |
170 | 173 | |
171 | 174 | /* Create pipes for collecting child output. */ |
| 175 | #ifndef __OS2__ |
172 | 176 | if ( pipe( out ) < 0 || ( globs.pipe_action && pipe( err ) < 0 ) ) |
| 177 | #else |
| 178 | if ( socketpair(AF_UNIX, SOCK_STREAM,0, out ) < 0 || ( globs.pipe_action && pipe( err ) < 0 ) ) |
| 179 | #endif |
173 | 180 | { |
174 | 181 | perror( "pipe" ); |
175 | 182 | exit( EXITBAD ); |
-
diff -ur boost_1_57_0-o/tools/build/src/engine/jam.h boost_1_57_0/tools/build/src/engine/jam.h
old
|
new
|
|
98 | 98 | |
99 | 99 | |
100 | 100 | /* |
| 101 | * OS2 |
| 102 | */ |
| 103 | |
| 104 | #ifdef __OS2__ |
| 105 | |
| 106 | #include <fcntl.h> |
| 107 | #include <stdlib.h> |
| 108 | #include <stdio.h> |
| 109 | #include <ctype.h> |
| 110 | #include <malloc.h> |
| 111 | #include <signal.h> |
| 112 | #include <string.h> |
| 113 | #include <time.h> |
| 114 | |
| 115 | #define OSMAJOR "OS2=true" |
| 116 | #define OSMINOR "OS=OS2" |
| 117 | #define OS_OS2 |
| 118 | #define SPLITPATH ';' |
| 119 | #define MAXLINE 996 /* longest 'together' actions */ |
| 120 | /*#define USE_EXECOS2*/ |
| 121 | #define USE_EXECUNIX |
| 122 | #define USE_PATHUNIX |
| 123 | #define PATH_DELIM '\\' |
| 124 | #define DOWNSHIFT_PATHS |
| 125 | |
| 126 | #define NO_VFORK |
| 127 | |
| 128 | #ifdef __EMX__ |
| 129 | #define USE_FILEUNIX |
| 130 | #endif |
| 131 | |
| 132 | #endif |
| 133 | |
| 134 | /* |
101 | 135 | * God fearing UNIX. |
102 | 136 | */ |
103 | 137 | |
-
diff -ur boost_1_57_0-o/tools/build/src/engine/pathunix.c boost_1_57_0/tools/build/src/engine/pathunix.c
old
|
new
|
|
22 | 22 | #include <unistd.h> /* needed for getpid() */ |
23 | 23 | |
24 | 24 | |
| 25 | #ifdef OS_OS2 |
| 26 | char* short_path_to_long_path(char* short_path) /* converts any "/" to "\" */ |
| 27 | { |
| 28 | |
| 29 | int i = 0; |
| 30 | int len = 0; |
| 31 | len = strlen(short_path); |
| 32 | for (i=0;i<len;++i) { |
| 33 | if (short_path[i] == '/') |
| 34 | short_path[i] = '\\'; |
| 35 | } |
| 36 | return short_path; |
| 37 | } |
| 38 | #endif |
| 39 | |
25 | 40 | /* |
26 | 41 | * path_get_process_id_() |
27 | 42 | */ |
… |
… |
|
39 | 54 | void path_get_temp_path_( string * buffer ) |
40 | 55 | { |
41 | 56 | char const * t = getenv( "TMPDIR" ); |
| 57 | #ifdef OS_OS2 |
| 58 | if (!t) |
| 59 | { |
| 60 | const char * t = getenv("TEMP"); |
| 61 | } |
| 62 | #endif |
42 | 63 | string_append( buffer, t ? t : "/tmp" ); |
43 | 64 | } |
44 | 65 | |
-
Only in boost_1_57_0/tools/build/src/engine: t
Only in boost_1_57_0/tools/build/src/engine: t.sh
diff -ur boost_1_57_0-o/tools/build/src/tools/builtin.jam boost_1_57_0/tools/build/src/tools/builtin.jam
old
|
new
|
|
41 | 41 | |
42 | 42 | |
43 | 43 | .os-names = aix android bsd cygwin darwin freebsd hpux iphone linux netbsd openbsd osf |
44 | | qnx qnxnto sgi solaris unix unixware windows |
| 44 | qnx qnxnto sgi solaris unix unixware windows os2 |
45 | 45 | elf # Not actually an OS -- used for targeting bare metal where object |
46 | 46 | # format is ELF. This catches both -elf and -eabi gcc targets and well |
47 | 47 | # as other compilers targeting ELF. It is not clear how often we need |
-
diff -ur boost_1_57_0-o/tools/build/src/tools/common.jam boost_1_57_0/tools/build/src/tools/common.jam
old
|
new
|
|
383 | 383 | # Only NT will run .bat & .cmd files by their unqualified names. |
384 | 384 | || ( ( [ os.name ] = NT ) && ( [ path.exists $(command).bat ] || |
385 | 385 | [ path.exists $(command).cmd ] ) ) |
| 386 | || ( ( [ os.name ] = OS2 ) && ( [ path.exists $(command).bat ] || |
| 387 | [ path.exists $(command).cmd ] || [ path.exists $(command).exe ] ) ) |
| 388 | |
386 | 389 | { |
387 | 390 | return $(command) ; |
388 | 391 | } |
… |
… |
|
521 | 524 | # |
522 | 525 | rule variable-setting-command ( variable : value ) |
523 | 526 | { |
524 | | if [ os.name ] = NT |
| 527 | if [ os.name ] = NT || [ os.name ] = OS2 |
525 | 528 | { |
526 | 529 | return "set $(variable)=$(value)$(nl)" ; |
527 | 530 | } |
… |
… |
|
629 | 632 | # recurse until root. |
630 | 633 | |
631 | 634 | local s = $(<:P) ; |
632 | | if [ os.name ] = NT |
| 635 | if [ os.name ] = NT || [ os.name ] = OS2 |
633 | 636 | { |
634 | 637 | switch $(s) |
635 | 638 | { |
… |
… |
|
664 | 667 | # up to the same filesystem target and triggers their build action only once. |
665 | 668 | # (todo) (04.07.2008.) (Jurko) |
666 | 669 | |
667 | | if [ os.name ] = NT |
| 670 | if [ os.name ] = NT || [ os.name ] = OS2 |
668 | 671 | { |
669 | 672 | actions mkdir |
670 | 673 | { |
-
diff -ur boost_1_57_0-o/tools/build/src/tools/gcc.jam boost_1_57_0/tools/build/src/tools/gcc.jam
old
|
new
|
|
47 | 47 | type.set-generated-target-suffix OBJ : <toolset>gcc : o ; |
48 | 48 | type.set-generated-target-suffix OBJ : <toolset>gcc <target-os>windows : o ; |
49 | 49 | type.set-generated-target-suffix OBJ : <toolset>gcc <target-os>cygwin : o ; |
| 50 | type.set-generated-target-suffix OBJ : <toolset>gcc <target-os>os2 : o ; |
50 | 51 | |
51 | 52 | |
52 | 53 | # Initializes the gcc toolset for the given version. If necessary, command may |
… |
… |
|
201 | 202 | case HPUX : linker = hpux ; |
202 | 203 | case AIX : linker = aix ; |
203 | 204 | case SOLARIS : linker = sun ; |
| 205 | case OS2 : linker = os2 ; |
204 | 206 | case * : linker = gnu ; |
205 | 207 | } |
206 | 208 | } |
… |
… |
|
412 | 414 | |
413 | 415 | # On Windows, fPIC is the default, and specifying -fPIC explicitly leads |
414 | 416 | # to a warning. |
415 | | if ! $(target) in cygwin windows |
| 417 | if ! $(target) in cygwin windows os2 |
416 | 418 | { |
417 | 419 | OPTIONS on $(targets) += -fPIC ; |
418 | 420 | } |
… |
… |
|
471 | 473 | |
472 | 474 | |
473 | 475 | # FIXME: this should not use os.name. |
474 | | if ! [ os.name ] in NT OSF HPUX AIX |
| 476 | if ! [ os.name ] in NT OSF HPUX AIX OS2 |
475 | 477 | { |
476 | 478 | # OSF does have an option called -soname but it does not seem to work as |
477 | 479 | # expected, therefore it has been disabled. |
… |
… |
|
802 | 804 | toolset.flags $(toolset).link OPTIONS : -Wl,-brtl -Wl,-bnoipath -Wl,-bbigtoc |
803 | 805 | : unchecked ; |
804 | 806 | |
| 807 | case os2 : |
| 808 | { |
| 809 | # on os2 we use native linker |
| 810 | toolset.flags $(toolset).link OPTIONS : -Zomf : unchecked ; |
| 811 | toolset.flags $(toolset).link.dll OPTIONS : -Zdll -Zomf : unchecked ; |
| 812 | } |
| 813 | |
805 | 814 | case darwin : |
806 | 815 | # On Darwin, the -s option to ld does not work unless we pass -static, |
807 | 816 | # and passing -static unconditionally is a bad idea. So, do not pass -s |
… |
… |
|
1037 | 1046 | case *bsd : option = -pthread ; # There is no -lrt on BSD. |
1038 | 1047 | case sgi : # gcc on IRIX does not support multi-threading. |
1039 | 1048 | case darwin : # No threading options. |
| 1049 | case os2 : # not available right now |
1040 | 1050 | case * : option = -pthread ; libs = rt ; |
1041 | 1051 | } |
1042 | 1052 | |
-
diff -ur boost_1_57_0-o/tools/build/src/tools/python.jam boost_1_57_0/tools/build/src/tools/python.jam
old
|
new
|
|
324 | 324 | { |
325 | 325 | path = [ cygwin-to-windows-path $(path) ] ; |
326 | 326 | } |
| 327 | else if [ os.name ] = OS2 |
| 328 | { |
| 329 | return path.native $(path) ; |
| 330 | } |
327 | 331 | return $(path) ; |
328 | 332 | } |
329 | 333 | |
… |
… |
|
506 | 510 | { |
507 | 511 | exec-prefix ?= $(prefix) ; |
508 | 512 | |
509 | | if $(target-os) = windows |
| 513 | if $(target-os) = windows || $(target-os) = OS2 |
510 | 514 | { |
511 | 515 | # The exec_prefix is where you're supposed to look for machine-specific |
512 | 516 | # libraries. |
… |
… |
|
587 | 591 | # Search relative to the prefix, or if none supplied, in PATH. |
588 | 592 | local unversioned = $(:E=python:R=$(bin-path:E=)) ; |
589 | 593 | |
| 594 | if $(target-os) = os2 |
| 595 | { |
| 596 | return $(:E=python:R=$(prefix)) $(unversioned) $(unversioned)$(version) ; |
| 597 | } |
| 598 | else |
| 599 | { |
590 | 600 | # If a version was specified, look for a python with that specific |
591 | 601 | # version appended before looking for one called, simply, "python" |
592 | 602 | return $(unversioned)$(version) $(unversioned) ; |
593 | 603 | } |
| 604 | } |
594 | 605 | } |
595 | 606 | |
596 | 607 | |
… |
… |
|
639 | 650 | case qnx* : return ; |
640 | 651 | case darwin : return ; |
641 | 652 | case windows : return ; |
| 653 | case os2 : return ; |
642 | 654 | |
643 | 655 | case hpux : return <library>rt ; |
644 | 656 | case *bsd : return <library>pthread <toolset>gcc:<library>util ; |
… |
… |
|
874 | 886 | local dll-path = $(libraries) ; |
875 | 887 | |
876 | 888 | # Make sure that we can find the Python DLL on Windows. |
877 | | if ( $(target-os) = windows ) && $(exec-prefix) |
| 889 | if ( $(target-os) = windows || $(target-os) = os2 ) && $(exec-prefix) |
878 | 890 | { |
879 | 891 | dll-path += $(exec-prefix) ; |
880 | 892 | } |
-
diff -ur boost_1_57_0-o/tools/build/src/tools/symlink.jam boost_1_57_0/tools/build/src/tools/symlink.jam
old
|
new
|
|
137 | 137 | copy "$(>)" "$(<)" $(NULL_OUT) |
138 | 138 | } |
139 | 139 | |
| 140 | actions ln-OS2 |
| 141 | { |
| 142 | copy "$(>)" "$(<)" $(NULL_OUT) |
| 143 | } |
| 144 | |
140 | 145 | IMPORT $(__name__) : symlink : : symlink ; |
-
diff -ur boost_1_57_0-o/tools/build/src/tools/types/exe.jam boost_1_57_0/tools/build/src/tools/types/exe.jam
old
|
new
|
|
7 | 7 | type.register EXE ; |
8 | 8 | type.set-generated-target-suffix EXE : <target-os>windows : "exe" ; |
9 | 9 | type.set-generated-target-suffix EXE : <target-os>cygwin : "exe" ; |
| 10 | type.set-generated-target-suffix EXE : <target-os>os2 : "exe" ; |
-
diff -ur boost_1_57_0-o/tools/build/src/tools/types/lib.jam boost_1_57_0/tools/build/src/tools/types/lib.jam
old
|
new
|
|
34 | 34 | |
35 | 35 | # The 'lib' prefix is used everywhere |
36 | 36 | type.set-generated-target-prefix STATIC_LIB : : lib ; |
| 37 | type.set-generated-target-prefix STATIC_LIB : <target-os>os2 : "" ; |
37 | 38 | |
38 | 39 | # Use '.lib' suffix for windows |
39 | 40 | type.set-generated-target-suffix STATIC_LIB : <target-os>windows : lib ; |
| 41 | type.set-generated-target-suffix STATIC_LIB : <target-os>os2 : a ; |
40 | 42 | |
41 | 43 | # Except with gcc. |
42 | 44 | type.set-generated-target-suffix STATIC_LIB : <toolset>gcc <target-os>windows : a ; |
… |
… |
|
66 | 68 | type.set-generated-target-suffix SHARED_LIB : <target-os>windows : dll ; |
67 | 69 | type.set-generated-target-suffix SHARED_LIB : <target-os>cygwin : dll ; |
68 | 70 | type.set-generated-target-suffix SHARED_LIB : <target-os>darwin : dylib ; |
| 71 | type.set-generated-target-suffix SHARED_LIB : <target-os>os2 : dll ; |
69 | 72 | |
70 | 73 | type SEARCHED_LIB : : LIB ; |
71 | 74 | # This is needed so that when we create a target of SEARCHED_LIB |
-
diff -ur boost_1_57_0-o/tools/build/src/tools/types/register.jam boost_1_57_0/tools/build/src/tools/types/register.jam
old
|
new
|
|
21 | 21 | } |
22 | 22 | |
23 | 23 | .this-module's-file = [ modules.binding $(__name__) ] ; |
| 24 | if ! [os.name] = OS2 |
| 25 | { |
24 | 26 | .this-module's-dir = [ path.parent $(.this-module's-file) ] ; |
| 27 | } |
| 28 | # on os2 we need to normalize the path also. |
| 29 | else |
| 30 | { |
| 31 | .this-module's-dir = [ path.make $(.this-module's-file) ] ; |
| 32 | .this-module's-dir = [ path.parent $(.this-module's-dir) ] ; |
| 33 | } |
| 34 | |
25 | 35 | .sibling-jamfiles = [ path.glob $(.this-module's-dir) : *.jam ] ; |
26 | 36 | .sibling-modules = [ MATCH ^(.*)\.jam$ : $(.sibling-jamfiles) ] ; |
27 | 37 | |
-
Only in boost_1_57_0/tools/build/src: TOP.LOG
diff -ur boost_1_57_0-o/tools/build/src/util/os.jam boost_1_57_0/tools/build/src/util/os.jam
old
|
new
|
|
68 | 68 | .expand-variable-prefix-NT = % ; |
69 | 69 | .expand-variable-suffix-NT = % ; |
70 | 70 | .executable-suffix-NT = .exe ; |
| 71 | .executable-suffix-OS2 = .exe ; |
| 72 | .path-separator-OS2 = ";" ; |
| 73 | .expand-variable-prefix-OS2 = % ; |
| 74 | .expand-variable-suffix-OS2 = % ; |
71 | 75 | |
72 | 76 | .shared-library-path-variable-CYGWIN = PATH ; |
73 | 77 | |
-
diff -ur boost_1_57_0-o/tools/build/src/util/path.jam boost_1_57_0/tools/build/src/util/path.jam
old
|
new
|
|
502 | 502 | } |
503 | 503 | |
504 | 504 | |
| 505 | rule make-OS2 ( native ) |
| 506 | { |
| 507 | local result ; |
| 508 | |
| 509 | result = [ NORMALIZE_PATH $(native) ] ; |
| 510 | |
| 511 | # We need to add an extra '/' in front in case this is a rooted Windows path |
| 512 | # starting with a drive letter and not a path separator character since the |
| 513 | # builtin NORMALIZE_PATH rule has no knowledge of this leading drive letter |
| 514 | # and treats it as a regular folder name. |
| 515 | if [ regex.match "(^.:)" : $(native) ] |
| 516 | { |
| 517 | result = /$(result) ; |
| 518 | } |
| 519 | |
| 520 | return $(result) ; |
| 521 | } |
| 522 | |
| 523 | |
| 524 | rule native-OS2 ( path ) |
| 525 | { |
| 526 | local result ; |
| 527 | if [ is-rooted $(path) ] && ! [ regex.match "^/(.:)" : $(path) ] |
| 528 | { |
| 529 | result = $(path) ; |
| 530 | } |
| 531 | else |
| 532 | { |
| 533 | result = [ MATCH "^/?(.*)" : $(path) ] ; |
| 534 | } |
| 535 | result = [ sequence.join [ regex.split $(result) "/" ] : "\\" ] ; |
| 536 | return $(result) ; |
| 537 | } |
| 538 | |
505 | 539 | rule make-UNIX ( native ) |
506 | 540 | { |
507 | 541 | # VP: I have no idea now 'native' can be empty here! But it can! |