Skip to content

Commit

Permalink
Use -fvisibility=hidden
Browse files Browse the repository at this point in the history
  • Loading branch information
lazka committed Apr 13, 2018
1 parent ffee647 commit 55ea24f
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 7 deletions.
10 changes: 8 additions & 2 deletions cairo/compat.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,17 @@
PyObject_HEAD_INIT(type) size,
#endif

#ifdef __GNUC__
#define PYCAIRO_MODINIT_FUNC __attribute__((visibility("default"))) PyMODINIT_FUNC
#else
#define PYCAIRO_MODINIT_FUNC PyMODINIT_FUNC
#endif

#if PY_MAJOR_VERSION < 3

#define PYCAIRO_MOD_ERROR_VAL
#define PYCAIRO_MOD_SUCCESS_VAL(val)
#define PYCAIRO_MOD_INIT(name) void init##name(void)
#define PYCAIRO_MOD_INIT(name) PYCAIRO_MODINIT_FUNC init##name(void)

#define PYCAIRO_PyUnicode_FromString PyString_FromString
#define PYCAIRO_PyUnicode_Format PyString_Format
Expand All @@ -67,7 +73,7 @@

#define PYCAIRO_MOD_ERROR_VAL NULL
#define PYCAIRO_MOD_SUCCESS_VAL(val) val
#define PYCAIRO_MOD_INIT(name) PyMODINIT_FUNC PyInit_##name(void)
#define PYCAIRO_MOD_INIT(name) PYCAIRO_MODINIT_FUNC PyInit_##name(void)

#define PYCAIRO_PyUnicode_FromString PyUnicode_FromString
#define PYCAIRO_PyUnicode_Format PyUnicode_Format
Expand Down
7 changes: 4 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ def check_argument(compiler, arg):
return supported


def add_ext_warn_flags(ext, compiler):
def add_ext_cflags(ext, compiler):
args = [
"-Wall",
"-Warray-bounds",
Expand Down Expand Up @@ -157,6 +157,7 @@ def add_ext_warn_flags(ext, compiler):

args += [
"-fno-strict-aliasing",
"-fvisibility=hidden",
]

ext.extra_compile_args += filter_compiler_arguments(compiler, args)
Expand Down Expand Up @@ -213,7 +214,7 @@ def run(self):
compiler = new_compiler()
customize_compiler(compiler)

add_ext_warn_flags(ext, compiler)
add_ext_cflags(ext, compiler)

if compiler.compiler_type == "msvc":
ext.libraries += ['cairo']
Expand Down Expand Up @@ -465,7 +466,7 @@ def run(self):

compiler = new_compiler(compiler=self.compiler)
customize_compiler(compiler)
add_ext_warn_flags(ext, compiler)
add_ext_cflags(ext, compiler)

if self.enable_xpyb:
if sys.version_info[0] != 2:
Expand Down
10 changes: 8 additions & 2 deletions tests/cmodule/cmodule.c
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,17 @@ static PyMethodDef CModMethods[] = {
{NULL, NULL, 0, NULL}
};

#ifdef __GNUC__
#define PYCAIRO_MODINIT_FUNC __attribute__((visibility("default"))) PyMODINIT_FUNC
#else
#define PYCAIRO_MODINIT_FUNC PyMODINIT_FUNC
#endif

#if PY_MAJOR_VERSION < 3

Pycairo_CAPI_t *Pycairo_CAPI;

PyMODINIT_FUNC
PYCAIRO_MODINIT_FUNC
initcmod (void)
{
Py_InitModule ("cmod", CModMethods);
Expand All @@ -29,7 +35,7 @@ static struct PyModuleDef cmod_module = {
CModMethods,
};

PyMODINIT_FUNC
PYCAIRO_MODINIT_FUNC
PyInit_cmod (void)
{
PyObject *m;
Expand Down

0 comments on commit 55ea24f

Please sign in to comment.