|
|
- From d7f13fdc516ffa36b16b89e7f398a8a36b4188d9 Mon Sep 17 00:00:00 2001
- From: =?UTF-8?q?Christoph=20M=C3=BCllner?= <christophm30@gmail.com>
- Date: Sat, 2 Dec 2017 00:08:55 +0100
- Subject: [PATCH 1/6] Eliminate protobuf AddDescriptors() call.
- MIME-Version: 1.0
- Content-Type: text/plain; charset=UTF-8
- Content-Transfer-Encoding: 8bit
-
- Eliminating protobuf's AddDescriptors() calls enabled
- forward-compatibility with libprotobuf. That allows to
- run OLA on recent Linux distrubutions.
-
- Tested on x86_64 running Fedora 27 with protobuf 3.3.1
- in combination with QLC+ and a uDMX controller.
-
- See #1192.
-
- Signed-off-by: Christoph Müllner <christophm30@gmail.com>
- ---
- config/ola.m4 | 3 ---
- protoc/CppFileGenerator.cpp | 8 --------
- protoc/GeneratorHelpers.cpp | 5 -----
- protoc/GeneratorHelpers.h | 3 ---
- 4 files changed, 19 deletions(-)
-
- diff --git a/config/ola.m4 b/config/ola.m4
- index 6080932e9..d3b8cc8f8 100644
- --- a/config/ola.m4
- +++ b/config/ola.m4
- @@ -24,9 +24,6 @@ AC_DEFUN([PROTOBUF_SUPPORT],
- AC_REQUIRE_CPP()
- PKG_CHECK_MODULES(libprotobuf, [protobuf >= $1])
-
- -PKG_CHECK_MODULES(libprotobuf2, [protobuf < 3.2], [],
- - [AC_MSG_ERROR([OLA currently requires protobuf < 3.2, see issue 1192])])
- -
- AC_SUBST([libprotobuf_CFLAGS])
-
- AC_ARG_WITH([protoc],
- diff --git a/protoc/CppFileGenerator.cpp b/protoc/CppFileGenerator.cpp
- index 518c17879..e7dd95ccb 100644
- --- a/protoc/CppFileGenerator.cpp
- +++ b/protoc/CppFileGenerator.cpp
- @@ -196,14 +196,6 @@ void FileGenerator::GenerateBuildDescriptors(Printer* printer) {
- "assigndescriptorsname", GlobalAssignDescriptorsName(m_output_name));
- printer->Indent();
-
- - // Make sure the file has found its way into the pool. If a descriptor
- - // is requested *during* static init then AddDescriptors() may not have
- - // been called yet, so we call it manually. Note that it's fine if
- - // AddDescriptors() is called multiple times.
- - printer->Print(
- - "$adddescriptorsname$();\n",
- - "adddescriptorsname", GlobalAddDescriptorsName(m_file->name()));
- -
- // Get the file's descriptor from the pool.
- printer->Print(
- "const ::google::protobuf::FileDescriptor* file =\n"
- diff --git a/protoc/GeneratorHelpers.cpp b/protoc/GeneratorHelpers.cpp
- index 19609181e..6f619b5c0 100644
- --- a/protoc/GeneratorHelpers.cpp
- +++ b/protoc/GeneratorHelpers.cpp
- @@ -104,11 +104,6 @@ string FilenameIdentifier(const string& filename) {
- return result;
- }
-
- -// Return the name of the AddDescriptors() function for a given file.
- -string GlobalAddDescriptorsName(const string& filename) {
- - return "protobuf_AddDesc_" + FilenameIdentifier(filename);
- -}
- -
- // Return the name of the AssignDescriptors() function for a given file.
- string GlobalAssignDescriptorsName(const string& filename) {
- return "protobuf_AssignDesc_" + FilenameIdentifier(filename);
- diff --git a/protoc/GeneratorHelpers.h b/protoc/GeneratorHelpers.h
- index 35efdbb04..fa91a915d 100644
- --- a/protoc/GeneratorHelpers.h
- +++ b/protoc/GeneratorHelpers.h
- @@ -67,9 +67,6 @@ string StripProto(const string& filename);
- // Convert a file name into a valid identifier.
- string FilenameIdentifier(const string& filename);
-
- -// Return the name of the AddDescriptors() function for a given file.
- -string GlobalAddDescriptorsName(const string& filename);
- -
- // Return the name of the AssignDescriptors() function for a given file.
- string GlobalAssignDescriptorsName(const string& filename);
-
- --
- 2.11.0
-
|