From 70f9744c2689cef739cf05b62fd6a9d8241236f8 Mon Sep 17 00:00:00 2001 From: Rickard Green Date: Wed, 10 Feb 2010 11:07:05 +0000 Subject: OTP-8323 Cross compilation improvements and other build system improvements. Most notable: Lots of cross compilation improvements. The old cross compilation support was more or less non-existing as well as broken. Please, note that the cross compilation support should still be considered as experimental. Also note that old cross compilation configurations cannot be used without modifications. For more information on cross compiling Erlang/OTP see the $ERL_TOP/xcomp/README file. Support for staged install using D ESTDIR. The old broken INSTALL_PREFIX has also been fixed. For more information see the $ERL_TOP/README file. Documentation of the release target of the top Makefile. For more information see the $ERL_TOP/README file. make install now by default creates relative symbolic links instead of absolute ones. For more information see the $ERL_TOP/README file. $ERL_TOP/configure --help=recursive now works and prints help for all applications with configure scripts. Doing make install, or make release directly after make all no longer triggers miscellaneous rebuilds. Existing bootstrap system is now used when doing make install, or make release without a preceding make all. The crypto and ssl applications use the same runtime library path when dynamically linking against libssl.so and libcrypto.so. The runtime library search path has also been extended. The configure scripts of erl_interface and odbc now search for thread libraries and thread library quirks the same way as erts do. The configure script of the odbc application now also looks for odbc libraries in lib64 and lib/64 directories when building on a 64-bit system. The config.h.in file in the erl_interface application is now automatically generated in instead of statically updated which reduces the risk of configure tests without any effect. (Thanks to Henrik Riomar and Winston Smith for testing) --- otp_build | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'otp_build') diff --git a/otp_build b/otp_build index 165f9dc66d..ad9d38ebca 100755 --- a/otp_build +++ b/otp_build @@ -40,7 +40,7 @@ bootstrap_apps="erts lib/asn1 lib/compiler lib/hipe lib/ic lib/kernel lib/parset # We will quote a bit more than needed, but the important thing is that # all that needs quoting will be quoted... -DONT_QUOTE="A-Za-z0-9/=_+-" +DONT_QUOTE="A-Za-z0-9~/=_+-" # Utility functions usage () @@ -433,7 +433,11 @@ try_cross_configure () --build=*) build_value=`echo $x | sed "s|^--build=\(.*\)|\1|"`;; --xcomp-conf=*) - xcomp_conf=`echo "X$arg" | sed "s|^X--xcomp-conf=\(.*\)\$|\1|g"` + # tilde expansion is not handled by the `configure' script, + # but we do it for this argument. This argument is however not + # a `configure' argument. + xcomp_conf=`echo "X$arg" | sed "s|^X--xcomp-conf=\(.*\)\$|\1|g;s|\([^$DONT_QUOTE]\)|\\\\\\\\\1|g"` + eval "xcomp_conf=$xcomp_conf" test "X$xcomp_conf" != "X" || { echo "$0: Missing xcomp-conf file name" exit 1 @@ -444,7 +448,7 @@ try_cross_configure () } . "$xcomp_conf" test $? -eq 0 || { - echo "$0: Failed to read xcomp-conf file: $conf" + echo "$0: Failed to read xcomp-conf file: $xcomp_conf" exit 1 } test "X$erl_xcomp_build" = "X" || build_value="$erl_xcomp_build" -- cgit v1.2.3