2 SUBDIRS = . experimental init test
7 ACLOCAL_AMFLAGS = -I m4
11 noinst_PROGRAMS = generate_fingerprint_tables
12 generate_fingerprint_tables_SOURCES = build/GenerateFingerprintTables.cpp
13 generate_fingerprint_tables_LDADD = libfollybase.la
15 noinst_LTLIBRARIES = \
16 libfollybasesse42.la \
23 follyincludedir = $(includedir)/folly
25 nobase_follyinclude_HEADERS = \
33 AtomicHashArray-inl.h \
36 AtomicIntrusiveLinkedList.h \
39 AtomicUnorderedMap.h \
46 ClockGettimeWrappers.h \
47 ConcurrentSkipList.h \
48 ConcurrentSkipList-inl.h \
54 detail/AtomicHashUtils.h \
55 detail/AtomicUnorderedMapUtils.h \
56 detail/BitIteratorDetail.h \
58 detail/CacheLocality.h \
59 detail/CachelinePaddedImpl.h \
60 detail/ChecksumDetail.h \
61 detail/DiscriminatedPtrDetail.h \
62 detail/ExceptionWrapper.h \
63 detail/FileUtilDetail.h \
64 detail/FingerprintPolynomial.h \
66 detail/GroupVarintDetail.h \
68 detail/IPAddressSource.h \
70 detail/MemoryIdler.h \
71 detail/MPMCPipelineDetail.h \
72 detail/RangeCommon.h \
75 detail/SlowFingerprint.h \
76 detail/SocketFastOpen.h \
77 detail/SpinLockImpl.h \
78 detail/StaticSingletonManager.h \
80 detail/ThreadLocalDetail.h \
82 detail/TurnSequencer.h \
83 detail/UncaughtExceptionCounter.h \
96 experimental/AsymmetricMemoryBarrier.h \
97 experimental/AutoTimer.h \
99 experimental/BitVectorCoding.h \
100 experimental/DynamicParser.h \
101 experimental/DynamicParser-inl.h \
102 experimental/ExecutionObserver.h \
103 experimental/EliasFanoCoding.h \
104 experimental/EventCount.h \
105 experimental/Instructions.h \
106 experimental/bser/Bser.h \
107 experimental/FunctionScheduler.h \
108 experimental/FutureDAG.h \
109 experimental/io/FsUtil.h \
110 experimental/JSONSchema.h \
111 experimental/LockFreeRingBuffer.h \
112 experimental/NestedCommandLineApp.h \
113 experimental/observer/detail/Core.h \
114 experimental/observer/detail/GraphCycleDetector.h \
115 experimental/observer/detail/ObserverManager.h \
116 experimental/observer/detail/Observer-pre.h \
117 experimental/observer/Observable.h \
118 experimental/observer/Observable-inl.h \
119 experimental/observer/Observer.h \
120 experimental/observer/Observer-inl.h \
121 experimental/observer/SimpleObservable.h \
122 experimental/observer/SimpleObservable-inl.h \
123 experimental/ProgramOptions.h \
124 experimental/ReadMostlySharedPtr.h \
125 experimental/symbolizer/Elf.h \
126 experimental/symbolizer/Elf-inl.h \
127 experimental/symbolizer/ElfCache.h \
128 experimental/symbolizer/Dwarf.h \
129 experimental/symbolizer/LineReader.h \
130 experimental/symbolizer/SignalHandler.h \
131 experimental/symbolizer/StackTrace.h \
132 experimental/symbolizer/Symbolizer.h \
133 experimental/Select64.h \
134 experimental/StringKeyedCommon.h \
135 experimental/StringKeyedMap.h \
136 experimental/StringKeyedSet.h \
137 experimental/StringKeyedUnorderedMap.h \
138 experimental/StringKeyedUnorderedSet.h \
139 experimental/TestUtil.h \
140 experimental/TLRefCount.h \
141 experimental/TupleOps.h \
154 futures/DrivableExecutor.h \
155 futures/Future-pre.h \
158 futures/Future-inl.h \
159 futures/FutureException.h \
160 futures/InlineExecutor.h \
161 futures/ManualExecutor.h \
162 futures/OpaqueCallbackShunt.h \
163 futures/Promise-inl.h \
165 futures/QueuedImmediateExecutor.h \
166 futures/ScheduledExecutor.h \
167 futures/SharedPromise.h \
168 futures/SharedPromise-inl.h \
169 futures/ThreadWheelTimekeeper.h \
170 futures/Timekeeper.h \
171 futures/detail/Core.h \
172 futures/detail/FSM.h \
173 futures/detail/Types.h \
185 gen/ParallelMap-inl.h \
193 IPAddressException.h \
206 io/ShutdownSocketSet.h \
207 io/async/AsyncPipe.h \
208 io/async/AsyncTimeout.h \
209 io/async/AsyncTransport.h \
210 io/async/AsyncUDPServerSocket.h \
211 io/async/AsyncUDPSocket.h \
212 io/async/AsyncServerSocket.h \
213 io/async/AsyncSignalHandler.h \
214 io/async/AsyncSocket.h \
215 io/async/AsyncSocketBase.h \
216 io/async/AsyncSSLSocket.h \
217 io/async/AsyncSocketException.h \
218 io/async/DecoratedAsyncTransportWrapper.h \
219 io/async/DelayedDestructionBase.h \
220 io/async/DelayedDestruction.h \
221 io/async/EventBase.h \
222 io/async/EventBaseLocal.h \
223 io/async/EventBaseManager.h \
224 io/async/EventFDWrapper.h \
225 io/async/EventHandler.h \
226 io/async/EventUtil.h \
227 io/async/NotificationQueue.h \
228 io/async/HHWheelTimer.h \
229 io/async/ssl/OpenSSLPtrTypes.h \
230 io/async/ssl/OpenSSLUtils.h \
231 io/async/ssl/SSLErrors.h \
232 io/async/ssl/TLSDefinitions.h \
234 io/async/SSLContext.h \
235 io/async/ScopedEventBaseThread.h \
236 io/async/TimeoutManager.h \
237 io/async/VirtualEventBase.h \
238 io/async/WriteChainAsyncTransportWrapper.h \
239 io/async/test/AsyncSSLSocketTest.h \
240 io/async/test/BlockingSocket.h \
241 io/async/test/MockAsyncSocket.h \
242 io/async/test/MockAsyncServerSocket.h \
243 io/async/test/MockAsyncSSLSocket.h \
244 io/async/test/MockAsyncTransport.h \
245 io/async/test/MockAsyncUDPSocket.h \
246 io/async/test/MockTimeoutManager.h \
247 io/async/test/ScopedBoundPort.h \
248 io/async/test/SocketPair.h \
249 io/async/test/TimeUtil.h \
250 io/async/test/UndelayedDestruction.h \
251 io/async/test/Util.h \
278 portability/Atomic.h \
279 portability/BitsFunctexcept.h \
280 portability/Builtins.h \
281 portability/Config.h \
282 portability/Constexpr.h \
283 portability/Dirent.h \
284 portability/Environment.h \
285 portability/Event.h \
286 portability/Fcntl.h \
287 portability/GFlags.h \
288 portability/GMock.h \
289 portability/GTest.h \
290 portability/IOVec.h \
291 portability/Libgen.h \
292 portability/Malloc.h \
294 portability/Memory.h \
295 portability/PThread.h \
296 portability/Sockets.h \
297 portability/Stdio.h \
298 portability/Stdlib.h \
299 portability/String.h \
300 portability/Syslog.h \
301 portability/SysFile.h \
302 portability/SysMembarrier.h \
303 portability/SysMman.h \
304 portability/SysResource.h \
305 portability/SysStat.h \
306 portability/SysSyscall.h \
307 portability/SysTime.h \
308 portability/SysTypes.h \
309 portability/SysUio.h \
311 portability/TypeTraits.h \
312 portability/Windows.h \
313 portability/Unistd.h \
315 ProducerConsumerQueue.h \
326 SingletonThreadLocal.h \
330 sorted_vector_types.h \
337 ssl/detail/OpenSSLVersionFinder.h \
338 ssl/detail/SSLSessionImpl.h \
339 stats/BucketedTimeSeries-defs.h \
340 stats/BucketedTimeSeries.h \
341 stats/Histogram-defs.h \
343 stats/MultiLevelTimeSeries-defs.h \
344 stats/MultiLevelTimeSeries.h \
345 stats/TimeseriesHistogram-defs.h \
346 stats/TimeseriesHistogram.h \
352 test/FBStringTestBenchmarks.cpp.h \
353 test/FBVectorTestBenchmarks.cpp.h \
354 test/function_benchmark/benchmark_impl.h \
355 test/function_benchmark/test_functions.h \
356 test/SynchronizedTestLib.h \
357 test/SynchronizedTestLib-inl.h \
359 ThreadCachedArena.h \
366 tracing/StaticTracepoint.h \
378 FormatTables.cpp: build/generate_format_tables.py
379 $(PYTHON) build/generate_format_tables.py
380 CLEANFILES += FormatTables.cpp
382 EscapeTables.cpp: build/generate_escape_tables.py
383 $(PYTHON) build/generate_escape_tables.py
384 CLEANFILES += EscapeTables.cpp
386 GroupVarintTables.cpp: build/generate_varint_tables.py
387 $(PYTHON) build/generate_varint_tables.py
388 CLEANFILES += GroupVarintTables.cpp
390 libfollybasesse42_la_SOURCES = \
391 detail/RangeSse42.cpp
393 libfollybase_la_SOURCES = \
396 detail/RangeCommon.cpp \
401 portability/BitsFunctexcept.cpp \
406 libfolly_la_SOURCES = \
410 ClockGettimeWrappers.cpp \
411 detail/CacheLocality.cpp \
412 detail/IPAddress.cpp \
414 ExceptionWrapper.cpp \
417 FingerprintTables.cpp \
418 futures/Barrier.cpp \
420 futures/InlineExecutor.cpp \
421 futures/ManualExecutor.cpp \
422 futures/QueuedImmediateExecutor.cpp \
423 futures/ThreadWheelTimekeeper.cpp \
425 detail/StaticSingletonManager.cpp \
426 detail/ThreadLocalDetail.cpp \
428 GroupVarintTables.cpp \
438 io/ShutdownSocketSet.cpp \
439 io/async/AsyncPipe.cpp \
440 io/async/AsyncTimeout.cpp \
441 io/async/AsyncUDPSocket.cpp \
442 io/async/AsyncServerSocket.cpp \
443 io/async/AsyncSignalHandler.cpp \
444 io/async/AsyncSocket.cpp \
445 io/async/AsyncSSLSocket.cpp \
446 io/async/EventBase.cpp \
447 io/async/EventBaseLocal.cpp \
448 io/async/EventBaseManager.cpp \
449 io/async/EventHandler.cpp \
450 io/async/Request.cpp \
451 io/async/SSLContext.cpp \
452 io/async/ScopedEventBaseThread.cpp \
453 io/async/VirtualEventBase.cpp \
454 io/async/HHWheelTimer.cpp \
455 io/async/TimeoutManager.cpp \
456 io/async/test/ScopedBoundPort.cpp \
457 io/async/test/SocketPair.cpp \
458 io/async/test/TimeUtil.cpp \
459 io/async/ssl/OpenSSLUtils.cpp \
460 io/async/ssl/SSLErrors.cpp \
462 detail/MemoryIdler.cpp \
463 detail/SocketFastOpen.cpp \
466 portability/Dirent.cpp \
467 portability/Environment.cpp \
468 portability/Fcntl.cpp \
469 portability/Libgen.cpp \
470 portability/Malloc.cpp \
471 portability/Memory.cpp \
472 portability/Sockets.cpp \
473 portability/Stdio.cpp \
474 portability/Stdlib.cpp \
475 portability/String.cpp \
476 portability/SysFile.cpp \
477 portability/SysMembarrier.cpp \
478 portability/SysMman.cpp \
479 portability/SysResource.cpp \
480 portability/SysStat.cpp \
481 portability/SysTime.cpp \
482 portability/SysUio.cpp \
483 portability/Time.cpp \
484 portability/Unistd.cpp \
495 ssl/OpenSSLHash.cpp \
496 ssl/detail/SSLSessionImpl.cpp \
497 stats/Instantiations.cpp \
499 ThreadCachedArena.cpp \
503 experimental/AsymmetricMemoryBarrier.cpp \
504 experimental/bser/Dump.cpp \
505 experimental/bser/Load.cpp \
506 experimental/DynamicParser.cpp \
507 experimental/FunctionScheduler.cpp \
508 experimental/io/FsUtil.cpp \
509 experimental/JSONSchema.cpp \
510 experimental/NestedCommandLineApp.cpp \
511 experimental/observer/detail/Core.cpp \
512 experimental/observer/detail/ObserverManager.cpp \
513 experimental/ProgramOptions.cpp \
514 experimental/Select64.cpp \
515 experimental/TestUtil.cpp
518 nobase_follyinclude_HEADERS += \
519 experimental/io/HugePages.h
520 libfolly_la_SOURCES += \
521 experimental/io/HugePages.cpp
524 if !HAVE_WEAK_SYMBOLS
525 libfollybase_la_SOURCES += detail/MallocImpl.cpp
528 if HAVE_BOOST_CONTEXT
529 nobase_follyinclude_HEADERS += \
531 fibers/AddTasks-inl.h \
532 fibers/AtomicBatchDispatcher.h \
533 fibers/AtomicBatchDispatcher-inl.h \
536 fibers/BatchDispatcher.h \
537 fibers/BoostContextCompatibility.h \
538 fibers/EventBaseLoopController.h \
539 fibers/EventBaseLoopController-inl.h \
542 fibers/FiberManager.h \
543 fibers/FiberManager-inl.h \
544 fibers/FiberManagerInternal.h \
545 fibers/FiberManagerInternal-inl.h \
546 fibers/FiberManagerMap.h \
548 fibers/ForEach-inl.h \
549 fibers/GenericBaton.h \
550 fibers/GuardPageAllocator.h \
551 fibers/LoopController.h \
553 fibers/Promise-inl.h \
555 fibers/SimpleLoopController.h \
556 fibers/TimedMutex.h \
557 fibers/TimedMutex-inl.h \
558 fibers/TimeoutController.h \
563 libfolly_la_SOURCES += \
566 fibers/FiberManager.cpp \
567 fibers/FiberManagerMap.cpp \
568 fibers/GuardPageAllocator.cpp \
569 fibers/Semaphore.cpp \
570 fibers/TimeoutController.cpp
573 libfollybasesse42_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LT_VERSION)
574 libfollybasesse42_la_CXXFLAGS = -msse4.2
576 libfollybase_la_LIBADD = libfollybasesse42.la
577 libfollybase_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LT_VERSION)
579 libfolly_la_LIBADD = libfollybase.la
580 libfolly_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LT_VERSION) -lssl
582 FingerprintTables.cpp: generate_fingerprint_tables
583 ./generate_fingerprint_tables
584 CLEANFILES += FingerprintTables.cpp
586 libfollybenchmark_la_SOURCES = Benchmark.cpp
587 libfollybenchmark_la_LIBADD = libfolly.la
588 libfollybenchmark_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LT_VERSION)
590 # install pkg-config metadata file
591 pkgconfigdir = $(libdir)/pkgconfig
592 nodist_pkgconfig_DATA = libfolly.pc