about summary refs log tree commit diff
path: root/src/ci
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2018-10-08 10:39:09 -0700
committerAlex Crichton <alex@alexcrichton.com>2018-10-20 18:47:01 -0700
commit4f661c016fe5cb015df1ba26baa9bafb76f51769 (patch)
tree4d416a9dde6c8e855234973414195287d1532e09 /src/ci
parentd5418764ada3ce7b308de7a0e6e260548a635afc (diff)
downloadrust-4f661c016fe5cb015df1ba26baa9bafb76f51769.tar.gz
rust-4f661c016fe5cb015df1ba26baa9bafb76f51769.zip
Update Cargo, build curl/OpenSSL statically via features
In addition to to updating Cargo's submodule and Cargo's dependencies,
this also updates Cargo's build to build OpenSSL statically into Cargo
as well as libcurl unconditionally. This removes OpenSSL build logic
from the bootstrap code, and otherwise requests that even on OSX we
build curl statically.
Diffstat (limited to 'src/ci')
-rw-r--r--src/ci/docker/dist-i686-linux/Dockerfile5
-rw-r--r--src/ci/docker/dist-x86_64-linux/Dockerfile5
-rwxr-xr-xsrc/ci/docker/dist-x86_64-linux/build-perl.sh29
-rwxr-xr-xsrc/ci/run.sh2
4 files changed, 40 insertions, 1 deletions
diff --git a/src/ci/docker/dist-i686-linux/Dockerfile b/src/ci/docker/dist-i686-linux/Dockerfile
index 8a84e474687..d99e409e426 100644
--- a/src/ci/docker/dist-i686-linux/Dockerfile
+++ b/src/ci/docker/dist-i686-linux/Dockerfile
@@ -83,6 +83,11 @@ RUN ./build-git.sh
 COPY dist-x86_64-linux/build-headers.sh /tmp/
 RUN ./build-headers.sh
 
+# OpenSSL requires a more recent version of perl
+# with so we install newer ones here
+COPY dist-x86_64-linux/build-perl.sh /tmp/
+RUN ./build-perl.sh
+
 COPY scripts/sccache.sh /scripts/
 RUN sh /scripts/sccache.sh
 
diff --git a/src/ci/docker/dist-x86_64-linux/Dockerfile b/src/ci/docker/dist-x86_64-linux/Dockerfile
index 7e3cc10b0c1..8696f72e0e3 100644
--- a/src/ci/docker/dist-x86_64-linux/Dockerfile
+++ b/src/ci/docker/dist-x86_64-linux/Dockerfile
@@ -83,6 +83,11 @@ RUN ./build-git.sh
 COPY dist-x86_64-linux/build-headers.sh /tmp/
 RUN ./build-headers.sh
 
+# OpenSSL requires a more recent version of perl
+# with so we install newer ones here
+COPY dist-x86_64-linux/build-perl.sh /tmp/
+RUN ./build-perl.sh
+
 COPY scripts/sccache.sh /scripts/
 RUN sh /scripts/sccache.sh
 
diff --git a/src/ci/docker/dist-x86_64-linux/build-perl.sh b/src/ci/docker/dist-x86_64-linux/build-perl.sh
new file mode 100755
index 00000000000..4715fb55348
--- /dev/null
+++ b/src/ci/docker/dist-x86_64-linux/build-perl.sh
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+# Copyright 2018 The Rust Project Developers. See the COPYRIGHT
+# file at the top-level directory of this distribution and at
+# http://rust-lang.org/COPYRIGHT.
+#
+# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+# option. This file may not be copied, modified, or distributed
+# except according to those terms.
+
+set -ex
+source shared.sh
+
+curl https://www.cpan.org/src/5.0/perl-5.28.0.tar.gz | \
+  tar xzf -
+
+cd perl-5.28.0
+
+# Gotta do some hackery to tell python about our custom OpenSSL build, but other
+# than that fairly normal.
+CC=gcc \
+CFLAGS='-I /rustroot/include' LDFLAGS='-L /rustroot/lib -L /rustroot/lib64' \
+    hide_output ./configure.gnu
+hide_output make -j10
+hide_output make install
+
+cd ..
+rm -rf perl-5.28.0
diff --git a/src/ci/run.sh b/src/ci/run.sh
index 42561cf95d3..a2c271f0fc8 100755
--- a/src/ci/run.sh
+++ b/src/ci/run.sh
@@ -39,7 +39,7 @@ fi
 RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --enable-sccache"
 RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --disable-manage-submodules"
 RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --enable-locked-deps"
-RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --enable-cargo-openssl-static"
+RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --enable-cargo-native-static"
 
 if [ "$DIST_SRC" = "" ]; then
   RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --disable-dist-src"