]> git.lyx.org Git - lyx.git/blobdiff - development/scons/SConstruct
plosh output. We need a string for LYX_DATE
[lyx.git] / development / scons / SConstruct
index c35e11009415821c26fb7c7a3455d72ac62f3fff..687366f2607ffcf09f7a56778a128346034463ee 100644 (file)
@@ -607,6 +607,11 @@ conf = Configure(env,
     }
 )
 
+# When using msvc, windows.h is required
+if use_vc and not conf.CheckCHeader('windows.h'):
+    print 'Windows.h is not found. Please install Windows Platform SDK.'
+    Exit(1)
+
 # pkg-config? (if not, we use hard-coded options)
 if conf.CheckPkgConfig('0.15.0'):
     env['HAS_PKG_CONFIG'] = True
@@ -814,8 +819,18 @@ utils.createConfigFile(conf,
 #  define WANT_GETFILEATTRIBUTESEX_WRAPPER 1
 #endif
 
-#if defined(HAVE_WCHAR_T) && SIZEOF_WCHAR_T == 4
-#  define LIBC_WCTYPE_USES_UCS4
+/*
+ * the FreeBSD libc uses UCS4, but libstdc++ has no proper wchar_t
+ * support compiled in:
+ * http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html#3_9
+ * And we are not interested at all what libc
+ * does: What we need is a 32bit wide wchar_t, and a libstdc++ that
+ * has the needed wchar_t support and uses UCS4. Whether it
+ * implements this with the help of libc, or whether it has own code
+ * does not matter for us, because we don't use libc directly (Georg)
+*/
+#if defined(HAVE_WCHAR_T) && SIZEOF_WCHAR_T == 4 && ! defined(__FREEBSD__)
+#  define USE_WCHAR_T
 #endif
 
 #endif
@@ -1381,20 +1396,13 @@ if frontend == 'qt4':
         print 'uic or moc command is not found for frontend', frontend
         Exit(1)
     
-    # now, if msvc2005 is used, we will need that QT_LIB_PATH/QT_LIB.manifest file
+    # now, if msvc2005 is used, we will need to embed lyx.exe.manifest to lyx.exe
+    # NOTE: previously, lyx.exe had to be linked to some qt manifest to work.
+    # For some unknown changes in msvc or qt, this is no longer needed.
     if use_vc:
-        if mode == 'debug':
-            if qt_lib_path is not None:
-                manifest = os.path.join(qt_lib_path, 'QtGuid4.dll.manifest')
-            else:
-                manifest = 'QtGuid4.dll.manifest'
-        else:
-            if qt_lib_path is not None:
-                manifest = os.path.join(qt_lib_path, 'QtGui4.dll.manifest')
-            else:
-                manifest = 'QtGui4.dll.manifest'
-        if os.path.isfile(manifest):
-            frontend_env['LINKCOM'] = [frontend_env['LINKCOM'], 'mt.exe /MANIFEST %s /outputresource:$TARGET;1' % manifest]
+        frontend_env['LINKCOM'] = [frontend_env['LINKCOM'], \
+            'mt.exe /MANIFEST %s /outputresource:$TARGET;1' % \
+            env.File('$BUILDDIR/lyx.exe.manifest').path]
 
     frontend_env = conf.Finish()