From 56cd9c4d6aa96eb757b33bae4fb39e4f27cf0145 Mon Sep 17 00:00:00 2001 From: Dane Springmeyer Date: Wed, 14 Dec 2011 11:18:31 -0800 Subject: [PATCH] python bindings: limit uncessary linking on linux and on osx if '-undefined dynamic_lookup' is used (which is now default) --- bindings/python/build.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/bindings/python/build.py b/bindings/python/build.py index f65ff69f1..caea79ce0 100644 --- a/bindings/python/build.py +++ b/bindings/python/build.py @@ -44,10 +44,6 @@ target_path = os.path.normpath(env['PYTHON_INSTALL_LOCATION'] + os.path.sep + 'm target_path_deprecated = os.path.normpath(env['PYTHON_INSTALL_LOCATION'] + os.path.sep + 'mapnik2') libraries = ['mapnik'] -libraries.append('png') - -if env['JPEG']: - libraries.append('jpeg') if env['BOOST_PYTHON_LIB']: libraries.append(env['BOOST_PYTHON_LIB']) @@ -57,11 +53,16 @@ else: else: libraries.append('boost_python%s' % env['BOOST_APPEND']) +# TODO - do solaris/fedora need direct linking too? if env['PLATFORM'] == 'Darwin': - libraries.append(env['ICU_LIB_NAME']) - libraries.append('boost_regex%s' % env['BOOST_APPEND']) - if env['THREADING'] == 'multi': - libraries.append('boost_thread%s' % env['BOOST_APPEND']) + if not env['PYTHON_DYNAMIC_LOOKUP']: + libraries.append('png') + if env['JPEG']: + libraries.append('jpeg') + libraries.append(env['ICU_LIB_NAME']) + libraries.append('boost_regex%s' % env['BOOST_APPEND']) + if env['THREADING'] == 'multi': + libraries.append('boost_thread%s' % env['BOOST_APPEND']) ##### Python linking on OS X is tricky ### # Confounding problems are: @@ -107,6 +108,7 @@ if env['PLATFORM'] == 'Darwin': else: # TODO - do we need to pass -L/? python_link_flag = '-lpython%s' % env['PYTHON_VERSION'] + elif env['PLATFORM'] == 'SunOS': # make sure to explicitly link mapnik.so against # libmapnik in its installed location