2017-10-09 23:17:21 +00:00
|
|
|
# Copyright 2017 The Chromium Authors. All rights reserved.
|
|
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
|
|
# found in the LICENSE file.
|
|
|
|
#
|
2020-08-12 20:42:51 +00:00
|
|
|
# Copyright 2018 Google Inc.
|
|
|
|
#
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at
|
|
|
|
#
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
|
|
|
#
|
|
|
|
################################################################################
|
2017-10-09 23:17:21 +00:00
|
|
|
# Defines a docker image that can build cras fuzzers.
|
|
|
|
#
|
|
|
|
FROM gcr.io/oss-fuzz-base/base-builder
|
|
|
|
|
|
|
|
RUN apt-get -y update && \
|
|
|
|
apt-get install -y \
|
|
|
|
automake \
|
|
|
|
build-essential \
|
|
|
|
cmake \
|
|
|
|
g++ \
|
|
|
|
git \
|
|
|
|
ladspa-sdk \
|
|
|
|
libasound-dev \
|
|
|
|
libdbus-1-dev \
|
|
|
|
libgtest-dev \
|
|
|
|
libncurses5-dev \
|
|
|
|
libsbc-dev \
|
|
|
|
libsndfile-dev \
|
|
|
|
libspeexdsp-dev \
|
2020-08-12 20:42:51 +00:00
|
|
|
libsystemd-dev \
|
2017-10-09 23:17:21 +00:00
|
|
|
libtool \
|
|
|
|
libudev-dev \
|
2017-10-10 14:58:50 +00:00
|
|
|
wget \
|
2021-04-19 09:16:40 +00:00
|
|
|
vim \
|
2017-10-10 14:58:50 +00:00
|
|
|
zip
|
2017-10-09 23:17:21 +00:00
|
|
|
RUN apt-get clean
|
|
|
|
RUN cd /tmp && git clone https://github.com/ndevilla/iniparser.git && \
|
|
|
|
cd iniparser && \
|
|
|
|
make && \
|
|
|
|
cp libiniparser.* /usr/local/lib && \
|
|
|
|
cp src/dictionary.h src/iniparser.h /usr/local/include && \
|
|
|
|
chmod 644 /usr/local/include/dictionary.h /usr/local/include/iniparser.h && \
|
|
|
|
chmod 644 /usr/local/lib/libiniparser.a && \
|
|
|
|
chmod 755 /usr/local/lib/libiniparser.so.*
|
2020-08-12 20:42:51 +00:00
|
|
|
|
|
|
|
RUN cd /tmp && git clone https://github.com/google/googletest.git -b v1.8.x && \
|
|
|
|
cd googletest && \
|
|
|
|
mkdir build && cd build && \
|
|
|
|
cmake .. -DBUILD_SHARED_LIBS=ON \
|
|
|
|
-DINSTALL_GTEST=ON \
|
|
|
|
-DCMAKE_INSTALL_PREFIX:PATH=/usr && \
|
|
|
|
make && make install
|
2017-10-09 23:17:21 +00:00
|
|
|
|
|
|
|
# Need to build and install alsa so there is a static lib.
|
|
|
|
RUN mkdir -p /tmp/alsa-build && cd /tmp/alsa-build && \
|
|
|
|
wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.1.4.1.tar.bz2 && \
|
|
|
|
bzip2 -f -d alsa-lib-* && \
|
|
|
|
tar xf alsa-lib-* && \
|
|
|
|
cd alsa-lib-* && \
|
|
|
|
./configure --enable-static --disable-shared && \
|
|
|
|
make clean && \
|
|
|
|
make -j$(nproc) all && \
|
|
|
|
make install
|
|
|
|
|
|
|
|
|
|
|
|
RUN cd $SRC && git clone https://chromium.googlesource.com/chromiumos/third_party/adhd
|
|
|
|
WORKDIR adhd/cras
|
|
|
|
COPY build.sh $SRC/
|