facebookincubator / velox

A composable and fully extensible C++ execution engine library for data management systems.
https://velox-lib.io/
Apache License 2.0
3.54k stars 1.17k forks source link

Remove usage of GFlags from libvelox and use a global singleton config object instead #11730

Open majetideepak opened 14 hours ago

majetideepak commented 14 hours ago

Description

This allows libVelox to not depend on GFlags and simplifies the dynamic library build. Current issue gflags(static -> linked into folly(static) -> linked intod velox(shared) -> linked to tests(shared) -> test also links to gflags (static) is reported here https://github.com/facebookincubator/velox/pull/10732#issuecomment-2295588282 Velox applications and other components such as tools, tests, examples can continue to use GFlags.

majetideepak commented 14 hours ago

CC: @assignUser, @kgpai

majetideepak commented 14 hours ago

We could follow the MemoryManager::getInstance model. https://github.com/facebookincubator/velox/blob/main/velox/common/memory/Memory.cpp#L185