diff options
author | Hood Chatham <roberthoodchatham@gmail.com> | 2024-10-29 21:45:49 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-29 21:45:49 (GMT) |
commit | b1f13bce62ff666f59286e8325011d8e9e0ddca7 (patch) | |
tree | 6d5752201a8fa93b483ab6958e7a1b525782728b /configure | |
parent | 6742f14dfd3fa8ba8a245efa21a4f723160d93d4 (diff) | |
download | cpython-b1f13bce62ff666f59286e8325011d8e9e0ddca7.zip cpython-b1f13bce62ff666f59286e8325011d8e9e0ddca7.tar.gz cpython-b1f13bce62ff666f59286e8325011d8e9e0ddca7.tar.bz2 |
gh-124932: Distinguish build prefix from host prefix in cross builds (#124933)
In Emscripten and other cross builds, the build file system and the host file
system look different. For instance, we may want to install into
`cross-build/$TARGET/lib`, and then mount that as `/lib` in the host file
system. This change adds a distinction between:
* `prefix` -- the path in the build file system where we want to install the files
* `host_prefix` -- the path in the host file system where getpath.c will look for the files
And similarly for `exec_prefix` and `host_exec_prefix`. At present, this is only
used for Emscripten.
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -1003,6 +1003,8 @@ LIPO_INTEL64_FLAGS LIPO_32BIT_FLAGS ARCH_RUN_32BIT UNIVERSALSDK +host_exec_prefix +host_prefix MACHDEP PKG_CONFIG_LIBDIR PKG_CONFIG_PATH @@ -4105,6 +4107,29 @@ fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: \"$MACHDEP\"" >&5 printf "%s\n" "\"$MACHDEP\"" >&6; } + +if test -z "$host_prefix"; then + case $ac_sys_system in #( + Emscripten) : + host_prefix=/ ;; #( + *) : + host_prefix='${prefix}' + ;; +esac +fi + + +if test -z "$host_exec_prefix"; then + case $ac_sys_system in #( + Emscripten) : + host_exec_prefix=$host_prefix ;; #( + *) : + host_exec_prefix='${exec_prefix}' + ;; +esac +fi + + # On cross-compile builds, configure will look for a host-specific compiler by # prepending the user-provided host triple to the required binary name. # |