Skip to content

Commit aa643b0

Browse files
committed
links agains libc++ only when present
1 parent 7447927 commit aa643b0

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

.cirrus.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ linuxarmv7_docker_builder:
3737
docker info
3838
export TAG=${CIRRUS_TAG:-${CIRRUS_BRANCH}}
3939
[ "$TAG" == "master" ] && export TAG=latest
40-
docker build -t $CIRRUS_REPO_FULL_NAME:${TAG}-armv7 . -f Dockerfile.rpi --build-arg ARCH=armv7l --build-arg CROSSCOMPILER=https://altushost-swe.dl.sourceforge.net/project/raspberry-pi-cross-compilers/Raspberry%20Pi%20GCC%20Cross-Compiler%20Toolchains/Buster/GCC%2010.2.0/Raspberry%20Pi%202%2C%203/cross-gcc-10.2.0-pi_2-3.tar.gz --build-arg IMAGE=balenalib/raspberry-pi2
40+
docker build -t $CIRRUS_REPO_FULL_NAME:${TAG}-armv7 . -f Dockerfile.rpi --build-arg IMAGE=balenalib/raspberry-pi2 --build-arg ARCH=armv7l --build-arg CROSSCOMPILER=https://downloads.sourceforge.net/project/raspberry-pi-cross-compilers/Raspberry%20Pi%20GCC%20Cross-Compiler%20Toolchains/Bookworm/GCC%2014.2.0/Raspberry%20Pi%202%2C%203/cross-gcc-14.2.0-pi_2-3.tar.gz
4141
docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
4242
#docker push $CIRRUS_REPO_FULL_NAME:${TAG}-armv7
4343
@@ -59,7 +59,7 @@ linuxarmv6_docker_builder:
5959
docker info
6060
export TAG=${CIRRUS_TAG:-${CIRRUS_BRANCH}}
6161
[ "$TAG" == "master" ] && export TAG=latest
62-
docker build -t $CIRRUS_REPO_FULL_NAME:${TAG}-armv6 . -f Dockerfile.rpi
62+
docker build -t $CIRRUS_REPO_FULL_NAME:${TAG}-armv6 . -f Dockerfile.rpi --build-arg CROSSCOMPILER=https://downloads.sourceforge.net/project/raspberry-pi-cross-compilers/Raspberry%20Pi%20GCC%20Cross-Compiler%20Toolchains/Bookworm/GCC%2014.2.0/Raspberry%20Pi%201%2C%20Zero/cross-gcc-14.2.0-pi_0-1.tar.gz
6363
docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
6464
#docker push $CIRRUS_REPO_FULL_NAME:${TAG}-armv6
6565

CMakeLists.txt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ set (CMAKE_CXX_EXTENSIONS OFF)
2020
# set CMAKE_FIND_ROOT_PATH to search package in WebRTC sysroot
2121
if(CMAKE_SYSTEM_PROCESSOR MATCHES "armv.*")
2222
set (CMAKE_FIND_ROOT_PATH ${WEBRTCROOT}/src/build/linux/debian_bullseye_arm-sysroot)
23+
add_compile_options(--sysroot=${CMAKE_FIND_ROOT_PATH})
2324
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm64")
2425
set (CMAKE_FIND_ROOT_PATH ${WEBRTCROOT}/src/build/linux/debian_bullseye_arm64-sysroot)
2526
add_compile_options(--sysroot=${CMAKE_FIND_ROOT_PATH})
@@ -225,7 +226,16 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
225226
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I${WEBRTCROOT}/src/buildtools/third_party/libc++ -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE")
226227
else()
227228
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I${WEBRTCROOT}/src/buildtools/third_party/libc++ -nostdinc++ -isystem${WEBRTCROOT}/src/third_party/libc++/src/include -isystem${WEBRTCROOT}/src/third_party/libc++abi/src/include -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE")
228-
target_link_libraries(${CMAKE_PROJECT_NAME} "${WEBRTCOBJS}/buildtools/third_party/libc++/${CMAKE_STATIC_LIBRARY_PREFIX}c++${CMAKE_STATIC_LIBRARY_SUFFIX}" "${WEBRTCOBJS}/buildtools/third_party/libc++abi/${CMAKE_STATIC_LIBRARY_PREFIX}c++abi${CMAKE_STATIC_LIBRARY_SUFFIX}")
229+
find_library(LIBC++ NAMES c++ HINTS "${WEBRTCOBJS}/buildtools/third_party" NO_DEFAULT_PATH)
230+
if (LIBC++)
231+
message(STATUS "Found libc++ library at ${LIBC++}")
232+
target_link_libraries(${CMAKE_PROJECT_NAME} "${LIBC++}")
233+
endif()
234+
find_library(LIBC++ABI NAMES c++abi HINTS "${WEBRTCOBJS}/buildtools/third_party" NO_DEFAULT_PATH)
235+
if (LIBC++ABI)
236+
message(STATUS "Found libc++abi library at ${LIBC++ABI}")
237+
target_link_libraries(${CMAKE_PROJECT_NAME} "${LIBC++ABI}")
238+
endif()
229239
endif()
230240
endif()
231241

0 commit comments

Comments
 (0)