Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:23
erlang
0577-Fail-if-canonicalized-host-and-build-equal...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0577-Fail-if-canonicalized-host-and-build-equals-when-cro.patch of Package erlang
From 9f4e1a352f31d700d424bf6cd137722a86630344 Mon Sep 17 00:00:00 2001 From: Rickard Green <rickard@erlang.org> Date: Fri, 2 Jul 2021 15:25:26 +0200 Subject: [PATCH 1/2] Fail if canonicalized host and build equals when cross compiling --- HOWTO/INSTALL-CROSS.md | 12 +++++++++--- make/configure.in | 17 +++++++++++++++++ 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/HOWTO/INSTALL-CROSS.md b/HOWTO/INSTALL-CROSS.md index 322ff13340..f2494e6f1c 100644 --- a/HOWTO/INSTALL-CROSS.md +++ b/HOWTO/INSTALL-CROSS.md @@ -128,14 +128,20 @@ be built. $ make `<HOST>` is the host/target system that you build for. It does not have to be -a full `CPU-VENDOR-OS` triplet, but can be. The full `CPU-VENDOR-OS` triplet -will be created by executing `$ERL_TOP/erts/autoconf/config.sub <HOST>`. If -`config.sub` fails, you need to be more specific. +a full `CPU-VENDOR-OS` triplet, but can be. The full canonicalized +`CPU-VENDOR-OS` triplet will be created by executing +`$ERL_TOP/erts/autoconf/config.sub <HOST>`. If `config.sub` fails, you need +to be more specific. `<BUILD>` should equal the `CPU-VENDOR-OS` triplet of the system that you build on. If you execute `$ERL_TOP/erts/autoconf/config.guess`, it will in most cases print the triplet you want to use for this. +The use of `<HOST>` and `<BUILD>` values that differ will trigger cross +compilation. Note that if `<HOST>` and `<BUILD>` differ, the canonicalized +values of `<HOST>` and `<BUILD>` must also differ. If they do not, the +configuration will fail. + Pass the cross compilation variables as command line arguments to `configure` using a `<VARIABLE>=<VALUE>` syntax. diff --git a/make/configure.in b/make/configure.in index d33b6f324b..92a7542b4b 100644 --- a/make/configure.in +++ b/make/configure.in @@ -93,6 +93,7 @@ dnl if test "X$host" != "Xfree_source" -a "X$host" != "Xwin32"; then AC_CANONICAL_HOST + AC_CANONICAL_BUILD else host_os=$host fi @@ -101,6 +102,22 @@ TARGET=$host AC_SUBST(TARGET) if test "$cross_compiling" = "yes"; then + if test "$build" = "$host"; then + AC_MSG_ERROR([ + Cross compiling with the same canonicalized 'host' value + as the canonicalized 'build' value. + + We are cross compiling since the '--host=$host_alias' + and the '--build=$build_alias' arguments differ. When + cross compiling Erlang/OTP also the canonicalized values of + the '--build' and the '--host' arguments *must* differ. The + canonicalized values of these arguments however both equals: + $host + + You can check the canonical value by passing a value as + argument to the 'erts/autoconf/config.sub' script. + ]) + fi CROSS_COMPILING=yes else CROSS_COMPILING=no -- 2.26.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor