You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by li...@apache.org on 2023/04/12 11:03:44 UTC
[arrow-adbc] branch main updated: refactor(c/driver/shared): created shared util library for drivers (#582)
This is an automated email from the ASF dual-hosted git repository.
lidavidm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-adbc.git
The following commit(s) were added to refs/heads/main by this push:
new 851c1bd refactor(c/driver/shared): created shared util library for drivers (#582)
851c1bd is described below
commit 851c1bd29379f986da9eacb6ceb1395a4c056cb4
Author: William Ayd <wi...@icloud.com>
AuthorDate: Wed Apr 12 04:03:39 2023 -0700
refactor(c/driver/shared): created shared util library for drivers (#582)
Per lidavidm comment
https://github.com/apache/arrow-adbc/pull/577#discussion_r1161364187
made this act similar to the current nanoarrow setup
---
c/cmake_modules/AdbcDefines.cmake | 9 +++++++++
c/driver/{sqlite => common}/utils.c | 0
c/driver/{sqlite => common}/utils.h | 0
c/driver/sqlite/CMakeLists.txt | 4 +++-
r/adbcsqlite/bootstrap.R | 4 ++--
5 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/c/cmake_modules/AdbcDefines.cmake b/c/cmake_modules/AdbcDefines.cmake
index 761d71c..9d15e99 100644
--- a/c/cmake_modules/AdbcDefines.cmake
+++ b/c/cmake_modules/AdbcDefines.cmake
@@ -69,6 +69,15 @@ set_target_properties(nanoarrow
"${REPOSITORY_ROOT}/c/vendor/"
POSITION_INDEPENDENT_CODE ON)
+# ADBC libraries shared across multiple drivers
+add_library(adbc_driver_common STATIC EXCLUDE_FROM_ALL
+ ${REPOSITORY_ROOT}/c/driver/common/utils.c)
+set_target_properties(adbc_driver_common
+ PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
+ "${REPOSITORY_ROOT}/c/driver/common"
+ POSITION_INDEPENDENT_CODE ON)
+target_link_libraries(adbc_driver_common nanoarrow)
+
# Set common build options
macro(adbc_configure_target TARGET)
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
diff --git a/c/driver/sqlite/utils.c b/c/driver/common/utils.c
similarity index 100%
rename from c/driver/sqlite/utils.c
rename to c/driver/common/utils.c
diff --git a/c/driver/sqlite/utils.h b/c/driver/common/utils.h
similarity index 100%
rename from c/driver/sqlite/utils.h
rename to c/driver/common/utils.h
diff --git a/c/driver/sqlite/CMakeLists.txt b/c/driver/sqlite/CMakeLists.txt
index 0dcc864..f0b5b38 100644
--- a/c/driver/sqlite/CMakeLists.txt
+++ b/c/driver/sqlite/CMakeLists.txt
@@ -40,7 +40,6 @@ add_arrow_lib(adbc_driver_sqlite
SOURCES
sqlite.c
statement_reader.c
- utils.c
OUTPUTS
ADBC_LIBRARIES
CMAKE_PACKAGE_NAME
@@ -51,9 +50,11 @@ add_arrow_lib(adbc_driver_sqlite
${ADBC_LINK_FLAGS}
SHARED_LINK_LIBS
${SQLite3_LINK_LIBRARIES}
+ adbc_driver_common
nanoarrow
STATIC_LINK_LIBS
${SQLite3_LINK_LIBRARIES}
+ adbc_driver_common
nanoarrow
${LIBPQ_STATIC_LIBRARIES})
include_directories(SYSTEM ${REPOSITORY_ROOT})
@@ -78,6 +79,7 @@ if(ADBC_BUILD_TESTS)
../../validation/adbc_validation.cc
../../validation/adbc_validation_util.cc
EXTRA_LINK_LIBS
+ adbc_driver_common
nanoarrow
${TEST_LINK_LIBS})
target_compile_features(adbc-driver-sqlite-test PRIVATE cxx_std_17)
diff --git a/r/adbcsqlite/bootstrap.R b/r/adbcsqlite/bootstrap.R
index 3379b25..53d72cb 100644
--- a/r/adbcsqlite/bootstrap.R
+++ b/r/adbcsqlite/bootstrap.R
@@ -23,8 +23,8 @@ files_to_vendor <- c(
"../../c/driver/sqlite/statement_reader.c",
"../../c/driver/sqlite/statement_reader.h",
"../../c/driver/sqlite/types.h",
- "../../c/driver/sqlite/utils.c",
- "../../c/driver/sqlite/utils.h",
+ "../../c/driver/common/utils.c",
+ "../../c/driver/common/utils.h",
"../../c/vendor/nanoarrow/nanoarrow.h",
"../../c/vendor/nanoarrow/nanoarrow.c",
"../../c/vendor/sqlite3/sqlite3.h",