Hi Bram!

On Mo, 15 Feb 2016, Bram Moolenaar wrote:

> This should not be part of the daily build but the one that's triggered
> by a submit.  Then we get a warning email five minutes later.

That's what I meant.

> 
> The one we currently have only tests the GUI.  We should at least have
> one that builds the console version.
> 
> Also having at least one for MingW seems necessary, since it produces
> different warnings and errors than MSVC.
> 
> We'll never catch everything, but we can try to catch the most common
> problems.  So long as we don't run out of capacity on Appveyor.

Okay, here we go. This builds  MVC (64bit) and mingw 32bit versions on 
appveyor with all feature switches (gvim and vim.exe). The huge versions 
is build with python enabled. This should catch most of the obvious 
#ifdef errors we have seen lately.

The patch already contains some #ifdefs, needed to fix some errors. 
Unfortunately, I haven't seen it build completely yet, due to some 
errors and the current fast development cycle.

Some of the errors and warnings reported here on the list are also shown 
in the current logs, e.g.
https://ci.appveyor.com/project/chrisbra/vim-ch0ci/build/job/ag948fmsdkuv4dok#L307
https://ci.appveyor.com/project/chrisbra/vim-ch0ci/build/job/ag948fmsdkuv4dok#L344
https://ci.appveyor.com/project/chrisbra/vim-ch0ci/build/job/ag948fmsdkuv4dok#L362
https://ci.appveyor.com/project/chrisbra/vim-ch0ci/build/job/ag948fmsdkuv4dok#L397
https://ci.appveyor.com/project/chrisbra/vim-ch0ci/build/job/ag948fmsdkuv4dok#L438

However, since this builds MSVC and Mingw gvim and vim.exe for 
FEATURES=tiny, small, normal, big and huge and runs the test it will 
take a while to finish, probably around 50 Minutes.

Feedback appreciated.

Best,
Christian

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.
diff --git a/appveyor.yml b/appveyor.yml
index ab379f9..51fa739 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,20 +1,27 @@
 version: "{build}"
 
-skip_tags: true
+environment:
+  matrix:
+    - FEATURE: TINY
+    - FEATURE: SMALL
+    - FEATURE: NORMAL
+    - FEATURE: BIG
+    - FEATURE: HUGE
+
+matrix:
+  fast_finish: true
 
 before_build:
   - '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /release'
-  # Work around for Python 2.7.11's bug
+# Work around for Python 2.7.11
   - reg copy HKLM\SOFTWARE\Python\PythonCore\2.7 HKLM\SOFTWARE\Python\PythonCore\2.7-32 /s /reg:32
   - reg copy HKLM\SOFTWARE\Python\PythonCore\2.7 HKLM\SOFTWARE\Python\PythonCore\2.7-32 /s /reg:64
 
 build_script:
-  - cd src
-  - sed -e "s/\$(LINKARGS2)/\$(LINKARGS2) | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
-  - nmake -f Make_mvc2.mak CPU=AMD64 GUI=yes IME=yes MBYTE=yes ICONV=yes DEBUG=no PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 PYTHON3_VER=34 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python34-x64
-  - .\gvim -u NONE -c "redir @a | ver | 0put a | wq!" ver.txt
-  - type ver.txt
+  - src/appveyor.bat
 
 test_script:
-  - cd testdir
-  - nmake -f Make_dos.mak VIMPROG=..\gvim
+  - cd src/testdir
+  - nmake -f Make_dos.mak VIMPROG=..\gvim_mvc
+
+# vim: sw=2 sts=2 et ts=2 sr
diff --git a/src/appveyor.bat b/src/appveyor.bat
new file mode 100644
index 0000000..34950ee
--- /dev/null
+++ b/src/appveyor.bat
@@ -0,0 +1,36 @@
+@echo off
+:: Batch file for building/testing Vim on AppVeyor
+
+setlocal ENABLEDELAYEDEXPANSION
+cd %APPVEYOR_BUILD_FOLDER%
+
+cd src
+:: Build MSVC Version
+echo "Building MSVC 64bit Version"
+sed -e "s/\$(LINKARGS2)/\$(LINKARGS2) | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
+:: build huge version with python support
+if "%FEATURE%" == "HUGE" (
+    nmake -f Make_mvc2.mak DIRECTX=yes CPU=AMD64 OLE=no GUI=yes IME=yes MBYTE=yes ICONV=yes DEBUG=no PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 PYTHON3_VER=34 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python34-x64 FEATURES=%FEATURE% || exit 1
+) ELSE (
+    nmake -f Make_mvc2.mak CPU=AMD64 OLE=no GUI=yes IME=yes MBYTE=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
+)
+.\gvim -u NONE -c "redir @a | ver |0put a | wq!" ver1.txt
+type ver1.txt
+copy gvim.exe gvim_mvc.exe
+nmake -f Make_mvc2.mak clean > NUL
+nmake -f Make_mvc2.mak CPU=AMD64 OLE=no GUI=no IME=yes MBYTE=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
+echo "Building MinGW 32bit Version"
+:: Build Mingw version
+set PATH=c:\mingw;c:\mingw\bin;%PATH%
+if "%FEATURE%" == "HUGE" (
+    c:\mingw\bin\mingw32-make.exe -f Make_ming.mak GUI=yes IME=yes MBYTE=yes ICONV=yes DEBUG=no PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27 PYTHON3_VER=34 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python34 FEATURES=%FEATURE% || exit 1
+) ELSE (
+    c:\mingw\bin\mingw32-make.exe -f Make_ming.mak GUI=yes IME=yes MBYTE=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
+)
+c:\mingw\bin\mingw32-make.exe -f Make_ming.mak clean
+c:\mingw\bin\mingw32-make.exe -f Make_ming.mak GUI=no  IME=yes MBYTE=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
+.\gvim -u NONE -c "redir @a | ver |0put a | wq!" ver2.txt
+type ver2.txt
+cd ..
+
+:eof
diff --git a/src/gui_w32.c b/src/gui_w32.c
index 70dd9b5..cc31c7c 100644
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -1670,6 +1670,7 @@ gui_mch_init(void)
     if (s_textArea == NULL)
 	return FAIL;
 
+#ifdef FEAT_LIBCALL
     /* Try loading an icon from $RUNTIMEPATH/bitmaps/vim.ico. */
     {
 	HANDLE	hIcon = NULL;
@@ -1677,6 +1678,7 @@ gui_mch_init(void)
 	if (mch_icon_load(&hIcon) == OK && hIcon != NULL)
 	    SendMessage(s_hwnd, WM_SETICON, ICON_SMALL, (LPARAM)hIcon);
     }
+#endif
 
 #ifdef FEAT_MENU
     s_menuBar = CreateMenu();
diff --git a/src/os_win32.c b/src/os_win32.c
index 63d7d60..99d1f79 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -5175,8 +5175,10 @@ mch_stop_job(job_T *job, char_u *how)
 	    return TerminateProcess(job->jv_proc_info.hProcess, 0) ? OK : FAIL;
     }
 
+#ifndef __MINGW32__
     if (!AttachConsole(job->jv_proc_info.dwProcessId))
 	return FAIL;
+#endif
     ret = GenerateConsoleCtrlEvent(
 	    ctrl_c ? CTRL_C_EVENT : CTRL_BREAK_EVENT,
 	    job->jv_proc_info.dwProcessId)

Raspunde prin e-mail lui