Added a for_each function to iterate through ranges
[folly.git] / folly / Makefile.am
index c85182400e5b578c73792f75d27c0871b912246c..40f9d7fdff8116a93ed4134e32e6889c88a6abbb 100644 (file)
@@ -1,9 +1,12 @@
 if FOLLY_TESTMAIN
-SUBDIRS = . experimental init test
-else
-SUBDIRS = . test
+MAYBE_INIT = init
 endif
 
+# 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) io/test stats/test
+
 ACLOCAL_AMFLAGS = -I m4
 
 CLEANFILES =
@@ -44,6 +47,7 @@ nobase_follyinclude_HEADERS = \
        CachelinePadded.h \
        CallOnce.h \
        Checksum.h \
+       Chrono.h \
        ClockGettimeWrappers.h \
        ConcurrentSkipList.h \
        ConcurrentSkipList-inl.h \
@@ -52,22 +56,23 @@ nobase_follyinclude_HEADERS = \
        CppAttributes.h \
        CpuId.h \
        CPortability.h \
+       concurrency/CacheLocality.h \
+       concurrency/ConcurrentHashMap.h \
+       concurrency/CoreCachedSharedPtr.h \
+       concurrency/detail/ConcurrentHashMap-detail.h \
        detail/AtomicHashUtils.h \
        detail/AtomicUnorderedMapUtils.h \
+       detail/AtomicUtils.h \
        detail/BitIteratorDetail.h \
-       detail/BitsDetail.h \
-       detail/CacheLocality.h \
-       detail/CachelinePaddedImpl.h \
        detail/ChecksumDetail.h \
        detail/DiscriminatedPtrDetail.h \
-       detail/ExceptionWrapper.h \
        detail/FileUtilDetail.h \
        detail/FingerprintPolynomial.h \
        detail/Futex.h \
        detail/GroupVarintDetail.h \
        detail/IPAddress.h \
        detail/IPAddressSource.h \
-       detail/Malloc.h \
+       detail/MallocImpl.h \
        detail/MemoryIdler.h \
        detail/MPMCPipelineDetail.h \
        detail/RangeCommon.h \
@@ -75,11 +80,9 @@ nobase_follyinclude_HEADERS = \
        detail/Sleeper.h \
        detail/SlowFingerprint.h \
        detail/SocketFastOpen.h \
-       detail/SpinLockImpl.h \
        detail/StaticSingletonManager.h \
-       detail/Stats.h \
        detail/ThreadLocalDetail.h \
-  detail/TryDetail.h \
+       detail/TryDetail.h \
        detail/TurnSequencer.h \
        detail/UncaughtExceptionCounter.h \
        Demangle.h \
@@ -92,25 +95,59 @@ nobase_follyinclude_HEADERS = \
        Exception.h \
        ExceptionString.h \
        ExceptionWrapper.h \
+       ExceptionWrapper-inl.h \
        Executor.h \
        Expected.h \
+       concurrency/AtomicSharedPtr.h \
+       concurrency/detail/AtomicSharedPtr-detail.h \
        experimental/AsymmetricMemoryBarrier.h \
        experimental/AutoTimer.h \
+       experimental/ThreadedRepeatingFunctionRunner.h \
        experimental/Bits.h \
        experimental/BitVectorCoding.h \
+       experimental/CodingDetail.h \
        experimental/DynamicParser.h \
        experimental/DynamicParser-inl.h \
        experimental/ExecutionObserver.h \
        experimental/EliasFanoCoding.h \
+       experimental/EnvUtil.h \
        experimental/EventCount.h \
        experimental/Instructions.h \
        experimental/bser/Bser.h \
+       experimental/exception_tracer/ExceptionAbi.h \
+       experimental/exception_tracer/ExceptionCounterLib.h \
+       experimental/exception_tracer/ExceptionTracer.h \
+       experimental/exception_tracer/ExceptionTracerLib.h \
+       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/GlogStyleFormatter.h \
+       experimental/logging/ImmediateFileWriter.h \
+       experimental/logging/Init.h \
+       experimental/logging/LogCategory.h \
+       experimental/logging/LogFormatter.h \
+       experimental/logging/Logger.h \
+       experimental/logging/LoggerDB.h \
+       experimental/logging/LogHandler.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/xlog.h \
        experimental/NestedCommandLineApp.h \
        experimental/observer/detail/Core.h \
        experimental/observer/detail/GraphCycleDetector.h \
@@ -133,6 +170,7 @@ nobase_follyinclude_HEADERS = \
        experimental/symbolizer/StackTrace.h \
        experimental/symbolizer/Symbolizer.h \
        experimental/Select64.h \
+       experimental/StampedPtr.h \
        experimental/StringKeyedCommon.h \
        experimental/StringKeyedMap.h \
        experimental/StringKeyedSet.h \
@@ -149,6 +187,7 @@ nobase_follyinclude_HEADERS = \
        FixedString.h \
        folly-config.h \
        Foreach.h \
+       Foreach-inl.h \
        FormatArg.h \
        FormatTraits.h \
        Format.h \
@@ -160,9 +199,9 @@ nobase_follyinclude_HEADERS = \
        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 \
@@ -174,6 +213,9 @@ nobase_follyinclude_HEADERS = \
        futures/detail/Core.h \
        futures/detail/FSM.h \
        futures/detail/Types.h \
+       futures/test/TestExecutor.h \
+       hash/SpookyHashV1.h \
+       hash/SpookyHashV2.h \
        gen/Base.h \
        gen/Base-inl.h \
        gen/Combine.h \
@@ -188,6 +230,7 @@ nobase_follyinclude_HEADERS = \
        gen/ParallelMap-inl.h \
        gen/String.h \
        gen/String-inl.h \
+       GlobalThreadPoolList.h \
        GroupVarint.h \
        Hash.h \
        IPAddress.h \
@@ -221,6 +264,7 @@ nobase_follyinclude_HEADERS = \
        io/async/DecoratedAsyncTransportWrapper.h \
        io/async/DelayedDestructionBase.h \
        io/async/DelayedDestruction.h \
+       io/async/DestructorCheck.h \
        io/async/EventBase.h \
        io/async/EventBaseLocal.h \
        io/async/EventBaseManager.h \
@@ -230,17 +274,18 @@ nobase_follyinclude_HEADERS = \
        io/async/EventUtil.h \
        io/async/NotificationQueue.h \
        io/async/HHWheelTimer.h \
-       io/async/ssl/OpenSSLPtrTypes.h \
        io/async/ssl/OpenSSLUtils.h \
        io/async/ssl/SSLErrors.h \
        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 \
        io/async/WriteChainAsyncTransportWrapper.h \
        io/async/test/AsyncSSLSocketTest.h \
+       io/async/test/AsyncSocketTest2.h \
        io/async/test/BlockingSocket.h \
        io/async/test/MockAsyncSocket.h \
        io/async/test/MockAsyncServerSocket.h \
@@ -250,10 +295,15 @@ nobase_follyinclude_HEADERS = \
        io/async/test/MockTimeoutManager.h \
        io/async/test/ScopedBoundPort.h \
        io/async/test/SocketPair.h \
+       io/async/test/TestSSLServer.h \
        io/async/test/TimeUtil.h \
        io/async/test/UndelayedDestruction.h \
        io/async/test/Util.h \
+       io/compression/Utils.h \
+       io/compression/Zlib.h \
+       Iterator.h \
        json.h \
+       Launder.h \
        Lazy.h \
        LifoSem.h \
        Likely.h \
@@ -267,12 +317,14 @@ nobase_follyinclude_HEADERS = \
        Math.h \
        Memory.h \
        MemoryMapping.h \
+       memory/UninitializedMemoryHacks.h \
        MicroSpinLock.h \
        MicroLock.h \
        MoveWrapper.h \
        MPMCPipeline.h \
        MPMCQueue.h \
        Optional.h \
+       Overload.h \
        PackedSyncPtr.h \
        Padded.h \
        Partial.h \
@@ -285,7 +337,6 @@ nobase_follyinclude_HEADERS = \
        portability/Config.h \
        portability/Constexpr.h \
        portability/Dirent.h \
-       portability/Environment.h \
        portability/Event.h \
        portability/Fcntl.h \
        portability/GFlags.h \
@@ -296,7 +347,9 @@ nobase_follyinclude_HEADERS = \
        portability/Malloc.h \
        portability/Math.h \
        portability/Memory.h \
+       portability/OpenSSL.h \
        portability/PThread.h \
+       portability/Semaphore.h \
        portability/Sockets.h \
        portability/Stdio.h \
        portability/Stdlib.h \
@@ -313,13 +366,15 @@ nobase_follyinclude_HEADERS = \
        portability/SysUio.h \
        portability/Time.h \
        portability/TypeTraits.h \
-       portability/Windows.h \
        portability/Unistd.h \
+       portability/Windows.h \
        Preprocessor.h \
+       PriorityMPMCQueue.h \
        ProducerConsumerQueue.h \
        Random.h \
        Random-inl.h \
        Range.h \
+       Replaceable.h \
        RWSpinLock.h \
        SafeAssert.h \
        ScopeGuard.h \
@@ -334,12 +389,16 @@ nobase_follyinclude_HEADERS = \
        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/detail/OpenSSLVersionFinder.h \
+       ssl/OpenSSLLockTypes.h \
+       ssl/detail/OpenSSLThreading.h \
        ssl/detail/SSLSessionImpl.h \
+       stats/detail/Bucket.h \
        stats/BucketedTimeSeries-defs.h \
        stats/BucketedTimeSeries.h \
        stats/Histogram-defs.h \
@@ -353,6 +412,7 @@ nobase_follyinclude_HEADERS = \
        String-inl.h \
        Subprocess.h \
        Synchronized.h \
+       SynchronizedPtr.h \
        test/FBStringTestBenchmarks.cpp.h \
        test/FBVectorTestBenchmarks.cpp.h \
        test/function_benchmark/benchmark_impl.h \
@@ -373,9 +433,12 @@ nobase_follyinclude_HEADERS = \
        Try.h \
        Unicode.h \
        Function.h \
+       Functional.h \
+       UncaughtExceptions.h \
        Unit.h \
        Uri.h \
        Uri-inl.h \
+       Utility.h \
        Varint.h \
        VersionCheck.h
 
@@ -392,6 +455,8 @@ GroupVarintTables.cpp: build/generate_varint_tables.py
 CLEANFILES += GroupVarintTables.cpp
 
 libfollybasesse42_la_SOURCES = \
+       detail/Crc32cDetail.cpp \
+       detail/ChecksumDetail.cpp \
        detail/RangeSse42.cpp
 
 libfollybase_la_SOURCES = \
@@ -400,20 +465,22 @@ libfollybase_la_SOURCES = \
        detail/RangeCommon.cpp \
        EscapeTables.cpp \
        Format.cpp \
+       FormatArg.cpp \
        FormatTables.cpp \
        MallctlHelper.cpp \
        portability/BitsFunctexcept.cpp \
-       StringBase.cpp \
        String.cpp \
        Unicode.cpp
 
 libfolly_la_SOURCES = \
        Assume.cpp \
-       Bits.cpp \
        Checksum.cpp \
        ClockGettimeWrappers.cpp \
-       detail/CacheLocality.cpp \
+       concurrency/CacheLocality.cpp \
+       detail/Futex.cpp \
        detail/IPAddress.cpp \
+       detail/StaticSingletonManager.cpp \
+       detail/ThreadLocalDetail.cpp \
        dynamic.cpp \
        ExceptionWrapper.cpp \
        Executor.cpp \
@@ -422,15 +489,18 @@ libfolly_la_SOURCES = \
        FingerprintTables.cpp \
        futures/Barrier.cpp \
        futures/Future.cpp \
-       futures/InlineExecutor.cpp \
+       futures/FutureException.cpp \
        futures/ManualExecutor.cpp \
        futures/QueuedImmediateExecutor.cpp \
        futures/ThreadWheelTimekeeper.cpp \
-       detail/Futex.cpp \
-       detail/StaticSingletonManager.cpp \
-       detail/ThreadLocalDetail.cpp \
+       futures/test/TestExecutor.cpp \
+       experimental/hazptr/hazptr.cpp \
+       experimental/hazptr/memory_resource.cpp \
+       GlobalThreadPoolList.cpp \
        GroupVarint.cpp \
        GroupVarintTables.cpp \
+       hash/SpookyHashV1.cpp \
+       hash/SpookyHashV2.cpp \
        IPAddress.cpp \
        IPAddressV4.cpp \
        IPAddressV6.cpp \
@@ -456,6 +526,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 \
@@ -465,17 +536,19 @@ libfolly_la_SOURCES = \
        io/async/test/TimeUtil.cpp \
        io/async/ssl/OpenSSLUtils.cpp \
        io/async/ssl/SSLErrors.cpp \
+       io/compression/Zlib.cpp \
        json.cpp \
        detail/MemoryIdler.cpp \
        detail/SocketFastOpen.cpp \
        MacAddress.cpp \
        MemoryMapping.cpp \
        portability/Dirent.cpp \
-       portability/Environment.cpp \
        portability/Fcntl.cpp \
        portability/Libgen.cpp \
        portability/Malloc.cpp \
        portability/Memory.cpp \
+       portability/OpenSSL.cpp \
+       portability/PThread.cpp \
        portability/Sockets.cpp \
        portability/Stdio.cpp \
        portability/Stdlib.cpp \
@@ -495,22 +568,31 @@ libfolly_la_SOURCES = \
        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/Instantiations.cpp \
+       stats/BucketedTimeSeries.cpp \
+       stats/Histogram.cpp \
+       stats/MultiLevelTimeSeries.cpp \
+       stats/TimeseriesHistogram.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 \
        experimental/DynamicParser.cpp \
+       experimental/EnvUtil.cpp \
        experimental/FunctionScheduler.cpp \
        experimental/io/FsUtil.cpp \
        experimental/JemallocNodumpAllocator.cpp \
@@ -543,6 +625,7 @@ nobase_follyinclude_HEADERS += \
        fibers/Baton-inl.h \
        fibers/BatchDispatcher.h \
        fibers/BoostContextCompatibility.h \
+       fibers/detail/AtomicBatchDispatcher.h \
        fibers/EventBaseLoopController.h \
        fibers/EventBaseLoopController-inl.h \
        fibers/Fiber.h \
@@ -570,6 +653,7 @@ nobase_follyinclude_HEADERS += \
 
 libfolly_la_SOURCES += \
        fibers/Baton.cpp \
+       fibers/detail/AtomicBatchDispatcher.cpp \
        fibers/Fiber.cpp \
        fibers/FiberManager.cpp \
        fibers/FiberManagerMap.cpp \
@@ -579,7 +663,7 @@ libfolly_la_SOURCES += \
 endif
 
 libfollybasesse42_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LT_VERSION)
-libfollybasesse42_la_CXXFLAGS = -msse4.2
+libfollybasesse42_la_CXXFLAGS = -msse4.2 -mpclmul
 
 libfollybase_la_LIBADD = libfollybasesse42.la
 libfollybase_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LT_VERSION)