Rare bug fix
[folly.git] / folly / Makefile.am
index a6a1d593ee7ba939f3008f6cd1cc06b49824f449..3da17a77cc06b6a9390c5fbc62e37c78f67d301c 100644 (file)
@@ -2,85 +2,299 @@ SUBDIRS = . test
 
 ACLOCAL_AMFLAGS = -I m4
 
+CLEANFILES =
+
+noinst_PROGRAMS = generate_fingerprint_tables
+generate_fingerprint_tables_SOURCES = build/GenerateFingerprintTables.cpp
+generate_fingerprint_tables_LDADD = libfollybase.la
+
+noinst_LTLIBRARIES = \
+       libfollybase.la
+
 lib_LTLIBRARIES = \
        libfolly.la \
-       libfollybenchmark.la \
-       libfollytimeout_queue.la
+       libfollybenchmark.la
 
 follyincludedir = $(includedir)/folly
 
 nobase_follyinclude_HEADERS = \
-       FBVector.h \
-       detail/ThreadLocalDetail.h \
-       detail/DiscriminatedPtrDetail.h \
+       ApplyTuple.h \
+       Arena.h \
+       Arena-inl.h \
+       AtomicBitSet.h \
+       AtomicHashArray.h \
+       AtomicHashArray-inl.h \
+       AtomicHashMap.h \
+       AtomicHashMap-inl.h \
+       AtomicStruct.h \
+       Baton.h \
+       Benchmark.h \
+       Bits.h \
+       Checksum.h \
+       Chrono.h \
+       ConcurrentSkipList.h \
+       ConcurrentSkipList-inl.h \
+       Conv.h \
+       CpuId.h \
+       CPortability.h \
        detail/AtomicHashUtils.h \
        detail/BitIteratorDetail.h \
+       detail/BitsDetail.h \
+       detail/CacheLocality.h \
+       detail/ChecksumDetail.h \
+       detail/Clock.h \
+       detail/DiscriminatedPtrDetail.h \
+       detail/ExceptionWrapper.h \
+       detail/FileUtilDetail.h \
+       detail/FingerprintPolynomial.h \
+       detail/FunctionalExcept.h \
+       detail/Futex.h \
        detail/GroupVarintDetail.h \
-       IntrusiveList.h \
-       TimeoutQueue.h \
-       String.h \
-       PackedSyncPtr.h \
-       Conv.h \
-       ThreadLocal.h \
-       ProducerConsumerQueue.h \
-       Histogram-inl.h \
-       ThreadCachedInt.h \
-       ConcurrentSkipList.h \
-       json.h \
-       folly-config.h \
-       FBString.h \
-       Unicode.h \
-       test/function_benchmark/test_functions.h \
-       test/function_benchmark/benchmark_impl.h \
-       test/FBStringTestBenchmarks.cpp.h \
-       test/SynchronizedTestLib.h \
-       test/FBVectorTestBenchmarks.cpp.h \
-       test/SynchronizedTestLib-inl.h \
-       Synchronized.h \
-       Malloc.h \
+       detail/IPAddress.h \
+       detail/Malloc.h \
+       detail/MemoryIdler.h \
+       detail/MPMCPipelineDetail.h \
+       detail/SlowFingerprint.h \
+       detail/Stats.h \
+       detail/ThreadLocalDetail.h \
+       detail/UncaughtExceptionCounter.h \
+       Demangle.h \
+       DiscriminatedPtr.h \
+       DynamicConverter.h \
        dynamic.h \
-       AtomicHashArray.h \
        dynamic-inl.h \
-       Bits.h \
-       sorted_vector_types.h \
-       Hash.h \
-       DiscriminatedPtr.h \
-       ConcurrentSkipList-inl.h \
-       Random.h \
+       Exception.h \
+       ExceptionWrapper.h \
+       EvictingCacheMap.h \
+       experimental/Bits.h \
+       experimental/EliasFanoCoding.h \
+       experimental/EventCount.h \
+       experimental/io/FsUtil.h \
+       experimental/TestUtil.h \
+       experimental/wangle/concurrent/Codel.h \
+       experimental/wangle/ConnectionManager.h \
+       experimental/wangle/ManagedConnection.h \
+       FBString.h \
+       FBVector.h \
+       File.h \
+       FileUtil.h \
+       Fingerprint.h \
+       folly-config.h \
+       Foreach.h \
+       FormatArg.h \
+       Format.h \
+       Format-inl.h \
+       gen/Base.h \
+       gen/Base-inl.h \
+       gen/Combine.h \
+       gen/Combine-inl.h \
+       gen/Core.h \
+       gen/Core-inl.h \
+       gen/File.h \
+       gen/File-inl.h \
+       gen/Parallel.h \
+       gen/Parallel-inl.h \
+       gen/ParallelMap.h \
+       gen/ParallelMap-inl.h \
+       gen/String.h \
+       gen/String-inl.h \
        GroupVarint.h \
-       Range.h \
-       Benchmark.h \
+       Hash.h \
+       IPAddress.h \
+       IPAddressV4.h \
+       IPAddressV6.h \
+       IPAddressException.h \
+       IndexedMemPool.h \
+       IntrusiveList.h \
+       io/Compression.h \
+       io/Cursor.h \
+       io/IOBuf.h \
+       io/IOBufQueue.h \
+       io/RecordIO.h \
+       io/RecordIO-inl.h \
+       io/TypedIOBuf.h \
+       io/async/AsyncTimeout.h \
+       io/async/DelayedDestruction.h \
+       io/async/EventBase.h \
+       io/async/EventFDWrapper.h \
+       io/async/EventHandler.h \
+       io/async/EventUtil.h \
+       io/async/NotificationQueue.h \
+       io/async/HHWheelTimer.h \
+       io/async/Request.h \
+       io/async/TimeoutManager.h \
+       json.h \
+       Lazy.h \
+       LifoSem.h \
        Likely.h \
-       Histogram.h \
-       AtomicHashMap.h \
+       Logging.h \
+       MacAddress.h \
+       Malloc.h \
+       MapUtil.h \
+       Memory.h \
+       MemoryMapping.h \
+       MoveWrapper.h \
+       MPMCPipeline.h \
+       MPMCQueue.h \
+       Optional.h \
+       PackedSyncPtr.h \
+       Padded.h \
        Portability.h \
-       AtomicHashArray-inl.h \
-       eventfd.h \
-       SmallLocks.h \
-       ScopeGuard.h \
-       Traits.h \
+       Preprocessor.h \
+       ProducerConsumerQueue.h \
+       Random.h \
+       Random-inl.h \
+       Range.h \
        RWSpinLock.h \
+       ScopeGuard.h \
+       SmallLocks.h \
        small_vector.h \
-       Foreach.h \
-       AtomicHashMap-inl.h \
-       MapUtil.h
+       SocketAddress.h \
+       sorted_vector_types.h \
+       SpookyHashV1.h \
+       SpookyHashV2.h \
+       stats/BucketedTimeSeries-defs.h \
+       stats/BucketedTimeSeries.h \
+       stats/Histogram-defs.h \
+       stats/Histogram.h \
+       stats/MultiLevelTimeSeries-defs.h \
+       stats/MultiLevelTimeSeries.h \
+       String.h \
+       String-inl.h \
+       Subprocess.h \
+       Synchronized.h \
+       test/FBStringTestBenchmarks.cpp.h \
+       test/FBVectorTestBenchmarks.cpp.h \
+       test/function_benchmark/benchmark_impl.h \
+       test/function_benchmark/test_functions.h \
+       test/SynchronizedTestLib.h \
+       test/SynchronizedTestLib-inl.h \
+       ThreadCachedArena.h \
+       ThreadCachedInt.h \
+       ThreadLocal.h \
+       ThreadName.h \
+       TimeoutQueue.h \
+       Traits.h \
+       Unicode.h \
+       Uri.h \
+       Uri-inl.h \
+       Varint.h \
+       VersionCheck.h \
+       wangle/Executor.h \
+       wangle/Future-inl.h \
+       wangle/Future.h \
+       wangle/GenericThreadGate.h \
+       wangle/InlineExecutor.h \
+       wangle/Later-inl.h \
+       wangle/Later.h \
+       wangle/ManualExecutor.h \
+       wangle/Promise-inl.h \
+       wangle/Promise.h \
+       wangle/ThreadGate.h \
+       wangle/Try-inl.h \
+       wangle/Try.h \
+       wangle/WangleException.h \
+       wangle/detail/State.h
 
 FormatTables.cpp: build/generate_format_tables.py
        build/generate_format_tables.py
+CLEANFILES += FormatTables.cpp
 
-libfolly_la_SOURCES = \
-       Random.cpp \
-       Range.cpp \
-       Unicode.cpp \
+EscapeTables.cpp: build/generate_escape_tables.py
+       build/generate_escape_tables.py
+CLEANFILES += EscapeTables.cpp
+
+GroupVarintTables.cpp: build/generate_varint_tables.py
+       build/generate_varint_tables.py
+CLEANFILES += GroupVarintTables.cpp
+
+libfollybase_la_SOURCES = \
        Conv.cpp \
+       Demangle.cpp \
+       EscapeTables.cpp \
        Format.cpp \
        FormatTables.cpp \
+       Malloc.cpp \
+       Range.cpp \
        String.cpp \
-       json.cpp \
+       Unicode.cpp
+
+libfolly_la_SOURCES = \
+       Bits.cpp \
+       detail/CacheLocality.cpp \
        dynamic.cpp \
-libfolly_la_LIBADD = $(BOOST_THREAD_LIBS) -lpthread
+       File.cpp \
+       FileUtil.cpp \
+       FingerprintTables.cpp \
+       detail/Futex.cpp \
+       GroupVarint.cpp \
+       GroupVarintTables.cpp \
+       IPAddress.cpp \
+       IPAddressV4.cpp \
+       IPAddressV6.cpp \
+       LifoSem.cpp \
+       io/Compression.cpp \
+       io/IOBuf.cpp \
+       io/IOBufQueue.cpp \
+       io/RecordIO.cpp \
+       io/async/AsyncTimeout.cpp \
+       io/async/EventBase.cpp \
+       io/async/EventHandler.cpp \
+       io/async/Request.cpp \
+       io/async/HHWheelTimer.cpp \
+       json.cpp \
+       detail/MemoryIdler.cpp \
+       MacAddress.cpp \
+       MemoryMapping.cpp \
+       Random.cpp \
+       SafeAssert.cpp \
+       SocketAddress.cpp \
+       SpookyHashV1.cpp \
+       SpookyHashV2.cpp \
+       stats/Instantiations.cpp \
+       Subprocess.cpp \
+       ThreadCachedArena.cpp \
+       TimeoutQueue.cpp \
+       Uri.cpp \
+       Version.cpp \
+       wangle/InlineExecutor.cpp \
+       wangle/ManualExecutor.cpp \
+       wangle/ThreadGate.cpp \
+       experimental/io/FsUtil.cpp \
+       experimental/TestUtil.cpp \
+       experimental/wangle/concurrent/Codel.cpp \
+       experimental/wangle/ConnectionManager.cpp \
+       experimental/wangle/ManagedConnection.cpp
 
-libfollybenchmark_la_SOURCES = Benchmark.cpp
-libfollybenchmark_la_LIBADD = -lboost_regex -lpthread -lrt
+if HAVE_LINUX
+nobase_follyinclude_HEADERS += \
+       experimental/io/HugePages.h
+libfolly_la_SOURCES += \
+       experimental/io/HugePages.cpp
+endif
+
+if !HAVE_LINUX
+nobase_follyinclude_HEADERS += detail/Clock.h
+libfollybase_la_SOURCES += detail/Clock.cpp
+endif
 
-libfollytimeout_queue_la_SOURCES = TimeoutQueue.cpp
+if !HAVE_WEAK_SYMBOLS
+libfollybase_la_SOURCES += detail/MallocImpl.cpp
+endif
+
+if !HAVE_BITS_FUNCTEXCEPT
+libfollybase_la_SOURCES += detail/FunctionalExcept.cpp
+endif
+
+libfollybase_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LT_VERSION)
+
+libfolly_la_LIBADD = libfollybase.la
+libfolly_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LT_VERSION)
+
+FingerprintTables.cpp: generate_fingerprint_tables
+       ./generate_fingerprint_tables
+CLEANFILES += FingerprintTables.cpp
+
+libfollybenchmark_la_SOURCES = Benchmark.cpp
+libfollybenchmark_la_LIBADD = libfolly.la
+libfollybenchmark_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LT_VERSION)