blob: f5264793ab6ac39c781f6f3192261128b437057c [file] [log] [blame]
#
# 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.
#
SUBDIRS = .
if WITH_TESTS
SUBDIRS += test
endif
pkgconfigdir = $(libdir)/pkgconfig
lib_LTLIBRARIES = libthrift.la
pkgconfig_DATA = thrift.pc
libthrift_la_LDFLAGS = -release $(VERSION) $(BOOST_LDFLAGS)
## We only build the extra libraries if we have the dependencies,
## but we install all of the headers unconditionally.
if AMX_HAVE_LIBEVENT
lib_LTLIBRARIES += libthriftnb.la
pkgconfig_DATA += thrift-nb.pc
endif
if AMX_HAVE_ZLIB
lib_LTLIBRARIES += libthriftz.la
pkgconfig_DATA += thrift-z.pc
endif
AM_CXXFLAGS = -Wall
AM_CPPFLAGS = $(BOOST_CPPFLAGS) -I$(srcdir)/src
AM_LDFLAGS = $(BOOST_LDFLAGS)
# Define the source files for the module
libthrift_la_SOURCES = src/Thrift.cpp \
src/TApplicationException.cpp \
src/VirtualProfiling.cpp \
src/concurrency/ThreadManager.cpp \
src/concurrency/TimerManager.cpp \
src/concurrency/Util.cpp \
src/protocol/TDebugProtocol.cpp \
src/protocol/TDenseProtocol.cpp \
src/protocol/TJSONProtocol.cpp \
src/protocol/TBase64Utils.cpp \
src/transport/TTransportException.cpp \
src/transport/TFDTransport.cpp \
src/transport/TFileTransport.cpp \
src/transport/TSimpleFileTransport.cpp \
src/transport/THttpTransport.cpp \
src/transport/THttpClient.cpp \
src/transport/THttpServer.cpp \
src/transport/TSocket.cpp \
src/transport/TSSLSocket.cpp \
src/transport/TSocketPool.cpp \
src/transport/TServerSocket.cpp \
src/transport/TSSLServerSocket.cpp \
src/transport/TTransportUtils.cpp \
src/transport/TBufferTransports.cpp \
src/server/TServer.cpp \
src/server/TSimpleServer.cpp \
src/server/TThreadPoolServer.cpp \
src/server/TThreadedServer.cpp \
src/async/TAsyncChannel.cpp \
src/processor/PeekProcessor.cpp
if WITH_BOOSTTHREADS
libthrift_la_SOURCES += src/concurrency/BoostThreadFactory.cpp \
src/concurrency/BoostMonitor.cpp \
src/concurrency/BoostMutex.cpp
else
libthrift_la_SOURCES += src/concurrency/Mutex.cpp \
src/concurrency/Monitor.cpp \
src/concurrency/PosixThreadFactory.cpp
endif
libthriftnb_la_SOURCES = src/server/TNonblockingServer.cpp \
src/async/TAsyncProtocolProcessor.cpp \
src/async/TEvhttpServer.cpp \
src/async/TEvhttpClientChannel.cpp
libthriftz_la_SOURCES = src/transport/TZlibTransport.cpp
# Flags for the various libraries
libthriftnb_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBEVENT_CPPFLAGS)
libthriftz_la_CPPFLAGS = $(AM_CPPFLAGS) $(ZLIB_CPPFLAGS)
libthriftnb_la_CXXFLAGS = $(AM_CXXFLAGS)
libthriftz_la_CXXFLAGS = $(AM_CXXFLAGS)
libthriftnb_la_LDFLAGS = -release $(VERSION) $(BOOST_LDFLAGS)
libthriftz_la_LDFLAGS = -release $(VERSION) $(BOOST_LDFLAGS)
include_thriftdir = $(includedir)/thrift
include_thrift_HEADERS = \
$(top_builddir)/config.h \
src/Thrift.h \
src/TReflectionLocal.h \
src/TProcessor.h \
src/TApplicationException.h \
src/TLogging.h
include_concurrencydir = $(include_thriftdir)/concurrency
include_concurrency_HEADERS = \
src/concurrency/BoostThreadFactory.h \
src/concurrency/Exception.h \
src/concurrency/Mutex.h \
src/concurrency/Monitor.h \
src/concurrency/PlatformThreadFactory.h \
src/concurrency/PosixThreadFactory.h \
src/concurrency/Thread.h \
src/concurrency/ThreadManager.h \
src/concurrency/TimerManager.h \
src/concurrency/FunctionRunner.h \
src/concurrency/Util.h
include_protocoldir = $(include_thriftdir)/protocol
include_protocol_HEADERS = \
src/protocol/TBinaryProtocol.h \
src/protocol/TBinaryProtocol.tcc \
src/protocol/TCompactProtocol.h \
src/protocol/TCompactProtocol.tcc \
src/protocol/TDenseProtocol.h \
src/protocol/TDebugProtocol.h \
src/protocol/TBase64Utils.h \
src/protocol/TJSONProtocol.h \
src/protocol/TProtocolTap.h \
src/protocol/TProtocolException.h \
src/protocol/TVirtualProtocol.h \
src/protocol/TProtocol.h
include_transportdir = $(include_thriftdir)/transport
include_transport_HEADERS = \
src/transport/TFDTransport.h \
src/transport/TFileTransport.h \
src/transport/TSimpleFileTransport.h \
src/transport/TServerSocket.h \
src/transport/TSSLServerSocket.h \
src/transport/TServerTransport.h \
src/transport/THttpTransport.h \
src/transport/THttpClient.h \
src/transport/THttpServer.h \
src/transport/TSocket.h \
src/transport/TSSLSocket.h \
src/transport/TSocketPool.h \
src/transport/TVirtualTransport.h \
src/transport/TTransport.h \
src/transport/TTransportException.h \
src/transport/TTransportUtils.h \
src/transport/TBufferTransports.h \
src/transport/TShortReadTransport.h \
src/transport/TZlibTransport.h
include_serverdir = $(include_thriftdir)/server
include_server_HEADERS = \
src/server/TServer.h \
src/server/TSimpleServer.h \
src/server/TThreadPoolServer.h \
src/server/TThreadedServer.h \
src/server/TNonblockingServer.h
include_processordir = $(include_thriftdir)/processor
include_processor_HEADERS = \
src/processor/PeekProcessor.h \
src/processor/StatsProcessor.h
include_asyncdir = $(include_thriftdir)/async
include_async_HEADERS = \
src/async/TAsyncChannel.h \
src/async/TAsyncProcessor.h \
src/async/TAsyncBufferProcessor.h \
src/async/TAsyncProtocolProcessor.h \
src/async/TEvhttpClientChannel.h \
src/async/TEvhttpServer.h
noinst_PROGRAMS = concurrency_test
concurrency_test_SOURCES = \
src/concurrency/test/Tests.cpp \
src/concurrency/test/ThreadFactoryTests.h \
src/concurrency/test/ThreadManagerTests.h \
src/concurrency/test/TimerManagerTests.h
concurrency_test_LDADD = libthrift.la
WINDOWS_DIST = \
README_WINDOWS \
src/windows \
thrift.sln \
libthrift.vcxproj \
libthrift.vcxproj.filters \
libthriftnb.vcxproj \
libthriftnb.vcxproj.filters
EXTRA_DIST = \
README \
README.SSL \
thrift-nb.pc.in \
thrift.pc.in \
thrift-z.pc.in \
$(WINDOWS_DIST)