Changeset: c4cbe38769c4 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c4cbe38769c4
Modified Files:
        NT/rules.msc
        buildtools/doc/windowsbuild.rst
Branch: default
Log Message:

Merge with Nov2019 branch.


diffs (209 lines):

diff --git a/NT/rules.msc b/NT/rules.msc
--- a/NT/rules.msc
+++ b/NT/rules.msc
@@ -139,14 +139,19 @@ bzip2_CFLAGS = -DHAVE_LIBBZ2 "-I$(LIBBZI
 !IFNDEF LIBXML2
 LIBXML2 = C:\libxml2-2.6.30.win$(bits)
 !ENDIF
-libxml2_CFLAGS = -DHAVE_LIBXML "-I$(LIBXML2)\include" $(zlib_CFLAGS) 
$(ICONV_CFLAGS)
+# by default libxml2 include files get installed in ...\include\libxml2\libxml
+# but this has sometimes been moved to ...\include\libxml
+libxml2_CFLAGS = -DHAVE_LIBXML "-I$(LIBXML2)\include\libxml2" 
"-I$(LIBXML2)\include" $(zlib_CFLAGS) $(ICONV_CFLAGS)
 libxml2_LIBS = "$(LIBXML2)\lib\libxml2.lib" $(zlib_LIBS) $(ICONV_LIBS)
 !ENDIF
 
 !IFNDEF LIBGEOS
 LIBGEOS = C:\geos-3.0.win$(bits)
 !ENDIF
-GEOS_LIBS = $(LIBGEOS)\lib\geos_c_i.lib
+!IFNDEF GEOSFILE
+GEOSFILE = geos_c
+!ENDIF
+GEOS_LIBS = $(LIBGEOS)\lib\$(GEOSFILE).lib
 GEOS_INCS = -I$(LIBGEOS)\include
 
 !IFDEF HAVE_LIBR
diff --git a/buildtools/doc/windowsbuild.rst b/buildtools/doc/windowsbuild.rst
--- a/buildtools/doc/windowsbuild.rst
+++ b/buildtools/doc/windowsbuild.rst
@@ -243,6 +243,8 @@ PCRE (Perl Compatible Regular Expression
 The PCRE__ library is used to extend the string matching capabilities
 of MonetDB.  The PCRE library is required for the monetdb5 component.
 
+.. _pcre_cmake:
+
 Download the source from http://www.pcre.org/.  In order to build the
 library, you will need a program called ``cmake`` which you can
 download from http://www.cmake.org/ or by using Chocolatey_.  Follow
@@ -255,14 +257,14 @@ Configure button.  This pops up a dialog
 chose Visual Studio 14 2015.
 
 You need to configure some PCRE build options.  I chose to do build
-shared libs, to match newlines with the ``ANYCRLF`` option, and to do
-have UTF-8 support and support for Unicode properties.  When you're
-satisfied with the options, click on Generate.  Then in the build
-folder you've chosen, open the PCRE.sln file with Visual Studio, and
-build and install.  Make sure you set the Solution Configuration to
-Release if you want to build a releasable version of the MonetDB
-suite.  By default the library will be installed in ``C:\Program
-Files\PCRE``.
+shared libs, to match newlines with the ``ANYCRLF`` and
+``PCRE_SUPPORT_JIT`` options, and to do have UTF-8 support and support
+for Unicode properties.  When you're satisfied with the options, click
+on Generate.  Then in the build folder you've chosen, open the
+PCRE.sln file with Visual Studio, and build and install.  Make sure
+you set the Solution Configuration to Release if you want to build a
+releasable version of the MonetDB suite.  By default the library will
+be installed in ``C:\Program Files\PCRE``.
 
 For Windows64, select the correct compiler (``Visual Studio 14 2015
 Win64``) and proceed normally.  When building the 32 bit version on
@@ -304,15 +306,15 @@ required for the clients component when 
 server.
 
 Download the source from http://www.openssl.org/.  We used the latest
-stable version (1.1.0g).  Follow the instructions in the file
+stable version (1.1.1d).  Follow the instructions in the file
 ``NOTES.WIN``.
 
 .. The actual commands used were::
-   perl Configure VC-WIN32 no-asm --prefix=C:\Libraries\openssl-1.1.0g.win32
+   perl Configure VC-WIN32 no-asm --prefix=C:\Libraries\openssl-1.1.1d.win32 
--openssldir=SSL
    nmake
    nmake install
    and::
-   perl Configure VC-WIN64A no-asm --prefix=C:\Libraries\openssl-1.1.0g.win64
+   perl Configure VC-WIN64A no-asm --prefix=C:\Libraries\openssl-1.1.1d.win64 
--openssldir=SSL
    nmake
    nmake install
 
@@ -346,7 +348,7 @@ the correct locations for the iconv and 
  nmake /f Makefile.msvc install
 
 We needed to edit the file ``win32\Makefile.msvc`` and change
-``iconv.lib`` to ``iconv.dll.lib``.
+``iconv.lib`` to ``iconv.dll.lib`` and ``zlib.lib`` to ``zdll.lib``.
 
 __ http://xmlsoft.org/
 
@@ -361,39 +363,22 @@ so to get the software, you will have to
 yourself.
 
 Get the source tar ball from http://trac.osgeo.org/geos/#Download and
-extract somewhere.  You can follow the instructions in e.g. `Building
-on Windows with NMake`__.
-
-We needed to make a few changes to the file ``nmake.opt``.  We needed
-to add a blurb for the version of ``nmake`` that we were using.  Look
-at the version number of ``nmake /P`` and adapt the closest match.
-
-For newer versions of Visual Studio, we also needed to add a line::
-
-   #include <algorithm>
+extract somewhere.
 
-to the files::
-
-   src\algorithm\LineIntersector.cpp
-   src\geom\LineSegment.cpp
-   src\io\WKTWriter.cpp
-   src\operation\buffer\OffsetCurveSetBuilder.cpp
-
-.. The actual commands were::
-   autogen.bat
-   nmake /f makefile.vc
-
-.. On Windows64, add ``WIN64=YES`` to the nmake command line.
+We are now using the 3.8.0 version which uses CMake (see PCRE
+above__).  For older releases, look in a previous versions of this
+file.
 
 In order to get a version number in the DLL that is produced, we added
-a file ``version.rc`` in the ``src`` folder.  The contents of the
-file are::
+a file ``version.rc`` in the ``src`` folder and added a reference to
+the sources for the ``geos`` subproject.  The contents of the file
+are::
 
  #include <Windows.h>
  LANGUAGE              LANG_ENGLISH, SUBLANG_ENGLISH_US
  VS_VERSION_INFO       VERSIONINFO
- FILEVERSION           3,6,2,0         // change as appropriate
- PRODUCTVERSION                3,6,2,0         // change as appropriate
+ FILEVERSION           3,8,0,0         // change as appropriate
+ PRODUCTVERSION                3,8,0,0         // change as appropriate
  FILEFLAGSMASK         0x3fL
  FILEFLAGS             0
  FILEOS                        VOS_NT_WINDOWS32
@@ -405,26 +390,8 @@ file are::
    END
  END
 
-To use it, we also added ``version.res`` at the end of the definition
-of the ``OBJ`` macro and to the list of dependencies of and the
-command for ``$(CDLLNAME)`` in ``src\Makefile.vc``.
-
-After this, install the library somewhere, e.g. in
-``C:\Libraries\geos-3.6.2.win32``::
-
- mkdir C:\Libraries\geos-3.6.2.win32
- mkdir C:\Libraries\geos-3.6.2.win32\lib
- mkdir C:\Libraries\geos-3.6.2.win32\bin
- mkdir C:\Libraries\geos-3.6.2.win32\include
- mkdir C:\Libraries\geos-3.6.2.win32\include\geos
- copy src\geos_c_i.lib C:\Libraries\geos-3.6.2.win32\lib
- copy src\geos_c.dll C:\Libraries\geos-3.6.2.win32\bin
- copy include C:\Libraries\geos-3.6.2.win32\include
- copy include\geos C:\Libraries\geos-3.6.2.win32\include\geos
- copy capi\geos_c.h C:\Libraries\geos-3.6.2.win32\include
-
 __ http://geos.refractions.net/
-__ http://trac.osgeo.org/geos/wiki/BuildingOnWindowsWithNMake
+__ pcre_cmake_
 
 Optional Packages
 =================
@@ -493,27 +460,28 @@ the following extra Cygwin packages in o
    Command Prompt and PATH contains the directory where cl.exe can be
    found; for 64 bit use --host=x86_64-w64-mingw32 and adapt LIB, PATH
    and prefix)::
-   INCLUDE='C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE;'\
-   'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE;'\
-   'C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt;'\
-   'C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um;'\
-   'C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\shared;'\
-   'C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\um;'\
-   'C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\winrt;'
-   LIB='C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB;'\
-   'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\LIB;'\
-   'C:\Program Files (x86)\Windows Kits\10\lib\10.0.14393.0\ucrt\x86;'\
-   'C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\lib\um\x86;'\
-   'C:\Program Files (x86)\Windows Kits\10\lib\10.0.14393.0\um\x86;'
-   PATH="/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 
14.0/VC/bin:$PATH"
+   vs='C:\Program Files (x86)\Microsoft Visual 
Studio\2019\Community\VC\Tools\MSVC\14.23.28105'
+   INCLUDE="${vs}"'\ATLMFC\include;'"${vs}"'\include;' \
+   'C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um;' \
+   'C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt;' \
+   'C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared;' \
+   'C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um;' \
+   'C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt;' \
+   'C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\cppwinrt'
+   LIB="${vs}"'\ATLMFC\lib\x64;'"${vs}"'\lib\x64;' \
+   'C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\lib\um\x64;' \
+   'C:\Program Files (x86)\Windows Kits\10\lib\10.0.17763.0\ucrt\x64;' \
+   'C:\Program Files (x86)\Windows Kits\10\lib\10.0.17763.0\um\x64;'
+   PATH=$(cygpath "${vs}")/bin/Hostx64/x64:$PATH
+   prefix=/cygdrive/c/Libraries/iconv-1.16.win64-vs2019
    export INCLUDE LIB PATH
    win32_target=_WIN32_WINNT_WIN7
    prefix=/cygdrive/c/Libraries/iconv-1.15.win32-vs2015
    PATH="$prefix/bin:$PATH"
-   ./configure --host=i686-w64-mingw32 --prefix=$prefix \
+   ./configure --host=i686-w64-mingw32 --prefix="$prefix" \
               CC="$PWD/build-aux/compile cl -nologo" \
+              CXX="$PWD/build-aux/compile cl -nologo" \
               CFLAGS="-MD" \
-              CXX="$PWD/build-aux/compile cl -nologo" \
               CXXFLAGS="-MD" \
               CPPFLAGS="-D_WIN32_WINNT=$win32_target -I$prefix/include" \
               LDFLAGS="-L$prefix/lib" \
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to