aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2014-03-09 22:20:36 -0700
committerSteven Fackler <[email protected]>2014-03-09 22:20:36 -0700
commit548cd1e72615afc6c49f49889ddea790d3bcefe3 (patch)
tree197d4d727accd254bf13cdbe60b4d5bdab41e892
parentProperly propogate errors (diff)
downloadrust-openssl-548cd1e72615afc6c49f49889ddea790d3bcefe3.tar.xz
rust-openssl-548cd1e72615afc6c49f49889ddea790d3bcefe3.zip
Add a configure option for SSLv2 support
-rw-r--r--Makefile.in5
-rwxr-xr-xconfigure12
-rw-r--r--ssl/mod.rs4
3 files changed, 15 insertions, 6 deletions
diff --git a/Makefile.in b/Makefile.in
index 1faefbab..4ad2d6bb 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,6 +1,7 @@
RUSTC := rustc
BUILDDIR := build
-RUSTFLAGS := -O --cfg ndebug
+RUSTCFGS := %RUSTCFGS%
+RUSTFLAGS := -O --cfg ndebug $(RUSTCFGS)
INSTALL_DIR := %PREFIX%
OPENSSL_LIB := lib.rs
@@ -29,7 +30,7 @@ clean:
rm -rf $(BUILDDIR)
doc: $(OPENSSL)
- rustdoc $(OPENSSL_LIB)
+ rustdoc $(RUSTCFGS) $(OPENSSL_LIB)
install: $(OPENSSL)
install $(OPENSSL) $(INSTALL_DIR)
diff --git a/configure b/configure
index 7fe7f2bb..92ee62d1 100755
--- a/configure
+++ b/configure
@@ -2,19 +2,27 @@
cd $(dirname $0)
-TEMP=`getopt -o "" --long prefix: -n "$0" -- "$@"`
+TEMP=`getopt -o "" --long prefix:,enable-sslv2 -n "$0" -- "$@"`
if [ $? != 0 ]; then exit 1; fi
eval set -- "$TEMP"
PREFIX=/usr/lib
+RUSTCFGS=
while true ; do
case "$1" in
--prefix) PREFIX=$2; shift 2;;
+ --enable-sslv2)
+ RUSTCFGS="$RUSTCFGS --cfg sslv2"
+ shift
+ break
+ ;;
--) shift; break;;
esac
done
-sed -e "s|%PREFIX%|$PREFIX|" < Makefile.in > Makefile
+sed -e "s|%PREFIX%|$PREFIX|" \
+ -e "s|%RUSTCFGS%|$RUSTCFGS|" \
+ < Makefile.in > Makefile
diff --git a/ssl/mod.rs b/ssl/mod.rs
index e9b4e78b..b28e072c 100644
--- a/ssl/mod.rs
+++ b/ssl/mod.rs
@@ -13,8 +13,6 @@ mod ffi;
#[cfg(test)]
mod tests;
-static mut INIT: Once = ONCE_INIT;
-
static mut VERIFY_IDX: c_int = -1;
static mut MUTEXES: *mut ~[NativeMutex] = 0 as *mut ~[NativeMutex];
@@ -28,6 +26,8 @@ macro_rules! try_ssl(
)
fn init() {
+ static mut INIT: Once = ONCE_INIT;
+
unsafe {
INIT.doit(|| {
ffi::SSL_library_init();