This is an automated email from the ASF dual-hosted git repository.

dbecker pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git

commit a7fc8c977a73683fcabb296882ac32593526503d
Author: Daniel Becker <[email protected]>
AuthorDate: Tue Mar 11 10:07:15 2025 +0100

    IMPALA-13852: udf-ir.cc missing in ImpalaUdf
    
    IMPALA-11623 separated out *ir.cc files into their own libraries. With
    the change, the source file 'be/src/udf/CMakeLists.txt', which was
    previously included in the ImpalaUdf library, is now not included. In
    case of other libraries, it is intentional that *ir.cc files are not
    included in the them as they are linked together with the *Ir libraries
    to form the Impala executable. But ImpalaUdf is special because it is
    shipped separately as part of the UDF SDK. Because of missing udf-ir.cc,
    the functions defined in it, such as
    FunctionContext::GetFunctionState(), are not present in libImpalaUdf.a.
    
    This change adds udf-ir.cc to ImpalaUdf.
    
    Testing:
     - verified manually that GetFunctionState() is present in
       libImpalaUdf.a
    
    Change-Id: I7e8ad94931ced21f386e4981f36e0cf7e700ffaf
    Reviewed-on: http://gerrit.cloudera.org:8080/22609
    Reviewed-by: Csaba Ringhofer <[email protected]>
    Tested-by: Impala Public Jenkins <[email protected]>
---
 be/src/udf/CMakeLists.txt | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/be/src/udf/CMakeLists.txt b/be/src/udf/CMakeLists.txt
index 89475a5ae..eaf30bd17 100644
--- a/be/src/udf/CMakeLists.txt
+++ b/be/src/udf/CMakeLists.txt
@@ -22,7 +22,8 @@ set(LIBRARY_OUTPUT_PATH "${BUILD_OUTPUT_ROOT_DIRECTORY}/udf")
 # where to put generated binaries
 set(EXECUTABLE_OUTPUT_PATH "${BUILD_OUTPUT_ROOT_DIRECTORY}/udf")
 
-add_library(UdfIr udf-ir.cc)
+set(UDF_IR_SRC_FILES udf-ir.cc)
+add_library(UdfIr ${UDF_IR_SRC_FILES})
 add_dependencies(UdfIr gen-deps)
 
 set(UDF_SRC_FILES
@@ -33,10 +34,13 @@ set(UDF_SRC_FILES
 # Build this library twice. Once to be linked into the main impalad. This 
version
 # can have dependencies on our other libs. The second version is shipped as 
part
 # of the UDF sdk, which can't use other libs.
+# Note that '${UDF_IR_SRC_FILES}' is not needed in 'Udf' because it will be 
linked
+# together with 'UdfIr' as part of the Impala binary, but 'ImpalaUdf' needs it 
because it
+# is shipped separately.
 add_library(Udf ${UDF_SRC_FILES})
 add_dependencies(Udf gen-deps)
 
-add_library(ImpalaUdf ${UDF_SRC_FILES})
+add_library(ImpalaUdf ${UDF_SRC_FILES} ${UDF_IR_SRC_FILES})
 add_dependencies(ImpalaUdf gen-deps)
 set_target_properties(ImpalaUdf PROPERTIES COMPILE_FLAGS 
"-DIMPALA_UDF_SDK_BUILD")
 

Reply via email to