You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kg...@apache.org on 2017/03/13 19:36:45 UTC

qpid-proton git commit: PROTON-1345: update setup.py.in with libuv and cmake source list

Repository: qpid-proton
Updated Branches:
  refs/heads/master 7dc10ffd0 -> 837680004


PROTON-1345: update setup.py.in with libuv and cmake source list

This closes #97


Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/83768000
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/83768000
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/83768000

Branch: refs/heads/master
Commit: 8376800044ec5d0b9f70ee71a254054834801109
Parents: 7dc10ff
Author: Ken Giusti <kg...@apache.org>
Authored: Tue Mar 7 16:32:18 2017 -0500
Committer: Ken Giusti <kg...@apache.org>
Committed: Mon Mar 13 15:27:55 2017 -0400

----------------------------------------------------------------------
 proton-c/CMakeLists.txt                 |  2 ++
 proton-c/bindings/python/CMakeLists.txt | 14 ++++++------
 proton-c/bindings/python/setup.py.in    | 34 +++++++++++++++-------------
 3 files changed, 27 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/83768000/proton-c/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/proton-c/CMakeLists.txt b/proton-c/CMakeLists.txt
index 4f3430e..07b4f22 100644
--- a/proton-c/CMakeLists.txt
+++ b/proton-c/CMakeLists.txt
@@ -404,6 +404,7 @@ set (qpid-proton-private-includes
   src/core/dispatcher.h
   src/core/data.h
   src/core/decoder.h
+  src/core/url-internal.h
   src/reactor/io/windows/iocp.h
   src/reactor/selector.h
   src/reactor/io.h
@@ -448,6 +449,7 @@ set (qpid-proton-include
   include/proton/event.h
   include/proton/import_export.h
   include/proton/link.h
+  include/proton/listener.h
   include/proton/log.h
   include/proton/message.h
   include/proton/object.h

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/83768000/proton-c/bindings/python/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/proton-c/bindings/python/CMakeLists.txt b/proton-c/bindings/python/CMakeLists.txt
index b112ec9..c863d6b 100644
--- a/proton-c/bindings/python/CMakeLists.txt
+++ b/proton-c/bindings/python/CMakeLists.txt
@@ -143,13 +143,6 @@ set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "html;tutorial")
 
 set(py_dist_dir ${CMAKE_CURRENT_BINARY_DIR}/dist)
 
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/setup.py.in
-               ${py_dist_dir}/setup.py
-)
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/README.rst.in
-               ${py_dist_dir}/README.rst
-)
-
 file(COPY ${py_dist_files} DESTINATION ${py_dist_dir})
 
 file(MAKE_DIRECTORY ${py_dist_dir}/proton)
@@ -183,3 +176,10 @@ foreach(sfile ${all_src})
                      COMMAND ${CMAKE_COMMAND} -E
                          copy ${CMAKE_SOURCE_DIR}/proton-c/${sfile} ${py_dist_dir}/proton-c/${sfile})
 endforeach()
+
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/setup.py.in
+               ${py_dist_dir}/setup.py
+)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/README.rst.in
+               ${py_dist_dir}/README.rst
+)

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/83768000/proton-c/bindings/python/setup.py.in
----------------------------------------------------------------------
diff --git a/proton-c/bindings/python/setup.py.in b/proton-c/bindings/python/setup.py.in
index 57f4368..a478a5d 100755
--- a/proton-c/bindings/python/setup.py.in
+++ b/proton-c/bindings/python/setup.py.in
@@ -136,21 +136,18 @@ class Configure(build_ext):
 
         log.debug("Using Proton C sources: %s" % proton_base)
 
-        # Collect all the Proton C files that need to be built.
-        # we could've used `glob(.., '*', '*.c')` but I preferred going
-        # with an explicit list of subdirs that we can control and expand
-        # depending on the version. Specifically, lets avoid adding things
-        # we don't need.
-
-        sources = []
-        for subdir in ['core', 'core/object', 'compiler',
-                       'extra', 'message', 'reactor', 'messenger', 'handlers',
-                       'platform', 'reactor/io/posix']:
-
-            sources.extend(glob.glob(os.path.join(proton_src, subdir, '*.c')))
-
-        sources.extend(filter(lambda x: not x.endswith('dump.c'),
-                       glob.iglob(os.path.join(proton_src, '*.c'))))
+        # Collect all the Proton C files packaged in the sdist and strip out
+        # anything windows and configuration-dependent
+        sources = [x for x in "@all_src@".split(';')
+                   if x.endswith(".c") and x.find('windows') == -1]
+        cfgdep = ['openssl.c',
+                  'schannel.c',
+                  'ssl_stub.c',
+                  'cyrus_sasl.c',
+                  'none_sasl.c',
+                  'libuv.c']
+        sources = filter(lambda x: os.path.basename(x) not in cfgdep, sources)
+        sources = [os.path.join(proton_base, x) for x in sources]
 
         # Look for any optional libraries that proton needs, and adjust the
         # source list and compile flags as necessary.
@@ -196,7 +193,12 @@ class Configure(build_ext):
             sources.append(os.path.join(proton_src, 'sasl', 'none_sasl.c'))
             log.warn("Cyrus SASL not installed - only the ANONYMOUS and"
                      " PLAIN mechanisms will be supported!")
-        sources.append(os.path.join(proton_src, 'sasl', 'sasl.c'))
+
+        # Include proactor if libuv is available
+        if cc.has_function('uv_tcp_init', includes=['uv.h'],
+                           libraries=['uv']):
+            libraries.append('uv')
+            sources.append(os.path.join(proton_src, 'proactor', 'libuv.c'))
 
         # compile all the proton sources.  We'll add the resulting list of
         # objects to the _cproton extension as 'extra objects'.  We do this


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org