Skip to content

Latest commit

 

History

History
142 lines (102 loc) · 2.99 KB

File metadata and controls

142 lines (102 loc) · 2.99 KB

Build Instructions

Overview

AAMP is built on top of GStreamer and uses CMake as its build system. This document consolidates build instructions for all supported platforms.

Prerequisites

Common Dependencies

  • CMake 3.14+
  • GCC/Clang with C++17 support
  • GStreamer 1.x development files
  • OpenSSL development files
  • libcurl development files

Ubuntu/Debian

sudo apt-get update
sudo apt-get install -y \
  build-essential \
  cmake \
  libgstreamer1.0-dev \
  libgstreamer-plugins-base1.0-dev \
  libssl-dev \
  libcurl4-openssl-dev \
  pkg-config \
  libxml2-dev

For detailed Ubuntu setup, see UbuntuSetup.md.

Building AAMP

Standard Build

cd /path/to/aamp
mkdir -p build
cd build
cmake ..
make -j$(nproc)

Debug Build

cmake -DCMAKE_BUILD_TYPE=Debug ..
make -j$(nproc)

Install

make install

The default install prefix is /usr/local. To change it:

cmake -DCMAKE_INSTALL_PREFIX=/opt/aamp ..

Unit Tests

L1 Unit Tests (Microtests)

Build and run L1 unit tests:

cd /path/to/aamp
mkdir -p build
cd build
cmake -DENABLE_UNIT_TESTS=ON ..
make -j$(nproc)
ctest --verbose

For comprehensive test documentation, see TESTING.md.

DRM Tests

Additional setup may be required for DRM-related tests. See test/utests/drm/README.md for details.

Build Flags

Flag Type Description
CMAKE_BUILD_TYPE String Debug or Release (default: Release)
CMAKE_INSTALL_PREFIX Path Installation directory (default: /usr/local)
ENABLE_UNIT_TESTS Boolean Build L1 unit tests (default: OFF)
ENABLE_SIMULATOR Boolean Build AAMP simulator (default: OFF)

Troubleshooting

Common Build Issues

GStreamer not found:

pkg-config --cflags --libs gstreamer-1.0

Missing OpenSSL:

brew install openssl  # macOS
sudo apt-get install libssl-dev  # Ubuntu

For more troubleshooting help, see TROUBLESHOOTING.md.

CI/CD

All changes are validated through the CI pipeline before merge. Tests must pass locally before submission:

make test  # or ctest

Further Reading