mirror of
https://github.com/microsoft/vcpkg.git
synced 2025-01-18 10:03:02 +08:00
[antlr4] Fix building with Visual Studio 2017. Resolves #804
This commit is contained in:
parent
162a46bac9
commit
5f35979272
@ -1,3 +1,3 @@
|
||||
Source: antlr4
|
||||
Version: 4.6
|
||||
Version: 4.6-1
|
||||
Description: ANother Tool for Language Recognition
|
52
ports/antlr4/Fix-building-in-Visual-Studio-2017.patch
Normal file
52
ports/antlr4/Fix-building-in-Visual-Studio-2017.patch
Normal file
@ -0,0 +1,52 @@
|
||||
diff --git a/runtime/src/ANTLRInputStream.h b/runtime/src/ANTLRInputStream.h
|
||||
index 3d85bed..813451c 100644
|
||||
--- a/runtime/src/ANTLRInputStream.h
|
||||
+++ b/runtime/src/ANTLRInputStream.h
|
||||
@@ -16,7 +16,7 @@ namespace antlr4 {
|
||||
protected:
|
||||
/// The data being scanned.
|
||||
// UTF-32
|
||||
-#if defined(_MSC_VER) && _MSC_VER == 1900
|
||||
+#if defined(_MSC_VER) && _MSC_VER >= 1900
|
||||
i32string _data; // Custom type for VS 2015.
|
||||
#else
|
||||
std::u32string _data;
|
||||
diff --git a/runtime/src/UnbufferedCharStream.h b/runtime/src/UnbufferedCharStream.h
|
||||
index b489f18..295804c 100644
|
||||
--- a/runtime/src/UnbufferedCharStream.h
|
||||
+++ b/runtime/src/UnbufferedCharStream.h
|
||||
@@ -52,7 +52,7 @@ namespace antlr4 {
|
||||
/// we keep adding to buffer. Otherwise, <seealso cref="#consume consume()"/> resets so
|
||||
/// we start filling at index 0 again.
|
||||
// UTF-32 encoded.
|
||||
-#if defined(_MSC_VER) && _MSC_VER == 1900
|
||||
+#if defined(_MSC_VER) && _MSC_VER >= 1900
|
||||
i32string _data; // Custom type for VS 2015.
|
||||
#else
|
||||
std::u32string _data;
|
||||
diff --git a/runtime/src/antlr4-common.h b/runtime/src/antlr4-common.h
|
||||
index 197fd6d..8357b3e 100644
|
||||
--- a/runtime/src/antlr4-common.h
|
||||
+++ b/runtime/src/antlr4-common.h
|
||||
@@ -52,7 +52,7 @@
|
||||
typedef __int32 ssize_t;
|
||||
#endif
|
||||
|
||||
- #if _MSC_VER == 1900
|
||||
+ #if _MSC_VER >= 1900
|
||||
// VS 2015 has a known bug when using std::codecvt_utf8<char32_t>
|
||||
// so we have to temporarily use __int32 instead.
|
||||
// https://connect.microsoft.com/VisualStudio/feedback/details/1403302/unresolved-external-when-using-codecvt-utf8
|
||||
diff --git a/runtime/src/support/StringUtils.h b/runtime/src/support/StringUtils.h
|
||||
index cb751a7..be14bbb 100644
|
||||
--- a/runtime/src/support/StringUtils.h
|
||||
+++ b/runtime/src/support/StringUtils.h
|
||||
@@ -10,7 +10,7 @@
|
||||
namespace antlrcpp {
|
||||
// For all conversions utf8 <-> utf32.
|
||||
// VS 2015 has a bug in std::codecvt_utf8<char32_t> (VS 2013 works fine).
|
||||
-#if defined(_MSC_VER) && _MSC_VER == 1900
|
||||
+#if defined(_MSC_VER) && _MSC_VER >= 1900
|
||||
static std::wstring_convert<std::codecvt_utf8<__int32>, __int32> utfConverter;
|
||||
#else
|
||||
static std::wstring_convert<std::codecvt_utf8<char32_t>, char32_t> utfConverter;
|
@ -1,15 +1,17 @@
|
||||
include(vcpkg_common_functions)
|
||||
|
||||
set(VERSION 4.6)
|
||||
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/runtime)
|
||||
|
||||
vcpkg_download_distfile(ARCHIVE
|
||||
URLS "http://www.antlr.org/download/antlr4-cpp-runtime-4.6-source.zip"
|
||||
FILENAME "antlr4-cpp-runtime-4.6-source.zip"
|
||||
FILENAME "antlr4-cpp-runtime-${VERSION}-source.zip"
|
||||
SHA512 e123c2227e41ce80da5a3758725a018690ed70a4e10c23da26c966259e6bdafa192f4363f5a7e1181ef9a47bf3cc50d6b0ca7b26c8dd2b19222a7edf54de8de2
|
||||
)
|
||||
|
||||
# license not exist in antlr folder.
|
||||
vcpkg_download_distfile(LICENSE
|
||||
URLS https://raw.githubusercontent.com/antlr/antlr4/4.6/LICENSE.txt
|
||||
URLS https://raw.githubusercontent.com/antlr/antlr4/${VERSION}/LICENSE.txt
|
||||
FILENAME "antlr4-copyright"
|
||||
SHA512 c72ae3d5c9f3f07160405b5ca44f01116a9602d82291d6cd218fcc5ec6e8baf985e4baa2acf3d621079585385708bd171c96ef44dd808e60c40a48bc1f56c9ae
|
||||
)
|
||||
@ -19,6 +21,7 @@ vcpkg_extract_source_archive(${ARCHIVE})
|
||||
vcpkg_apply_patches(
|
||||
SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src
|
||||
PATCHES ${CMAKE_CURRENT_LIST_DIR}/crt_mt.patch
|
||||
${CMAKE_CURRENT_LIST_DIR}/Fix-building-in-Visual-Studio-2017.patch
|
||||
)
|
||||
|
||||
if (${VCPKG_LIBRARY_LINKAGE} STREQUAL static)
|
||||
|
Loading…
Reference in New Issue
Block a user