mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-24 20:46:41 +08:00
96c35a683e
* start of argon2 port * continue development * attempt to compile with optimization * add feature to enable hardware optimizations * fix symbol visibility * set symbol visibility * add pkg-config * use libs.private for threading * use last release * start of argon2 port * continue development * attempt to compile with optimization * add feature to enable hardware optimizations * fix symbol visibility * set symbol visibility * add pkg-config * use libs.private for threading * use last release * publish the command line tool * Argon2 port * add version info for argon2 * use preferred vcpkg cmake functions * update version * fix compile of x64-windows-static * update version * Update ports/argon2/portfile.cmake Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> * Update ports/argon2/portfile.cmake Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> * install pdbs Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> * add argon2 licence * use target-specific functions for link libraries * use upstream pkgconfig file * export library for cmake * update version hash * don't use deprecated vcpkg_fixup_cmake_targets * fix cmake integration * update version * fix thread.c includes when building on mingw32 * export header path and thread dependency properly * don't export the argon2_tool * fix output clash between library and tool on mingw * use declspec for symbol visibility with mingw * update version * fix missing PDBs for library due to tool/library filename clash * update argon2 version * quote filenames for safety Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> * update arong2 version * note upstream PR for visibility patch * always build with hardware optimizations if supported by compiler * update argon2 version Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
47 lines
1.3 KiB
Diff
47 lines
1.3 KiB
Diff
Fix symbol visibility across build triplets.
|
|
Submitted upstream in https://github.com/P-H-C/phc-winner-argon2/pull/262
|
|
|
|
|
|
diff --git a/include/argon2.h b/include/argon2.h
|
|
index 3980bb3..2738960 100644
|
|
--- a/include/argon2.h
|
|
+++ b/include/argon2.h
|
|
@@ -27,15 +27,29 @@ extern "C" {
|
|
#endif
|
|
|
|
/* Symbols visibility control */
|
|
-#ifdef A2_VISCTL
|
|
-#define ARGON2_PUBLIC __attribute__((visibility("default")))
|
|
-#define ARGON2_LOCAL __attribute__ ((visibility ("hidden")))
|
|
-#elif _MSC_VER
|
|
-#define ARGON2_PUBLIC __declspec(dllexport)
|
|
-#define ARGON2_LOCAL
|
|
+#if defined(_WIN32)
|
|
+ #if defined(A2_VISCTL)
|
|
+ #if defined(_MSC_VER) || defined(__MINGW32__)
|
|
+ #define ARGON2_PUBLIC __declspec(dllexport)
|
|
+ #else
|
|
+ #define ARGON2_PUBLIC __attribute__ ((dllexport))
|
|
+ #endif
|
|
+ #else
|
|
+ #if defined(_MSC_VER) || defined(__MINGW32__)
|
|
+ #define ARGON2_PUBLIC __declspec(dllimport)
|
|
+ #else
|
|
+ #define ARGON2_PUBLIC /*__attribute__ ((dllimport))*/
|
|
+ #endif
|
|
+ #endif
|
|
+ #define ARGON2_LOCAL
|
|
#else
|
|
-#define ARGON2_PUBLIC
|
|
-#define ARGON2_LOCAL
|
|
+ #if defined(A2_VISCTL)
|
|
+ #define ARGON2_PUBLIC __attribute__ ((visibility ("default")))
|
|
+ #define ARGON2_LOCAL __attribute__ ((visibility ("hidden")))
|
|
+ #else
|
|
+ #define ARGON2_PUBLIC
|
|
+ #define ARGON2_LOCAL
|
|
+ #endif
|
|
#endif
|
|
|
|
/*
|