diff mbox series

[ovs-dev,v2,6/8] windows: Update build with latest pthread project

Message ID 20200921013241.654-6-aserdean@cloudbasesolutions.com
State Changes Requested
Headers show
Series [ovs-dev,v2,1/8] windows: Remove unused variable | expand

Commit Message

Alin Serdean Sept. 21, 2020, 1:32 a.m. UTC
pthreads-win32 has moved too PThreads4W.

This patch updates the build steps, CI (appveyor) and documentation.

Signed-off-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com>
---
 Documentation/intro/install/windows.rst | 10 +++++-----
 appveyor.yml                            | 18 +++++++-----------
 m4/openvswitch.m4                       | 19 ++++---------------
 3 files changed, 16 insertions(+), 31 deletions(-)

Comments

0-day Robot Sept. 21, 2020, 2:04 a.m. UTC | #1
Bleep bloop.  Greetings Alin Gabriel Serdean, I am a robot and I have tried out your patch.
Thanks for your contribution.

I encountered some error that I wasn't expecting.  See the details below.


checkpatch:
WARNING: Line is 99 characters long (recommended limit is 79)
#77 FILE: appveyor.yml:36:
- '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"'

WARNING: Line is 270 characters long (recommended limit is 79)
#85 FILE: appveyor.yml:42:
- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && ./configure CC=build-aux/cccl LD=\"`which link`\" LIBS=\"-lws2_32 -lShlwapi -liphlpapi -lwbemuuid -lole32 -loleaut32\" --with-pthread=c:/PTHREADS-BUILT/ --with-openssl=C:/OpenSSL-Win32 --with-vstudiotarget=\"Debug\"

Lines checked: 122, Warnings: 2, Errors: 0


Please check this out.  If you feel there has been an error, please email aconole@redhat.com

Thanks,
0-day Robot
diff mbox series

Patch

diff --git a/Documentation/intro/install/windows.rst b/Documentation/intro/install/windows.rst
index 4c7724b57..dd7af4015 100644
--- a/Documentation/intro/install/windows.rst
+++ b/Documentation/intro/install/windows.rst
@@ -95,13 +95,13 @@  The following explains the steps in some detail.
   Visual studio's linker is used. You should also see a 'which sort' report
   ``/bin/sort.exe``.
 
-- pthreads-win32
+- PThreads4W
 
-  For pthread support, install the library, dll and includes of pthreads-win32
+  For pthread support, install the library, dll and includes of PThreads4W
   project from `sourceware
-  <ftp://sourceware.org/pub/pthreads-win32/prebuilt-dll-2-9-1-release>`__ to a
-  directory (e.g.: ``C:/pthread``). You should add the pthread-win32's dll path
-  (e.g.: ``C:\pthread\dll\x86``) to the Windows' PATH environment variable.
+  <https://sourceforge.net/projects/pthreads4w/>`__ to a directory
+  (e.g.: ``C:/pthread``). You should add the PThreads4W's dll path
+  (e.g.: ``C:\pthread\bin``) to the Windows' PATH environment variable.
 
 - OpenSSL
 
diff --git a/appveyor.yml b/appveyor.yml
index fa6754ce2..6e2b2e9e2 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,4 +1,5 @@ 
 version: 1.0.{build}
+image: Visual Studio 2019
 branches:
   only:
   - master
@@ -7,16 +8,8 @@  init:
 - ps: $env:PATH ="C:\Python37;"+$env:PATH
 - ps: New-Item -Type HardLink -Path "C:\Python37\python3.exe" -Value "C:\Python37\python.exe"
 - ps: >-
-    mkdir C:\pthreads-win32
-
     mkdir C:\ovs-build-downloads
 
-    $source = "ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip"
-
-    $destination = "C:\pthreads-win32\pthreads-win32.zip"
-
-    Invoke-WebRequest $source -OutFile $destination
-
     $source = "https://slproweb.com/download/Win32OpenSSL-1_0_2t.exe"
 
     $destination = "C:\ovs-build-downloads\Win32OpenSSL-1_0_2t.exe"
@@ -35,14 +28,17 @@  init:
 
     cd C:\openvswitch
 
+    git clone https://git.code.sf.net/p/pthreads4w/code c:\pthreads4w-code
+
     python3 -m pip install pypiwin32 --disable-pip-version-check
 
 build_script:
-- '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\VsDevCmd"'
+- '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"'
 - C:\MinGW\msys\1.0\bin\bash -lc "echo \"C:/MinGW /mingw\" > /etc/fstab"
-- C:\MinGW\msys\1.0\bin\bash -lc "cp /c/pthreads-win32/Pre-built.2/dll/x86/*.dll /c/openvswitch/."
 - C:\MinGW\msys\1.0\bin\bash -lc "mv /bin/link.exe /bin/link_copy.exe"
+# Build pthreads
+- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/pthreads4w-code && nmake all install"
 - C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && ./boot.sh"
-- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && ./configure CC=build-aux/cccl LD=\"`which link`\" LIBS=\"-lws2_32 -lShlwapi -liphlpapi -lwbemuuid -lole32 -loleaut32\" --with-pthread=C:/pthreads-win32/Pre-built.2 --with-openssl=C:/OpenSSL-Win32 --with-vstudiotarget=\"Debug\"
+- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && ./configure CC=build-aux/cccl LD=\"`which link`\" LIBS=\"-lws2_32 -lShlwapi -liphlpapi -lwbemuuid -lole32 -loleaut32\" --with-pthread=c:/PTHREADS-BUILT/ --with-openssl=C:/OpenSSL-Win32 --with-vstudiotarget=\"Debug\"
 - C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && make"
 - C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && make datapath_windows_analyze"
diff --git a/m4/openvswitch.m4 b/m4/openvswitch.m4
index 31b0f56b0..e0ed1dbf5 100644
--- a/m4/openvswitch.m4
+++ b/m4/openvswitch.m4
@@ -95,23 +95,12 @@  AC_DEFUN([OVS_CHECK_WIN32],
             AC_MSG_ERROR([Invalid --with-pthread value])
               ;;
             *)
-            if (cl) 2>&1 | grep 'x64' >/dev/null 2>&1; then
-              cl_cv_x64=yes
-            else
-              cl_cv_x64=no
-            fi
-            if test "$cl_cv_x64" = yes; then
-                PTHREAD_WIN32_DIR=$withval/lib/x64
-                PTHREAD_WIN32_DIR_DLL=/$(echo ${withval} | ${SED} -e 's/://')/dll/x64
-                PTHREAD_WIN32_DIR_DLL_WIN_FORM=$withval/dll/x64
-            else
-                PTHREAD_WIN32_DIR=$withval/lib/x86
-                PTHREAD_WIN32_DIR_DLL=/$(echo ${withval} | ${SED} -e 's/://')/dll/x86
-                PTHREAD_WIN32_DIR_DLL_WIN_FORM=$withval/dll/x86
-            fi
+            PTHREAD_WIN32_DIR=$withval/lib
+            PTHREAD_WIN32_DIR_DLL=/$(echo ${withval} | ${SED} -e 's/://')/bin
+            PTHREAD_WIN32_DIR_DLL_WIN_FORM=$withval/bin
             PTHREAD_INCLUDES=-I$withval/include
             PTHREAD_LDFLAGS=-L$PTHREAD_WIN32_DIR
-            PTHREAD_LIBS="-lpthreadVC2"
+            PTHREAD_LIBS="-lpthreadVC3"
             AC_SUBST([PTHREAD_WIN32_DIR_DLL_WIN_FORM])
             AC_SUBST([PTHREAD_WIN32_DIR_DLL])
             AC_SUBST([PTHREAD_INCLUDES])