{"action":"created","issue":{"url":"https://api.github.com/repos/bitcoin/secp256k1/issues/314","labels_url":"https://api.github.com/repos/bitcoin/secp256k1/issues/314/labels{/name}","comments_url":"https://api.github.com/repos/bitcoin/secp256k1/issues/314/comments","events_url":"https://api.github.com/repos/bitcoin/secp256k1/issues/314/events","html_url":"https://github.com/bitcoin/secp256k1/pull/314","id":107605866,"number":314,"title":"Use explicit symbol visibility.","user":{"login":"gmaxwell","id":858454,"avatar_url":"https://avatars.githubusercontent.com/u/858454?v=3","gravatar_id":"","url":"https://api.github.com/users/gmaxwell","html_url":"https://github.com/gmaxwell","followers_url":"https://api.github.com/users/gmaxwell/followers","following_url":"https://api.github.com/users/gmaxwell/following{/other_user}","gists_url":"https://api.github.com/users/gmaxwell/gists{/gist_id}","starred_url":"https://api.github.com/users/gmaxwell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gmaxwell/subscriptions","organizations_url":"https://api.github.com/users/gmaxwell/orgs","repos_url":"https://api.github.com/users/gmaxwell/repos","events_url":"https://api.github.com/users/gmaxwell/events{/privacy}","received_events_url":"https://api.github.com/users/gmaxwell/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":21,"created_at":"2015-09-21T21:48:51Z","updated_at":"2015-09-24T22:51:14Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/bitcoin/secp256k1/pulls/314","html_url":"https://github.com/bitcoin/secp256k1/pull/314","diff_url":"https://github.com/bitcoin/secp256k1/pull/314.diff","patch_url":"https://github.com/bitcoin/secp256k1/pull/314.patch"},"body":"The use of static makes this somewhat redundant currently, though if\r\nwe later have multiple compilation units it will be needed.\r\n\r\nThis also sets the dllexport needed for shared libraries on win32.\r\n"},"comment":{"url":"https://api.github.com/repos/bitcoin/secp256k1/issues/comments/143070081","html_url":"https://github.com/bitcoin/secp256k1/pull/314#issuecomment-143070081","issue_url":"https://api.github.com/repos/bitcoin/secp256k1/issues/314","id":143070081,"user":{"login":"gmaxwell","id":858454,"avatar_url":"https://avatars.githubusercontent.com/u/858454?v=3","gravatar_id":"","url":"https://api.github.com/users/gmaxwell","html_url":"https://github.com/gmaxwell","followers_url":"https://api.github.com/users/gmaxwell/followers","following_url":"https://api.github.com/users/gmaxwell/following{/other_user}","gists_url":"https://api.github.com/users/gmaxwell/gists{/gist_id}","starred_url":"https://api.github.com/users/gmaxwell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gmaxwell/subscriptions","organizations_url":"https://api.github.com/users/gmaxwell/orgs","repos_url":"https://api.github.com/users/gmaxwell/repos","events_url":"https://api.github.com/users/gmaxwell/events{/privacy}","received_events_url":"https://api.github.com/users/gmaxwell/received_events","type":"User","site_admin":false},"created_at":"2015-09-24T22:51:14Z","updated_at":"2015-09-24T22:51:14Z","body":"evoskuil: When building the library the visibility annotations are set on the prototypes.  This is mediated by the singular SECP256K1_BUILD macro which we also need for other reasons.\r\n\r\nThen using the library they are not.   On *nix with libtool the library isn't even built twice for static vs dynamic: both outputs are created from the same intermediate result. \r\n\r\nYou haven't explained why you are treating static specially. It is not special on unix (beyond the visibility policy being a no-op), is it actually special on win32 in some other way?"}}