From d3a78e050b7a7e57d9cb8a6ed85b8253f4e8dc7f Mon Sep 17 00:00:00 2001 From: TJ Yin Date: Wed, 14 May 2025 11:43:13 -0700 Subject: [PATCH] Migrate OSS project to handle protocol split Summary: X-link: https://github.com/facebook/CacheLib/pull/386 X-link: https://github.com/facebook/fb303/pull/67 fbthrift has moved compact/binary protocol instantiation outside _types.cpp (to _types_compact.cpp and _types_binary.cpp). We need to add these two files to the build system. Differential Revision: D74687663 --- build/fbcode_builder/CMake/FBThriftCppLibrary.cmake | 2 ++ third-party/mcrouter/src/mcrouter/lib/Makefile.am | 10 ++++++++++ .../mcrouter/src/mcrouter/lib/carbon/Makefile.am | 8 ++++++++ .../mcrouter/src/mcrouter/lib/network/gen/Makefile.am | 10 ++++++++++ third-party/thrift/src/thrift/lib/py/TSCons.py | 9 ++++++++- 5 files changed, 38 insertions(+), 1 deletion(-) diff --git a/build/fbcode_builder/CMake/FBThriftCppLibrary.cmake b/build/fbcode_builder/CMake/FBThriftCppLibrary.cmake index 7147fada23292d..e29e7921f6249e 100644 --- a/build/fbcode_builder/CMake/FBThriftCppLibrary.cmake +++ b/build/fbcode_builder/CMake/FBThriftCppLibrary.cmake @@ -69,6 +69,8 @@ function(add_fbthrift_cpp_library LIB_NAME THRIFT_FILE) "${output_dir}/gen-cpp2/${base}_data.h" "${output_dir}/gen-cpp2/${base}_data.cpp" "${output_dir}/gen-cpp2/${base}_types.cpp" + "${output_dir}/gen-cpp2/${base}_types_compact.cpp" + "${output_dir}/gen-cpp2/${base}_types_binary.cpp" "${output_dir}/gen-cpp2/${base}_metadata.cpp" ) foreach(service IN LISTS ARG_SERVICES) diff --git a/third-party/mcrouter/src/mcrouter/lib/Makefile.am b/third-party/mcrouter/src/mcrouter/lib/Makefile.am index 38ba5a7abd8e94..2da30334cfc0d5 100644 --- a/third-party/mcrouter/src/mcrouter/lib/Makefile.am +++ b/third-party/mcrouter/src/mcrouter/lib/Makefile.am @@ -92,11 +92,15 @@ libmcrouter_a_SOURCES = \ carbon/Util.h \ carbon/Variant.h \ carbon/gen-cpp2/carbon_result_types.cpp \ + carbon/gen-cpp2/carbon_result_types_compact.cpp \ + carbon/gen-cpp2/carbon_result_types_binary.cpp \ carbon/gen-cpp2/carbon_result_types.h \ carbon/gen-cpp2/carbon_result_types.tcc \ carbon/gen-cpp2/carbon_result_data.cpp \ carbon/gen-cpp2/carbon_result_data.h \ carbon/gen-cpp2/carbon_types.cpp \ + carbon/gen-cpp2/carbon_types_compact.cpp \ + carbon/gen-cpp2/carbon_types_binary.cpp \ carbon/gen-cpp2/carbon_types.h \ carbon/gen-cpp2/carbon_types.tcc \ carbon/gen-cpp2/carbon_data.cpp \ @@ -191,6 +195,8 @@ libmcrouter_a_SOURCES = \ network/gen/MemcacheMessagesThrift.cpp \ network/gen/MemcacheMessages.h \ network/gen/gen-cpp2/Common_types.cpp \ + network/gen/gen-cpp2/Common_types_compact.cpp \ + network/gen/gen-cpp2/Common_types_binary.cpp \ network/gen/gen-cpp2/Common_types.h \ network/gen/gen-cpp2/Common_types.tcc \ network/gen/gen-cpp2/Common_data.cpp \ @@ -200,11 +206,15 @@ libmcrouter_a_SOURCES = \ network/gen/gen-cpp2/MemcacheService_constants.cpp \ network/gen/gen-cpp2/MemcacheService_constants.h \ network/gen/gen-cpp2/MemcacheService_types.cpp \ + network/gen/gen-cpp2/MemcacheService_types_compact.cpp \ + network/gen/gen-cpp2/MemcacheService_types_binary.cpp \ network/gen/gen-cpp2/MemcacheService_types.h \ network/gen/gen-cpp2/MemcacheService_types.tcc \ network/gen/gen-cpp2/MemcacheService_data.cpp \ network/gen/gen-cpp2/MemcacheService_data.h \ network/gen/gen-cpp2/Memcache_types.cpp \ + network/gen/gen-cpp2/Memcache_types_compact.cpp \ + network/gen/gen-cpp2/Memcache_types_binary.cpp \ network/gen/gen-cpp2/Memcache_types.h \ network/gen/gen-cpp2/Memcache_types.tcc \ network/gen/gen-cpp2/Memcache_data.cpp \ diff --git a/third-party/mcrouter/src/mcrouter/lib/carbon/Makefile.am b/third-party/mcrouter/src/mcrouter/lib/carbon/Makefile.am index deba6c2054bb6d..238ea07365b94f 100644 --- a/third-party/mcrouter/src/mcrouter/lib/carbon/Makefile.am +++ b/third-party/mcrouter/src/mcrouter/lib/carbon/Makefile.am @@ -5,17 +5,23 @@ BUILT_SOURCES = \ gen-cpp2/carbon_result_types.cpp \ + gen-cpp2/carbon_result_types_compact.cpp \ + gen-cpp2/carbon_result_types_binary.cpp \ gen-cpp2/carbon_result_types.h \ gen-cpp2/carbon_result_types.tcc \ gen-cpp2/carbon_result_data.cpp \ gen-cpp2/carbon_result_data.h \ gen-cpp2/carbon_types.cpp \ + gen-cpp2/carbon_types_compact.cpp \ + gen-cpp2/carbon_types_binary.cpp \ gen-cpp2/carbon_types.h \ gen-cpp2/carbon_types.tcc \ gen-cpp2/carbon_data.cpp \ gen-cpp2/carbon_data.h gen-cpp2/carbon_result_types.cpp: gen-cpp2/carbon_result_types.h +gen-cpp2/carbon_result_types_compact.cpp: gen-cpp2/carbon_result_types.h +gen-cpp2/carbon_result_types_binary.cpp: gen-cpp2/carbon_result_types.h gen-cpp2/carbon_result_types.h: gen-cpp2/carbon_result_types.tcc gen-cpp2/carbon_result_types.tcc: gen-cpp2/carbon_result_data.cpp gen-cpp2/carbon_result_data.cpp: gen-cpp2/carbon_result_data.h @@ -23,6 +29,8 @@ gen-cpp2/carbon_result_data.h: carbon_result.thrift @FBTHRIFT@ -gen mstch_cpp2:stack_arguments,sync_methods_return_try,include_prefix=mcrouter/lib/carbon/ carbon_result.thrift gen-cpp2/carbon_types.cpp: gen-cpp2/carbon_types.h +gen-cpp2/carbon_types_compact.cpp: gen-cpp2/carbon_types.h +gen-cpp2/carbon_types_binary.cpp: gen-cpp2/carbon_types.h gen-cpp2/carbon_types.h: gen-cpp2/carbon_types.tcc gen-cpp2/carbon_types.tcc: gen-cpp2/carbon_data.cpp gen-cpp2/carbon_data.cpp: gen-cpp2/carbon_data.h diff --git a/third-party/mcrouter/src/mcrouter/lib/network/gen/Makefile.am b/third-party/mcrouter/src/mcrouter/lib/network/gen/Makefile.am index b456c64a4957dd..e166926537b1cb 100644 --- a/third-party/mcrouter/src/mcrouter/lib/network/gen/Makefile.am +++ b/third-party/mcrouter/src/mcrouter/lib/network/gen/Makefile.am @@ -5,11 +5,15 @@ BUILT_SOURCES = \ gen-cpp2/Common_types.cpp \ + gen-cpp2/Common_types_compact.cpp \ + gen-cpp2/Common_types_binary.cpp \ gen-cpp2/Common_types.h \ gen-cpp2/Common_types.tcc \ gen-cpp2/Common_data.cpp \ gen-cpp2/Common_data.h \ gen-cpp2/Memcache_types.cpp \ + gen-cpp2/Memcache_types_compact.cpp \ + gen-cpp2/Memcache_types_binary.cpp \ gen-cpp2/Memcache_types.h \ gen-cpp2/Memcache_types.tcc \ gen-cpp2/Memcache_data.cpp \ @@ -19,12 +23,16 @@ BUILT_SOURCES = \ gen-cpp2/MemcacheService_constants.cpp \ gen-cpp2/MemcacheService_constants.h \ gen-cpp2/MemcacheService_types.cpp \ + gen-cpp2/MemcacheService_types_compact.cpp \ + gen-cpp2/MemcacheService_types_binary.cpp \ gen-cpp2/MemcacheService_types.h \ gen-cpp2/MemcacheService_types.tcc \ gen-cpp2/MemcacheService_data.cpp \ gen-cpp2/MemcacheService_data.h gen-cpp2/Common_types.cpp: gen-cpp2/Common_types.h +gen-cpp2/Common_types_compact.cpp: gen-cpp2/Common_types.h +gen-cpp2/Common_types_binary.cpp: gen-cpp2/Common_types.h gen-cpp2/Common_types.h: gen-cpp2/Common_types.tcc gen-cpp2/Common_types.tcc: gen-cpp2/Common_data.cpp gen-cpp2/Common_data.cpp: gen-cpp2/Common_data.h @@ -32,6 +40,8 @@ gen-cpp2/Common_data.h: Common.thrift @FBTHRIFT@ -gen mstch_cpp2:stack_arguments,sync_methods_return_try,deprecated_terse_writes,include_prefix=mcrouter/lib/network/gen -I $(top_srcdir)/.. -I $(INSTALL_DIR)/include/ Common.thrift gen-cpp2/Memcache_types.cpp: gen-cpp2/Memcache_types.h +gen-cpp2/Memcache_types_compact.cpp: gen-cpp2/Memcache_types.h +gen-cpp2/Memcache_types_binary.cpp: gen-cpp2/Memcache_types.h gen-cpp2/Memcache_types.h: gen-cpp2/Memcache_types.tcc gen-cpp2/Memcache_types.tcc: gen-cpp2/Memcache_data.cpp gen-cpp2/Memcache_data.cpp: gen-cpp2/Memcache_data.h diff --git a/third-party/thrift/src/thrift/lib/py/TSCons.py b/third-party/thrift/src/thrift/lib/py/TSCons.py index a05cea084c66b0..49380cef656b94 100644 --- a/third-party/thrift/src/thrift/lib/py/TSCons.py +++ b/third-party/thrift/src/thrift/lib/py/TSCons.py @@ -28,6 +28,13 @@ def scons_env(env, add=""): def gen_cpp(env, dir, file): scons_env(env) - suffixes = ["_data.h", "_data.cpp", "_types.h", "_types.cpp"] + suffixes = [ + "_data.h", + "_data.cpp", + "_types.h", + "_types.cpp", + "_types_compact.cpp", + "_types_binary.cpp", + ] targets = ["gen-cpp" + file + s for s in suffixes] return env.ThriftCpp(targets, dir + file + ".thrift")