Hi George

The build system is particularly difficult to change.

If you look through the mailing list archives, I documented some of my
experiences with MSVC 14 in a 13 March 2018 email entitled "First steps in
building with MSVC 14 / Visual Studio 2015". I didn't get far. A patch with
some of my changes is attached.

Good luck and let us know if (or when ;) you need any help
Damjan

On Sun, Sep 23, 2018 at 2:14 PM George K <thorb...@gmail.com> wrote:

> Hello everyone,
>
> I 'm currently trying to build Open Office on Windows. I 've setup most of
> the environment but I am having trouble finding the Windows 7.0 SDK, witch
> contains MSVC 2008, as it is unavailable from Microsoft. Peter kindly
> pointed me at an image of Windows Server 2008 Standard
> <https://www.microsoft.com/en-us/download/details.aspx?id=5023>. Should I
> setup a VM with that image, or download Windows 7? I 'm currently trying to
> build on a Windows 10 machine. Any help and directions would be welcome.
>
> That said, I would like to contribute to Open Office, by making the build
> process easier and migrating the project for Windows on MSVC 2017. I have
> thought of the following build process:
>
> - Install Visual Studio 2017(All libraries and tools needed would be
> provided through the installation)
> - Install all other prerequisites using a Windows BATCH file(Provide a .bat
> file for automating installation of Java, Cygwin etc. and setting up the
> modules. Or, if complexity demands it, install python and do all the above
> through it. Optimally, checkout the repo from svn and be ready for build).
> - Build Open Office as usual.
>
> That might be complicated, but I 'm willing to try. I 'm currently trying
> to familiarize my self with the code and I would be grateful if someone
> pointed me to the right direction. Let's keep an open discussion of Open
> Office's build process. Feel free to suggest new things or improve my own.
>
> Thanks in advance,
> George
>
Index: configure.ac
===================================================================
--- configure.ac        (revision 1828823)
+++ configure.ac        (working copy)
@@ -4004,7 +4004,7 @@
    AC_MSG_RESULT([external])
    AM_PATH_PYTHON([2.7])
 
-   python_include=`$PYTHON -c "import distutils.sysconfig; 
print(distutils.sysconfig.get_config_var('INCLUDEPY'));"`
+   python_include=`$PYTHON -c "import distutils.sysconfig; 
print(distutils.sysconfig.get_config_var('INCLUDEPY'));" | tr -d '\r\n'`
    python_version=`$PYTHON -c "import distutils.sysconfig; 
print(distutils.sysconfig.get_config_var('VERSION'));"`
    PYTHON_CFLAGS="-I$python_include"
    PYTHON_LIBS="-lpython$python_version"
Index: oowintool
===================================================================
--- oowintool   (revision 1828823)
+++ oowintool   (working copy)
@@ -207,6 +207,12 @@
     'dll_path' => 'redist/x86/Microsoft.VC90.CRT',
     'dll_suffix' => '90'
 );
+my %msvc_2015 = (
+    'ver' => '14.0',
+    'key' => 'Microsoft/VisualStudio/14.0/Setup/VC/ProductDir',
+    'dll_path' => 'redist/x86/Microsoft.VC140.CRT',
+    'dll_suffix' => '140'
+);
 
 sub find_msvs()
 {
@@ -230,7 +236,7 @@
 
 sub find_msvc()
 {
-    my @ms_versions = ( \%msvc_2008, \%msvc_express_2008, \%msvc_2005, 
\%msvc_express_2005, \%msvc_net_2003 );
+    my @ms_versions = ( \%msvc_2015, \%msvc_2008, \%msvc_express_2008, 
\%msvc_2005, \%msvc_express_2005, \%msvc_net_2003 );
 
     for $ver (@ms_versions)
     {
@@ -351,10 +357,15 @@
                  $ver->{'dll_path'});
 
     copy_dll ($srcdir, "msvcp" . $ver->{'dll_suffix'} . ".dll",
-             $dest . $ver->{'dll_suffix'});
-    copy_dll ($srcdir, "msvcr" . $ver->{'dll_suffix'} . ".dll",
-             $dest . $ver->{'dll_suffix'});
-    if ($ver->{'dll_suffix'} >= 90) {
+              $dest . $ver->{'dll_suffix'});
+    if ($ver->{'dll_suffix'} >= 140) {
+        copy_dll ($srcdir, "vcruntime" . $ver->{'dll_suffix'} . ".dll",
+                  $dest . $ver->{'dll_suffix'});
+    } else {
+        copy_dll ($srcdir, "msvcr" . $ver->{'dll_suffix'} . ".dll",
+                  $dest . $ver->{'dll_suffix'});
+    }
+    if (90 <= $ver->{'dll_suffix'} && $ver->{'dll_suffix'} < 140) {
         copy_dll ($srcdir, "msvcm" . $ver->{'dll_suffix'} . ".dll",
                   $dest . $ver->{'dll_suffix'});
         copy_dll ($srcdir, "Microsoft.VC90.CRT.manifest", $dest . 
$ver->{'dll_suffix'});
Index: soltools/cpp/_include.c
===================================================================
--- soltools/cpp/_include.c     (revision 1828823)
+++ soltools/cpp/_include.c     (working copy)
@@ -43,6 +43,11 @@
 #endif
 #include <limits.h>
 
+/* MSVC++ 14 does not have PATH_MAX any more: */
+#if defined(_MSC_VER) && !defined(PATH_MAX)
+#define PATH_MAX 512
+#endif
+
 #include "cpp.h"
 
 Includelist includelist[NINCLUDE];
Index: soltools/cpp/_macro.c
===================================================================
--- soltools/cpp/_macro.c       (revision 1828823)
+++ soltools/cpp/_macro.c       (working copy)
@@ -33,6 +33,11 @@
 #endif
 #include <limits.h>
 
+/* MSVC++ 14 does not have PATH_MAX any more: */
+#if defined(_MSC_VER) && !defined(PATH_MAX)
+#define PATH_MAX 512
+#endif
+
 #include "cpp.h"
 
 #define NCONCAT 16384
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
For additional commands, e-mail: dev-h...@openoffice.apache.org

Reply via email to