Remove the folly/Assume.h shim
[folly.git] / folly / Makefile.am
index 558a48596139771dd507c0a27180180364415849..6df61c3c6a3c2ed362394de1b8182b1123f7f7e3 100644 (file)
@@ -2,7 +2,10 @@ if FOLLY_TESTMAIN
 MAYBE_INIT = init
 endif
 
-SUBDIRS = . experimental $(MAYBE_INIT) test io/test stats/test
+# Note that the order of SUBDIRS matters.
+# Many subdirectories depend on libfollytest from the test directory,
+# so it must appear before other directories
+SUBDIRS = . test experimental $(MAYBE_INIT) chrono/test io/test stats/test
 
 ACLOCAL_AMFLAGS = -I m4
 
@@ -24,11 +27,6 @@ lib_LTLIBRARIES = \
 follyincludedir = $(includedir)/folly
 
 nobase_follyinclude_HEADERS = \
-       ApplyTuple.h \
-       Arena.h \
-       Arena-inl.h \
-       Array.h \
-       Assume.h \
        AtomicBitSet.h \
        AtomicHashArray.h \
        AtomicHashArray-inl.h \
@@ -38,29 +36,39 @@ nobase_follyinclude_HEADERS = \
        AtomicLinkedList.h \
        AtomicStruct.h \
        AtomicUnorderedMap.h \
-       Baton.h \
        Benchmark.h \
        Bits.h \
        CachelinePadded.h \
-       CallOnce.h \
-       Checksum.h \
        Chrono.h \
+       chrono/Conv.h \
        ClockGettimeWrappers.h \
        ConcurrentSkipList.h \
        ConcurrentSkipList-inl.h \
-       ContainerTraits.h \
        Conv.h \
        CppAttributes.h \
        CpuId.h \
        CPortability.h \
+       compression/Compression.h \
+       compression/Utils.h \
+       compression/Zlib.h \
+       concurrency/CacheLocality.h \
+       concurrency/ConcurrentHashMap.h \
        concurrency/CoreCachedSharedPtr.h \
+       concurrency/detail/ConcurrentHashMap-detail.h \
+       concurrency/UnboundedQueue.h \
+       container/Access.h \
+       container/Array.h \
+       container/Iterator.h \
+       container/Enumerate.h \
+       container/EvictingCacheMap.h \
+       container/Foreach.h \
+       container/Foreach-inl.h \
+       container/SparseByteSet.h \
+       ConstexprMath.h \
+       detail/AtFork.h \
        detail/AtomicHashUtils.h \
        detail/AtomicUnorderedMapUtils.h \
-       detail/AtomicUtils.h \
        detail/BitIteratorDetail.h \
-       detail/CacheLocality.h \
-       detail/CachelinePaddedImpl.h \
-       detail/ChecksumDetail.h \
        detail/DiscriminatedPtrDetail.h \
        detail/FileUtilDetail.h \
        detail/FingerprintPolynomial.h \
@@ -68,9 +76,9 @@ nobase_follyinclude_HEADERS = \
        detail/GroupVarintDetail.h \
        detail/IPAddress.h \
        detail/IPAddressSource.h \
-       detail/MallocImpl.h \
        detail/MemoryIdler.h \
        detail/MPMCPipelineDetail.h \
+       detail/PolyDetail.h \
        detail/RangeCommon.h \
        detail/RangeSse42.h \
        detail/Sleeper.h \
@@ -78,25 +86,47 @@ nobase_follyinclude_HEADERS = \
        detail/SocketFastOpen.h \
        detail/StaticSingletonManager.h \
        detail/ThreadLocalDetail.h \
-       detail/TryDetail.h \
+       detail/TypeList.h \
        detail/TurnSequencer.h \
        detail/UncaughtExceptionCounter.h \
+       executors/Async.h \
+       executors/CPUThreadPoolExecutor.h \
+       executors/Codel.h \
+       executors/DrivableExecutor.h \
+       executors/FiberIOExecutor.h \
+       executors/FutureExecutor.h \
+       executors/GlobalExecutor.h \
+       executors/GlobalThreadPoolList.h \
+       executors/InlineExecutor.h \
+       executors/IOExecutor.h \
+       executors/IOObjectCache.h \
+       executors/IOThreadPoolExecutor.h \
+       executors/NotificationQueueExecutor.h \
+       executors/ScheduledExecutor.h \
+       executors/SerialExecutor.h \
+       executors/ThreadPoolExecutor.h \
+       executors/ThreadedExecutor.h \
+       executors/task_queue/BlockingQueue.h \
+       executors/task_queue/LifoSemMPMCQueue.h \
+       executors/task_queue/PriorityLifoSemMPMCQueue.h \
+       executors/task_queue/UnboundedBlockingQueue.h \
+       executors/thread_factory/NamedThreadFactory.h \
+       executors/thread_factory/PriorityThreadFactory.h \
+       executors/thread_factory/ThreadFactory.h \
+       functional/ApplyTuple.h \
        Demangle.h \
        DiscriminatedPtr.h \
        DynamicConverter.h \
        dynamic.h \
        dynamic-inl.h \
-       Enumerate.h \
-       EvictingCacheMap.h \
        Exception.h \
        ExceptionString.h \
        ExceptionWrapper.h \
        ExceptionWrapper-inl.h \
        Executor.h \
        Expected.h \
-       experimental/AsymmetricMemoryBarrier.h \
-       experimental/AtomicSharedPtr.h \
-       experimental/detail/AtomicSharedPtr-detail.h \
+       concurrency/AtomicSharedPtr.h \
+       concurrency/detail/AtomicSharedPtr-detail.h \
        experimental/AutoTimer.h \
        experimental/ThreadedRepeatingFunctionRunner.h \
        experimental/Bits.h \
@@ -117,27 +147,41 @@ nobase_follyinclude_HEADERS = \
        experimental/exception_tracer/StackTrace.h \
        experimental/FunctionScheduler.h \
        experimental/FutureDAG.h \
+       experimental/hazptr/debug.h \
+       experimental/hazptr/hazptr.h \
+       experimental/hazptr/hazptr-impl.h \
+       experimental/hazptr/memory_resource.h \
        experimental/io/FsUtil.h \
        experimental/JemallocNodumpAllocator.h \
        experimental/JSONSchema.h \
        experimental/LockFreeRingBuffer.h \
        experimental/logging/AsyncFileWriter.h \
+       experimental/logging/FileHandlerFactory.h \
+       experimental/logging/FileWriterFactory.h \
        experimental/logging/GlogStyleFormatter.h \
        experimental/logging/ImmediateFileWriter.h \
        experimental/logging/Init.h \
        experimental/logging/LogCategory.h \
+       experimental/logging/LogCategoryConfig.h \
+       experimental/logging/LogConfig.h \
+       experimental/logging/LogConfigParser.h \
        experimental/logging/LogFormatter.h \
        experimental/logging/Logger.h \
        experimental/logging/LoggerDB.h \
        experimental/logging/LogHandler.h \
+       experimental/logging/LogHandlerFactory.h \
+       experimental/logging/LogHandlerConfig.h \
        experimental/logging/LogLevel.h \
        experimental/logging/LogMessage.h \
        experimental/logging/LogName.h \
        experimental/logging/LogStream.h \
        experimental/logging/LogStreamProcessor.h \
        experimental/logging/LogWriter.h \
+       experimental/logging/printf.h \
        experimental/logging/RateLimiter.h \
        experimental/logging/StandardLogHandler.h \
+       experimental/logging/StandardLogHandlerFactory.h \
+       experimental/logging/StreamHandlerFactory.h \
        experimental/logging/xlog.h \
        experimental/NestedCommandLineApp.h \
        experimental/observer/detail/Core.h \
@@ -152,14 +196,6 @@ nobase_follyinclude_HEADERS = \
        experimental/observer/SimpleObservable-inl.h \
        experimental/ProgramOptions.h \
        experimental/ReadMostlySharedPtr.h \
-       experimental/symbolizer/Elf.h \
-       experimental/symbolizer/Elf-inl.h \
-       experimental/symbolizer/ElfCache.h \
-       experimental/symbolizer/Dwarf.h \
-       experimental/symbolizer/LineReader.h \
-       experimental/symbolizer/SignalHandler.h \
-       experimental/symbolizer/StackTrace.h \
-       experimental/symbolizer/Symbolizer.h \
        experimental/Select64.h \
        experimental/StampedPtr.h \
        experimental/StringKeyedCommon.h \
@@ -177,26 +213,21 @@ nobase_follyinclude_HEADERS = \
        Fingerprint.h \
        FixedString.h \
        folly-config.h \
-       Foreach.h \
        FormatArg.h \
        FormatTraits.h \
        Format.h \
        Format-inl.h \
+       functional/Invoke.h \
+       functional/Partial.h \
        futures/Barrier.h \
-       futures/DrivableExecutor.h \
        futures/Future-pre.h \
        futures/helpers.h \
        futures/Future.h \
        futures/Future-inl.h \
        futures/FutureException.h \
        futures/FutureSplitter.h \
-       futures/InlineExecutor.h \
-       futures/ManualExecutor.h \
-       futures/OpaqueCallbackShunt.h \
        futures/Promise-inl.h \
        futures/Promise.h \
-       futures/QueuedImmediateExecutor.h \
-       futures/ScheduledExecutor.h \
        futures/SharedPromise.h \
        futures/SharedPromise-inl.h \
        futures/ThreadWheelTimekeeper.h \
@@ -205,6 +236,11 @@ nobase_follyinclude_HEADERS = \
        futures/detail/FSM.h \
        futures/detail/Types.h \
        futures/test/TestExecutor.h \
+       hash/Checksum.h \
+       hash/detail/ChecksumDetail.h \
+       hash/Hash.h \
+       hash/SpookyHashV1.h \
+       hash/SpookyHashV2.h \
        gen/Base.h \
        gen/Base-inl.h \
        gen/Combine.h \
@@ -229,7 +265,6 @@ nobase_follyinclude_HEADERS = \
        IndexedMemPool.h \
        init/Init.h \
        IntrusiveList.h \
-       io/Compression.h \
        io/Cursor.h \
        io/Cursor-inl.h \
        io/IOBuf.h \
@@ -267,6 +302,7 @@ nobase_follyinclude_HEADERS = \
        io/async/ssl/TLSDefinitions.h \
        io/async/Request.h \
        io/async/SSLContext.h \
+       io/async/SSLOptions.h \
        io/async/ScopedEventBaseThread.h \
        io/async/TimeoutManager.h \
        io/async/VirtualEventBase.h \
@@ -286,22 +322,30 @@ nobase_follyinclude_HEADERS = \
        io/async/test/TimeUtil.h \
        io/async/test/UndelayedDestruction.h \
        io/async/test/Util.h \
-       Iterator.h \
        json.h \
+       lang/Align.h \
+       lang/Assume.h \
+       lang/Bits.h \
+       lang/ColdClass.h \
+       lang/Launder.h \
+       lang/RValueReferenceWrapper.h \
+       lang/SafeAssert.h \
        Lazy.h \
-       LifoSem.h \
        Likely.h \
        LockTraits.h \
        LockTraitsBoost.h \
        Logging.h \
        MacAddress.h \
-       MallctlHelper.h \
-       Malloc.h \
        MapUtil.h \
        Math.h \
        Memory.h \
-       MemoryMapping.h \
+       memory/Arena.h \
+       memory/Arena-inl.h \
+       memory/MallctlHelper.h \
+       memory/Malloc.h \
+       memory/ThreadCachedArena.h \
        memory/UninitializedMemoryHacks.h \
+       memory/detail/MallocImpl.h \
        MicroSpinLock.h \
        MicroLock.h \
        MoveWrapper.h \
@@ -311,8 +355,11 @@ nobase_follyinclude_HEADERS = \
        Overload.h \
        PackedSyncPtr.h \
        Padded.h \
-       Partial.h \
        PicoSpinLock.h \
+       Poly.h \
+       Poly-inl.h \
+       poly/Nullable.h \
+       poly/Regular.h \
        Portability.h \
        portability/Asm.h \
        portability/Atomic.h \
@@ -333,6 +380,7 @@ nobase_follyinclude_HEADERS = \
        portability/Memory.h \
        portability/OpenSSL.h \
        portability/PThread.h \
+       portability/Semaphore.h \
        portability/Sockets.h \
        portability/Stdio.h \
        portability/Stdlib.h \
@@ -357,11 +405,10 @@ nobase_follyinclude_HEADERS = \
        Random.h \
        Random-inl.h \
        Range.h \
+       Replaceable.h \
        RWSpinLock.h \
-       SafeAssert.h \
        ScopeGuard.h \
        SharedMutex.h \
-       Shell.h \
        Singleton.h \
        Singleton-inl.h \
        SingletonThreadLocal.h \
@@ -369,15 +416,15 @@ nobase_follyinclude_HEADERS = \
        small_vector.h \
        SocketAddress.h \
        sorted_vector_types.h \
-       SparseByteSet.h \
        SpinLock.h \
-       SpookyHashV1.h \
-       SpookyHashV2.h \
+       ssl/Init.h \
        ssl/OpenSSLCertUtils.h \
        ssl/OpenSSLHash.h \
        ssl/OpenSSLPtrTypes.h \
        ssl/OpenSSLVersionFinder.h \
        ssl/SSLSession.h \
+       ssl/OpenSSLLockTypes.h \
+       ssl/detail/OpenSSLThreading.h \
        ssl/detail/SSLSessionImpl.h \
        stats/detail/Bucket.h \
        stats/BucketedTimeSeries-defs.h \
@@ -388,11 +435,22 @@ nobase_follyinclude_HEADERS = \
        stats/MultiLevelTimeSeries.h \
        stats/TimeseriesHistogram-defs.h \
        stats/TimeseriesHistogram.h \
+       synchronization/AsymmetricMemoryBarrier.h \
+       synchronization/Baton.h \
+       synchronization/CallOnce.h \
+       synchronization/LifoSem.h \
+       synchronization/detail/AtomicUtils.h \
+       system/MemoryMapping.h \
+       system/Shell.h \
+       system/ThreadId.h \
+       system/ThreadName.h \
+       system/VersionCheck.h \
        stop_watch.h \
        String.h \
        String-inl.h \
        Subprocess.h \
        Synchronized.h \
+       SynchronizedPtr.h \
        test/FBStringTestBenchmarks.cpp.h \
        test/FBVectorTestBenchmarks.cpp.h \
        test/function_benchmark/benchmark_impl.h \
@@ -400,27 +458,23 @@ nobase_follyinclude_HEADERS = \
        test/SynchronizedTestLib.h \
        test/SynchronizedTestLib-inl.h \
        test/TestUtils.h \
-       ThreadCachedArena.h \
        ThreadCachedInt.h \
-       ThreadId.h \
        ThreadLocal.h \
-       ThreadName.h \
        TimeoutQueue.h \
        TokenBucket.h \
        tracing/StaticTracepoint.h \
+       tracing/ScopedTraceSection.h \
        Traits.h \
        Try-inl.h \
        Try.h \
        Unicode.h \
        Function.h \
-       Functional.h \
        UncaughtExceptions.h \
        Unit.h \
        Uri.h \
        Uri-inl.h \
        Utility.h \
-       Varint.h \
-       VersionCheck.h
+       Varint.h
 
 FormatTables.cpp: build/generate_format_tables.py
        $(PYTHON) build/generate_format_tables.py
@@ -435,8 +489,9 @@ GroupVarintTables.cpp: build/generate_varint_tables.py
 CLEANFILES += GroupVarintTables.cpp
 
 libfollybasesse42_la_SOURCES = \
-       detail/ChecksumDetail.cpp \
-       detail/RangeSse42.cpp
+       detail/RangeSse42.cpp \
+       hash/detail/ChecksumDetail.cpp \
+       hash/detail/Crc32cDetail.cpp
 
 libfollybase_la_SOURCES = \
        Conv.cpp \
@@ -444,42 +499,57 @@ libfollybase_la_SOURCES = \
        detail/RangeCommon.cpp \
        EscapeTables.cpp \
        Format.cpp \
+       FormatArg.cpp \
        FormatTables.cpp \
-       MallctlHelper.cpp \
+       memory/MallctlHelper.cpp \
        portability/BitsFunctexcept.cpp \
-       StringBase.cpp \
        String.cpp \
        Unicode.cpp
 
 libfolly_la_SOURCES = \
-       Assume.cpp \
-       Checksum.cpp \
        ClockGettimeWrappers.cpp \
-       detail/CacheLocality.cpp \
+       compression/Compression.cpp \
+       compression/Zlib.cpp \
+       concurrency/CacheLocality.cpp \
+       detail/AtFork.cpp \
+       detail/Futex.cpp \
        detail/IPAddress.cpp \
+       detail/StaticSingletonManager.cpp \
+       detail/ThreadLocalDetail.cpp \
        dynamic.cpp \
        ExceptionWrapper.cpp \
        Executor.cpp \
+       Expected.cpp \
        File.cpp \
        FileUtil.cpp \
        FingerprintTables.cpp \
        futures/Barrier.cpp \
        futures/Future.cpp \
-       futures/ManualExecutor.cpp \
-       futures/QueuedImmediateExecutor.cpp \
+       futures/FutureException.cpp \
        futures/ThreadWheelTimekeeper.cpp \
        futures/test/TestExecutor.cpp \
-       detail/Futex.cpp \
-       detail/StaticSingletonManager.cpp \
-       detail/ThreadLocalDetail.cpp \
+       executors/CPUThreadPoolExecutor.cpp \
+       executors/Codel.cpp \
+       executors/GlobalExecutor.cpp \
+       executors/GlobalThreadPoolList.cpp \
+       executors/IOThreadPoolExecutor.cpp \
+       executors/InlineExecutor.cpp \
+       executors/ManualExecutor.cpp \
+       executors/SerialExecutor.cpp \
+       executors/ThreadPoolExecutor.cpp \
+       executors/ThreadedExecutor.cpp \
+       executors/QueuedImmediateExecutor.cpp \
+       experimental/hazptr/hazptr.cpp \
+       experimental/hazptr/memory_resource.cpp \
        GroupVarint.cpp \
        GroupVarintTables.cpp \
+       hash/Checksum.cpp \
+       hash/SpookyHashV1.cpp \
+       hash/SpookyHashV2.cpp \
        IPAddress.cpp \
        IPAddressV4.cpp \
        IPAddressV6.cpp \
-       LifoSem.cpp \
        init/Init.cpp \
-       io/Compression.cpp \
        io/Cursor.cpp \
        io/IOBuf.cpp \
        io/IOBufQueue.cpp \
@@ -491,6 +561,7 @@ libfolly_la_SOURCES = \
        io/async/AsyncServerSocket.cpp \
        io/async/AsyncSignalHandler.cpp \
        io/async/AsyncSocket.cpp \
+       io/async/AsyncSocketException.cpp \
        io/async/AsyncSSLSocket.cpp \
        io/async/EventBase.cpp \
        io/async/EventBaseLocal.cpp \
@@ -499,6 +570,7 @@ libfolly_la_SOURCES = \
        io/async/EventHandler.cpp \
        io/async/Request.cpp \
        io/async/SSLContext.cpp \
+       io/async/SSLOptions.cpp \
        io/async/ScopedEventBaseThread.cpp \
        io/async/VirtualEventBase.cpp \
        io/async/HHWheelTimer.cpp \
@@ -509,10 +581,13 @@ libfolly_la_SOURCES = \
        io/async/ssl/OpenSSLUtils.cpp \
        io/async/ssl/SSLErrors.cpp \
        json.cpp \
+       lang/Assume.cpp \
+       lang/ColdClass.cpp \
+       lang/SafeAssert.cpp \
        detail/MemoryIdler.cpp \
        detail/SocketFastOpen.cpp \
        MacAddress.cpp \
-       MemoryMapping.cpp \
+       memory/ThreadCachedArena.cpp \
        portability/Dirent.cpp \
        portability/Fcntl.cpp \
        portability/Libgen.cpp \
@@ -534,30 +609,31 @@ libfolly_la_SOURCES = \
        portability/Time.cpp \
        portability/Unistd.cpp \
        Random.cpp \
-       SafeAssert.cpp \
        ScopeGuard.cpp \
        SharedMutex.cpp \
-       Shell.cpp \
        MicroLock.cpp \
        Optional.cpp \
        Singleton.cpp \
        SocketAddress.cpp \
-       SpookyHashV1.cpp \
-       SpookyHashV2.cpp \
+       ssl/Init.cpp \
        ssl/OpenSSLCertUtils.cpp \
        ssl/OpenSSLHash.cpp \
+       ssl/detail/OpenSSLThreading.cpp \
        ssl/detail/SSLSessionImpl.cpp \
        stats/BucketedTimeSeries.cpp \
        stats/Histogram.cpp \
        stats/MultiLevelTimeSeries.cpp \
        stats/TimeseriesHistogram.cpp \
+       synchronization/AsymmetricMemoryBarrier.cpp \
+       synchronization/LifoSem.cpp \
+       system/MemoryMapping.cpp \
+       system/Shell.cpp \
+       system/ThreadName.cpp \
+       system/VersionCheck.cpp \
        Subprocess.cpp \
-       ThreadCachedArena.cpp \
-       ThreadName.cpp \
        TimeoutQueue.cpp \
+       Try.cpp \
        Uri.cpp \
-       Version.cpp \
-       experimental/AsymmetricMemoryBarrier.cpp \
        experimental/ThreadedRepeatingFunctionRunner.cpp \
        experimental/bser/Dump.cpp \
        experimental/bser/Load.cpp \
@@ -582,7 +658,7 @@ libfolly_la_SOURCES += \
 endif
 
 if !HAVE_WEAK_SYMBOLS
-libfollybase_la_SOURCES += detail/MallocImpl.cpp
+libfollybase_la_SOURCES += memory/detail/MallocImpl.cpp
 endif
 
 if HAVE_BOOST_CONTEXT
@@ -632,6 +708,32 @@ libfolly_la_SOURCES += \
        fibers/TimeoutController.cpp
 endif
 
+if USE_SYMBOLIZER
+nobase_follyinclude_HEADERS += \
+       experimental/symbolizer/Elf.h \
+       experimental/symbolizer/Elf-inl.h \
+       experimental/symbolizer/ElfCache.h \
+       experimental/symbolizer/Dwarf.h \
+       experimental/symbolizer/LineReader.h \
+       experimental/symbolizer/SignalHandler.h \
+       experimental/symbolizer/StackTrace.h \
+       experimental/symbolizer/Symbolizer.h
+
+libfolly_la_SOURCES += \
+       experimental/symbolizer/Elf.cpp \
+       experimental/symbolizer/ElfCache.cpp \
+       experimental/symbolizer/Dwarf.cpp \
+       experimental/symbolizer/LineReader.cpp \
+       experimental/symbolizer/SignalHandler.cpp \
+       experimental/symbolizer/StackTrace.cpp \
+       experimental/symbolizer/Symbolizer.cpp
+endif
+
+if HAVE_VARIABLE_TEMPLATES
+libfolly_la_SOURCES += \
+       Poly.cpp
+endif
+
 libfollybasesse42_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LT_VERSION)
 libfollybasesse42_la_CXXFLAGS = -msse4.2 -mpclmul
 
@@ -641,6 +743,10 @@ libfollybase_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LT_VERSION)
 libfolly_la_LIBADD = libfollybase.la
 libfolly_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LT_VERSION) -lssl
 
+if USE_SYMBOLIZER
+libfolly_la_LDFLAGS += -lunwind
+endif
+
 FingerprintTables.cpp: generate_fingerprint_tables
        ./generate_fingerprint_tables
 CLEANFILES += FingerprintTables.cpp