diff options
-rw-r--r-- | config/global/ct-behave.in | 10 | ||||
-rw-r--r-- | scripts/functions | 16 |
2 files changed, 22 insertions, 4 deletions
diff --git a/config/global/ct-behave.in b/config/global/ct-behave.in index ba723cf6..685da6aa 100644 --- a/config/global/ct-behave.in +++ b/config/global/ct-behave.in @@ -29,6 +29,16 @@ config EXPERIMENTAL - non-existant, in which case you could also try hacking it in and send me the result +config EXPERIMENTAL_PATCHES + bool + depends on EXPERIMENTAL + prompt "Use patches marked as EXPERIMENTAL_PATCHES (READ HELP!)" + help + ***WARNING*** This is not supported by crosstool-ng! ***WARNING*** + + If you set this to Y, then you will be able to enable experimental + patches that are not supported by crosstool-ng. + config ALLOW_BUILD_AS_ROOT bool prompt "Allow building as root user (READ HELP!)" diff --git a/scripts/functions b/scripts/functions index b15601af..2e4d4fa6 100644 --- a/scripts/functions +++ b/scripts/functions @@ -1034,6 +1034,8 @@ CT_Patch() { local -a patch_dirs local bundled_patch_dir local local_patch_dir + local bundled_exp_patch_dir + local local_exp_patch_dir if [ "${nochdir}" = "nochdir" ]; then shift @@ -1072,11 +1074,17 @@ CT_Patch() { bundled_patch_dir="${CT_LIB_DIR}/patches/${pkgname}/${version}" local_patch_dir="${CT_LOCAL_PATCH_DIR}/${pkgname}/${version}" + # Check for experimental patches, if enabled. + if [ "${CT_EXPERIMENTAL_PATCHES}" = "y" ]; then + bundled_exp_patch_dir="${CT_LIB_DIR}/patches/experimental/${pkgname}/${version}" + local_exp_patch_dir="${CT_LOCAL_PATCH_DIR}/experimental/${pkgname}/${version}" + fi + case "${CT_PATCH_ORDER}" in - bundled) patch_dirs=("${bundled_patch_dir}");; - local) patch_dirs=("${local_patch_dir}");; - bundled,local) patch_dirs=("${bundled_patch_dir}" "${local_patch_dir}");; - local,bundled) patch_dirs=("${local_patch_dir}" "${bundled_patch_dir}");; + bundled) patch_dirs=("${bundled_patch_dir}" "${bundled_exp_patch_dir}");; + local) patch_dirs=("${local_patch_dir}" "${local_exp_patch_dir}");; + bundled,local) patch_dirs=("${bundled_patch_dir}" "${bundled_exp_patch_dir}" "${local_patch_dir}" "${local_exp_patch_dir}");; + local,bundled) patch_dirs=("${local_patch_dir}" "${local_exp_patch_dir}" "${bundled_patch_dir}" "${bundled_exp_patch_dir}");; none) patch_dirs=;; esac |