diff options
Diffstat (limited to 'cpp/bindings/qpid/perl')
-rw-r--r-- | cpp/bindings/qpid/perl/CMakeLists.txt | 38 | ||||
-rw-r--r-- | cpp/bindings/qpid/perl/Makefile.am | 22 | ||||
-rw-r--r-- | cpp/bindings/qpid/perl/perl.i | 2 |
3 files changed, 50 insertions, 12 deletions
diff --git a/cpp/bindings/qpid/perl/CMakeLists.txt b/cpp/bindings/qpid/perl/CMakeLists.txt new file mode 100644 index 0000000000..6edaf284b1 --- /dev/null +++ b/cpp/bindings/qpid/perl/CMakeLists.txt @@ -0,0 +1,38 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +##------------------------------------------------------ +## Use Swig to generate a literal binding to the C++ API +##------------------------------------------------------ +set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/perl.i PROPERTIES CPLUSPLUS ON) +set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/perl.i PROPERTIES SWIG_FLAGS "-I${qpid-cpp_SOURCE_DIR}/include") + +swig_add_module(cqpid_perl perl ${CMAKE_CURRENT_SOURCE_DIR}/perl.i) +swig_link_libraries(cqpid_perl qpidmessaging qpidtypes qmf2 ${PERL_LIBRARY}) + +set_source_files_properties(${swig_generated_file_fullname} PROPERTIES COMPILE_FLAGS "-fno-strict-aliasing -I${PERL_INCLUDE_PATH} -I${qpid-cpp_SOURCE_DIR}/include") + +##---------------------------------- +## Install the complete Perl binding +##---------------------------------- +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libcqpid_perl.so + ${CMAKE_CURRENT_BINARY_DIR}/cqpid_perl.pm + DESTINATION ${PERL_VENDORARCH} + COMPONENT ${QPID_COMPONENT_CLIENT} + ) diff --git a/cpp/bindings/qpid/perl/Makefile.am b/cpp/bindings/qpid/perl/Makefile.am index 982d493ba0..da082896e8 100644 --- a/cpp/bindings/qpid/perl/Makefile.am +++ b/cpp/bindings/qpid/perl/Makefile.am @@ -21,22 +21,22 @@ if HAVE_PERL_DEVEL INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)/src -I$(top_builddir)/src -I$(PERL_INC) -EXTRA_DIST = perl.i -BUILT_SOURCES = cqpid.cpp +EXTRA_DIST = CMakeLists.txt perl.i +BUILT_SOURCES = cqpid_perl.cpp SWIG_FLAGS = -w362,401 -cqpid.cpp: $(srcdir)/perl.i $(srcdir)/../qpid.i $(srcdir)/../../swig_perl_typemaps.i - $(SWIG) -perl -c++ $(SWIG_FLAGS) $(INCLUDES) $(QPID_CXXFLAGS) -I/usr/include -o cqpid.cpp $(srcdir)/perl.i +cqpid_perl.cpp: $(srcdir)/perl.i $(srcdir)/../qpid.i $(srcdir)/../../swig_perl_typemaps.i + $(SWIG) -perl -c++ $(SWIG_FLAGS) $(INCLUDES) $(QPID_CXXFLAGS) -I/usr/include -o cqpid_perl.cpp $(srcdir)/perl.i -lib_LTLIBRARIES = cqpid.la -cqpid_PERL = cqpid.pm +lib_LTLIBRARIES = libcqpid_perl.la +cqpid_perl_PERL = cqpid_perl.pm -cqpid_la_LDFLAGS = -avoid-version -module -shared -cqpid_la_LIBADD = -L$(top_builddir)/src/.libs -lqpidmessaging -lqpidtypes \ +libcqpid_perl_la_LDFLAGS = -avoid-version -shared +libcqpid_perl_la_LIBADD = -L$(top_builddir)/src/.libs -lqpidmessaging -lqpidtypes \ $(top_builddir)/src/libqpidmessaging.la $(top_builddir)/src/libqpidtypes.la -cqpid_la_CXXFLAGS = $(INCLUDES) -nodist_cqpid_la_SOURCES = cqpid.cpp +libcqpid_perl_la_CXXFLAGS = $(INCLUDES) -fno-strict-aliasing +nodist_libcqpid_perl_la_SOURCES = cqpid_perl.cpp -CLEANFILES = cqpid.cpp cqpid.pm +CLEANFILES = cqpid_perl.cpp cqpid_perl.pm endif # HAVE_PERL_DEVEL diff --git a/cpp/bindings/qpid/perl/perl.i b/cpp/bindings/qpid/perl/perl.i index b7ae0568b6..38ac91761f 100644 --- a/cpp/bindings/qpid/perl/perl.i +++ b/cpp/bindings/qpid/perl/perl.i @@ -17,7 +17,7 @@ * under the License. */ -%module cqpid +%module cqpid_perl %include "std_string.i" %include "../../swig_perl_typemaps.i" |