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,

Reply via email to