18170752 New Pythia C++ compiler requires couple of changes in libtorrent-0.12.2
18269130 S12 UL/b41 New Pythia build58.0 compiler detects failure in rtorrent-0.8.2
--- a/components/libtorrent/Makefile Wed Feb 11 08:06:13 2015 -0800
+++ b/components/libtorrent/Makefile Wed Feb 11 08:32:10 2015 -0800
@@ -20,7 +20,7 @@
#
#
-# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
#
# we really need to use studio, mostly because that's what
@@ -66,7 +66,6 @@
CXXFLAGS += $(studio_OPT)
CXXFLAGS += -i
-CXXFLAGS += -xspace
CXXFLAGS += $(studio_XREGS)
CONFIGURE_OPTIONS += --enable-shared
--- a/components/libtorrent/patches/rlibtorrent-02-event-ports.patch Wed Feb 11 08:06:13 2015 -0800
+++ b/components/libtorrent/patches/rlibtorrent-02-event-ports.patch Wed Feb 11 08:32:10 2015 -0800
@@ -1,3 +1,4 @@
+# replaced -fvisibility=hidden with -template=no%extdef in CXXFLAGS.
diff -x configure -x aclocal.m4 -ru libtorrent-0.11.9/configure.ac libtorrent-0.11.9-new/configure.ac
--- libtorrent-0.11.9/configure.ac 2007-10-25 09:48:32.000000000 +0000
+++ libtorrent-0.11.9-new/configure.ac 2008-01-13 17:13:30.892756466 +0000
@@ -498,3 +499,23 @@
+#endif // USE_PORTS
+
+}
+--- libtorrent-0.12.2/scripts/attributes.m4 2008-05-07 05:19:12.000000000 -0700
++++ libtorrent-0.12.2/scripts/attributes.m4 2015-01-29 08:45:29.333056494 -0800
[email protected]@ -62,7 +62,7 @@
+ AC_LANG_PUSH(C++)
+
+ tmp_CXXFLAGS=$CXXFLAGS
+- CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
++ CXXFLAGS="$CXXFLAGS -template=no%extdef"
+
+ AC_CACHE_CHECK([if compiler supports __attribute__((visibility("default")))],
+ [cc_cv_attribute_visibility],
[email protected]@ -78,7 +78,7 @@
+
+ if test "x$cc_cv_attribute_visibility" = "xyes"; then
+ AC_DEFINE([SUPPORT_ATTRIBUTE_VISIBILITY], 1, [Define this if the compiler supports the visibility attributes.])
+- CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
++ CXXFLAGS="$CXXFLAGS -template=no%extdef"
+ $1
+ else
+ true
--- a/components/libtorrent/patches/rlibtorrent-04-sunpro.patch Wed Feb 11 08:06:13 2015 -0800
+++ b/components/libtorrent/patches/rlibtorrent-04-sunpro.patch Wed Feb 11 08:32:10 2015 -0800
@@ -1,3 +1,5 @@
+# Remove Studio C++ 12.3 specific patch for
+# src/protocol/peer_connection_leech.cc.
--- rtorrent-0.8.2.orig/rak/string_manip.h 2008-05-07 08:19:12.000000000 -0400
+++ rtorrent-0.8.2/rak/string_manip.h 2008-06-25 02:14:10.028329996 -0400
@@ -62,7 +62,7 @@
@@ -390,28 +392,6 @@
int length = result.second - buffer;
char* copy = new char[length];
---- libtorrent-0.12.2.orig/src/protocol/peer_connection_leech.cc 2008-05-07 08:19:12.000000000 -0400
-+++ libtorrent-0.12.2/src/protocol/peer_connection_leech.cc 2008-06-24 15:19:28.492038823 -0400
[email protected]@ -697,7 +697,9 @@
- }
- }
-
-+#ifndef __SUNPRO_CC
- template<>
-+#endif
- void
- PeerConnection<Download::CONNECTION_INITIAL_SEED>::offer_chunk() {
- // If bytes left to send in this chunk minus bytes about to be sent is zero,
[email protected]@ -718,7 +720,9 @@
- m_data.bytesLeft = m_download->file_list()->chunk_index_size(index);
- }
-
-+#ifndef __SUNPRO_CC
- template<>
-+#endif
- bool
- PeerConnection<Download::CONNECTION_INITIAL_SEED>::should_upload() {
- // For initial seeding, check if chunk is well seeded now, and if so
--- libtorrent-0.12.2.orig/src/protocol/handshake_manager.cc 2008-05-07 08:19:12.000000000 -0400
+++ libtorrent-0.12.2/src/protocol/handshake_manager.cc 2008-06-24 15:11:50.179786185 -0400
@@ -37,6 +37,7 @@
--- a/components/rtorrent/Makefile Wed Feb 11 08:06:13 2015 -0800
+++ b/components/rtorrent/Makefile Wed Feb 11 08:32:10 2015 -0800
@@ -20,7 +20,7 @@
#
#
-# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
#
# we really need to use studio, mostly because that's what
@@ -62,7 +62,7 @@
LDFLAGS += -L/usr/gnu/lib/$(MACH64) -R/usr/gnu/lib/$(MACH64)
CXXFLAGS += -i
-CXXFLAGS += -xspace
+CXXFLAGS += -template=no%extdef
CXXFLAGS += $(studio_XREGS)
CXXFLAGS += -I/usr/include/ncurses
CONFIGURE_OPTIONS.64 += --srcdir=$(BUILD_DIR_64)
--- a/components/rtorrent/patches/rtorrent-01-solaris.patch Wed Feb 11 08:06:13 2015 -0800
+++ b/components/rtorrent/patches/rtorrent-01-solaris.patch Wed Feb 11 08:32:10 2015 -0800
@@ -1,3 +1,4 @@
+# Removed Studio C++-specific patch for src/input/path_input.cc.
--- rtorrent-0.8.2/src/input/input_event.cc.orig 2008-05-10 18:44:08.970350312 +1200
+++ rtorrent-0.8.2/src/input/input_event.cc 2008-05-10 18:44:41.438283333 +1200
@@ -37,6 +37,7 @@
@@ -17,8 +18,8 @@
m_slotPressed(c);
}
---- rtorrent-0.8.2/src/input/path_input.cc.orig 2008-05-08 00:19:11.000000000 +1200
-+++ rtorrent-0.8.2/src/input/path_input.cc 2008-05-10 18:46:38.159258850 +1200
+--- rtorrent-0.8.2/src/input/path_input.cc.orig 2008-05-07 05:19:11.000000000 -0700
++++ rtorrent-0.8.2/src/input/path_input.cc 2015-02-01 12:12:30.800473449 -0800
@@ -42,7 +42,8 @@
#include <rak/path.h>
@@ -29,7 +30,7 @@
#include "path_input.h"
[email protected]@ -71,9 +72,12 @@
[email protected]@ -71,10 +72,13 @@
}
struct _transform_filename {
@@ -39,10 +40,23 @@
+ stat(entry.d_name.c_str(), &s);
+ if (s.st_mode & S_IFDIR) {
entry.d_name += '/';
-+ }
}
++ }
};
+ void
[email protected]@ -109,7 +113,9 @@
+ mark_dirty();
+
+ // Only emit if there are more than one option.
+- m_showNext = ++utils::Directory::iterator(r.first) != r.second;
++ utils::Directory::iterator itr(r.first);
++ ++itr;
++ m_showNext = itr != r.second;
+
+ if (m_showNext)
+ m_signalShowRange.emit(r.first, r.second);
+
--- rtorrent-0.8.2/src/utils/directory.h.orig 2008-05-08 00:19:11.000000000 +1200
+++ rtorrent-0.8.2/src/utils/directory.h 2008-05-10 18:40:49.485871875 +1200
@@ -48,9 +48,7 @@