-march updates

This commit is contained in:
2025-09-03 20:50:33 -05:00
parent 19bb49a982
commit 0fe6f2423f
2 changed files with 11 additions and 11 deletions

10
Jenkinsfile vendored
View File

@@ -18,7 +18,7 @@ pipeline {
stage('build docker image') { stage('build docker image') {
matrix { matrix {
axes { axes {
axis { name 'DISTRO'; values 'ubuntu-24.04', 'fedora-42', 'fedora-41', 'debian-13', 'archlinux-latest' } axis { name 'DISTRO'; values 'ubuntu-24.04', 'fedora-42', 'debian-13', 'archlinux-latest' }
} }
stages { stages {
stage('build multiarch image') { stage('build multiarch image') {
@@ -51,14 +51,14 @@ pipeline {
stage('build ffmpeg on linux') { stage('build ffmpeg on linux') {
matrix { matrix {
axes { axes {
axis { name 'LABEL_ARCH'; values 'arm64', 'amd64' } axis { name 'ARCH'; values 'armv8-a', 'x86-64-v3' }
axis { name 'DISTRO'; values 'ubuntu-24.04', 'fedora-42', 'fedora-41', 'debian-13', 'archlinux-latest' } axis { name 'DISTRO'; values 'ubuntu-24.04', 'fedora-42', 'debian-13', 'archlinux-latest' }
axis { name 'OPT_LTO'; values 'OPT=0 LTO=false', 'OPT=2 LTO=false', 'OPT=3 LTO=true' } axis { name 'OPT_LTO'; values 'OPT=0 LTO=false', 'OPT=3 LTO=true' }
axis { name 'STATIC'; values 'true', 'false' } axis { name 'STATIC'; values 'true', 'false' }
} }
stages { stages {
stage('build ffmpeg on linux using docker') { stage('build ffmpeg on linux using docker') {
agent { label "linux && ${LABEL_ARCH}" } agent { label "linux && ${ARCH}" }
steps { steps {
withDockerCreds { withDockerCreds {
sh "STATIC=${STATIC} ${OPT_LTO} ./scripts/docker_run_image.sh ${DISTRO}" sh "STATIC=${STATIC} ${OPT_LTO} ./scripts/docker_run_image.sh ${DISTRO}"

View File

@@ -120,17 +120,17 @@ set_compile_opts() {
fi fi
# architecture/cpu compile flags # architecture/cpu compile flags
# arm prefers -mcpu over -march # arm prefers -mcpu over -march for native builds
# https://community.arm.com/arm-community-blogs/b/tools-software-ides-blog/posts/compiler-flags-across-architectures-march-mtune-and-mcpu # https://community.arm.com/arm-community-blogs/b/tools-software-ides-blog/posts/compiler-flags-across-architectures-march-mtune-and-mcpu
# and can fail static builds with -fpic
# warning: too many GOT entries for -fpic, please recompile with -fPIC
local arch_flags=() local arch_flags=()
if [[ ${HOSTTYPE} == "x86_64" ]]; then if [[ ${HOSTTYPE} == "aarch64" && "${CPU}" == 'native' ]]; then
arch_flags+=("-march=${CPU}")
elif [[ ${HOSTTYPE} == "aarch64" ]]; then
arch_flags+=("-mcpu=${CPU}") arch_flags+=("-mcpu=${CPU}")
else
arch_flags+=("-march=${CPU}")
fi fi
# can fail static builds with -fpic
# warning: too many GOT entries for -fpic, please recompile with -fPIC
C_FLAGS+=("${arch_flags[@]}" "-fPIC") C_FLAGS+=("${arch_flags[@]}" "-fPIC")
CXX_FLAGS=("${C_FLAGS[@]}") CXX_FLAGS=("${C_FLAGS[@]}")
CPP_FLAGS=("${C_FLAGS[@]}") CPP_FLAGS=("${C_FLAGS[@]}")