{"action":"created","issue":{"url":"https://api.github.com/repos/mapbox/mason/issues/120","labels_url":"https://api.github.com/repos/mapbox/mason/issues/120/labels{/name}","comments_url":"https://api.github.com/repos/mapbox/mason/issues/120/comments","events_url":"https://api.github.com/repos/mapbox/mason/issues/120/events","html_url":"https://github.com/mapbox/mason/issues/120","id":113653282,"number":120,"title":"Always build with -fvisibility=hidden?","user":{"login":"mikemorris","id":1149913,"avatar_url":"https://avatars.githubusercontent.com/u/1149913?v=3","gravatar_id":"","url":"https://api.github.com/users/mikemorris","html_url":"https://github.com/mikemorris","followers_url":"https://api.github.com/users/mikemorris/followers","following_url":"https://api.github.com/users/mikemorris/following{/other_user}","gists_url":"https://api.github.com/users/mikemorris/gists{/gist_id}","starred_url":"https://api.github.com/users/mikemorris/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikemorris/subscriptions","organizations_url":"https://api.github.com/users/mikemorris/orgs","repos_url":"https://api.github.com/users/mikemorris/repos","events_url":"https://api.github.com/users/mikemorris/events{/privacy}","received_events_url":"https://api.github.com/users/mikemorris/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-10-27T18:39:40Z","updated_at":"2015-10-27T19:52:05Z","closed_at":"2015-10-27T19:52:05Z","body":"Currently, OS X is building with [`-fvisibility-inlines-hidden`](https://github.com/mapbox/mason/blob/b30e09ebc724b17cd000721938b3d26d3264900d/mason.sh#L56). I hit an issue where the [internal use of a mason RapidJSON package in GeoJSONVT](https://github.com/mapbox/geojson-vt-cpp/pull/14) was causing linker warnings when the \"host\" library was directly using mason RapidJSON as well. Given that `-fvisibility=hidden` only matters for shared libraries, and all mason packages should be linked statically by consumers, could we set `-fvisibility=hidden` globally?\r\n\r\nRefs https://github.com/mapbox/mapbox-gl-native/pull/2584\r\n\r\n/cc @jfirebaugh "},"comment":{"url":"https://api.github.com/repos/mapbox/mason/issues/comments/151623717","html_url":"https://github.com/mapbox/mason/issues/120#issuecomment-151623717","issue_url":"https://api.github.com/repos/mapbox/mason/issues/120","id":151623717,"user":{"login":"mikemorris","id":1149913,"avatar_url":"https://avatars.githubusercontent.com/u/1149913?v=3","gravatar_id":"","url":"https://api.github.com/users/mikemorris","html_url":"https://github.com/mikemorris","followers_url":"https://api.github.com/users/mikemorris/followers","following_url":"https://api.github.com/users/mikemorris/following{/other_user}","gists_url":"https://api.github.com/users/mikemorris/gists{/gist_id}","starred_url":"https://api.github.com/users/mikemorris/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikemorris/subscriptions","organizations_url":"https://api.github.com/users/mikemorris/orgs","repos_url":"https://api.github.com/users/mikemorris/repos","events_url":"https://api.github.com/users/mikemorris/events{/privacy}","received_events_url":"https://api.github.com/users/mikemorris/received_events","type":"User","site_admin":false},"created_at":"2015-10-27T19:52:05Z","updated_at":"2015-10-27T19:52:05Z","body":"In light of https://github.com/mapbox/mapbox-gl-native/pull/2584#issuecomment-151611352 and the need to manually expose symbols in https://github.com/mapbox/geojson-vt-cpp/pull/15, we should probably not set this on all packages by default, instead only opting in for packages where we know the public API symbols are explicitly exposed, or where we can make such a change."}}