Permalink
Browse files

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 <url
          href="http://www.gnu.org/prep/standards/html_node/DESTDIR.html">D
          ESTDIR</url>. 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)
  • Loading branch information...
1 parent fc4a771 commit 70f9744c2689cef739cf05b62fd6a9d8241236f8 @rickard-green rickard-green committed with Erlang/OTP Feb 10, 2010
Showing with 1,064 additions and 1,028 deletions.
  1. +7 −3 otp_build
  2. +0 −449 xcomp/README
  3. +485 −0 xcomp/README.md
  4. +143 −144 xcomp/erl-xcomp-TileraMDE2.0-tilepro.conf
  5. +143 −144 xcomp/erl-xcomp-vxworks_ppc32.conf
  6. +143 −144 xcomp/erl-xcomp-x86_64-saf-linux-gnu.conf
  7. +143 −144 xcomp/erl-xcomp.conf.template
View
@@ -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"
Oops, something went wrong.

0 comments on commit 70f9744

Please sign in to comment.