From df7eb1f25838043f60c75cec8a51493f300a2332 Mon Sep 17 00:00:00 2001 From: Mike Aizatsky Date: Tue, 26 Jul 2016 15:25:13 -0700 Subject: [PATCH] [freetype2] migrating freetype2 project --- freetype2/Dockerfile | 22 ++++++++++++++++++++++ freetype2/Jenkinsfile | 24 ++++++++++++++++++++++++ freetype2/build.sh | 31 +++++++++++++++++++++++++++++++ 3 files changed, 77 insertions(+) create mode 100644 freetype2/Dockerfile create mode 100644 freetype2/Jenkinsfile create mode 100755 freetype2/build.sh diff --git a/freetype2/Dockerfile b/freetype2/Dockerfile new file mode 100644 index 000000000..c440065fa --- /dev/null +++ b/freetype2/Dockerfile @@ -0,0 +1,22 @@ +# Copyright 2016 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. +# +################################################################################ + +FROM ossfuzz/base-libfuzzer +MAINTAINER mike.aizatsky@gmail.com +RUN apt-get install -y autoconf libtool libarchive-dev + +CMD /src/oss-fuzz/freetype2/build.sh + diff --git a/freetype2/Jenkinsfile b/freetype2/Jenkinsfile new file mode 100644 index 000000000..0f84f1a1c --- /dev/null +++ b/freetype2/Jenkinsfile @@ -0,0 +1,24 @@ +// Copyright 2016 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. +// +//////////////////////////////////////////////////////////////////////////////// + +def libfuzzerBuild = fileLoader.fromGit('infra/libfuzzer-pipeline.groovy', + 'https://github.com/google/oss-fuzz.git', 'master', null, '') + +libfuzzerBuild { + git = "git://git.sv.nongnu.org/freetype/freetype2.git" + dockerfile = "oss-fuzz/freetype2/Dockerfile" +} + diff --git a/freetype2/build.sh b/freetype2/build.sh new file mode 100755 index 000000000..939ce24c3 --- /dev/null +++ b/freetype2/build.sh @@ -0,0 +1,31 @@ +#!/bin/bash -eux +# +# Copyright 2016 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. +# +################################################################################ +. /env + +cd /workspace/ + +./autogen.sh +./configure +make + +$CXX $CXXFLAGS -std=c++11 ./src/tools/ftfuzzer/ftfuzzer.cc \ + ./objs/*.o /work/libfuzzer/*.o \ + -nodefaultlibs -Wl,-Bdynamic -lpthread -lrt -lm -ldl -lgcc_s -lgcc -lc \ + -Wl,-Bstatic -lc++ -lc++abi \ + -larchive -I./include -I. ./objs/.libs/libfreetype.a \ + -o /out/freetype2_fuzzer