From 81c9cacef01e4c0bd6d4ba36e16c5f32dd390d57 Mon Sep 17 00:00:00 2001 From: Unsung Lee Date: Tue, 18 Mar 2025 14:49:00 +0900 Subject: [PATCH] Exclude static linking for TV build Exclude code of static linking in spec and CMakeLists for TV build environment. This is because there are no static packages in TV build environment. Change-Id: I3e720b12e6efee4bffe73caef84700c9886e4701 Signed-off-by: Unsung Lee --- delta-verifier/CMakeLists.txt | 18 +++++++++++++++--- packaging/update-control.spec | 15 ++++++++++++++- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/delta-verifier/CMakeLists.txt b/delta-verifier/CMakeLists.txt index 57e4f56..ac2042b 100644 --- a/delta-verifier/CMakeLists.txt +++ b/delta-verifier/CMakeLists.txt @@ -4,19 +4,31 @@ SET(SRCS delta-verifier.c ) -SET(ADD_LIBS libcapi-system-info.a libcapi-base-common.a libglib-2.0.a libc.a libdlog.a) - SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -I./include") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIE") -SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie -static") SET(EXECNAME "delta-verifier") ADD_EXECUTABLE(${EXECNAME} ${SRCS}) +if(STATIC_LINKING EQUAL 1) +SET(ADD_LIBS libcapi-system-info.a libcapi-base-common.a libglib-2.0.a libc.a libdlog.a) +SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie -static") + SET_TARGET_PROPERTIES(${EXECNAME} PROPERTIES LINK_SEARCH_START_STATIC ON LINK_SEARCH_END_STATIC ON ) +else() +SET(ADD_LIBS "") +SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie") + +INCLUDE(FindPkgConfig) +pkg_check_modules(${PROJECT_NAME}_pkgs REQUIRED capi-system-info) + +FOREACH(flag ${${PROJECT_NAME}_pkgs_CFLAGS}) + SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") +ENDFOREACH(flag) +endif() TARGET_LINK_LIBRARIES(${EXECNAME} PRIVATE ${${PROJECT_NAME}_pkgs_LDFLAGS} "-g" "-pthread" ${ADD_LIBS}) INSTALL(TARGETS ${EXECNAME} DESTINATION bin) diff --git a/packaging/update-control.spec b/packaging/update-control.spec index ae11629..1637484 100644 --- a/packaging/update-control.spec +++ b/packaging/update-control.spec @@ -1,3 +1,9 @@ +%if "%{?tizen_profile_name}" == "tv" +%define WITH_VD 1 +%else +%define WITH_VD 0 +%endif + # update manager %define dbus_conf_directory %{_sysconfdir}/dbus-1/system.d %define dbus_conf_file update-manager.conf @@ -30,11 +36,13 @@ BuildRequires: pkgconfig(vconf) BuildRequires: pkgconfig(libsyscommon-plugin-api-update-control) BuildRequires: libtar-devel BuildRequires: python3-setuptools +%if "%{?WITH_VD}" == "0" BuildRequires: glibc-devel-static BuildRequires: glib2-devel-static BuildRequires: capi-system-info-devel-static BuildRequires: capi-base-common-devel-static BuildRequires: libdlog-devel-static +%endif %description An Update Control library in Tizen C API @@ -81,7 +89,12 @@ export CFLAGS+=" -Wno-stringop-truncation" -DFULLVER=%{version} \ -DDEBUG_MODE=on \ -DBINARY_PATH=%{_bindir} \ - -DGCOV=%{?gcov:1}%{!?gcov:0} + -DGCOV=%{?gcov:1}%{!?gcov:0} \ +%if "%{?WITH_VD}" == "1" + -DSTATIC_LINKING=0 +%else + -DSTATIC_LINKING=1 +%endif %__make %{?jobs:-j%jobs} -- 2.34.1