Skip to content

Commit ebabe73

Browse files
committed
More CI, libbenchmark version update, readme update
1 parent 6498ae4 commit ebabe73

File tree

6 files changed

+65
-9
lines changed

6 files changed

+65
-9
lines changed

.github/build_windows_openssl_old.bat

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64
22
mkdir build
33
cd build
4-
cmd.exe /c cmake -G "NMake Makefiles" -DBUILD_LEGACY_OPENSSL_VERSION=ON ..
5-
cmake -G "NMake Makefiles" -DBUILD_TEST=TRUE -DBUILD_LEGACY_OPENSSL_VERSION=ON -DEXT_PTHREAD_INCLUDE_DIR="C:/tools/pthreads-w32-2-9-1-release/Pre-built.2/include/" -DEXT_PTHREAD_LIBRARIES="C:/tools/pthreads-w32-2-9-1-release/Pre-built.2/lib/x64/libpthreadGC2.a" ..
4+
cmd.exe /c cmake -G "NMake Makefiles" -DBUILD_OLD_OPENSSL_VERSION=ON ..
5+
cmake -G "NMake Makefiles" -DBUILD_TEST=TRUE --DBUILD_OLD_OPENSSL_VERSION=ON -DEXT_PTHREAD_INCLUDE_DIR="C:/tools/pthreads-w32-2-9-1-release/Pre-built.2/include/" -DEXT_PTHREAD_LIBRARIES="C:/tools/pthreads-w32-2-9-1-release/Pre-built.2/lib/x64/libpthreadGC2.a" ..
66
nmake

.github/workflows/ci.yml

+55-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ on:
55
branches:
66
- develop
77
- master
8-
- openssl-3.1.3
98
pull_request:
109
branches:
1110
- develop
@@ -487,7 +486,7 @@ jobs:
487486
# TODO: Remove the following line. This is only a workaround for enabling IPv6, https://github.com/travis-ci/travis-ci/issues/8891.
488487
sudo sh -c 'echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6'
489488
mkdir build && cd build
490-
cmake .. -DBUILD_TEST=TRUE -DBUILD_LEGACY_OPENSSL_VERSION=ON
489+
cmake .. -DBUILD_TEST=TRUE -DBUILD_OLD_OPENSSL_VERSION=ON
491490
make
492491
- name: Run tests
493492
run: |
@@ -646,6 +645,24 @@ jobs:
646645
mkdir build && cd build
647646
cmake .. -DBUILD_OPENSSL=TRUE -DBUILD_OPENSSL_PLATFORM=linux-generic64 -DBUILD_LIBSRTP_HOST_PLATFORM=x86_64-unknown-linux-gnu -DBUILD_LIBSRTP_DESTINATION_PLATFORM=arm-unknown-linux-uclibcgnueabi
648647
make
648+
arm64-cross-compilation-openssl-old:
649+
runs-on: ubuntu-20.04
650+
env:
651+
CC: aarch64-linux-gnu-gcc
652+
CXX: aarch64-linux-gnu-g++
653+
steps:
654+
- name: Install dependencies
655+
run: |
656+
sudo apt clean && sudo apt update
657+
sudo apt-get -y install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu binutils-aarch64-linux-gnu
658+
- name: Clone repository
659+
uses: actions/checkout@v3
660+
- name: Build Repository
661+
run: |
662+
sudo sh -c 'echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6'
663+
mkdir build && cd build
664+
cmake .. -DBUILD_OPENSSL=TRUE -DBUILD_OPENSSL_PLATFORM=linux-generic64 -DBUILD_OLD_OPENSSL_VERSION=ON -DBUILD_LIBSRTP_HOST_PLATFORM=x86_64-unknown-linux-gnu -DBUILD_LIBSRTP_DESTINATION_PLATFORM=arm-unknown-linux-uclibcgnueabi
665+
make
649666
linux-aarch64-cross-compilation:
650667
runs-on: ubuntu-20.04
651668
env:
@@ -664,6 +681,24 @@ jobs:
664681
mkdir build && cd build
665682
cmake .. -DBUILD_OPENSSL=TRUE -DBUILD_OPENSSL_PLATFORM=linux-aarch64 -DBUILD_LIBSRTP_HOST_PLATFORM=x86_64-unknown-linux-gnu -DBUILD_LIBSRTP_DESTINATION_PLATFORM=arm-unknown-linux-uclibcgnueabi
666683
make
684+
linux-aarch64-cross-compilation-openssl-old:
685+
runs-on: ubuntu-20.04
686+
env:
687+
CC: aarch64-linux-gnu-gcc
688+
CXX: aarch64-linux-gnu-g++
689+
steps:
690+
- name: Install dependencies
691+
run: |
692+
sudo apt clean && sudo apt update
693+
sudo apt-get -y install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu binutils-aarch64-linux-gnu
694+
- name: Clone repository
695+
uses: actions/checkout@v3
696+
- name: Build Repository
697+
run: |
698+
sudo sh -c 'echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6'
699+
mkdir build && cd build
700+
cmake .. -DBUILD_OPENSSL=TRUE -DBUILD_OPENSSL_PLATFORM=linux-aarch64 -DBUILD_OLD_OPENSSL_VERSION=ON -DBUILD_LIBSRTP_HOST_PLATFORM=x86_64-unknown-linux-gnu -DBUILD_LIBSRTP_DESTINATION_PLATFORM=arm-unknown-linux-uclibcgnueabi
701+
make
667702
arm32-cross-compilation:
668703
runs-on: ubuntu-20.04
669704
env:
@@ -681,4 +716,22 @@ jobs:
681716
sudo sh -c 'echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6'
682717
mkdir build && cd build
683718
cmake .. -DBUILD_OPENSSL=TRUE -DBUILD_OPENSSL_PLATFORM=linux-generic32 -DBUILD_LIBSRTP_HOST_PLATFORM=x86_64-unknown-linux-gnu -DBUILD_LIBSRTP_DESTINATION_PLATFORM=arm-unknown-linux-uclibcgnueabi
719+
make
720+
arm32-cross-compilation-openssl-old:
721+
runs-on: ubuntu-20.04
722+
env:
723+
CC: arm-linux-gnueabi-gcc
724+
CXX: arm-linux-gnueabi-g++
725+
steps:
726+
- name: Install dependencies
727+
run: |
728+
sudo apt clean && sudo apt update
729+
sudo apt-get -y install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi binutils-arm-linux-gnueabi
730+
- name: Clone repository
731+
uses: actions/checkout@v3
732+
- name: Build Repository
733+
run: |
734+
sudo sh -c 'echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6'
735+
mkdir build && cd build
736+
cmake .. -DBUILD_OPENSSL=TRUE -DBUILD_OPENSSL_PLATFORM=linux-generic32 -DBUILD_OLD_OPENSSL_VERSION=ON -DBUILD_LIBSRTP_HOST_PLATFORM=x86_64-unknown-linux-gnu -DBUILD_LIBSRTP_DESTINATION_PLATFORM=arm-unknown-linux-uclibcgnueabi
684737
make

CMake/Dependencies/libbenchmark-CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ include(ExternalProject)
77
ExternalProject_Add(
88
project_libbenchmark
99
GIT_REPOSITORY https://github.com/google/benchmark
10-
GIT_TAG v1.5.1
10+
GIT_TAG v1.8.3
1111
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/build
1212
CMAKE_ARGS
1313
-DCMAKE_INSTALL_PREFIX=${OPEN_SRC_INSTALL_PREFIX}

CMake/Dependencies/libopenssl-CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.6.3)
22

33
project(libopenssl-download NONE)
44

5-
if(BUILD_LEGACY_OPENSSL_VERSION)
5+
if(BUILD_OLD_OPENSSL_VERSION)
66
SET(OPENSSL_GIT_TAG "OpenSSL_1_1_1w")
77
else()
88
SET(OPENSSL_GIT_TAG "openssl-3.1.3")

CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ option(BUILD_STATIC_LIBS "Build all libraries statically. (This includes third-p
1616
option(BUILD_OPENSSL_PLATFORM "If buildng OpenSSL what is the target platform" OFF)
1717
option(BUILD_LIBSRTP_HOST_PLATFORM "If buildng LibSRTP what is the current platform" OFF)
1818
option(BUILD_LIBSRTP_DESTINATION_PLATFORM "If buildng LibSRTP what is the destination platform" OFF)
19-
option(BUILD_LEGACY_OPENSSL_VERSION "Builds openssl version 1.1.1w. Note this went EOL in Sept 2023" OFF)
19+
option(BUILD_OLD_OPENSSL_VERSION "Builds openssl version 1.1.1w. Note this went EOL in Sept 2023" OFF)
2020
option(BUILD_SAMPLE "Build available samples" ON)
2121
option(ENABLE_DATA_CHANNEL "Enable support for data channel" ON)
2222
option(ENABLE_KVS_THREADPOOL "Enable support for KVS thread pool in signaling" ON)
@@ -141,7 +141,7 @@ if(BUILD_DEPENDENCIES)
141141
set(BUILD_ARGS -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
142142
-DBUILD_OPENSSL_PLATFORM=${BUILD_OPENSSL_PLATFORM}
143143
-DOPENSSL_EXTRA=${OPENSSL_EXTRA}
144-
-DBUILD_LEGACY_OPENSSL_VERSION=${BUILD_LEGACY_OPENSSL_VERSION})
144+
-DBUILD_OLD_OPENSSL_VERSION=${BUILD_OLD_OPENSSL_VERSION})
145145
build_dependency(openssl ${BUILD_ARGS})
146146
set(OPENSSL_ROOT_DIR ${OPEN_SRC_INSTALL_PREFIX})
147147
elseif(USE_MBEDTLS)

README.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -107,13 +107,16 @@ You can pass the following options to `cmake ..`.
107107
* `-DTHREAD_SANITIZER` -- Build with ThreadSanitizer
108108
* `-DUNDEFINED_BEHAVIOR_SANITIZER` -- Build with UndefinedBehaviorSanitizer
109109
* `-DLINK_PROFILER` -- Link with gperftools (available profiler options are listed [here](https://github.com/gperftools/gperftools))
110+
* `-DENABLE_KVS_THREADPOOL` -- Allows using threadpool within the SDK which provides latency improvements in the WebRTC connection set up process
111+
* `-DBUILD_OLD_OPENSSL_VERSION` -- Allows building openssl 1.1.1w version. Note that 1.1.1x is EOL as of September 2023.
112+
* `-DBUILD_BENCHMARK` -- Builds benchmarking for DTLS
110113

111114
To clean up the `open-source` and `build` folders from previous build, use `cmake --build . --target clean` from the `build` folder
112115

113116
For windows builds, you will have to include additional flags for libwebsockets CMake. Add the following flags to your cmake command, or edit the CMake file in ./CMake/Dependencies/libwebsockets-CMakeLists.txt with the following:
114117

115118
```
116-
cmake .. -DLWS_HAVE_PTHREAD_H=1 -DLWS_EXT_PTHREAD_INCLUDE_DIR="C:\Program Files (x86)\pthreads\include" -DLWS_EXT_PTHREAD_LIBRARIES="C:\Program Files (x86)\pthreads\lib\x64\libpthreadGC2.a" -DLWS_WITH_MINIMAL_EXAMPLES=1
119+
cmake .. -DLWS_HAVE_PTHREAD_H=1 -DLWS_EXT_PTHREAD_INCLUDE_DIR="C:\Program Files (x86)\pthreads\include" -DLWS_EXT_PTHREAD_LIBRARIES="C:\Program Files (x86)\pthreads\lib\x64\libpthreadGC2.a"
117120
```
118121

119122
Be sure to edit the path to whatever pthread library you are using, and the proper path for your environment.

0 commit comments

Comments
 (0)