aboutsummaryrefslogtreecommitdiff
path: root/projects/wolfssl
diff options
context:
space:
mode:
authorlevi-wolfssl <levi@wolfssl.com>2017-07-14 14:39:47 -0600
committerOliver Chang <oliverchang@users.noreply.github.com>2017-07-14 13:39:47 -0700
commit270f4d7f9f93ca3265eb100e7f3ff6bbc043e183 (patch)
tree6cdf83a9953874febbf3ee991cfe2d44fc8194f3 /projects/wolfssl
parent5679d7a419b6f44330e16cf4b4a60d267e38e04c (diff)
downloadoss-fuzz-270f4d7f9f93ca3265eb100e7f3ff6bbc043e183.tar.gz
[wolfSSL] build files (#715)
* [wolfSSL] build files * [wolfSSL] rework build file to use external make
Diffstat (limited to 'projects/wolfssl')
-rw-r--r--projects/wolfssl/Dockerfile26
-rwxr-xr-xprojects/wolfssl/build.sh34
2 files changed, 60 insertions, 0 deletions
diff --git a/projects/wolfssl/Dockerfile b/projects/wolfssl/Dockerfile
new file mode 100644
index 000000000..3d419488d
--- /dev/null
+++ b/projects/wolfssl/Dockerfile
@@ -0,0 +1,26 @@
+# 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 gcr.io/oss-fuzz-base/base-builder
+MAINTAINER levi@wolfssl.com
+
+RUN apt-get update && apt-get install -y make autoconf automake libtool zip
+RUN git clone https://github.com/wolfssl/wolfssl --depth 1 $SRC/wolfssl
+RUN git clone https://github.com/wolfssl/oss-fuzz-targets --depth 1 $SRC/fuzz-targets
+
+WORKDIR wolfssl
+
+COPY build.sh $SRC/
diff --git a/projects/wolfssl/build.sh b/projects/wolfssl/build.sh
new file mode 100755
index 000000000..50fe15354
--- /dev/null
+++ b/projects/wolfssl/build.sh
@@ -0,0 +1,34 @@
+#!/bin/bash -eu
+# 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.
+#
+################################################################################
+
+# target_dir determined by Dockerfile
+target_dir="$SRC/fuzz-targets"
+
+# build wolfssl
+./autogen.sh
+./configure --enable-static --disable-shared --prefix=/usr CC="clang"
+make -j "$(nproc)" all
+make install
+
+# put linker arguments into the environment, appending to any existing ones
+export LDFLAGS="${LDFLAGS-""}"
+export LDLIBS="${LDLIBS-""} -lwolfssl -lFuzzingEngine"
+
+# make and export targets to $OUT; environment overridding internal variables
+cd "${target_dir}"
+make -e all
+make -e export prefix="$OUT"