diff options
-rw-r--r-- | config/cc/gcc.in | 19 | ||||
-rw-r--r-- | scripts/build/cc/gcc.sh | 10 |
2 files changed, 28 insertions, 1 deletions
diff --git a/config/cc/gcc.in b/config/cc/gcc.in index 8875ba2a..15b2d46c 100644 --- a/config/cc/gcc.in +++ b/config/cc/gcc.in @@ -239,6 +239,12 @@ config CC_V_3_4_6 prompt "3.4.6 (OBSOLETE)" depends on OBSOLETE +config CC_CUSTOM + bool + prompt "Custom gcc" + depends on EXPERIMENTAL + select CC_GCC_latest + endchoice if CC_V_SVN @@ -297,6 +303,18 @@ config GCC_CHECKOUT endif +if CC_CUSTOM + +config CC_CUSTOM_LOCATION + string + prompt "Full path to custom gcc source" + default "" + help + Enter the path to the directory (or tarball) of your source for gcc, + or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/gcc + +endif #CC_CUSTOM + config CC_GCC_4_2 bool select CC_GCC_4_2_or_later @@ -484,6 +502,7 @@ config CC_VERSION default "4.1.2" if CC_V_4_1_2 default "4.0.4" if CC_V_4_0_4 default "3.4.6" if CC_V_3_4_6 + default "custom" if CC_CUSTOM config CC_LANG_JAVA_USE_ECJ bool diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh index dce77e94..70f38a6f 100644 --- a/scripts/build/cc/gcc.sh +++ b/scripts/build/cc/gcc.sh @@ -4,7 +4,9 @@ # Download gcc do_cc_get() { - if [ -n "${CT_CC_V_SVN}" ]; then + if [ "${CT_CC_CUSTOM}" = "y" ]; then + CT_GetCustom "gcc" "${CT_CC_VERSION}" "${CT_CC_CUSTOM_LOCATION}" + elif [ -n "${CT_CC_V_SVN}" ]; then # Get gcc from SVN! local svn_base @@ -59,6 +61,12 @@ do_cc_get() { # Extract gcc do_cc_extract() { + # If using custom directory location, nothing to do + if [ "${CT_CC_CUSTOM}" = "y" \ + -a -d "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}" ]; then + return 0 + fi + CT_Extract "gcc-${CT_CC_VERSION}" CT_Patch "gcc" "${CT_CC_VERSION}" |