Add a patch to ensure we compile against the new Boost-1.34, while

maintaining compatibility with Boost-1.33. Also, when compiling against
1.34, be sure to remove the `-fno-exceptions' flag, because the new
Boost throws in a few places...

Notified by:	pav
This commit is contained in:
Mikhail Teterin
2007-07-06 20:29:55 +00:00
parent afa5b49fd0
commit 6686ae02cc
10 changed files with 540 additions and 0 deletions

View File

@@ -55,6 +55,14 @@ post-patch:
${REINPLACE_CMD} -e 's,/bin/bash,/bin/sh,' \
${WRKSRC}/src/support/tests/test_*
pre-configure:
# If the installed Boost is 1.34 or later, we must compile
# with exceptions enabled:
${AWK} '/#define BOOST_VERSION / {exit($$NF >= 103400)}' \
${LOCALBASE}/include/boost/version.hpp || \
${REINPLACE_CMD} -e 's,\(AM_CXXFLAGS="\)-fno-exceptions,\1,' \
${WRKSRC}/${CONFIGURE_SCRIPT}
post-configure:
# Removing explicit linking with -lc
${REINPLACE_CMD} -e 's,-lc ,,' ${WRKSRC}/*/Makefile

View File

@@ -0,0 +1,100 @@
--- src/support/path.h Mon Oct 6 11:43:21 2003
+++ src/support/path.h Fri Jul 6 14:23:38 2007
@@ -55,5 +55,5 @@
// we add this macro:
///
-#ifndef PATH_C
+#if 0
#define Path(x) unnamed_Path;
#endif
--- src/support/fs_extras.C Sat May 7 10:31:16 2005
+++ src/support/fs_extras.C Fri Jul 6 14:39:58 2007
@@ -94,11 +94,20 @@
#ifdef BOOST_POSIX
+#include <boost/version.hpp>
int const infile = ::open(source.string().c_str(), O_RDONLY);
if (infile == -1) {
boost::throw_exception(
+#if BOOST_VERSION < 103400
filesystem_error(
"boost::filesystem::copy_file",
source, target,
- fs::detail::system_error_code()));
+ fs::detail::system_error_code())
+#else
+ filesystem_path_error(
+ "boost::filesystem::copy_file",
+ source, target,
+ fs::lookup_errno(errno))
+#endif
+ );
}
@@ -108,8 +117,16 @@
::close(infile);
boost::throw_exception(
+#if BOOST_VERSION < 103400
filesystem_error(
"boost::filesystem::copy_file",
source, target,
- fs::detail::system_error_code()));
+ fs::detail::system_error_code())
+#else
+ filesystem_path_error(
+ "boost::filesystem::copy_file",
+ source, target,
+ fs::lookup_errno(errno))
+#endif
+ );
}
@@ -120,8 +137,16 @@
::close(infile);
boost::throw_exception(
+#if BOOST_VERSION < 103400
filesystem_error(
"boost::filesystem::copy_file",
source, target,
- fs::detail::system_error_code()));
+ fs::detail::system_error_code())
+#else
+ filesystem_path_error(
+ "boost::filesystem::copy_file",
+ source, target,
+ fs::lookup_errno(errno))
+#endif
+ );
}
@@ -150,8 +175,16 @@
if (in == -1 || out == -1)
boost::throw_exception(
+#if BOOST_VERSION < 103400
filesystem_error(
"boost::filesystem::copy_file",
source, target,
- fs::detail::system_error_code()));
+ fs::detail::system_error_code())
+#else
+ filesystem_path_error(
+ "boost::filesystem::copy_file",
+ source, target,
+ fs::lookup_errno(errno))
+#endif
+ );
#endif
#ifdef BOOST_WINDOWS
--- src/client/client.C Wed Apr 12 05:37:33 2006
+++ src/client/client.C Fri Jul 6 15:47:26 2007
@@ -94,5 +94,10 @@
for (; beg != end; ++beg) {
if (prefixIs(beg->leaf(), "lyx_tmpdir" + pid)) {
+#include <boost/version.hpp>
+#if BOOST_VERSION < 103400
fs::path lyxsocket = *beg / "lyxsocket";
+#else
+ fs::path lyxsocket = beg->path() / "lyxsocket";
+#endif
if (fs::exists(lyxsocket)) {
dirlist.push_back(lyxsocket);

View File

@@ -55,6 +55,14 @@ post-patch:
${REINPLACE_CMD} -e 's,/bin/bash,/bin/sh,' \
${WRKSRC}/src/support/tests/test_*
pre-configure:
# If the installed Boost is 1.34 or later, we must compile
# with exceptions enabled:
${AWK} '/#define BOOST_VERSION / {exit($$NF >= 103400)}' \
${LOCALBASE}/include/boost/version.hpp || \
${REINPLACE_CMD} -e 's,\(AM_CXXFLAGS="\)-fno-exceptions,\1,' \
${WRKSRC}/${CONFIGURE_SCRIPT}
post-configure:
# Removing explicit linking with -lc
${REINPLACE_CMD} -e 's,-lc ,,' ${WRKSRC}/*/Makefile

View File

@@ -0,0 +1,100 @@
--- src/support/path.h Mon Oct 6 11:43:21 2003
+++ src/support/path.h Fri Jul 6 14:23:38 2007
@@ -55,5 +55,5 @@
// we add this macro:
///
-#ifndef PATH_C
+#if 0
#define Path(x) unnamed_Path;
#endif
--- src/support/fs_extras.C Sat May 7 10:31:16 2005
+++ src/support/fs_extras.C Fri Jul 6 14:39:58 2007
@@ -94,11 +94,20 @@
#ifdef BOOST_POSIX
+#include <boost/version.hpp>
int const infile = ::open(source.string().c_str(), O_RDONLY);
if (infile == -1) {
boost::throw_exception(
+#if BOOST_VERSION < 103400
filesystem_error(
"boost::filesystem::copy_file",
source, target,
- fs::detail::system_error_code()));
+ fs::detail::system_error_code())
+#else
+ filesystem_path_error(
+ "boost::filesystem::copy_file",
+ source, target,
+ fs::lookup_errno(errno))
+#endif
+ );
}
@@ -108,8 +117,16 @@
::close(infile);
boost::throw_exception(
+#if BOOST_VERSION < 103400
filesystem_error(
"boost::filesystem::copy_file",
source, target,
- fs::detail::system_error_code()));
+ fs::detail::system_error_code())
+#else
+ filesystem_path_error(
+ "boost::filesystem::copy_file",
+ source, target,
+ fs::lookup_errno(errno))
+#endif
+ );
}
@@ -120,8 +137,16 @@
::close(infile);
boost::throw_exception(
+#if BOOST_VERSION < 103400
filesystem_error(
"boost::filesystem::copy_file",
source, target,
- fs::detail::system_error_code()));
+ fs::detail::system_error_code())
+#else
+ filesystem_path_error(
+ "boost::filesystem::copy_file",
+ source, target,
+ fs::lookup_errno(errno))
+#endif
+ );
}
@@ -150,8 +175,16 @@
if (in == -1 || out == -1)
boost::throw_exception(
+#if BOOST_VERSION < 103400
filesystem_error(
"boost::filesystem::copy_file",
source, target,
- fs::detail::system_error_code()));
+ fs::detail::system_error_code())
+#else
+ filesystem_path_error(
+ "boost::filesystem::copy_file",
+ source, target,
+ fs::lookup_errno(errno))
+#endif
+ );
#endif
#ifdef BOOST_WINDOWS
--- src/client/client.C Wed Apr 12 05:37:33 2006
+++ src/client/client.C Fri Jul 6 15:47:26 2007
@@ -94,5 +94,10 @@
for (; beg != end; ++beg) {
if (prefixIs(beg->leaf(), "lyx_tmpdir" + pid)) {
+#include <boost/version.hpp>
+#if BOOST_VERSION < 103400
fs::path lyxsocket = *beg / "lyxsocket";
+#else
+ fs::path lyxsocket = beg->path() / "lyxsocket";
+#endif
if (fs::exists(lyxsocket)) {
dirlist.push_back(lyxsocket);

View File

@@ -55,6 +55,14 @@ post-patch:
${REINPLACE_CMD} -e 's,/bin/bash,/bin/sh,' \
${WRKSRC}/src/support/tests/test_*
pre-configure:
# If the installed Boost is 1.34 or later, we must compile
# with exceptions enabled:
${AWK} '/#define BOOST_VERSION / {exit($$NF >= 103400)}' \
${LOCALBASE}/include/boost/version.hpp || \
${REINPLACE_CMD} -e 's,\(AM_CXXFLAGS="\)-fno-exceptions,\1,' \
${WRKSRC}/${CONFIGURE_SCRIPT}
post-configure:
# Removing explicit linking with -lc
${REINPLACE_CMD} -e 's,-lc ,,' ${WRKSRC}/*/Makefile

View File

@@ -0,0 +1,100 @@
--- src/support/path.h Mon Oct 6 11:43:21 2003
+++ src/support/path.h Fri Jul 6 14:23:38 2007
@@ -55,5 +55,5 @@
// we add this macro:
///
-#ifndef PATH_C
+#if 0
#define Path(x) unnamed_Path;
#endif
--- src/support/fs_extras.C Sat May 7 10:31:16 2005
+++ src/support/fs_extras.C Fri Jul 6 14:39:58 2007
@@ -94,11 +94,20 @@
#ifdef BOOST_POSIX
+#include <boost/version.hpp>
int const infile = ::open(source.string().c_str(), O_RDONLY);
if (infile == -1) {
boost::throw_exception(
+#if BOOST_VERSION < 103400
filesystem_error(
"boost::filesystem::copy_file",
source, target,
- fs::detail::system_error_code()));
+ fs::detail::system_error_code())
+#else
+ filesystem_path_error(
+ "boost::filesystem::copy_file",
+ source, target,
+ fs::lookup_errno(errno))
+#endif
+ );
}
@@ -108,8 +117,16 @@
::close(infile);
boost::throw_exception(
+#if BOOST_VERSION < 103400
filesystem_error(
"boost::filesystem::copy_file",
source, target,
- fs::detail::system_error_code()));
+ fs::detail::system_error_code())
+#else
+ filesystem_path_error(
+ "boost::filesystem::copy_file",
+ source, target,
+ fs::lookup_errno(errno))
+#endif
+ );
}
@@ -120,8 +137,16 @@
::close(infile);
boost::throw_exception(
+#if BOOST_VERSION < 103400
filesystem_error(
"boost::filesystem::copy_file",
source, target,
- fs::detail::system_error_code()));
+ fs::detail::system_error_code())
+#else
+ filesystem_path_error(
+ "boost::filesystem::copy_file",
+ source, target,
+ fs::lookup_errno(errno))
+#endif
+ );
}
@@ -150,8 +175,16 @@
if (in == -1 || out == -1)
boost::throw_exception(
+#if BOOST_VERSION < 103400
filesystem_error(
"boost::filesystem::copy_file",
source, target,
- fs::detail::system_error_code()));
+ fs::detail::system_error_code())
+#else
+ filesystem_path_error(
+ "boost::filesystem::copy_file",
+ source, target,
+ fs::lookup_errno(errno))
+#endif
+ );
#endif
#ifdef BOOST_WINDOWS
--- src/client/client.C Wed Apr 12 05:37:33 2006
+++ src/client/client.C Fri Jul 6 15:47:26 2007
@@ -94,5 +94,10 @@
for (; beg != end; ++beg) {
if (prefixIs(beg->leaf(), "lyx_tmpdir" + pid)) {
+#include <boost/version.hpp>
+#if BOOST_VERSION < 103400
fs::path lyxsocket = *beg / "lyxsocket";
+#else
+ fs::path lyxsocket = beg->path() / "lyxsocket";
+#endif
if (fs::exists(lyxsocket)) {
dirlist.push_back(lyxsocket);

View File

@@ -55,6 +55,14 @@ post-patch:
${REINPLACE_CMD} -e 's,/bin/bash,/bin/sh,' \
${WRKSRC}/src/support/tests/test_*
pre-configure:
# If the installed Boost is 1.34 or later, we must compile
# with exceptions enabled:
${AWK} '/#define BOOST_VERSION / {exit($$NF >= 103400)}' \
${LOCALBASE}/include/boost/version.hpp || \
${REINPLACE_CMD} -e 's,\(AM_CXXFLAGS="\)-fno-exceptions,\1,' \
${WRKSRC}/${CONFIGURE_SCRIPT}
post-configure:
# Removing explicit linking with -lc
${REINPLACE_CMD} -e 's,-lc ,,' ${WRKSRC}/*/Makefile

View File

@@ -0,0 +1,100 @@
--- src/support/path.h Mon Oct 6 11:43:21 2003
+++ src/support/path.h Fri Jul 6 14:23:38 2007
@@ -55,5 +55,5 @@
// we add this macro:
///
-#ifndef PATH_C
+#if 0
#define Path(x) unnamed_Path;
#endif
--- src/support/fs_extras.C Sat May 7 10:31:16 2005
+++ src/support/fs_extras.C Fri Jul 6 14:39:58 2007
@@ -94,11 +94,20 @@
#ifdef BOOST_POSIX
+#include <boost/version.hpp>
int const infile = ::open(source.string().c_str(), O_RDONLY);
if (infile == -1) {
boost::throw_exception(
+#if BOOST_VERSION < 103400
filesystem_error(
"boost::filesystem::copy_file",
source, target,
- fs::detail::system_error_code()));
+ fs::detail::system_error_code())
+#else
+ filesystem_path_error(
+ "boost::filesystem::copy_file",
+ source, target,
+ fs::lookup_errno(errno))
+#endif
+ );
}
@@ -108,8 +117,16 @@
::close(infile);
boost::throw_exception(
+#if BOOST_VERSION < 103400
filesystem_error(
"boost::filesystem::copy_file",
source, target,
- fs::detail::system_error_code()));
+ fs::detail::system_error_code())
+#else
+ filesystem_path_error(
+ "boost::filesystem::copy_file",
+ source, target,
+ fs::lookup_errno(errno))
+#endif
+ );
}
@@ -120,8 +137,16 @@
::close(infile);
boost::throw_exception(
+#if BOOST_VERSION < 103400
filesystem_error(
"boost::filesystem::copy_file",
source, target,
- fs::detail::system_error_code()));
+ fs::detail::system_error_code())
+#else
+ filesystem_path_error(
+ "boost::filesystem::copy_file",
+ source, target,
+ fs::lookup_errno(errno))
+#endif
+ );
}
@@ -150,8 +175,16 @@
if (in == -1 || out == -1)
boost::throw_exception(
+#if BOOST_VERSION < 103400
filesystem_error(
"boost::filesystem::copy_file",
source, target,
- fs::detail::system_error_code()));
+ fs::detail::system_error_code())
+#else
+ filesystem_path_error(
+ "boost::filesystem::copy_file",
+ source, target,
+ fs::lookup_errno(errno))
+#endif
+ );
#endif
#ifdef BOOST_WINDOWS
--- src/client/client.C Wed Apr 12 05:37:33 2006
+++ src/client/client.C Fri Jul 6 15:47:26 2007
@@ -94,5 +94,10 @@
for (; beg != end; ++beg) {
if (prefixIs(beg->leaf(), "lyx_tmpdir" + pid)) {
+#include <boost/version.hpp>
+#if BOOST_VERSION < 103400
fs::path lyxsocket = *beg / "lyxsocket";
+#else
+ fs::path lyxsocket = beg->path() / "lyxsocket";
+#endif
if (fs::exists(lyxsocket)) {
dirlist.push_back(lyxsocket);

View File

@@ -55,6 +55,14 @@ post-patch:
${REINPLACE_CMD} -e 's,/bin/bash,/bin/sh,' \
${WRKSRC}/src/support/tests/test_*
pre-configure:
# If the installed Boost is 1.34 or later, we must compile
# with exceptions enabled:
${AWK} '/#define BOOST_VERSION / {exit($$NF >= 103400)}' \
${LOCALBASE}/include/boost/version.hpp || \
${REINPLACE_CMD} -e 's,\(AM_CXXFLAGS="\)-fno-exceptions,\1,' \
${WRKSRC}/${CONFIGURE_SCRIPT}
post-configure:
# Removing explicit linking with -lc
${REINPLACE_CMD} -e 's,-lc ,,' ${WRKSRC}/*/Makefile

View File

@@ -0,0 +1,100 @@
--- src/support/path.h Mon Oct 6 11:43:21 2003
+++ src/support/path.h Fri Jul 6 14:23:38 2007
@@ -55,5 +55,5 @@
// we add this macro:
///
-#ifndef PATH_C
+#if 0
#define Path(x) unnamed_Path;
#endif
--- src/support/fs_extras.C Sat May 7 10:31:16 2005
+++ src/support/fs_extras.C Fri Jul 6 14:39:58 2007
@@ -94,11 +94,20 @@
#ifdef BOOST_POSIX
+#include <boost/version.hpp>
int const infile = ::open(source.string().c_str(), O_RDONLY);
if (infile == -1) {
boost::throw_exception(
+#if BOOST_VERSION < 103400
filesystem_error(
"boost::filesystem::copy_file",
source, target,
- fs::detail::system_error_code()));
+ fs::detail::system_error_code())
+#else
+ filesystem_path_error(
+ "boost::filesystem::copy_file",
+ source, target,
+ fs::lookup_errno(errno))
+#endif
+ );
}
@@ -108,8 +117,16 @@
::close(infile);
boost::throw_exception(
+#if BOOST_VERSION < 103400
filesystem_error(
"boost::filesystem::copy_file",
source, target,
- fs::detail::system_error_code()));
+ fs::detail::system_error_code())
+#else
+ filesystem_path_error(
+ "boost::filesystem::copy_file",
+ source, target,
+ fs::lookup_errno(errno))
+#endif
+ );
}
@@ -120,8 +137,16 @@
::close(infile);
boost::throw_exception(
+#if BOOST_VERSION < 103400
filesystem_error(
"boost::filesystem::copy_file",
source, target,
- fs::detail::system_error_code()));
+ fs::detail::system_error_code())
+#else
+ filesystem_path_error(
+ "boost::filesystem::copy_file",
+ source, target,
+ fs::lookup_errno(errno))
+#endif
+ );
}
@@ -150,8 +175,16 @@
if (in == -1 || out == -1)
boost::throw_exception(
+#if BOOST_VERSION < 103400
filesystem_error(
"boost::filesystem::copy_file",
source, target,
- fs::detail::system_error_code()));
+ fs::detail::system_error_code())
+#else
+ filesystem_path_error(
+ "boost::filesystem::copy_file",
+ source, target,
+ fs::lookup_errno(errno))
+#endif
+ );
#endif
#ifdef BOOST_WINDOWS
--- src/client/client.C Wed Apr 12 05:37:33 2006
+++ src/client/client.C Fri Jul 6 15:47:26 2007
@@ -94,5 +94,10 @@
for (; beg != end; ++beg) {
if (prefixIs(beg->leaf(), "lyx_tmpdir" + pid)) {
+#include <boost/version.hpp>
+#if BOOST_VERSION < 103400
fs::path lyxsocket = *beg / "lyxsocket";
+#else
+ fs::path lyxsocket = beg->path() / "lyxsocket";
+#endif
if (fs::exists(lyxsocket)) {
dirlist.push_back(lyxsocket);