You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
142 lines
4.1 KiB
142 lines
4.1 KiB
# FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
|
|
# Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 2 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
#
|
|
# Any non-GPL usage of this software or parts of this software is strictly
|
|
# forbidden.
|
|
#
|
|
# The "appropriate copyright message" mentioned in section 2c of the GPLv2
|
|
# must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
|
|
#
|
|
# Commercial non-GPL licensing of this software is possible.
|
|
# For more info contact Nero AG through Mpeg4AAClicense@nero.com.
|
|
|
|
name: Build
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
pull_request:
|
|
types: [opened, reopened, labeled, synchronize]
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
|
|
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
|
|
jobs:
|
|
BuildWithBazel:
|
|
runs-on: ubuntu-latest
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
|
|
steps:
|
|
- name: Checkout the source
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: false
|
|
fetch-depth: 1
|
|
- name: Configure and build
|
|
run: |
|
|
bazel build :all
|
|
|
|
BuildWithCMake:
|
|
runs-on: ${{ matrix.os || 'ubuntu-latest' }}
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- name: Clang Shared
|
|
cc: clang
|
|
cxx: clang++
|
|
cflags: -Wall -fcolor-diagnostics -fansi-escape-codes
|
|
shared: 'true'
|
|
- name: Clang Static
|
|
cc: clang
|
|
cxx: clang++
|
|
cflags: -Wall -fcolor-diagnostics -fansi-escape-codes -O2 -Werror=strict-aliasing
|
|
- name: GCC Static
|
|
cc: gcc
|
|
cxx: g++
|
|
cflags: -Wall -fdiagnostics-color=always -O2 -Werror=strict-aliasing
|
|
- name: MSVC
|
|
os: windows-latest
|
|
cmake_args: >-
|
|
-G "Visual Studio 17 2022" -A x64
|
|
- name: OSX
|
|
os: macos-latest
|
|
|
|
env:
|
|
CC: ${{ matrix.cc || 'cc' }}
|
|
CXX: ${{ matrix.cxx || 'cxx' }}
|
|
CFLAGS: ${{ matrix.cflags || '-Wall' }}
|
|
CXXFLAGS: ${{ matrix.cflags || '-Wall' }}
|
|
SHARED: ${{ matrix.shared || 'false' }}
|
|
|
|
steps:
|
|
- name: Checkout the source
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: false
|
|
fetch-depth: 1
|
|
- name: Configure and build
|
|
shell: bash
|
|
run: |
|
|
export NUM_CORES=`nproc || getconf _NPROCESSORS_ONLN`
|
|
cmake -B build . \
|
|
-DCMAKE_INSTALL_PREFIX=$RUNNER_TEMP/usrlocal \
|
|
-DBUILD_SHARED_LIBS=${SHARED} \
|
|
${{ matrix.cmake_args }}
|
|
cmake --build build -j ${NUM_CORES}
|
|
cmake --install build
|
|
|
|
BuildOnMsys:
|
|
name: BuildOnMsys (${{ matrix.msystem }})
|
|
runs-on: windows-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- msystem: mingw64
|
|
- msystem: clang64
|
|
- msystem: ucrt64
|
|
- msystem: mingw32
|
|
- msystem: clang32
|
|
defaults:
|
|
run:
|
|
shell: msys2 {0}
|
|
steps:
|
|
- name: Checkout the source
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: false
|
|
fetch-depth: 1
|
|
- uses: msys2/setup-msys2@v2
|
|
with:
|
|
msystem: ${{ matrix.msystem }}
|
|
update: true
|
|
path-type: inherit
|
|
install: >-
|
|
base-devel
|
|
pacboy: >-
|
|
cmake:p
|
|
- name: Configure and build
|
|
run: |
|
|
cmake -B build . \
|
|
-DCMAKE_INSTALL_PREFIX=$RUNNER_TEMP/usrlocal \
|
|
-DBUILD_SHARED_LIBS=${SHARED}
|
|
cmake --build build -j `nproc`
|
|
cmake --install build
|
|
|