Skip to content

Commit 5c42b2d

Browse files
committed
Merge pull request #1439 from am11/master
Uses VS2015 for CI builds
2 parents b432339 + bedefc3 commit 5c42b2d

File tree

8 files changed

+394
-1072
lines changed

8 files changed

+394
-1072
lines changed

appveyor.yml

Lines changed: 15 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1+
os: Visual Studio 2015
2+
13
environment:
24
CTEST_OUTPUT_ON_FAILURE: 1
5+
ruby_version: 22-x64
6+
TargetPath: sassc/bin/sassc
37
matrix:
48
- Compiler: msvc
59
Config: Release
6-
ruby_version: "21-x64"
710
- Compiler: msvc
811
Config: Debug
9-
ruby_version: "21-x64"
1012
- Compiler: mingw
1113
Build: static
12-
ruby_version: "21-x64"
1314
- Compiler: mingw
1415
Build: shared
15-
ruby_version: "21-x64"
1616

1717
cache:
1818
- C:\Ruby%ruby_version%\lib\ruby\gems
@@ -22,7 +22,7 @@ install:
2222
- git clone https://github.com/sass/sass-spec.git
2323
- set PATH=C:\Ruby%ruby_version%\bin;%PATH%
2424
- ps: |
25-
if(!(gem which minitest 2>$nul)) { gem install minitest }
25+
if(!(gem which minitest 2>$nul)) { gem install minitest --no-ri --no-rdoc }
2626
if ($env:Compiler -eq "mingw" -AND -Not (Test-Path "C:\mingw64")) {
2727
# Install MinGW.
2828
$url = "http://sourceforge.net/projects/mingw-w64/files/"
@@ -40,31 +40,16 @@ build_script:
4040
if ($env:Compiler -eq "mingw") {
4141
mingw32-make -j4 sassc
4242
} else {
43-
msbuild /m:4 /p:Configuration=$env:Config win\libsass.sln
44-
}
45-
- ps: |
46-
if ($env:Compiler -eq "mingw") {
47-
sassc\bin\sassc.exe -v
48-
ruby -v
49-
} else {
50-
if ($env:Config -eq "Debug") {
51-
win\bin\Debug\sassc.exe -v
52-
ruby -v
53-
} else {
54-
win\bin\sassc.exe -v
55-
ruby -v
56-
}
43+
msbuild /m:4 /p:Configuration=$env:Config sassc\win\sassc.sln
5744
}
5845
46+
# print the branding art
47+
mv script/branding script/branding.ps1
48+
script/branding.ps1
49+
50+
# print the version info
51+
&$env:TargetPath -v
52+
ruby -v
53+
5954
test_script:
60-
- ps: |
61-
if ($env:Compiler -eq "mingw") {
62-
ruby sass-spec\sass-spec.rb -c sassc\bin\sassc.exe -s --ignore-todo sass-spec/spec
63-
} else {
64-
if ($env:Config -eq "Debug") {
65-
echo "test runner in debug mode build via msvc will throw debug assertions"
66-
echo ruby sass-spec\sass-spec.rb -c win\bin\Debug\sassc.exe -s --ignore-todo sass-spec/spec
67-
} else {
68-
ruby sass-spec\sass-spec.rb -c win\bin\sassc.exe -s --ignore-todo sass-spec/spec
69-
}
70-
}
55+
- ps: ruby sass-spec/sass-spec.rb -c $env:TargetPath -s --ignore-todo sass-spec/spec

src/c99func.c

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
/*
2+
Copyright (C) 2011 Joseph A. Adams ([email protected])
3+
All rights reserved.
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in
13+
all copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21+
THE SOFTWARE.
22+
*/
23+
24+
#ifdef _MSC_VER
25+
#define _CRT_SECURE_NO_WARNINGS
26+
#define _CRT_NONSTDC_NO_DEPRECATE
27+
#endif
28+
29+
#include <stdio.h>
30+
#include <stdlib.h>
31+
#include <stdarg.h>
32+
33+
#ifdef snprintf
34+
#undef snprintf
35+
#endif
36+
37+
static int c99_vsnprintf(char* str, size_t size, const char* format, va_list ap)
38+
{
39+
int count = -1;
40+
41+
if (size != 0)
42+
count = _vsnprintf_s(str, size, _TRUNCATE, format, ap);
43+
if (count == -1)
44+
count = _vscprintf(format, ap);
45+
46+
return count;
47+
}
48+
49+
int snprintf(char* str, size_t size, const char* format, ...)
50+
{
51+
int count;
52+
va_list ap;
53+
54+
va_start(ap, format);
55+
count = c99_vsnprintf(str, size, format, ap);
56+
va_end(ap);
57+
58+
return count;
59+
}

src/json.cpp

Lines changed: 6 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -34,35 +34,13 @@
3434
#include <stdlib.h>
3535
#include <string.h>
3636

37-
#ifdef _MSC_VER
38-
37+
#if defined(_MSC_VER) && _MSC_VER < 1900
3938
#include <stdarg.h>
40-
#define snprintf c99_snprintf
41-
42-
inline int c99_vsnprintf(char* str, size_t size, const char* format, va_list ap)
43-
{
44-
int count = -1;
45-
46-
if (size != 0)
47-
count = _vsnprintf_s(str, size, _TRUNCATE, format, ap);
48-
if (count == -1)
49-
count = _vscprintf(format, ap);
50-
51-
return count;
52-
}
53-
54-
inline int c99_snprintf(char* str, size_t size, const char* format, ...)
55-
{
56-
int count;
57-
va_list ap;
58-
59-
va_start(ap, format);
60-
count = c99_vsnprintf(str, size, format, ap);
61-
va_end(ap);
62-
63-
return count;
64-
}
65-
#endif // _MSC_VER
39+
#ifdef snprintf
40+
#undef snprintf
41+
#endif
42+
extern "C" int snprintf(char *, size_t, const char *, ...);
43+
#endif
6644

6745
#define out_of_memory() do { \
6846
fprintf(stderr, "Out of memory.\n"); \

0 commit comments

Comments
 (0)