From af6295211178e1237df6b9b05b5cfe275238e8dc Mon Sep 17 00:00:00 2001 From: Rickard Green Date: Thu, 26 Aug 2010 14:55:34 +0200 Subject: Fix SSL build failure when building in minimal source tree Building in a source tree without prebuilt platform independent build results failed on the SSL examples when cross building. This has been solved by not building the SSL examples during a cross build. --- configure.in | 2 +- erts/configure.in | 9 ++++++++- lib/ssl/Makefile | 5 +++-- make/otp.mk.in | 5 +++++ 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/configure.in b/configure.in index f9fa34cedf..d0879c6291 100644 --- a/configure.in +++ b/configure.in @@ -97,7 +97,7 @@ fi TARGET=$host AC_SUBST(TARGET) -if test X$cross_compiling = Xyes; then +if test "$cross_compiling" = "yes"; then CROSS_COMPILING=yes else CROSS_COMPILING=no diff --git a/erts/configure.in b/erts/configure.in index 5d02fd1ee4..9cc0307e37 100644 --- a/erts/configure.in +++ b/erts/configure.in @@ -90,6 +90,13 @@ else host_os=$host fi +if test "$cross_compiling" = "yes"; then + CROSS_COMPILING=yes +else + CROSS_COMPILING=no +fi +AC_SUBST(CROSS_COMPILING) + ERL_XCOMP_SYSROOT_INIT AC_ISC_POSIX @@ -3605,7 +3612,7 @@ dnl Should one use EXEEXT or ac_exeext? if test -f "$erl_xcomp_sysroot$SSL_BINDIR/openssl$EXEEXT"; then if test "$cross_compiling" = "yes"; then dnl Cannot test it; hope it is working... - OPENSSL_CMD="$SSL_BINDIR/openssl" + OPENSSL_CMD="$erl_xcomp_sysroot$SSL_BINDIR/openssl" else if "$SSL_BINDIR/openssl" version > /dev/null 2>&1; then OPENSSL_CMD="$SSL_BINDIR/openssl" diff --git a/lib/ssl/Makefile b/lib/ssl/Makefile index b8b51270c9..5c6b7a2941 100644 --- a/lib/ssl/Makefile +++ b/lib/ssl/Makefile @@ -28,9 +28,10 @@ ifeq ($(findstring win32,$(TARGET)),win32) ifeq ($(HOST_OS),) HOST_OS := $(shell $(ERL_TOP)/erts/autoconf/config.guess) endif -ifeq ($(findstring solaris,$(HOST_OS)),solaris) -SKIP_BUILDING_BINARIES := true endif + +ifeq ($(CROSS_COMPILING),yes) +SKIP_BUILDING_BINARIES := true else SKIP_BUILDING_BINARIES := false endif diff --git a/make/otp.mk.in b/make/otp.mk.in index 9f0486a609..6ae7c5b456 100644 --- a/make/otp.mk.in +++ b/make/otp.mk.in @@ -24,6 +24,11 @@ .SUFFIXES: .erl .beam .yrl .xrl .bin .mib .hrl .sgml .xml .xmlsrc .html .ps \ .3 .1 .fig .dvi .tex .class .java .pdf .fo .psframe .pscrop .el .elc +# ---------------------------------------------------- +# Cross Compiling +# ---------------------------------------------------- +CROSS_COMPILING = @CROSS_COMPILING@ + # ---------------------------------------------------- # Common macros # ---------------------------------------------------- -- cgit v1.2.3 From 22fe8c9f870f5b20f1cb9e740ff20a15331472f9 Mon Sep 17 00:00:00 2001 From: Rickard Green Date: Fri, 27 Aug 2010 13:28:43 +0200 Subject: Fix SSL build failure when building in minimal source tree Building in a source tree without prebuilt platform independent build results failed on the SSL examples when building on Windows. --- erts/configure.in | 9 ++++++--- lib/ssl/Makefile | 17 +++-------------- 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/erts/configure.in b/erts/configure.in index 9cc0307e37..d5dccdbb83 100644 --- a/erts/configure.in +++ b/erts/configure.in @@ -3612,10 +3612,10 @@ dnl Should one use EXEEXT or ac_exeext? if test -f "$erl_xcomp_sysroot$SSL_BINDIR/openssl$EXEEXT"; then if test "$cross_compiling" = "yes"; then dnl Cannot test it; hope it is working... - OPENSSL_CMD="$erl_xcomp_sysroot$SSL_BINDIR/openssl" + OPENSSL_CMD="$erl_xcomp_sysroot$SSL_BINDIR/openssl$EXEEXT" else - if "$SSL_BINDIR/openssl" version > /dev/null 2>&1; then - OPENSSL_CMD="$SSL_BINDIR/openssl" + if "$SSL_BINDIR/openssl$EXEEXT" version > /dev/null 2>&1; then + OPENSSL_CMD="$SSL_BINDIR/openssl$EXEEXT" else is_real_ssl=no fi @@ -3624,6 +3624,9 @@ dnl Should one use EXEEXT or ac_exeext? is_real_ssl=no fi if test "x$is_real_ssl" = "xyes" ; then + if test "$MIXED_CYGWIN" = "yes"; then + OPENSSL_CMD=`cygpath -s -m "$OPENSSL_CMD"` 2> /dev/null + fi SSL_INCLUDE="-I$dir/include" old_CPPFLAGS=$CPPFLAGS CPPFLAGS=$SSL_INCLUDE diff --git a/lib/ssl/Makefile b/lib/ssl/Makefile index 5c6b7a2941..8c9d78d4bc 100644 --- a/lib/ssl/Makefile +++ b/lib/ssl/Makefile @@ -24,22 +24,11 @@ include $(ERL_TOP)/make/$(TARGET)/otp.mk # # Macros # -ifeq ($(findstring win32,$(TARGET)),win32) -ifeq ($(HOST_OS),) -HOST_OS := $(shell $(ERL_TOP)/erts/autoconf/config.guess) -endif -endif -ifeq ($(CROSS_COMPILING),yes) -SKIP_BUILDING_BINARIES := true -else -SKIP_BUILDING_BINARIES := false -endif - -ifeq ($(SKIP_BUILDING_BINARIES), true) SUB_DIRECTORIES = src c_src doc/src -else -SUB_DIRECTORIES = src c_src doc/src examples/certs examples/src + +ifeq ($(CROSS_COMPILING),no) +SUB_DIRECTORIES += examples/certs examples/src endif include vsn.mk -- cgit v1.2.3