aboutsummaryrefslogtreecommitdiffstats
path: root/include/pk_core.h
diff options
context:
space:
mode:
authorlloyd <[email protected]>2008-04-21 15:53:32 +0000
committerlloyd <[email protected]>2008-04-21 15:53:32 +0000
commit90224856d6cc454eba6d5eacf4439b2d732acd65 (patch)
tree284a7afe5ede70c79878dad222891fa155f60512 /include/pk_core.h
parent272a8523e3c19e1c297b335a316a335db6c7128d (diff)
Add BOTAN_DLL macro in all needed spots for working DLL export. Based
on a patch from Joel Low for MSVC, modified and tested with GCC using -fvisibility=hidden and the visibility attribute. Getting this working completely requires making the shared object and static lib builds completely distinct (which is also a win since it allows avoiding -fPIC usage, etc in the static lib). Currently too many things are being exported, though it is an improvement as internal-only code like the bigint_* functions are hidden.
Diffstat (limited to 'include/pk_core.h')
-rw-r--r--include/pk_core.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/include/pk_core.h b/include/pk_core.h
index 71beb3e7d..3f4ebda57 100644
--- a/include/pk_core.h
+++ b/include/pk_core.h
@@ -16,7 +16,7 @@ namespace Botan {
/*************************************************
* IF Core *
*************************************************/
-class IF_Core
+class BOTAN_DLL IF_Core
{
public:
BigInt public_op(const BigInt&) const;
@@ -38,7 +38,7 @@ class IF_Core
/*************************************************
* DSA Core *
*************************************************/
-class DSA_Core
+class BOTAN_DLL DSA_Core
{
public:
SecureVector<byte> sign(const byte[], u32bit, const BigInt&) const;
@@ -57,7 +57,7 @@ class DSA_Core
/*************************************************
* NR Core *
*************************************************/
-class NR_Core
+class BOTAN_DLL NR_Core
{
public:
SecureVector<byte> sign(const byte[], u32bit, const BigInt&) const;
@@ -76,7 +76,7 @@ class NR_Core
/*************************************************
* ElGamal Core *
*************************************************/
-class ELG_Core
+class BOTAN_DLL ELG_Core
{
public:
SecureVector<byte> encrypt(const byte[], u32bit, const BigInt&) const;
@@ -97,7 +97,7 @@ class ELG_Core
/*************************************************
* DH Core *
*************************************************/
-class DH_Core
+class BOTAN_DLL DH_Core
{
public:
BigInt agree(const BigInt&) const;