Skip to content

Commit 04af0b4

Browse files
committed
Travis-CI stuff
1 parent 3367bf7 commit 04af0b4

File tree

7 files changed

+250
-169
lines changed

7 files changed

+250
-169
lines changed

.travis.yml

Lines changed: 12 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -11,48 +11,28 @@ branches:
1111

1212
env:
1313
global:
14-
- GNUMAKEFLAGS='--jobs --no-print-directory --environment-overrides --warn-undefined-variables'
15-
- CFLAGS='-Wall --coverage'
14+
- CODECOV_TOKEN=:1eef4895-a479-44ae-aade-af4d1c5dc286
1615

17-
matrix:
18-
# Don't wait for "allow_failures" to finish
19-
fast_finish: true
20-
allow_failures:
21-
include:
22-
- compiler: ": x64"
23-
env: PLATFORM="mingw32" ARCH="x86_64" BITSIZE=64 HOST="x86_64"
24-
- compiler: ": x86"
25-
env: PLATFORM="mingw32" ARCH="x86" BITSIZE=32 HOST="i686"
16+
env:
17+
- PLATFORM="mingw64" BITSIZE=64 HOST="x86_64-w64-mingw32"
18+
- PLATFORM="mingw32" BITSIZE=32 HOST="i686-w64-mingw32"
2619

2720
addons:
2821
apt:
29-
sources:
30-
# https://launchpad.net/~tobydox/+archive/ubuntu/mingw-x-trusty
31-
- tobydox/mingw-x-trusty
3222
packages:
33-
- mingw32-x-binutils
34-
- mingw32-x-gcc
35-
- mingw32-x-runtime
36-
- mingw64-x-binutils
37-
- mingw64-x-gcc
38-
- mingw64-x-runtime
39-
40-
before_install:
41-
# Some useful feedback of where/who we are
42-
- env | sort
43-
- echo $TRAVIS_BUILD_DIR
44-
- echo $TRAVIS_OS_NAME
23+
- mingw-w64
4524

25+
before_script:
26+
- export CC=$HOST-gcc CXX=$HOST-g++
27+
- export GNUMAKEFLAGS='--jobs --no-print-directory --environment-overrides --warn-undefined-variables'
4628
script:
47-
- export MINGW=/opt/mingw$BITSIZE PATH=$MINGW/bin:$PATH CC=$HOST-w64-mingw32-gcc CXX=$HOST-w64-mingw32-g++
4829
# - autoreconf -iv > build.log 2>&1 || (cat build.log && exit 1)
49-
- ./configure > build.log 2>&1 || (cat build.log && exit 1)
50-
- make VERBOSE=1 > build.log 2>&1 || (cat build.log && exit 1)
51-
# - make dist > build.log 2>&1 || (cat build.log && exit 1)
52-
# - sudo make test
30+
- ./configure --host=$HOST >> build.log 2>&1 || (cat build.log && exit 1)
31+
- make all VERBOSE=1 >> build.log 2>&1 || (cat build.log && exit 1)
32+
# - make dist >> build.log 2>&1 || (cat build.log && exit 1)
5333

5434
after_success:
55-
- bash <(curl -s https://codecov.io/bash)
35+
- curl --upload-file ./build.log https://transfer.sh/build.log
5636

5737
before_deploy: echo 'ready?'
5838

GNUmakefile.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ GCE_CFLAGS = $(PTW32_FLAGS) -mthreads
168168
## Mingw
169169
#MAKE ?= make
170170
DEFS = @DEFS@ -DPTW32_BUILD
171-
CFLAGS = $(OPT) $(XOPT) $(ARCH) -I. -I${srcdir} $(DEFS) -Wall
171+
CFLAGS = $(OPT) $(XOPT) $(ARCH) -I. -I${srcdir} $(DEFS) -Wall
172172

173173
OBJEXT = @OBJEXT@
174174
RESEXT = @OBJEXT@

Makefile

Lines changed: 109 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -7,39 +7,61 @@
77
# See pthread.h and README for the description of version numbering.
88
DLL_VER = 2$(EXTRAVERSION)
99
DLL_VERD= $(DLL_VER)d
10+
FINDPTHREADS=contrib\FindPTHREADS-WIN32.cmake
1011

11-
# set this to 0 to minimize this Makefiles output during build
12+
# set this to 0 to minimize this Makefile's output during build
1213
DEBUG_BUILDING = 1
1314

14-
CP = xcopy /Q /Y /R /V
15+
!IF DEFINED(STATIC_BUILDING) || DEFINED(DEPLOY) || DEFINED(APPVEYOR) || DEFINED(SYSINSTALL) || DEFINED(SYSUNINSTALL)
16+
# set this to 0 to skip building static libraries
17+
STATIC_BUILDING = 1
18+
# for static libraries and import libraries to be able to
19+
# coexist in $(DEST_LIB_NAME)lib,the static libraries will
20+
# have a "lib" prefix
21+
STATIC_LIB_PREFIX = lib
22+
!ENDIF
23+
24+
CP = xcopy /Q /Y /R
1525
MAKE = nmake /nologo
1626
RC = rc /nologo
1727
LIBB = lib /nologo
1828

29+
# Using dynamic runtime by default
30+
RUNTIME = MD
31+
1932
!IF DEFINED(SYSINSTALL) || DEFINED(SYSUNINSTALL)
20-
# This needs Admin right... and quoting
33+
# These need Admin right... and quoting
2134
DESTROOT = $(VCINSTALLDIR)
22-
!else
35+
SYSROOT = $(SYSTEMROOT)\System32
36+
DLLDEST = $(DESTROOT)bin$(MACHINE)
37+
LIBDEST = $(DESTROOT)lib$(MACHINE)
38+
HDRDEST = $(DESTROOT)include
39+
!ELSE
2340
DESTROOT = PTHREADS-BUILT
24-
!endif
41+
DLLDEST = $(DESTROOT)\bin$(MACHINE)
42+
LIBDEST = $(DESTROOT)\lib$(MACHINE)
43+
HDRDEST = $(DESTROOT)\include
44+
DATADEST = $(DESTROOT)pthreads-win32\share
45+
!ENDIF
46+
2547
DEST_LIB_NAME = pthread.lib
2648
STATIC_LIB_PREFIX = lib
2749

28-
!if "$(PLATFORM)" == "x64"
50+
!IF "$(PLATFORM)" == "x64"
2951
MACHINE = \amd64
30-
!endif
52+
!ENDIF
3153

32-
DLLDEST = "$(DESTROOT)\bin$(MACHINE)"
33-
LIBDEST = "$(DESTROOT)\lib$(MACHINE)"
34-
HDRDEST = "$(DESTROOT)\include"
35-
!if DEFINED(CMAKEDEST)
54+
!IF DEFINED(CMAKEDEST)
3655
# if defined on the command line, $(CMAKEDEST) should point to the
3756
# "Modules" folder of you cmake installation
3857
# XXX - this should be more flexible (no version)
3958
# Also find out a way to determine cmake's default install location
40-
CMAKEDEST = "$(CMAKEDEST)"
41-
!ELSEIF DEFINED(CMAKEDEST) && !DEFINED(SYSINSTALL)
42-
CMAKEDEST = $(DESTROOT)cmake\share\cmake-3.8\Modules
59+
CMAKEDEST = $(CMAKEDEST)
60+
!ELSEIF DEFINED(CMAKEDEST) || DEFINED(DEPLOY) && !DEFINED(SYSINSTALL)
61+
CMAKEDEST = $(DATADEST)\cmake\modules
62+
!ELSE !DEFINED(CMAKEDEST) && (DEFINED(SYSINSTALL) || DEFINED(SYSUNINSTALL))
63+
# XXX - assuming x64 host
64+
CMAKEDEST = $(ProgramFiles(x86)\CMake
4365
!ENDIF
4466

4567
DLLS = pthreadVCE$(DLL_VER).dll pthreadVSE$(DLL_VER).dll pthreadVC$(DLL_VER).dll \
@@ -53,7 +75,7 @@ SMALL_STATIC_STAMPS = pthreadVCE$(DLL_VER).small_static_stamp pthreadVSE$(DLL_V
5375

5476
CC = cl /nologo /MP
5577
CPPFLAGS = /I. /FIwinconfig.h
56-
XCFLAGS = /W3 /MD /nologo
78+
XCFLAGS = /W3 /$(RUNTIME)
5779
CFLAGS = /O2 /Ob2 $(XCFLAGS)
5880
CFLAGSD = /Z7 $(XCFLAGS)
5981

@@ -113,12 +135,14 @@ all: realclean
113135
@ $(MAKE) /E clean VCE-debug
114136
@ $(MAKE) /E clean VSE-debug
115137
@ $(MAKE) /E clean VC-debug
138+
!IF DEFINED(STATIC_BUILDING)
116139
@ $(MAKE) /E clean VCE-static
117140
@ $(MAKE) /E clean VSE-static
118141
@ $(MAKE) /E clean VC-static
119142
@ $(MAKE) /E clean VCE-static-debug
120143
@ $(MAKE) /E clean VSE-static-debug
121144
@ $(MAKE) /E clean VC-static-debug
145+
!ENDIF
122146

123147
TEST_ENV = CFLAGS="$(CFLAGS) /DNO_ERROR_DIALOGS"
124148

@@ -241,6 +265,10 @@ VC-static-debug:
241265

242266

243267
realclean: clean
268+
!IF DEFINED(DEBUG_BUILDING)
269+
@ echo.
270+
@ echo Running $@...
271+
!ENDIF
244272
@if exist *.dll del *.dll
245273
@if exist *.lib del *.lib
246274
@if exist *.pdb del *.pdb
@@ -251,6 +279,10 @@ realclean: clean
251279
cd tests && $(MAKE) clean
252280

253281
clean:
282+
!IF DEFINED(DEBUG_BUILDING)
283+
@ echo.
284+
@ echo Running $@...
285+
!ENDIF
254286
@if exist *.obj del *.obj
255287
@if exist *.def del *.def
256288
@if exist *.ilk del *.ilk
@@ -264,44 +296,78 @@ clean:
264296
# Very basic install. It assumes "realclean" was done just prior to build target if
265297
# you want the installed $(DEVDEST_LIB_NAME) to match that build.
266298
install: all
267-
if not exist $(DLLDEST) mkdir $(DLLDEST)
268-
if not exist $(LIBDEST) mkdir $(LIBDEST)
269-
if not exist $(HDRDEST) mkdir $(HDRDEST)
270-
if exist pthreadV*.dll $(CP) pthreadV*.dll $(DLLDEST)
271-
if exist pthreadV*.pdb $(CP) pthreadV*.pdb $(DLLDEST)
272-
if exist libpthreadV*.lib $(CP) libpthreadV*.lib $(LIBDEST)
273-
$(CP) pthreadV*.lib $(LIBDEST)
274-
$(CP) _ptw32.h $(HDRDEST)
275-
$(CP) pthread.h $(HDRDEST)
276-
$(CP) sched.h $(HDRDEST)
277-
$(CP) semaphore.h $(HDRDEST)
278-
!IF DEFINED(CMAKEDEST)
279-
# XXX - FIX ME!
280-
# if not exist $(CMAKEDEST) mkdir $(CMAKEDEST)
281-
$(CP) contrib\FindPTHREADS-WIN32.cmake "$(CMAKEDEST)\FindPTHREADS-WIN32.cmake"
282-
$(CP) contrib\FindPTHREADS.cmake "$(CMAKEDEST)\FindPTHREADS4W.cmake"
299+
!IF DEFINED(SYSINSTALL)
300+
!IF "$(PLATFORM)" == "x64"
301+
if exist pthreadV*.dll $(CP) pthreadV*.dll "$(SYSROOT)"
302+
!ENDIF
303+
!ELSE
304+
if not exist "$(DLLDEST)" mkdir "$(DLLDEST)"
305+
if not exist "$(LIBDEST)" mkdir "$(LIBDEST)"
306+
if not exist "$(HDRDEST)" mkdir "$(HDRDEST)"
307+
!ENDIF
308+
if exist pthreadV*.dll $(CP) pthreadV*.dll "$(DLLDEST)"
309+
if exist pthreadV*.pdb $(CP) pthreadV*.pdb "$(DLLDEST)"
310+
if exist libpthreadV*.lib $(CP) libpthreadV*.lib "$(LIBDEST)"
311+
$(CP) pthreadV*.lib "$(LIBDEST)"
312+
$(CP) _ptw32.h "$(HDRDEST)"
313+
$(CP) pthread.h "$(HDRDEST)"
314+
$(CP) sched.h "$(HDRDEST)"
315+
$(CP) semaphore.h "$(HDRDEST)"
316+
!IF DEFINED(CMAKEDEST) || DEFINED(DEPLOY)
317+
!IF DEFINED(DEBUG_BUILDING)
318+
@ echo.
319+
@ echo Installing CMAKE Modules into $(CMAKEDEST)...
320+
!ENDIF
321+
# XXX - add a %pthread_root% environment variable
322+
if not exist "$(CMAKEDEST)" mkdir "$(CMAKEDEST)"
323+
$(CP) $(FINDPTHREADS) "$(CMAKEDEST)"
324+
copy /Y $(FINDPTHREADS) "$(CMAKEDEST)\FindPTHREADS4W.cmake"
325+
!ENDIF
326+
!IF DEFINED(APPVEYOR) || DEFINED(DEPLOY)
327+
for %I in (COPYING COPYING.FSF README README.Borland README.CV README.NONPORTABLE README.Watcom README.WinCE WinCE-PORT) do $(CP) %I "$(DESTROOT)"
328+
for %I in (ANNOUNCE BUGS ChangeLog CONTRIBUTORS COPYING COPYING.FSF FAQ MAINTAINERS NEWS PROGRESS) do $(CP) %I "$(DATADEST)\doc"
329+
copy /Y README.md "$(DESTROOT)\README.FIRST"
330+
$(CP) /E /S /I manual "$(DATADEST)\manual"
283331
!ENDIF
284-
!if "$(APPVEYOR)" == "True" || "$(DEPLOY)" == "1"
285-
for %I in (ANNOUNCE BUGS ChangeLog CONTRIBUTORS COPYING COPYING.LIB COPYING.FSF FAQ MAINTAINERS NEWS PROGRESS README README.Borland README.CV README.NONPORTABLE README.Watcom README.WinCE WinCE-PORT) do $(CP) %I $(DESTROOT)
286-
!endif
287332

288333
uninstall:
289-
if exist "$(DLLDEST)\pthreadV*.dll" del "$(DLLDEST)\pthreadV*.dll"
290-
if exist "$(DLLDEST)\pthreadV*.pdb" del "$(DLLDEST)\pthreadV*.pdb"
291-
if exist "$(LIBDEST)\libpthreadV*.lib" del "$(LIBDEST)\libpthreadV*.lib"
292-
if exist "$(LIBDEST)\pthreadV*.lib" del "$(LIBDEST)\pthreadV*.lib"
293-
if exist "$(HDRDEST)\_ptw32.h" del "$(HDRDEST)\_ptw32.h"
294-
if exist "$(HDRDEST)\pthread.h" del "$(HDRDEST)\pthread.h"
295-
if exist "$(HDRDEST)\sched.h" del "$(HDRDEST)\sched.h"
296-
if exist "$(HDRDEST)\semaphore.h" del "$(HDRDEST)\semaphore.h"
334+
!IF DEFINED(SYSUNINSTALL) || DEFINED(SYSINSTALL)
335+
del "$(SYSROOT)\pthreadV*.dll"
336+
!ENDIF
337+
del "$(DLLDEST)\pthreadV*.dll"
338+
del "$(DLLDEST)\pthreadV*.pdb"
339+
del "$(LIBDEST)\libpthreadV*.lib"
340+
del "$(LIBDEST)\pthreadV*.lib"
341+
del "$(HDRDEST)\_ptw32.h"
342+
del "$(HDRDEST)\pthread.h"
343+
del "$(HDRDEST)\sched.h"
344+
del "$(HDRDEST)\semaphore.h"
345+
# XXX - remove!!! %pthread_root% environment variable
346+
del "$(CMAKEDEST)\FindPTHREADS-WIN32.cmake"
347+
del "$(CMAKEDEST)\FindPTHREADS4W.cmake"
348+
!IF DEFINED(APPVEYOR) || DEFINED(DEPLOY)
349+
for %I in (ANNOUNCE BUGS ChangeLog CONTRIBUTORS COPYING COPYING.FSF FAQ MAINTAINERS NEWS PROGRESS README README.Borland README.CV README.NONPORTABLE README.Watcom README.WinCE WinCE-PORT) do del $(DESTROOT)\%I
350+
!ENDIF
351+
352+
cmake:
353+
!IF DEFINED(CMAKEDEST) || DEFINED(DEPLOY)
354+
!IF DEFINED(DEBUG_BUILDING)
355+
@ echo.
356+
@ echo Installing CMAKE Modules into $(CMAKEDEST)...
357+
!ENDIF
358+
# XXX - add (and remove!!!) a %pthread_root% environment variable?
359+
if not exist "$(CMAKEDEST)" mkdir "$(CMAKEDEST)"
360+
$(CP) $(FINDPTHREADS) "$(CMAKEDEST)"
361+
copy /Y $(FINDPTHREADS) "$(CMAKEDEST)\FindPTHREADS4W.cmake"
362+
!ENDIF
297363

298364
$(DLLS): $(DLL_OBJS)
299365
$(CC) /LDd /ZI /nologo $(DLL_OBJS) /link /implib:$*.lib $(XLIBS) /out:$@
300366

301367
$(INLINED_STATIC_STAMPS): $(DLL_OBJS)
302368
!IF DEFINED(DEBUG_BUILDING)
303369
@ echo.
304-
@ echo Building $@...
370+
@ echo Building $(STATIC_LIB_PREFIX)$@...
305371
!ENDIF
306372
if exist $(STATIC_LIB_PREFIX)$*.lib del $(STATIC_LIB_PREFIX)$*.lib
307373
$(LIBB) $(DLL_OBJS) /out:$(STATIC_LIB_PREFIX)$*.lib

_ptw32.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@
120120
/*
121121
* This is more or less a duplicate of what is in the autoconf config.h,
122122
* which is only used when building the pthread-win32 libraries. They
123+
* XXX - They? They what?
123124
*/
124125

125126
#if !defined(PTW32_CONFIG_H) && !defined(__PTW32_PSEUDO_CONFIG_H_SOURCED)

configure

100644100755
File mode changed.

0 commit comments

Comments
 (0)