cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>
[yann.morin.1998@free.fr: don't patch custom directory location]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <f2272ac0f37cedd0bb91.1349931194@localhost.localdomain>
PatchWork-Id: 190787
This commit is contained in:
David Holsgrove 2012-10-11 14:39:41 +10:00
parent b8baed585d
commit 6b8740dd6d
2 changed files with 28 additions and 1 deletions

View File

@ -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

View File

@ -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}"