test-windows.yml fix LNK4098 for CPython

This commit is contained in:
nulano 2019-09-26 20:30:03 +02:00
parent 04868c9e51
commit b81f5481b8
4 changed files with 225 additions and 7 deletions

View File

@ -99,7 +99,7 @@ jobs:
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" ${{ matrix.platform-vcvars }} 8.1
echo on
nmake -nologo -f win32\Makefile.msc clean
nmake -nologo -f win32\Makefile.msc zlib.lib
nmake -nologo -f win32\Makefile.msc LOC=-MT zlib.lib
copy /Y /B z*.h %INCLIB%
copy /Y /B *.lib %INCLIB%
copy /Y /B zlib.lib %INCLIB%\z.lib
@ -112,7 +112,7 @@ jobs:
cd /D %BUILD%\tiff-4.0.10
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" ${{ matrix.platform-vcvars }} 8.1
echo on
copy %GITHUB_WORKSPACE%\winbuild\nmake.opt nmake.opt
copy %GITHUB_WORKSPACE%\winbuild\tiff-mt.opt nmake.opt
nmake -nologo -f makefile.vc clean
nmake -nologo -f makefile.vc lib
copy /Y /B libtiff\tiff*.h %INCLIB%
@ -176,7 +176,10 @@ jobs:
cd /D %BUILD%\openjpeg-2.3.1msvcr10-x32
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" ${{ matrix.platform-vcvars }} 8.1
echo on
cmake.exe -DBUILD_THIRDPARTY:BOOL=OFF -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_BUILD_TYPE=Release -G "NMake Makefiles" .
set CMAKE=cmake.exe -DOPENJP2_COMPILE_OPTIONS=-MT
set CMAKE=%CMAKE% -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_RULE_MESSAGES:BOOL=OFF
set CMAKE=%CMAKE% -DBUILD_THIRDPARTY:BOOL=OFF -DBUILD_SHARED_LIBS:BOOL=OFF
%CMAKE% -DCMAKE_BUILD_TYPE=Release -G "NMake Makefiles" .
nmake -nologo -f Makefile clean
nmake -nologo -f Makefile
mkdir %INCLIB%\openjpeg-2.3.1
@ -209,8 +212,7 @@ jobs:
set LIB=%INCLIB%;%PYTHON%\tcl
set INCLUDE=%INCLIB%;%GITHUB_WORKSPACE%\depends\tcl86\include;%INCLUDE%
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" ${{ matrix.platform-vcvars }} 8.1
%PYTHON%\python.exe setup.py build_ext --add-imaging-libs=msvcrt install
%PYTHON%\python.exe -c "from PIL import _webp;import os, shutil;shutil.copy(r'%INCLIB%\freetype.dll', os.path.dirname(_webp.__file__));"
%PYTHON%\python.exe setup.py build_ext install
%PYTHON%\python.exe selftest.py --installed
- name: Test Pillow
@ -242,7 +244,7 @@ jobs:
set LIB=%INCLIB%;%PYTHON%\tcl
set INCLUDE=%INCLIB%;%GITHUB_WORKSPACE%\depends\tcl86\include;%INCLUDE%
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" ${{ matrix.platform-vcvars }} 8.1
%PYTHON%\python.exe setup.py build_ext --add-imaging-libs=msvcrt bdist_wheel
%PYTHON%\python.exe setup.py bdist_wheel
- uses: actions/upload-artifact@v1
if: "github.event_name == 'push' && !contains(matrix.python-version, 'pypy')"

View File

@ -202,7 +202,7 @@ setlocal
+ vc_setup(compiler, bit)
+ r"""
rem do after building jpeg and zlib
copy %%~dp0\nmake.opt %%TIFF%%
copy %%~dp0\tiff-md.opt %%TIFF%%\nmake.opt
cd /D %%TIFF%%
nmake -nologo -f makefile.vc clean

216
winbuild/tiff-mt.opt Normal file
View File

@ -0,0 +1,216 @@
# $Id: nmake.opt,v 1.18 2006/06/07 16:33:45 dron Exp $
#
# Copyright (C) 2004, Andrey Kiselev <dron@ak4719.spb.edu>
#
# Permission to use, copy, modify, distribute, and sell this software and
# its documentation for any purpose is hereby granted without fee, provided
# that (i) the above copyright notices and this permission notice appear in
# all copies of the software and related documentation, and (ii) the names of
# Sam Leffler and Silicon Graphics may not be used in any advertising or
# publicity relating to the software without the specific, prior written
# permission of Sam Leffler and Silicon Graphics.
#
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
#
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
# OF THIS SOFTWARE.
# Compile time parameters for MS Visual C++ compiler.
# You may edit this file to specify building options.
#
###### Edit the following lines to choose a feature set you need. #######
#
#
# Select WINMODE_CONSOLE to build a library which reports errors to stderr, or
# WINMODE_WINDOWED to build such that errors are reported via MessageBox().
#
WINMODE_CONSOLE = 1
#WINMODE_WINDOWED = 1
#
# Comment out the following lines to disable internal codecs.
#
# Support for CCITT Group 3 & 4 algorithms
CCITT_SUPPORT = 1
# Support for Macintosh PackBits algorithm
PACKBITS_SUPPORT = 1
# Support for LZW algorithm
LZW_SUPPORT = 1
# Support for ThunderScan 4-bit RLE algorithm
THUNDER_SUPPORT = 1
# Support for NeXT 2-bit RLE algorithm
NEXT_SUPPORT = 1
# Support for LogLuv high dynamic range encoding
LOGLUV_SUPPORT = 1
#
# Uncomment and edit following lines to enable JPEG support.
#
JPEG_SUPPORT = 1
JPEG_INCLUDE = -I$(INCLIB)
JPEG_LIB = $(INCLIB)/libjpeg.lib
#
# Uncomment and edit following lines to enable ZIP support
# (required for Deflate compression and Pixar log-format)
#
ZIP_SUPPORT = 1
ZLIB_INCLUDE = -I$(INCLIB)
ZLIB_LIB = $(INCLIB)/zlib.lib
#
# Uncomment and edit following lines to enable ISO JBIG support
#
#JBIG_SUPPORT = 1
#JBIGDIR = d:/projects/jbigkit
#JBIG_INCLUDE = -I$(JBIGDIR)/libjbig
#JBIG_LIB = $(JBIGDIR)/libjbig/jbig.lib
#
# Uncomment following line to enable Pixar log-format algorithm
# (Zlib required).
#
#PIXARLOG_SUPPORT = 1
#
# Comment out the following lines to disable strip chopping
# (whether or not to convert single-strip uncompressed images to multiple
# strips of specified size to reduce memory usage). Default strip size
# is 8192 bytes, it can be configured via the STRIP_SIZE_DEFAULT parameter
#
STRIPCHOP_SUPPORT = 1
STRIP_SIZE_DEFAULT = 8192
#
# Comment out the following lines to disable treating the fourth sample with
# no EXTRASAMPLE_ value as being ASSOCALPHA. Many packages produce RGBA
# files but don't mark the alpha properly.
#
EXTRASAMPLE_AS_ALPHA_SUPPORT = 1
#
# Comment out the following lines to disable picking up YCbCr subsampling
# info from the JPEG data stream to support files lacking the tag.
# See Bug 168 in Bugzilla, and JPEGFixupTestSubsampling() for details.
#
CHECK_JPEG_YCBCR_SUBSAMPLING = 1
#
####################### Compiler related options. #######################
#
#
# Pick debug or optimized build flags. We default to an optimized build
# with no debugging information.
# NOTE: /EHsc option required if you want to build the C++ stream API
#
OPTFLAGS = /Ox /MT /EHsc /W3 /D_CRT_SECURE_NO_DEPRECATE
#OPTFLAGS = /Zi
#
# Uncomment following line to enable using Windows Common RunTime Library
# instead of Windows specific system calls. See notes on top of tif_unix.c
# module for details.
#
USE_WIN_CRT_LIB = 1
# Compiler specific options. You may probably want to adjust compilation
# parameters in CFLAGS variable. Refer to your compiler documentation
# for the option reference.
#
MAKE = nmake /nologo
CC = cl /nologo
CXX = cl /nologo
AR = lib /nologo
LD = link /nologo
CFLAGS = $(OPTFLAGS) $(INCL) $(EXTRAFLAGS)
CXXFLAGS = $(OPTFLAGS) $(INCL) $(EXTRAFLAGS)
EXTRAFLAGS =
LIBS =
# Name of the output shared library
DLLNAME = libtiff.dll
#
########### There is nothing to edit below this line normally. ###########
#
# Set the native cpu bit order
EXTRAFLAGS = -DFILLODER_LSB2MSB $(EXTRAFLAGS)
!IFDEF WINMODE_WINDOWED
EXTRAFLAGS = -DTIF_PLATFORM_WINDOWED $(EXTRAFLAGS)
LIBS = user32.lib $(LIBS)
!ELSE
EXTRAFLAGS = -DTIF_PLATFORM_CONSOLE $(EXTRAFLAGS)
!ENDIF
# Codec stuff
!IFDEF CCITT_SUPPORT
EXTRAFLAGS = -DCCITT_SUPPORT $(EXTRAFLAGS)
!ENDIF
!IFDEF PACKBITS_SUPPORT
EXTRAFLAGS = -DPACKBITS_SUPPORT $(EXTRAFLAGS)
!ENDIF
!IFDEF LZW_SUPPORT
EXTRAFLAGS = -DLZW_SUPPORT $(EXTRAFLAGS)
!ENDIF
!IFDEF THUNDER_SUPPORT
EXTRAFLAGS = -DTHUNDER_SUPPORT $(EXTRAFLAGS)
!ENDIF
!IFDEF NEXT_SUPPORT
EXTRAFLAGS = -DNEXT_SUPPORT $(EXTRAFLAGS)
!ENDIF
!IFDEF LOGLUV_SUPPORT
EXTRAFLAGS = -DLOGLUV_SUPPORT $(EXTRAFLAGS)
!ENDIF
!IFDEF JPEG_SUPPORT
LIBS = $(LIBS) $(JPEG_LIB)
EXTRAFLAGS = -DJPEG_SUPPORT -DOJPEG_SUPPORT $(EXTRAFLAGS)
!ENDIF
!IFDEF ZIP_SUPPORT
LIBS = $(LIBS) $(ZLIB_LIB)
EXTRAFLAGS = -DZIP_SUPPORT $(EXTRAFLAGS)
!IFDEF PIXARLOG_SUPPORT
EXTRAFLAGS = -DPIXARLOG_SUPPORT $(EXTRAFLAGS)
!ENDIF
!ENDIF
!IFDEF JBIG_SUPPORT
LIBS = $(LIBS) $(JBIG_LIB)
EXTRAFLAGS = -DJBIG_SUPPORT $(EXTRAFLAGS)
!ENDIF
!IFDEF STRIPCHOP_SUPPORT
EXTRAFLAGS = -DSTRIPCHOP_DEFAULT=TIFF_STRIPCHOP -DSTRIP_SIZE_DEFAULT=$(STRIP_SIZE_DEFAULT) $(EXTRAFLAGS)
!ENDIF
!IFDEF EXTRASAMPLE_AS_ALPHA_SUPPORT
EXTRAFLAGS = -DDEFAULT_EXTRASAMPLE_AS_ALPHA $(EXTRAFLAGS)
!ENDIF
!IFDEF CHECK_JPEG_YCBCR_SUBSAMPLING
EXTRAFLAGS = -DCHECK_JPEG_YCBCR_SUBSAMPLING $(EXTRAFLAGS)
!ENDIF
!IFDEF USE_WIN_CRT_LIB
EXTRAFLAGS = -DAVOID_WIN32_FILEIO $(EXTRAFLAGS)
!ELSE
EXTRAFLAGS = -DUSE_WIN32_FILEIO $(EXTRAFLAGS)
!ENDIF