On 8/15/06, Bo Peng <[EMAIL PROTECTED]> wrote:
> I'm using the boost included with LyX 1.4svn. Does 1.4 support boost 1.33.1?
generated for trunk before and I will see if that patch more
or less works for the branch.
Hi, JMarc,
Attached patch is required to compile lyx1.4.x with msvc/scons. Can I
apply? The source code changes are identical to what we have done to
the trunk. I will also update INSTALL.scons later.
Bo
Index: development/scons/SConstruct
===================================================================
--- development/scons/SConstruct (revision 14695)
+++ development/scons/SConstruct (working copy)
@@ -670,16 +670,18 @@
#
# qt3 does not use pkg_config
if frontend == 'qt2':
- if not conf.CheckLibWithHeader('qt-mt', 'qapp.h', 'c++', 'QApplication qapp();'):
+ # windows lib name is qt-mt3
+ if not conf.CheckLibWithHeader('qt-mt', 'qapp.h', 'c++', 'QApplication qapp();') \
+ and not conf.CheckLibWithHeader('qt-mt3', 'qapp.h', 'c++', 'QApplication qapp();'):
print 'Did not find qt libraries, exiting!'
Exit(1)
# now, if msvc2005 is used, we will need that QT_LIB_PATH/QT_LIB.manifest file
if use_vc:
if mode == 'debug':
- manifest = os.path.join(qt_lib_path, 'QtGuid4.dll.manifest')
+ manifest = os.path.join(qt_lib_path, 'qt-mt3.dll.manifest')
else:
- manifest = os.path.join(qt_lib_path, 'QtGui4.dll.manifest')
+ manifest = os.path.join(qt_lib_path, 'qt-mt3.dll.manifest')
if os.path.isfile(manifest):
env['LINKCOM'] = [env['LINKCOM'], 'mt.exe /MANIFEST %s /outputresource:$TARGET;1' % manifest]
@@ -865,11 +867,12 @@
#define BOOST_ENABLE_ASSERT_HANDLER 1
#define BOOST_DISABLE_THREADS 1
-#define BOOST_NO_WREGEX 1
#define BOOST_NO_WSTRING 1
#ifdef __CYGWIN__
# define BOOST_POSIX 1
+// the following macro, if defined for msvc, leads to errors
+# define BOOST_NO_WREGEX 1
#endif
#define BOOST_ALL_NO_LIB 1
@@ -1257,8 +1260,11 @@
# in their respective directory and specialized env.
if frontend == 'qt2':
# note: env.Tool('qt') my set QT_LIB to qt
- qt_libs = ['qt-mt']
- frontend_libs = ['qt-mt']
+ if platform_name == 'win32':
+ qt_libs = ['qt-mt3']
+ else:
+ qt_libs = ['qt-mt']
+ frontend_libs = qt_libs
if platform_name in ['win32', 'cygwin']:
Index: src/frontends/qt2/QContentPane.h
===================================================================
--- src/frontends/qt2/QContentPane.h (revision 14695)
+++ src/frontends/qt2/QContentPane.h (working copy)
@@ -16,6 +16,8 @@
#undef emit
#endif
+#include <config.h>
+
#include "funcrequest.h"
#include "frontends/Timeout.h"
Index: src/support/forkedcall.C
===================================================================
--- src/support/forkedcall.C (revision 14695)
+++ src/support/forkedcall.C (working copy)
@@ -38,6 +38,7 @@
#include <boost/bind.hpp>
#include <vector>
+# include <cerrno>
#ifdef _WIN32
# define SIGHUP 1
@@ -46,7 +47,6 @@
# include <windows.h>
#else
-# include <cerrno>
# include <csignal>
# include <cstdlib>
# ifdef HAVE_UNISTD_H
Index: src/support/mkdir.C
===================================================================
--- src/support/mkdir.C (revision 14695)
+++ src/support/mkdir.C (working copy)
@@ -22,6 +22,9 @@
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
+#ifdef HAVE_DIRECT_H
+# include <direct.h>
+#endif
#ifdef _WIN32
# include <windows.h>
#endif
Index: src/support/package.C.in
===================================================================
--- src/support/package.C.in (revision 14695)
+++ src/support/package.C.in (working copy)
@@ -44,6 +44,10 @@
# include <CoreServices/CoreServices.h> // FSFindFolder, FSRefMakePath
#endif
+#ifndef PATH_MAX
+# define PATH_MAX 512
+#endif
+
using std::string;
namespace fs = boost::filesystem;
Index: src/support/tempname.C
===================================================================
--- src/support/tempname.C (revision 14695)
+++ src/support/tempname.C (working copy)
@@ -54,6 +54,10 @@
// This probably just barely works...
::mktemp(templ);
# if defined (HAVE_OPEN)
+# if (!defined S_IRUSR)
+# define S_IRUSR S_IREAD
+# define S_IWUSR S_IWRITE
+# endif
return ::open(templ, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);
# elif defined (HAVE__OPEN)
return ::_open(templ,