aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Nemec <Norbert@Nemec-online.de>2019-05-15 23:18:32 +0200
committerNorbert Nemec <Norbert@Nemec-online.de>2019-05-25 18:41:28 +0200
commit36babc4c9318f10424d45f712e7ecf24a1b9392d (patch)
tree74ce0298de6277d24019ab4ccd0502c44599b78c
parentbdb77a361ca47a25158fe6fb907f0133b82f8f4b (diff)
downloadvcpkg-36babc4c9318f10424d45f712e7ecf24a1b9392d.tar.gz
vcpkg-36babc4c9318f10424d45f712e7ecf24a1b9392d.zip
[glibmm] fix upstream bugs in MSVC-specific glibmmconfig.h
-rw-r--r--ports/glibmm/fix-define-glibmmconfig.patch43
-rw-r--r--ports/glibmm/portfile.cmake4
2 files changed, 46 insertions, 1 deletions
diff --git a/ports/glibmm/fix-define-glibmmconfig.patch b/ports/glibmm/fix-define-glibmmconfig.patch
new file mode 100644
index 000000000..90b97d907
--- /dev/null
+++ b/ports/glibmm/fix-define-glibmmconfig.patch
@@ -0,0 +1,43 @@
+diff --git a/MSVC_Net2013/glibmm/glibmmconfig.h b/MSVC_Net2013/glibmm/glibmmconfig.h
+index 61bb83e..7dbe809 100644
+--- a/MSVC_Net2013/glibmm/glibmmconfig.h
++++ b/MSVC_Net2013/glibmm/glibmmconfig.h
+@@ -7,12 +7,17 @@
+ # if defined(_MSC_VER)
+ # define GLIBMM_MSC 1
+ # define GLIBMM_WIN32 1
+-# define GLIBMM_DLL 1
++# if !defined(GLIBMM_STATIC_LIB)
++# define GLIBMM_DLL 1
++# endif
+ # elif defined(__CYGWIN__)
+ # define GLIBMM_CONFIGURE 1
+ # elif defined(__MINGW32__)
+ # define GLIBMM_WIN32 1
+ # define GLIBMM_CONFIGURE 1
++# if !defined(GLIBMM_STATIC_LIB)
++# define GLIBMM_DLL 1
++# endif
+ # else
+ /* AIX clR compiler complains about this even though it doesn't get this far */
+ # error "Unknown architecture (send me gcc --dumpspecs or equiv)"
+@@ -108,6 +113,7 @@
+ # define GLIBMM_HAVE_WIDE_STREAM 1
+ # define GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS 1
+ # define GLIBMM_HAVE_C_STD_TIME_T_IS_NOT_INT32 1
++# define GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS 1
+ # define GLIBMM_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION 1
+ # define GLIBMM_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS 1
+ # define GLIBMM_CAN_USE_NAMESPACES_INSIDE_EXTERNC 1
+@@ -140,11 +146,6 @@
+ * it to be defined. Remove after grace period. */
+ #define GLIBMM_USING_STD(Symbol)
+
+-/* Enable DLL-specific stuff only when not building a static library */
+-#if !defined(__CYGWIN__) && defined(__MINGW32__) && !defined(GLIBMM_STATIC_LIB)
+-# define GLIBMM_DLL 1
+-#endif
+-
+ #ifdef GLIBMM_DLL
+ # if defined(GLIBMM_BUILD) && defined(_WINDLL)
+ /* Do not dllexport as it is handled by gendef on MSVC */
diff --git a/ports/glibmm/portfile.cmake b/ports/glibmm/portfile.cmake
index 40eee279c..58378907f 100644
--- a/ports/glibmm/portfile.cmake
+++ b/ports/glibmm/portfile.cmake
@@ -17,7 +17,9 @@ vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
- PATCHES ${CMAKE_CURRENT_LIST_DIR}/glibmm-api-variant.patch
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/glibmm-api-variant.patch
+ ${CMAKE_CURRENT_LIST_DIR}/fix-define-glibmmconfig.patch
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})