mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-05 11:39:09 +08:00
57676e8f87
- **[cpprestsdk] fix clang build on new zlib** - **./vcpkg x-add-version --all** Defining `dllimport` is *bad* and breaks clang, and since this is in maintaince mode they aren't going to fix it. This had the ability to blow up projects before, but newer zlib versions use `__has_declspec_attribute`, so that makes it impossible to even _build_ cpprestsdk on systems like these (I'm on Fedora 40). Refs: https://github.com/microsoft/cpprestsdk/issues/1710 https://github.com/llvm/llvm-project/issues/53269 - [x] Changes comply with the [maintainer guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md). - [x] SHA512s are updated for each updated download. - [x] The "supports" clause reflects platforms that may be fixed by this new version. - [x] Any fixed [CI baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt) entries are removed from that file. - [x] Any patches that are no longer applied are deleted from the port's directory. - [x] The version database is fixed by rerunning `./vcpkg x-add-version --all` and committing the result. - [x] Only one version is added to each modified port's versions file.
53 lines
1.6 KiB
Diff
53 lines
1.6 KiB
Diff
diff --git a/Release/include/cpprest/details/cpprest_compat.h b/Release/include/cpprest/details/cpprest_compat.h
|
|
index bf107479..00581371 100644
|
|
--- a/Release/include/cpprest/details/cpprest_compat.h
|
|
+++ b/Release/include/cpprest/details/cpprest_compat.h
|
|
@@ -29,7 +29,6 @@
|
|
#else // ^^^ _WIN32 ^^^ // vvv !_WIN32 vvv
|
|
|
|
#define __declspec(x) __attribute__((x))
|
|
-#define dllimport
|
|
#define novtable /* no novtable equivalent */
|
|
#define __assume(x) \
|
|
do \
|
|
@@ -74,9 +73,17 @@
|
|
#define _ASYNCRTIMP_TYPEINFO
|
|
#else // ^^^ _NO_ASYNCRTIMP ^^^ // vvv !_NO_ASYNCRTIMP vvv
|
|
#ifdef _ASYNCRT_EXPORT
|
|
+#ifdef _WIN32
|
|
#define _ASYNCRTIMP __declspec(dllexport)
|
|
+#else
|
|
+#define _ASYNCRTIMP __attribute__((visibility("default")))
|
|
+#endif
|
|
#else // ^^^ _ASYNCRT_EXPORT ^^^ // vvv !_ASYNCRT_EXPORT vvv
|
|
+#ifdef _WIN32
|
|
#define _ASYNCRTIMP __declspec(dllimport)
|
|
+#else
|
|
+#define _ASYNCRTIMP
|
|
+#endif
|
|
#endif // _ASYNCRT_EXPORT
|
|
|
|
#if defined(_WIN32)
|
|
diff --git a/Release/include/pplx/pplx.h b/Release/include/pplx/pplx.h
|
|
index d9ba9c61..8d36252c 100644
|
|
--- a/Release/include/pplx/pplx.h
|
|
+++ b/Release/include/pplx/pplx.h
|
|
@@ -30,9 +30,17 @@
|
|
#define _PPLXIMP
|
|
#else
|
|
#ifdef _PPLX_EXPORT
|
|
+#ifdef _WIN32
|
|
#define _PPLXIMP __declspec(dllexport)
|
|
#else
|
|
+#define _PPLXIMP __attribute__((visibility("default")))
|
|
+#endif
|
|
+#else
|
|
+#ifdef _WIN32
|
|
#define _PPLXIMP __declspec(dllimport)
|
|
+#else
|
|
+#define _PPLXIMP
|
|
+#endif
|
|
#endif
|
|
#endif
|
|
|