mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-23 14:42:26 +00:00
commit
45c5bb0f48
1
.gitignore
vendored
1
.gitignore
vendored
@ -11,6 +11,7 @@ paths.*
|
||||
!paths.in
|
||||
config/configure.in
|
||||
config/gen/
|
||||
config/versions/
|
||||
.config
|
||||
|
||||
# Temporaries
|
||||
|
@ -148,7 +148,7 @@ distclean: clean
|
||||
$(call __silent_rm,Makefile kconfig/Makefile config/configure.in)
|
||||
|
||||
mrproper: distclean
|
||||
$(call __silent_rmdir,autom4te.cache config/gen)
|
||||
$(call __silent_rmdir,autom4te.cache config/gen config/versions)
|
||||
$(call __silent_rm,config.log config.status configure)
|
||||
|
||||
uninstall: real-uninstall
|
||||
|
11
TODO
11
TODO
@ -2,7 +2,18 @@ A (slightly) ordered set of tasks for crosstool-NG. Written in a cryptic languag
|
||||
|
||||
-- Alexey Neyman (@stilor)
|
||||
|
||||
[ ] new packages
|
||||
[ ] config.guess
|
||||
[ ] gnulib
|
||||
[ ] use gnulib in m4, gettext, libiconv, libtool
|
||||
[ ] autoconf-archive
|
||||
[ ] use to retrieve ax_pthread.m4 (gettext?)
|
||||
[ ] retire wiki-samples
|
||||
[ ] Fix displaying the versions in case devel is used (custom location/repo) - display "devel" or "custom" in those cases
|
||||
[ ] clean up GDB versions - no X.Y if X.Y.1 is present
|
||||
[ ] Check other packages, leave only the most recent on each branch
|
||||
[ ] arm_neon.h - offer as a companion "library" for the target
|
||||
[ ] gdbinit (installed if CT_GDB_INSTALL_GDBINIT is set) is not relocatable, contains absolute paths
|
||||
[ ] FreeBSD
|
||||
[ ] Use 'cc' rather than 'gcc' on the host
|
||||
[ ] Detect in configure what the default value is
|
||||
|
675
bootstrap
675
bootstrap
@ -1,10 +1,671 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
#!/bin/bash
|
||||
|
||||
printf "Running autoconf...\n"
|
||||
########################################
|
||||
# Common meta-language implementation. Syntax:
|
||||
#
|
||||
# The template file is processed line by line, with @@VAR@@ placeholders
|
||||
# being replaced with a value of the VAR variable.
|
||||
# Special lines start with '#!' and a keyword:
|
||||
#
|
||||
# #!//
|
||||
# Comment, the rest of the line is ignored
|
||||
# #!if COND
|
||||
# Conditional: the lines until the matching #!end-if are processed
|
||||
# only if the conditional COND evaluates to true.
|
||||
# #!foreach NAME
|
||||
# Iterate over NAME entities (the iterator must be set up first
|
||||
# using the set_iter function), processing the lines until the matching
|
||||
# #!end-foreach line.
|
||||
|
||||
declare -A info
|
||||
|
||||
debug()
|
||||
{
|
||||
if [ -n "${DEBUG}" ]; then
|
||||
echo "DEBUG :: $@" >&2
|
||||
fi
|
||||
}
|
||||
|
||||
msg()
|
||||
{
|
||||
if [ -z "${QUIET}" ]; then
|
||||
echo "INFO :: $@" >&2
|
||||
fi
|
||||
}
|
||||
|
||||
warn()
|
||||
{
|
||||
echo "WARN :: $@" >&2
|
||||
}
|
||||
|
||||
error()
|
||||
{
|
||||
echo "ERROR :: $@" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
find_end()
|
||||
{
|
||||
local token="${1}"
|
||||
local count=1
|
||||
|
||||
# Skip first line, we know it has the proper '#!' command on it
|
||||
endline=$[l + 1]
|
||||
while [ "${endline}" -le "${end}" ]; do
|
||||
case "${tlines[${endline}]}" in
|
||||
"#!${token} "*)
|
||||
count=$[count + 1]
|
||||
;;
|
||||
"#!end-${token}")
|
||||
count=$[count - 1]
|
||||
;;
|
||||
esac
|
||||
if [ "${count}" = 0 ]; then
|
||||
return
|
||||
fi
|
||||
endline=$[endline + 1]
|
||||
done
|
||||
error "line ${l}: '${token}' token is unpaired"
|
||||
}
|
||||
|
||||
set_iter()
|
||||
{
|
||||
local name="${1}"
|
||||
|
||||
if [ "${info[iter_${name}]+set}" = "set" ]; then
|
||||
error "Iterator over '${name}' is already set up"
|
||||
fi
|
||||
shift
|
||||
debug "Setting iterator over '${name}' to '$*'"
|
||||
info[iter_${name}]="$*"
|
||||
}
|
||||
|
||||
run_if()
|
||||
{
|
||||
local cond="${1}"
|
||||
local endline
|
||||
|
||||
find_end "if"
|
||||
if eval "${cond}"; then
|
||||
debug "True conditional '${cond}' at lines ${l}..${endline}"
|
||||
run_lines $[l + 1] $[endline - 1]
|
||||
else
|
||||
debug "False conditional '${cond}' at lines ${l}..${endline}"
|
||||
fi
|
||||
lnext=$[endline + 1]
|
||||
debug "Continue at line ${lnext}"
|
||||
}
|
||||
|
||||
do_foreach()
|
||||
{
|
||||
local var="${1}"
|
||||
local -A saveinfo
|
||||
local v k
|
||||
|
||||
shift
|
||||
if [ "`type -t enter_${var}`" != "function" ]; then
|
||||
error "No parameter setup routine for iterator over '${var}'"
|
||||
fi
|
||||
for v in ${info[iter_${var}]}; do
|
||||
# This works in bash 4.4, but not in bash 4.3:
|
||||
# local saveinfo=`declare -p info`
|
||||
# ...
|
||||
# eval "${saveinfo}"
|
||||
# Therefore, need to save key-by-key
|
||||
saveinfo=()
|
||||
for k in "${!info[@]}"; do
|
||||
saveinfo["${k}"]=${info["${k}"]}
|
||||
done
|
||||
eval "enter_${var} ${v}"
|
||||
eval "$@"
|
||||
info=()
|
||||
for k in "${!saveinfo[@]}"; do
|
||||
info["${k}"]=${saveinfo["${k}"]}
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
run_foreach()
|
||||
{
|
||||
local var="${1}"
|
||||
local endline
|
||||
|
||||
if [ "${info[iter_${var}]+set}" != "set" ]; then
|
||||
error "line ${l}: iterator over '${var}' is not defined"
|
||||
fi
|
||||
find_end "foreach"
|
||||
debug "Loop over '${var}', lines ${l}..${endline}"
|
||||
do_foreach ${var} run_lines $[l + 1] $[endline - 1]
|
||||
lnext=$[endline + 1]
|
||||
debug "Continue at line ${lnext}"
|
||||
}
|
||||
|
||||
run_lines()
|
||||
{
|
||||
local start="${1}"
|
||||
local end="${2}"
|
||||
local l lnext s s1 v
|
||||
|
||||
debug "Running lines ${start}..${end}"
|
||||
l=${start}
|
||||
while [ "${l}" -le "${end}" ]; do
|
||||
lnext=$[l+1]
|
||||
s="${tlines[${l}]}"
|
||||
# Expand @@foo@@ to ${info[foo]}. First escape variables/backslashes for evals below.
|
||||
s="${s//\\/\\\\}"
|
||||
s="${s//\$/\\\$}"
|
||||
s1=
|
||||
while [ -n "${s}" ]; do
|
||||
case "${s}" in
|
||||
*@@*@@*)
|
||||
v="${s#*@@}"
|
||||
v="${v%%@@*}"
|
||||
if [ "${info[${v}]+set}" != "set" ]; then
|
||||
error "line ${l}: reference to undefined variable '${v}'"
|
||||
fi
|
||||
s1="${s1}${s%%@@*}\${info[${v}]}"
|
||||
s="${s#*@@*@@}"
|
||||
;;
|
||||
*@@*)
|
||||
error "line ${l}: non-paired @@ markers"
|
||||
;;
|
||||
*)
|
||||
s1="${s1}${s}"
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
s=${s1}
|
||||
|
||||
debug "Evaluate: ${s}"
|
||||
case "${s}" in
|
||||
"#!if "*)
|
||||
run_if "${s#* }"
|
||||
;;
|
||||
"#!foreach "*)
|
||||
run_foreach "${s#* }"
|
||||
;;
|
||||
"#!//"*)
|
||||
# Comment, do nothing
|
||||
;;
|
||||
"#!"*)
|
||||
error "line ${l}: unrecognized command"
|
||||
;;
|
||||
*)
|
||||
# Not a special command
|
||||
eval "echo \"${s//\"/\\\"}\""
|
||||
;;
|
||||
esac
|
||||
l=${lnext}
|
||||
done
|
||||
}
|
||||
|
||||
run_template()
|
||||
{
|
||||
local -a tlines
|
||||
local src="${1}"
|
||||
|
||||
if [ ! -r "${src}" ]; then
|
||||
error "Template '${src}' not found"
|
||||
fi
|
||||
debug "Running template ${src}"
|
||||
mapfile -O 1 -t tlines < "${src}"
|
||||
run_lines 1 ${#tlines[@]}
|
||||
}
|
||||
|
||||
########################################
|
||||
|
||||
# Convert the argument to a Kconfig-style macro
|
||||
kconfigize()
|
||||
{
|
||||
local v="${1}"
|
||||
local p pb pa vx
|
||||
shift
|
||||
|
||||
# If optional patterns are provided, find the first match
|
||||
# and contract to the matching portion.
|
||||
for p in "$@"; do
|
||||
pb=${p%|*}
|
||||
pa=${p#*|}
|
||||
eval "vx=\${v#${pb}${pa}}"
|
||||
if [ "${v%${pa}${vx}}" != "${v}" ]; then
|
||||
v=${v%${pa}${vx}}
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
v=${v//[^0-9A-Za-z_]/_}
|
||||
echo "${v^^}"
|
||||
}
|
||||
|
||||
# Helper for cmp_versions: compare an upstream/debian portion of
|
||||
# a version. Returns 0 if equal, otherwise echoes "-1" or "1" and
|
||||
# returns 1.
|
||||
equal_versions()
|
||||
{
|
||||
local v1="${1}"
|
||||
local v2="${2}"
|
||||
local p1 p2
|
||||
|
||||
# Compare alternating non-numerical/numerical portions, until
|
||||
# non-equal portion is found or either string is exhausted.
|
||||
while [ -n "${v1}" -a -n "${v2}" ]; do
|
||||
# Find non-numerical portions and compare lexicographically
|
||||
p1="${v1%%[0-9]*}"
|
||||
p2="${v2%%[0-9]*}"
|
||||
v1="${v1#${p1}}"
|
||||
v2="${v2#${p2}}"
|
||||
#debug "lex [${p1}] v [${p2}]"
|
||||
if [ "${p1}" \< "${p2}" ]; then
|
||||
echo "-1"
|
||||
return 1
|
||||
elif [ "${p1}" \> "${p2}" ]; then
|
||||
echo "1"
|
||||
return 1
|
||||
fi
|
||||
#debug "rem [${v1}] v [${v2}]"
|
||||
# Find numerical portions and compare numerically
|
||||
p1="${v1%%[^0-9]*}"
|
||||
p2="${v2%%[^0-9]*}"
|
||||
v1="${v1#${p1}}"
|
||||
v2="${v2#${p2}}"
|
||||
#debug "num [${p1}] v [${p2}]"
|
||||
if [ "${p1:-0}" -lt "${p2:-0}" ]; then
|
||||
echo "-1"
|
||||
return 1
|
||||
elif [ "${p1:-0}" -gt "${p2:-0}" ]; then
|
||||
echo "1"
|
||||
return 1
|
||||
fi
|
||||
#debug "rem [${v1}] v [${v2}]"
|
||||
done
|
||||
if [ -n "${v1}" ]; then
|
||||
echo "1"
|
||||
return 1
|
||||
elif [ -n "${v2}" ]; then
|
||||
echo "-1"
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Compare two version strings, similar to sort -V. But we don't
|
||||
# want to depend on GNU sort availability on the host.
|
||||
# See http://www.debian.org/doc/debian-policy/ch-controlfields.html
|
||||
# for description of what the version is expected to be.
|
||||
# Returns "-1", "0" or "1" if first version is earlier, same or
|
||||
# later than the second.
|
||||
cmp_versions()
|
||||
{
|
||||
local v1="${1}"
|
||||
local v2="${2}"
|
||||
local e1=0 e2=0 u1 u2 d1=0 d2=0
|
||||
|
||||
# Case-insensitive comparison
|
||||
v1="${v1^^}"
|
||||
v2="${v2^^}"
|
||||
|
||||
# Find if the versions contain epoch part
|
||||
case "${v1}" in
|
||||
*:*)
|
||||
e1="${v1%%:*}"
|
||||
v1="${v1#*:}"
|
||||
;;
|
||||
esac
|
||||
case "${v2}" in
|
||||
*:*)
|
||||
e2="${v2%%:*}"
|
||||
v2="${v2#*:}"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Compare epochs numerically
|
||||
if [ "${e1}" -lt "${e2}" ]; then
|
||||
echo "-1"
|
||||
return
|
||||
elif [ "${e1}" -gt "${e2}" ]; then
|
||||
echo "1"
|
||||
return
|
||||
fi
|
||||
|
||||
# Find if the version contains a "debian" part.
|
||||
# v1/v2 will now contain "upstream" part.
|
||||
case "${v1}" in
|
||||
*-*)
|
||||
d1=${v1##*-}
|
||||
v1=${v1%-*}
|
||||
;;
|
||||
esac
|
||||
case "${v2}" in
|
||||
*-*)
|
||||
d2=${v2##*-}
|
||||
v2=${v2%-*}
|
||||
;;
|
||||
esac
|
||||
|
||||
# Compare upstream
|
||||
if equal_versions "${v1}" "${v2}" && equal_versions "${d1}" "${d2}"; then
|
||||
echo "0"
|
||||
fi
|
||||
}
|
||||
|
||||
# Sort versions, descending
|
||||
sort_versions()
|
||||
{
|
||||
local sorted
|
||||
local remains="$*"
|
||||
local next_remains
|
||||
local v vx found
|
||||
|
||||
while [ -n "${remains}" ]; do
|
||||
#debug "Sorting [${remains}]"
|
||||
for v in ${remains}; do
|
||||
found=yes
|
||||
next_remains=
|
||||
#debug "Candidate ${v}"
|
||||
for vx in ${remains}; do
|
||||
#debug "${v} vs ${vx} :: `cmp_versions ${v} ${vx}`"
|
||||
case `cmp_versions ${v} ${vx}` in
|
||||
1)
|
||||
next_remains+=" ${vx}"
|
||||
;;
|
||||
0)
|
||||
;;
|
||||
-1)
|
||||
found=no
|
||||
#debug "Bad: earlier than ${vx}"
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
if [ "${found}" = "yes" ]; then
|
||||
# $v is less than all other members in next_remains
|
||||
sorted+=" ${v}"
|
||||
remains="${next_remains}"
|
||||
#debug "Good candidate ${v} sorted [${sorted}] remains [${remains}]"
|
||||
break
|
||||
fi
|
||||
done
|
||||
done
|
||||
echo "${sorted}"
|
||||
}
|
||||
|
||||
read_file()
|
||||
{
|
||||
local l p
|
||||
|
||||
while read l; do
|
||||
l="${p}${l}"
|
||||
p=
|
||||
case "${l}" in
|
||||
"")
|
||||
continue
|
||||
;;
|
||||
*\\)
|
||||
p="${l%\\}"
|
||||
continue
|
||||
;;
|
||||
"#"*)
|
||||
continue
|
||||
;;
|
||||
*=*)
|
||||
echo "info[${l%%=*}]=${l#*=}"
|
||||
;;
|
||||
*)
|
||||
error "syntax error in '${1}': '${l}'"
|
||||
;;
|
||||
esac
|
||||
done < "${1}"
|
||||
}
|
||||
|
||||
read_package_desc()
|
||||
{
|
||||
read_file "packages/${1}/package.desc"
|
||||
}
|
||||
|
||||
read_version_desc()
|
||||
{
|
||||
read_file "packages/${1}/${2}/version.desc"
|
||||
}
|
||||
|
||||
find_forks()
|
||||
{
|
||||
local -A info
|
||||
|
||||
info[preferred]=${1}
|
||||
eval `read_package_desc ${1}`
|
||||
|
||||
if [ -n "${info[master]}" ]; then
|
||||
pkg_nforks[${info[master]}]=$[pkg_nforks[${info[master]}]+1]
|
||||
pkg_forks[${info[master]}]+=" ${1} "
|
||||
else
|
||||
pkg_preferred[${1}]=${info[preferred]}
|
||||
pkg_nforks[${1}]=$[pkg_nforks[${1}]+1]
|
||||
pkg_forks[${1}]+=" ${1} "
|
||||
pkg_milestones[${1}]=`sort_versions ${info[milestones]}`
|
||||
pkg_relevantpattern[${1}]=${info[relevantpattern]}
|
||||
pkg_masters+=( "${1}" )
|
||||
fi
|
||||
# Keep sorting so that preferred fork is first
|
||||
if [ -n "${pkg_preferred[${1}]}" ]; then
|
||||
pkg_forks[${1}]="${pkg_preferred[${1}]} ${pkg_forks[${1}]##* ${pkg_preferred[${1}]} } ${pkg_forks[${1}]%% ${pkg_preferred[${1}]} *}"
|
||||
fi
|
||||
}
|
||||
|
||||
check_obsolete_experimental()
|
||||
{
|
||||
[ -z "${info[obsolete]}" ] && only_obsolete=
|
||||
[ -z "${info[experimental]}" ] && only_experimental=
|
||||
}
|
||||
|
||||
enter_fork()
|
||||
{
|
||||
local fork="${1}"
|
||||
local versions
|
||||
local only_obsolete only_experimental
|
||||
|
||||
# Set defaults
|
||||
info[obsolete]=
|
||||
info[experimental]=
|
||||
info[repository]=
|
||||
info[repository_branch]=
|
||||
info[repository_cset]=
|
||||
info[repository_subdir]=
|
||||
info[bootstrap]=
|
||||
info[fork]=${fork}
|
||||
info[pkg_name]=${fork}
|
||||
info[pkg_label]=${fork}
|
||||
info[mirrors]=
|
||||
info[archive_filename]='@{pkg_name}-@{version}'
|
||||
info[archive_dirname]='@{pkg_name}-@{version}'
|
||||
|
||||
eval `read_package_desc ${fork}`
|
||||
|
||||
info[pfx]=`kconfigize ${fork}`
|
||||
info[originpfx]=`kconfigize ${info[origin]}`
|
||||
if [ -r "packages/${info[origin]}.help" ]; then
|
||||
info[originhelp]=`sed 's/^/ /' "packages/${info[origin]}.help"`
|
||||
else
|
||||
info[originhelp]=" ${info[master]} from ${info[origin]}."
|
||||
fi
|
||||
|
||||
if [ -n "${info[repository]}" ]; then
|
||||
info[vcs]=${info[repository]%% *}
|
||||
info[repository_url]=${info[repository]#* }
|
||||
fi
|
||||
info[versionlocked]=`kconfigize "${info[versionlocked]}"`
|
||||
|
||||
versions=`cd packages/${fork} && \
|
||||
for f in */version.desc; do [ -r "${f}" ] && echo "${f%/version.desc}"; done`
|
||||
versions=`sort_versions ${versions}`
|
||||
|
||||
set_iter version ${versions}
|
||||
info[all_versions]=${versions}
|
||||
|
||||
# If a fork does not define any versions at all ("rolling release"), do not
|
||||
# consider it obsolete/experimental unless it is so marked in the fork's
|
||||
# description.
|
||||
if [ -n "${versions}" ]; then
|
||||
only_obsolete=yes
|
||||
only_experimental=yes
|
||||
do_foreach version check_obsolete_experimental
|
||||
info[only_obsolete]=${only_obsolete}
|
||||
info[only_experimental]=${only_experimental}
|
||||
else
|
||||
info[only_obsolete]=${info[obsolete]}
|
||||
info[only_experimental]=${info[experimental]}
|
||||
fi
|
||||
}
|
||||
|
||||
enter_version()
|
||||
{
|
||||
local -A ver_postfix=( \
|
||||
[,yes,,]=" (OBSOLETE)" \
|
||||
[,,yes,]=" (EXPERIMENTAL)" \
|
||||
[,yes,yes,]=" (OBSOLETE,EXPERIMENTAL)" )
|
||||
local version="${1}"
|
||||
|
||||
eval `read_version_desc ${info[fork]} ${version}`
|
||||
info[ver]=${version}
|
||||
info[kcfg]=`kconfigize ${version} ${info[relevantpattern]}`
|
||||
info[ver_postfix]=${ver_postfix[,${info[obsolete]},${info[experimental]},]}
|
||||
}
|
||||
|
||||
enter_milestone()
|
||||
{
|
||||
local ms="${1}"
|
||||
local cmp
|
||||
|
||||
info[ms]=${ms}
|
||||
info[ms_kcfg]=`kconfigize ${ms}`
|
||||
if [ -n "${info[ver]}" ]; then
|
||||
info[version_cmp_milestone]=`cmp_versions ${info[ver]} ${info[ms]}`
|
||||
fi
|
||||
}
|
||||
|
||||
gen_packages()
|
||||
{
|
||||
local -A pkg_forks pkg_milestones pkg_nforks pkg_relevantpattern
|
||||
local -a pkg_masters pkg_all pkg_preferred
|
||||
|
||||
pkg_all=( `cd packages && \
|
||||
ls */package.desc 2>/dev/null | \
|
||||
while read f; do [ -r "${f}" ] && echo "${f%/package.desc}"; done | \
|
||||
xargs echo` )
|
||||
|
||||
debug "Packages: ${pkg_all[@]}"
|
||||
|
||||
# We need to group forks of the same package into the same
|
||||
# config file. Discover such relationships and only iterate
|
||||
# over "master" packages at the top.
|
||||
for p in "${pkg_all[@]}"; do
|
||||
find_forks "${p}"
|
||||
done
|
||||
msg "Master packages: ${pkg_masters[@]}"
|
||||
|
||||
# Now for each master, create its kconfig file with version
|
||||
# definitions.
|
||||
for p in "${pkg_masters[@]}"; do
|
||||
msg "Generating '${config_versions_dir}/${p}.in'"
|
||||
exec >"${config_versions_dir}/${p}.in"
|
||||
# Base definitions for the whole config file
|
||||
info=( \
|
||||
[master]=${p} \
|
||||
[masterpfx]=`kconfigize ${p}` \
|
||||
[nforks]=${pkg_nforks[${p}]} \
|
||||
[all_milestones]=${pkg_milestones[${p}]} \
|
||||
[relevantpattern]=${pkg_relevantpattern[${p}]} \
|
||||
)
|
||||
set_iter fork ${pkg_forks[${p}]}
|
||||
set_iter milestone ${pkg_milestones[${p}]}
|
||||
|
||||
run_template "maintainer/kconfig-versions.template"
|
||||
done
|
||||
}
|
||||
|
||||
msg "*** Generating package version descriptions"
|
||||
config_versions_dir=config/versions
|
||||
rm -rf "${config_versions_dir}"
|
||||
mkdir -p "${config_versions_dir}"
|
||||
gen_packages
|
||||
|
||||
get_components()
|
||||
{
|
||||
local dir="${1}"
|
||||
local f b
|
||||
|
||||
for f in ${dir}/*.in; do
|
||||
b=${f#${dir}/}
|
||||
echo ${b%.in}
|
||||
done
|
||||
}
|
||||
|
||||
enter_choice()
|
||||
{
|
||||
local choice="${1}"
|
||||
local l
|
||||
|
||||
info[choice]="${choice}"
|
||||
info[kcfg_choice]=`kconfigize "${choice}"`
|
||||
|
||||
# Not local, we need these arrays be set in enter_dependency/enter_help
|
||||
deplines=( )
|
||||
helplines=( )
|
||||
while read l; do
|
||||
case "${l}" in
|
||||
"## help "*)
|
||||
helplines+=( "${l#* help }" )
|
||||
;;
|
||||
"## depends "*|"## select "*)
|
||||
deplines+=( "${l#* }" )
|
||||
;;
|
||||
esac
|
||||
done < "config/${info[dir]}/${choice}.in"
|
||||
set_iter dependency "${!deplines[@]}"
|
||||
set_iter help "${!helplines[@]}"
|
||||
}
|
||||
|
||||
enter_dependency()
|
||||
{
|
||||
info[depline]="${deplines[${1}]}"
|
||||
}
|
||||
|
||||
enter_help()
|
||||
{
|
||||
info[helpline]="${helplines[${1}]}"
|
||||
}
|
||||
|
||||
gen_selection()
|
||||
{
|
||||
local type="${1}"
|
||||
local dir="${2}"
|
||||
local label="${3}"
|
||||
|
||||
msg "Generating ${dir}.in"
|
||||
exec >"${config_gen_dir}/${dir}.in"
|
||||
info=( \
|
||||
[prefix]=`kconfigize ${dir}` \
|
||||
[dir]=${dir} \
|
||||
[label]="${label}" \
|
||||
)
|
||||
set_iter choice `get_components config/${dir}`
|
||||
run_template "maintainer/kconfig-${type}.template"
|
||||
}
|
||||
|
||||
msg "*** Generating menu/choice selections"
|
||||
config_gen_dir=config/gen
|
||||
rm -rf "${config_gen_dir}"
|
||||
mkdir -p "${config_gen_dir}"
|
||||
|
||||
gen_selection choice arch "Target Architecture"
|
||||
gen_selection choice kernel "Target OS"
|
||||
gen_selection choice cc "Compiler"
|
||||
gen_selection choice binutils "Binutils"
|
||||
gen_selection choice libc "C library"
|
||||
gen_selection menu debug "Debug facilities"
|
||||
gen_selection menu comp_tools "Companion tools"
|
||||
|
||||
msg "*** Running autoconf"
|
||||
autoconf -Wall --force
|
||||
|
||||
printf "Generating kconfig files...\n"
|
||||
./maintainer/gen-kconfig.sh
|
||||
|
||||
printf "Done. You may now run:\n ./configure\n"
|
||||
msg "*** Done!"
|
||||
|
@ -5,5 +5,60 @@
|
||||
## select ARCH_USE_MMU
|
||||
## select ARCH_SUPPORTS_WITH_CPU
|
||||
## select ARCH_SUPPORTS_WITH_TUNE
|
||||
##
|
||||
|
||||
## help The Alpha architecture.
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "Variant"
|
||||
|
||||
config ARCH_ALPHA_EV4
|
||||
bool
|
||||
prompt "EV4"
|
||||
|
||||
config ARCH_ALPHA_EV45
|
||||
bool
|
||||
prompt "EV45"
|
||||
|
||||
config ARCH_ALPHA_EV5
|
||||
bool
|
||||
prompt "EV5"
|
||||
|
||||
config ARCH_ALPHA_EV56
|
||||
bool
|
||||
prompt "EV56"
|
||||
|
||||
config ARCH_ALPHA_EV6
|
||||
bool
|
||||
prompt "EV6"
|
||||
|
||||
config ARCH_ALPHA_EV67
|
||||
bool
|
||||
prompt "EV67"
|
||||
|
||||
endchoice
|
||||
|
||||
config ARCH_ALPHA_VARIANT
|
||||
string
|
||||
default "ev4" if ARCH_ALPHA_EV4
|
||||
default "ev45" if ARCH_ALPHA_EV45
|
||||
default "ev5" if ARCH_ALPHA_EV5
|
||||
default "ev56" if ARCH_ALPHA_EV56
|
||||
default "ev6" if ARCH_ALPHA_EV6
|
||||
default "ev67" if ARCH_ALPHA_EV67
|
||||
|
||||
config ARCH_CPU
|
||||
default "ev4" if ARCH_ALPHA_EV4
|
||||
default "ev45" if ARCH_ALPHA_EV45
|
||||
default "ev5" if ARCH_ALPHA_EV5
|
||||
default "ev56" if ARCH_ALPHA_EV56
|
||||
default "ev6" if ARCH_ALPHA_EV6
|
||||
default "ev67" if ARCH_ALPHA_EV67
|
||||
|
||||
config ARCH_TUNE
|
||||
default "ev4" if ARCH_ALPHA_EV4
|
||||
default "ev45" if ARCH_ALPHA_EV45
|
||||
default "ev5" if ARCH_ALPHA_EV5
|
||||
default "ev56" if ARCH_ALPHA_EV56
|
||||
default "ev6" if ARCH_ALPHA_EV6
|
||||
default "ev67" if ARCH_ALPHA_EV67
|
||||
|
@ -1,56 +0,0 @@
|
||||
# Alpha specific configuration file
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "Variant"
|
||||
|
||||
config ARCH_ALPHA_EV4
|
||||
bool
|
||||
prompt "EV4"
|
||||
|
||||
config ARCH_ALPHA_EV45
|
||||
bool
|
||||
prompt "EV45"
|
||||
|
||||
config ARCH_ALPHA_EV5
|
||||
bool
|
||||
prompt "EV5"
|
||||
|
||||
config ARCH_ALPHA_EV56
|
||||
bool
|
||||
prompt "EV56"
|
||||
|
||||
config ARCH_ALPHA_EV6
|
||||
bool
|
||||
prompt "EV6"
|
||||
|
||||
config ARCH_ALPHA_EV67
|
||||
bool
|
||||
prompt "EV67"
|
||||
|
||||
endchoice
|
||||
|
||||
config ARCH_ALPHA_VARIANT
|
||||
string
|
||||
default "ev4" if ARCH_ALPHA_EV4
|
||||
default "ev45" if ARCH_ALPHA_EV45
|
||||
default "ev5" if ARCH_ALPHA_EV5
|
||||
default "ev56" if ARCH_ALPHA_EV56
|
||||
default "ev6" if ARCH_ALPHA_EV6
|
||||
default "ev67" if ARCH_ALPHA_EV67
|
||||
|
||||
config ARCH_CPU
|
||||
default "ev4" if ARCH_ALPHA_EV4
|
||||
default "ev45" if ARCH_ALPHA_EV45
|
||||
default "ev5" if ARCH_ALPHA_EV5
|
||||
default "ev56" if ARCH_ALPHA_EV56
|
||||
default "ev6" if ARCH_ALPHA_EV6
|
||||
default "ev67" if ARCH_ALPHA_EV67
|
||||
|
||||
config ARCH_TUNE
|
||||
default "ev4" if ARCH_ALPHA_EV4
|
||||
default "ev45" if ARCH_ALPHA_EV45
|
||||
default "ev5" if ARCH_ALPHA_EV5
|
||||
default "ev56" if ARCH_ALPHA_EV56
|
||||
default "ev6" if ARCH_ALPHA_EV6
|
||||
default "ev67" if ARCH_ALPHA_EV67
|
@ -14,6 +14,101 @@
|
||||
## select ARCH_SUPPORTS_WITH_FLOAT if ARCH_32
|
||||
## select ARCH_SUPPORTS_WITH_FPU if ARCH_32
|
||||
## select ARCH_SUPPORTS_SOFTFP if ARCH_32
|
||||
##
|
||||
|
||||
## help The ARM architecture, as defined by:
|
||||
## help http://www.arm.com/
|
||||
|
||||
if ARCH_32
|
||||
config ARCH_ARM_MODE
|
||||
string
|
||||
default "arm" if ARCH_ARM_MODE_ARM
|
||||
default "thumb" if ARCH_ARM_MODE_THUMB
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "Default instruction set mode"
|
||||
default ARCH_ARM_MODE_ARM
|
||||
|
||||
config ARCH_ARM_MODE_ARM
|
||||
bool
|
||||
prompt "arm"
|
||||
help
|
||||
Defaults to emitting instructions in the ARM mode.
|
||||
|
||||
config ARCH_ARM_MODE_THUMB
|
||||
bool
|
||||
prompt "thumb"
|
||||
help
|
||||
Defaults to emitting instructions in the THUMB mode.
|
||||
|
||||
endchoice
|
||||
|
||||
config ARCH_ARM_INTERWORKING
|
||||
bool
|
||||
prompt "Use Thumb-interworking (READ HELP)"
|
||||
help
|
||||
Excerpt from the gcc manual:
|
||||
|
||||
> Generate code which supports calling between the ARM and Thumb
|
||||
> instruction sets. Without this option the two instruction sets
|
||||
> cannot be reliably used inside one program. The default is
|
||||
> [not to use interwork], since slightly larger code is generated
|
||||
> when [interwork] is specified.
|
||||
|
||||
NOTE: Interworking in crosstool-NG is not sell-tested. Use at your
|
||||
own risks, and report success and/or failure.
|
||||
|
||||
# Until we only support EABI:
|
||||
config ARCH_ARM_ABI_OK
|
||||
def_bool y
|
||||
depends on ! ARCH_ARM_EABI
|
||||
select ARCH_SUPPORTS_WITH_ABI
|
||||
|
||||
# Little trick to force EABI *and* always show the prompt
|
||||
config ARCH_ARM_EABI_FORCE
|
||||
bool
|
||||
default y if ! OBSOLETE
|
||||
select ARCH_ARM_EABI
|
||||
|
||||
config ARCH_ARM_EABI
|
||||
bool
|
||||
prompt "Use EABI"
|
||||
default y
|
||||
help
|
||||
Set up the toolchain so that it generates EABI-compliant binaries.
|
||||
|
||||
If you say 'n' here, then the toolchain will generate OABI binaries.
|
||||
OABI has long been deprecated, and is now considered legacy.
|
||||
|
||||
config ARCH_ARM_TUPLE_USE_EABIHF
|
||||
bool
|
||||
prompt "append 'hf' to the tuple (EXPERIMENTAL)"
|
||||
depends on ARCH_FLOAT_HW
|
||||
depends on ARCH_ARM_EABI # Until we only support that...
|
||||
default y
|
||||
help
|
||||
Is you say 'y' here, then the tuple for the toolchain will end
|
||||
up with *eabihf, instead of the usual *eabi.
|
||||
|
||||
*eabihf is used to denote that the toolchain *is* using the
|
||||
hard-float ABI, while *eabi is just an indication of using the
|
||||
soft-float ABI.
|
||||
|
||||
Ie. all one can say is: *eabihf ⊢ hard-float ABI
|
||||
|
||||
Saying 'n' here does *not* impact the ability of the toolchain to
|
||||
generate hard-float instructions with the hard-float ABI. It is a
|
||||
purely cosmetic thing, used by distros to differentiate their
|
||||
hard-float-ABI-using ports from their soft-float-ABI-using ports.
|
||||
(eg. Debian Wheezy and above).
|
||||
|
||||
This is an option, as not all versions of gcc/binutils do support
|
||||
such tuple, and fail to build with *eabihf. Stock gcc version up
|
||||
to, and including 4.7.2 have an issue or another with *eabihf.
|
||||
|
||||
This option is here for the future.
|
||||
|
||||
Say 'n', unless you are trying to fix gcc to properly recognise
|
||||
the *eabihf tuples.
|
||||
|
||||
endif
|
||||
|
@ -1,96 +0,0 @@
|
||||
# ARM specific configuration file
|
||||
|
||||
if ARCH_32
|
||||
config ARCH_ARM_MODE
|
||||
string
|
||||
default "arm" if ARCH_ARM_MODE_ARM
|
||||
default "thumb" if ARCH_ARM_MODE_THUMB
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "Default instruction set mode"
|
||||
default ARCH_ARM_MODE_ARM
|
||||
|
||||
config ARCH_ARM_MODE_ARM
|
||||
bool
|
||||
prompt "arm"
|
||||
help
|
||||
Defaults to emitting instructions in the ARM mode.
|
||||
|
||||
config ARCH_ARM_MODE_THUMB
|
||||
bool
|
||||
prompt "thumb"
|
||||
help
|
||||
Defaults to emitting instructions in the THUMB mode.
|
||||
|
||||
endchoice
|
||||
|
||||
config ARCH_ARM_INTERWORKING
|
||||
bool
|
||||
prompt "Use Thumb-interworking (READ HELP)"
|
||||
help
|
||||
Excerpt from the gcc manual:
|
||||
|
||||
> Generate code which supports calling between the ARM and Thumb
|
||||
> instruction sets. Without this option the two instruction sets
|
||||
> cannot be reliably used inside one program. The default is
|
||||
> [not to use interwork], since slightly larger code is generated
|
||||
> when [interwork] is specified.
|
||||
|
||||
NOTE: Interworking in crosstool-NG is not sell-tested. Use at your
|
||||
own risks, and report success and/or failure.
|
||||
|
||||
# Until we only support EABI:
|
||||
config ARCH_ARM_ABI_OK
|
||||
def_bool y
|
||||
depends on ! ARCH_ARM_EABI
|
||||
select ARCH_SUPPORTS_WITH_ABI
|
||||
|
||||
# Little trick to force EABI *and* always show the prompt
|
||||
config ARCH_ARM_EABI_FORCE
|
||||
bool
|
||||
default y if ! OBSOLETE
|
||||
select ARCH_ARM_EABI
|
||||
|
||||
config ARCH_ARM_EABI
|
||||
bool
|
||||
prompt "Use EABI"
|
||||
default y
|
||||
help
|
||||
Set up the toolchain so that it generates EABI-compliant binaries.
|
||||
|
||||
If you say 'n' here, then the toolchain will generate OABI binaries.
|
||||
OABI has long been deprecated, and is now considered legacy.
|
||||
|
||||
config ARCH_ARM_TUPLE_USE_EABIHF
|
||||
bool
|
||||
prompt "append 'hf' to the tuple (EXPERIMENTAL)"
|
||||
depends on ARCH_FLOAT_HW
|
||||
depends on ARCH_ARM_EABI # Until we only support that...
|
||||
default y
|
||||
help
|
||||
Is you say 'y' here, then the tuple for the toolchain will end
|
||||
up with *eabihf, instead of the usual *eabi.
|
||||
|
||||
*eabihf is used to denote that the toolchain *is* using the
|
||||
hard-float ABI, while *eabi is just an indication of using the
|
||||
soft-float ABI.
|
||||
|
||||
Ie. all one can say is: *eabihf ⊢ hard-float ABI
|
||||
|
||||
Saying 'n' here does *not* impact the ability of the toolchain to
|
||||
generate hard-float instructions with the hard-float ABI. It is a
|
||||
purely cosmetic thing, used by distros to differentiate their
|
||||
hard-float-ABI-using ports from their soft-float-ABI-using ports.
|
||||
(eg. Debian Wheezy and above).
|
||||
|
||||
This is an option, as not all versions of gcc/binutils do support
|
||||
such tuple, and fail to build with *eabihf. Stock gcc version up
|
||||
to, and including 4.7.2 have an issue or another with *eabihf.
|
||||
|
||||
This option is here for the future.
|
||||
|
||||
Say 'n', unless you are trying to fix gcc to properly recognise
|
||||
the *eabihf tuples.
|
||||
|
||||
endif
|
@ -9,6 +9,43 @@
|
||||
## select ARCH_SUPPORTS_WITH_ARCH
|
||||
## select ARCH_SUPPORTS_WITH_TUNE
|
||||
## select ARCH_SUPPORTS_WITH_FLOAT
|
||||
##
|
||||
|
||||
## help The MIPS architecture, as defined by:
|
||||
## help http://www.mips.com/
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "ABI"
|
||||
|
||||
config ARCH_mips_o32
|
||||
bool
|
||||
prompt "o32"
|
||||
depends on (ARCH_32 || MULTILIB)
|
||||
help
|
||||
This is the -mabi=32 gcc option.
|
||||
|
||||
config ARCH_mips_n32
|
||||
bool
|
||||
prompt "n32"
|
||||
depends on ARCH_64
|
||||
help
|
||||
This is the -mabi=n32 gcc option.
|
||||
|
||||
config ARCH_mips_n64
|
||||
bool
|
||||
prompt "n64"
|
||||
depends on ARCH_64
|
||||
help
|
||||
This is the -mabi=64 gcc option.
|
||||
|
||||
# Not supported on Linux:
|
||||
# o64 : seems related to *BSD
|
||||
# eabi : seems related to bare-metal
|
||||
|
||||
endchoice
|
||||
|
||||
config ARCH_mips_ABI
|
||||
string
|
||||
default "32" if ARCH_mips_o32
|
||||
default "n32" if ARCH_mips_n32
|
||||
default "64" if ARCH_mips_n64
|
||||
|
@ -1,38 +0,0 @@
|
||||
# MIPS specific config options
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "ABI"
|
||||
|
||||
config ARCH_mips_o32
|
||||
bool
|
||||
prompt "o32"
|
||||
depends on (ARCH_32 || MULTILIB)
|
||||
help
|
||||
This is the -mabi=32 gcc option.
|
||||
|
||||
config ARCH_mips_n32
|
||||
bool
|
||||
prompt "n32"
|
||||
depends on ARCH_64
|
||||
help
|
||||
This is the -mabi=n32 gcc option.
|
||||
|
||||
config ARCH_mips_n64
|
||||
bool
|
||||
prompt "n64"
|
||||
depends on ARCH_64
|
||||
help
|
||||
This is the -mabi=64 gcc option.
|
||||
|
||||
# Not supported on Linux:
|
||||
# o64 : seems related to *BSD
|
||||
# eabi : seems related to bare-metal
|
||||
|
||||
endchoice
|
||||
|
||||
config ARCH_mips_ABI
|
||||
string
|
||||
default "32" if ARCH_mips_o32
|
||||
default "n32" if ARCH_mips_n32
|
||||
default "64" if ARCH_mips_n64
|
@ -1,4 +1,4 @@
|
||||
# powerpc specific configuration file
|
||||
# Powerpc specific configuration file
|
||||
|
||||
## select ARCH_SUPPORTS_32
|
||||
## select ARCH_SUPPORTS_64
|
||||
@ -13,3 +13,44 @@
|
||||
##
|
||||
## help The PowerPC architecture, as defined by:
|
||||
## help http://www.ibm.com/developerworks/eserver/articles/archguide.html
|
||||
|
||||
config ARCH_powerpc_ABI
|
||||
string
|
||||
default "" if ARCH_powerpc_ABI_DEFAULT
|
||||
default "eabi" if ARCH_powerpc_ABI_EABI
|
||||
default "spe" if ARCH_powerpc_ABI_SPE
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "ABI"
|
||||
default ARCH_powerpc_ABI_DEFAULT
|
||||
|
||||
config ARCH_powerpc_ABI_DEFAULT
|
||||
bool
|
||||
prompt "default"
|
||||
help
|
||||
The default ABI (System V.4).
|
||||
|
||||
config ARCH_powerpc_ABI_EABI
|
||||
bool
|
||||
prompt "EABI"
|
||||
depends on BARE_METAL
|
||||
help
|
||||
The Embedded ABI (stack alignment of 8 bytes, etc).
|
||||
|
||||
config ARCH_powerpc_ABI_SPE
|
||||
bool
|
||||
prompt "SPE"
|
||||
help
|
||||
Add support for the Signal Processing Engine. This will set up
|
||||
the toolchain so that it supports the SPE ABI extensions. This
|
||||
mainly targets Freescale e500 processors.
|
||||
|
||||
Setting this option will append "spe" to the end of your target
|
||||
tuple name (e.g., powerpc-e500v2-linux-gnuspe) so that the gcc
|
||||
configure/build system will know to include SPE ABI support. It
|
||||
will also automatically add "-mabi=spe -mspe" to your TARGET_CFLAGS,
|
||||
and "--enable-e500_double" to your CC_EXTRA_CONFIG_ARRAY, so you
|
||||
do not need to explicitly add them.
|
||||
|
||||
endchoice
|
||||
|
@ -1,42 +0,0 @@
|
||||
# powerpc specific configuration file
|
||||
|
||||
config ARCH_powerpc_ABI
|
||||
string
|
||||
default "" if ARCH_powerpc_ABI_DEFAULT
|
||||
default "eabi" if ARCH_powerpc_ABI_EABI
|
||||
default "spe" if ARCH_powerpc_ABI_SPE
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "ABI"
|
||||
default ARCH_powerpc_ABI_DEFAULT
|
||||
|
||||
config ARCH_powerpc_ABI_DEFAULT
|
||||
bool
|
||||
prompt "default"
|
||||
help
|
||||
The default ABI (System V.4).
|
||||
|
||||
config ARCH_powerpc_ABI_EABI
|
||||
bool
|
||||
prompt "EABI"
|
||||
depends on BARE_METAL
|
||||
help
|
||||
The Embedded ABI (stack alignment of 8 bytes, etc).
|
||||
|
||||
config ARCH_powerpc_ABI_SPE
|
||||
bool
|
||||
prompt "SPE"
|
||||
help
|
||||
Add support for the Signal Processing Engine. This will set up
|
||||
the toolchain so that it supports the SPE ABI extensions. This
|
||||
mainly targets Freescale e500 processors.
|
||||
|
||||
Setting this option will append "spe" to the end of your target
|
||||
tuple name (e.g., powerpc-e500v2-linux-gnuspe) so that the gcc
|
||||
configure/build system will know to include SPE ABI support. It
|
||||
will also automatically add "-mabi=spe -mspe" to your TARGET_CFLAGS,
|
||||
and "--enable-e500_double" to your CC_EXTRA_CONFIG_ARRAY, so you
|
||||
do not need to explicitly add them.
|
||||
|
||||
endchoice
|
@ -9,3 +9,27 @@
|
||||
##
|
||||
## help The Super-H architecture, as defined by:
|
||||
## help http://www.renesas.com/fmwk.jsp?cnt=superh_family_landing.jsp&fp=/products/mpumcu/superh_family/
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "Variant"
|
||||
|
||||
config ARCH_SH_SH3
|
||||
bool
|
||||
prompt "sh3"
|
||||
|
||||
config ARCH_SH_SH4
|
||||
bool
|
||||
prompt "sh4"
|
||||
|
||||
config ARCH_SH_SH4A
|
||||
bool
|
||||
prompt "sh4a"
|
||||
|
||||
endchoice
|
||||
|
||||
config ARCH_SH_VARIANT
|
||||
string
|
||||
default "sh3" if ARCH_SH_SH3
|
||||
default "sh4" if ARCH_SH_SH4
|
||||
default "sh4a" if ARCH_SH_SH4A
|
||||
|
@ -1,25 +0,0 @@
|
||||
# Super-H specific configuration file
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "Variant"
|
||||
|
||||
config ARCH_SH_SH3
|
||||
bool
|
||||
prompt "sh3"
|
||||
|
||||
config ARCH_SH_SH4
|
||||
bool
|
||||
prompt "sh4"
|
||||
|
||||
config ARCH_SH_SH4A
|
||||
bool
|
||||
prompt "sh4a"
|
||||
|
||||
endchoice
|
||||
|
||||
config ARCH_SH_VARIANT
|
||||
string
|
||||
default "sh3" if ARCH_SH_SH3
|
||||
default "sh4" if ARCH_SH_SH4
|
||||
default "sh4a" if ARCH_SH_SH4A
|
@ -5,7 +5,7 @@
|
||||
## select ARCH_DEFAULT_LE
|
||||
## select ARCH_SUPPORTS_BOTH_MMU
|
||||
## select ARCH_DEFAULT_HAS_MMU
|
||||
##
|
||||
|
||||
## help The xtensa architecture
|
||||
## help
|
||||
## help Xtensa is a configurable and extensible processor architecture.
|
||||
@ -20,3 +20,16 @@
|
||||
## help
|
||||
## help The default option (ARCH_xtensa_fsf) uses a built-in configuration,
|
||||
## help which may or may not work for a particular Xtensa processor.
|
||||
|
||||
choice
|
||||
prompt "Target Architecture Variant"
|
||||
default ARCH_xtensa_fsf
|
||||
|
||||
config XTENSA_CUSTOM
|
||||
bool "Custom Xtensa processor configuration"
|
||||
select TARGET_USE_OVERLAY
|
||||
|
||||
config ARCH_xtensa_fsf
|
||||
bool "fsf - Default configuration"
|
||||
|
||||
endchoice
|
||||
|
@ -1,33 +0,0 @@
|
||||
choice
|
||||
prompt "Target Architecture Variant"
|
||||
default ARCH_xtensa_fsf
|
||||
|
||||
config XTENSA_CUSTOM
|
||||
bool "Custom Xtensa processor configuration"
|
||||
|
||||
config ARCH_xtensa_fsf
|
||||
bool "fsf - Default configuration"
|
||||
|
||||
endchoice
|
||||
|
||||
config ARCH_XTENSA_CUSTOM_NAME
|
||||
string "Custom Xtensa processor configuration name"
|
||||
depends on XTENSA_CUSTOM
|
||||
default ""
|
||||
help
|
||||
Enter the name of the custom processor configuration.
|
||||
Overlay file for that configuration must be called
|
||||
'xtensa_<CUSTOM_NAME>.tar'.
|
||||
|
||||
Leave blank to use the default 'xtensa-overlay.tar'.
|
||||
For more information about this option, please also consult
|
||||
section 'Using crosstool-NG to build Xtensa toolchains' in the
|
||||
docs/C - Misc. tutorials.txt
|
||||
|
||||
config ARCH_XTENSA_CUSTOM_OVERLAY_LOCATION
|
||||
string "Full path to custom Xtensa processor configurations"
|
||||
depends on XTENSA_CUSTOM
|
||||
default ""
|
||||
help
|
||||
Enter the path to the directory for the custom processor
|
||||
configuration file.
|
@ -33,10 +33,6 @@ config ARCH_BINFMT_FDPIC
|
||||
|
||||
endchoice
|
||||
|
||||
config BINUTILS
|
||||
string
|
||||
|
||||
source "config/gen/binutils.in"
|
||||
source "config/gen/binutils.in.2"
|
||||
|
||||
endmenu
|
||||
|
@ -2,174 +2,29 @@
|
||||
|
||||
comment "GNU binutils"
|
||||
|
||||
config BINUTILS_CUSTOM
|
||||
bool
|
||||
prompt "Custom binutils"
|
||||
depends on EXPERIMENTAL
|
||||
select BINUTILS_2_26_or_later
|
||||
help
|
||||
The choosen binutils version shall be not downloaded. Instead use
|
||||
a custom location to get the source.
|
||||
|
||||
if BINUTILS_CUSTOM
|
||||
|
||||
config BINUTILS_CUSTOM_LOCATION
|
||||
string
|
||||
prompt "Full path to custom binutils source"
|
||||
help
|
||||
Enter the path to the directory or tarball of your source for binutils.
|
||||
|
||||
If the path is a tarball, it should extract to: <name>-<version>/
|
||||
where the name is this component, binutils, and the version is set
|
||||
below in the custom version string.
|
||||
|
||||
config BINUTILS_CUSTOM_VERSION
|
||||
string
|
||||
prompt "Binutils Custom Version number"
|
||||
help
|
||||
Enter the version number for your custom binutils.
|
||||
|
||||
config BINUTILS_VERSION
|
||||
string
|
||||
default BINUTILS_CUSTOM_VERSION
|
||||
|
||||
endif # BINUTILS_CUSTOM
|
||||
|
||||
if ! BINUTILS_CUSTOM
|
||||
|
||||
config BINUTILS_SHOW_LINARO
|
||||
bool
|
||||
prompt "Show Linaro versions"
|
||||
help
|
||||
Linaro is maintaining some advanced/more stable/experimental versions
|
||||
of binutils, especially for the ARM architecture.
|
||||
|
||||
Those versions have not been blessed by the binutils comunity (nor have they
|
||||
been cursed either!), but they look to be pretty much stable, and even
|
||||
more stable than the upstream versions. YMMV...
|
||||
|
||||
If you do not know what this Linaro stuff is, then simply say 'n' here,
|
||||
and rest in peace. OTOH, if you know what you are doing, you will be
|
||||
able to use and enjoy :-) the Linaro versions by saying 'y' here.
|
||||
|
||||
Linaro: http://www.linaro.org/
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "binutils version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config BINUTILS_V_2_28
|
||||
bool
|
||||
prompt "2.28"
|
||||
select BINUTILS_2_27_or_later
|
||||
|
||||
config BINUTILS_V_2_27
|
||||
bool
|
||||
prompt "2.27"
|
||||
select BINUTILS_2_27_or_later
|
||||
|
||||
config BINUTILS_V_2_26
|
||||
bool
|
||||
prompt "2.26"
|
||||
select BINUTILS_2_26_or_later
|
||||
|
||||
config BINUTILS_V_2_25_1
|
||||
bool
|
||||
prompt "2.25.1 (OBSOLETE)"
|
||||
select BINUTILS_2_25_1_or_later
|
||||
depends on OBSOLETE
|
||||
|
||||
config BINUTILS_LINARO_V_2_25
|
||||
bool
|
||||
prompt "linaro-2.25.0-2015.01-2 (OBSOLETE)"
|
||||
select BINUTILS_2_25_or_later
|
||||
depends on BINUTILS_SHOW_LINARO
|
||||
depends on OBSOLETE
|
||||
|
||||
config BINUTILS_LINARO_V_2_24
|
||||
bool
|
||||
prompt "linaro-2.24.0-2014.11-2 (OBSOLETE)"
|
||||
select BINUTILS_2_24_or_later
|
||||
depends on BINUTILS_SHOW_LINARO
|
||||
depends on OBSOLETE
|
||||
|
||||
config BINUTILS_V_2_24
|
||||
bool
|
||||
prompt "2.24 (OBSOLETE)"
|
||||
select BINUTILS_2_24_or_later
|
||||
depends on OBSOLETE
|
||||
|
||||
config BINUTILS_LINARO_V_2_23_2
|
||||
bool
|
||||
prompt "linaro-2.23.2-2013.10-4 (OBSOLETE)"
|
||||
select BINUTILS_2_23_2_or_later
|
||||
depends on BINUTILS_SHOW_LINARO
|
||||
depends on OBSOLETE
|
||||
|
||||
config BINUTILS_V_2_23_2
|
||||
bool
|
||||
prompt "2.23.2 (OBSOLETE)"
|
||||
select BINUTILS_2_23_2_or_later
|
||||
depends on OBSOLETE
|
||||
|
||||
endchoice
|
||||
|
||||
config BINUTILS_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "2.28" if BINUTILS_V_2_28
|
||||
default "2.27" if BINUTILS_V_2_27
|
||||
default "2.26" if BINUTILS_V_2_26
|
||||
default "2.25.1" if BINUTILS_V_2_25_1
|
||||
default "linaro-2.25.0-2015.01-2" if BINUTILS_LINARO_V_2_25
|
||||
default "linaro-2.24.0-2014.11-2" if BINUTILS_LINARO_V_2_24
|
||||
default "2.24" if BINUTILS_V_2_24
|
||||
default "linaro-2.23.2-2013.10-4" if BINUTILS_LINARO_V_2_23_2
|
||||
default "2.23.2" if BINUTILS_V_2_23_2
|
||||
|
||||
endif # ! BINUTILS_CUSTOM
|
||||
|
||||
config BINUTILS_2_27_or_later
|
||||
bool
|
||||
select BINUTILS_2_26_or_later
|
||||
|
||||
config BINUTILS_2_26_or_later
|
||||
bool
|
||||
select BINUTILS_2_25_1_or_later
|
||||
|
||||
config BINUTILS_2_25_1_or_later
|
||||
bool
|
||||
select BINUTILS_2_25_or_later
|
||||
|
||||
config BINUTILS_2_25_or_later
|
||||
bool
|
||||
select BINUTILS_2_24_or_later
|
||||
|
||||
config BINUTILS_2_24_or_later
|
||||
bool
|
||||
select BINUTILS_2_23_2_or_later
|
||||
|
||||
config BINUTILS_2_23_2_or_later
|
||||
bool
|
||||
select BINUTILS_HAS_GOLD
|
||||
select BINUTILS_HAS_HASH_STYLE
|
||||
select BINUTILS_HAS_PKGVERSION_BUGURL
|
||||
select BINUTILS_HAS_PLUGINS
|
||||
source "config/versions/binutils.in"
|
||||
|
||||
config BINUTILS_HAS_HASH_STYLE
|
||||
default y if BINUTILS_2_23_or_later
|
||||
bool
|
||||
|
||||
config BINUTILS_HAS_GOLD
|
||||
default y if BINUTILS_2_23_or_later
|
||||
bool
|
||||
|
||||
config BINUTILS_HAS_PLUGINS
|
||||
default y if BINUTILS_2_23_or_later
|
||||
bool
|
||||
|
||||
config BINUTILS_HAS_PKGVERSION_BUGURL
|
||||
default y if BINUTILS_2_23_or_later
|
||||
bool
|
||||
|
||||
# gold only suports the listed architectures
|
||||
config BINUTILS_GOLD_SUPPORTS_ARCH
|
||||
bool
|
||||
default y if ARCH_arm
|
||||
default y if ARCH_x86
|
||||
default y if ARCH_ARM
|
||||
default y if ARCH_X86
|
||||
|
||||
config BINUTILS_GOLD_SUPPORT
|
||||
bool
|
||||
@ -178,12 +33,6 @@ config BINUTILS_GOLD_SUPPORT
|
||||
depends on BINUTILS_GOLD_SUPPORTS_ARCH
|
||||
depends on ! STATIC_TOOLCHAIN
|
||||
|
||||
config BINUTILS_HAS_PLUGINS
|
||||
bool
|
||||
|
||||
config BINUTILS_HAS_PKGVERSION_BUGURL
|
||||
bool
|
||||
|
||||
# Force using the BFD linker if needed. There are two options:
|
||||
# - For some C libraries (eg. glibc at least), BFD ld must be
|
||||
# built and be selected by default.
|
||||
@ -331,3 +180,27 @@ config BINUTILS_FOR_TARGET_BFD
|
||||
default y
|
||||
|
||||
endif # BINUTILS_FOR_TARGET
|
||||
|
||||
if ARCH_BINFMT_FLAT
|
||||
|
||||
comment "elf2flt"
|
||||
|
||||
config ELF2FLT_REQUIRES
|
||||
def_bool y
|
||||
select ZLIB
|
||||
select BINUTILS_FORCE_LD_BFD_ONLY
|
||||
|
||||
source "config/versions/elf2flt.in"
|
||||
|
||||
config ELF2FLT_EXTRA_CONFIG_ARRAY
|
||||
string
|
||||
prompt "elf2flt extra config"
|
||||
default ""
|
||||
help
|
||||
Extra flags passed onto ./configure when configuring
|
||||
|
||||
You can enter multiple arguments here, and arguments can contain spaces
|
||||
if they are properly quoted (or escaped, but prefer quotes). Eg.:
|
||||
--with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
|
||||
|
||||
endif # ARCH_BINFMT_FLAT
|
||||
|
@ -1,82 +0,0 @@
|
||||
# elf2flt options
|
||||
|
||||
if ARCH_BINFMT_FLAT
|
||||
|
||||
config ELF2FLT_REQUIRES
|
||||
def_bool y
|
||||
select ZLIB
|
||||
select BINUTILS_FORCE_LD_BFD_ONLY
|
||||
|
||||
comment "elf2flt"
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "elf2flt version"
|
||||
|
||||
config ELF2FLT_GIT
|
||||
bool
|
||||
prompt "git"
|
||||
depends on CONFIGURE_has_git
|
||||
help
|
||||
Grab the latest version of elf2flt from the CVS repository
|
||||
|
||||
config ELF2FLT_CUSTOM
|
||||
bool
|
||||
prompt "Custom elf2flt"
|
||||
depends on EXPERIMENTAL || !CONFIGURE_has_git
|
||||
help
|
||||
The choosen elf2flt version shall be not downloaded. Instead use
|
||||
a custom location to get the source.
|
||||
|
||||
endchoice
|
||||
|
||||
if ELF2FLT_GIT
|
||||
|
||||
config ELF2FLT_GIT_CSET
|
||||
string
|
||||
prompt "git cset"
|
||||
default "6d80ab6c93409e796f85da404bde84b841231531"
|
||||
help
|
||||
Enter the git changeset to use.
|
||||
|
||||
The default currently points to the HEAD of the git tree.
|
||||
|
||||
endif # ELF2FLT_GIT
|
||||
|
||||
config ELF2FLT_VERSION
|
||||
string
|
||||
default ELF2FLT_GIT_CSET if ELF2FLT_GIT
|
||||
default ELF2FLT_CUSTOM_VERSION if ELF2FLT_CUSTOM
|
||||
|
||||
if ELF2FLT_CUSTOM
|
||||
|
||||
config ELF2FLT_CUSTOM_LOCATION
|
||||
string
|
||||
prompt "Full path to custom elf2flt source"
|
||||
help
|
||||
Enter the path to the directory or tarball of your source for elf2flt.
|
||||
|
||||
If the path is a tarball, it should extract to: <name>-<version>/
|
||||
where the name is this component, elf2flt, and the version is set
|
||||
below in the custom version string.
|
||||
|
||||
config ELF2FLT_CUSTOM_VERSION
|
||||
string
|
||||
prompt "elf2flt custom version number"
|
||||
help
|
||||
Enter the version number for your custom elf2flt.
|
||||
|
||||
endif # ELF2FLT_CUSTOM
|
||||
|
||||
config ELF2FLT_EXTRA_CONFIG_ARRAY
|
||||
string
|
||||
prompt "elf2flt extra config"
|
||||
default ""
|
||||
help
|
||||
Extra flags passed onto ./configure when configuring
|
||||
|
||||
You can enter multiple arguments here, and arguments can contain spaces
|
||||
if they are properly quoted (or escaped, but prefer quotes). Eg.:
|
||||
--with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
|
||||
|
||||
endif # ARCH_BINFMT_FLAT
|
11
config/cc.in
11
config/cc.in
@ -2,13 +2,6 @@
|
||||
|
||||
menu "C compiler"
|
||||
|
||||
config CC
|
||||
string
|
||||
default "gcc"
|
||||
|
||||
config CC_VERSION
|
||||
string
|
||||
|
||||
config CC_CORE_PASSES_NEEDED
|
||||
bool
|
||||
select CC_CORE_PASS_1_NEEDED
|
||||
@ -20,8 +13,6 @@ config CC_CORE_PASS_1_NEEDED
|
||||
config CC_CORE_PASS_2_NEEDED
|
||||
bool
|
||||
|
||||
source "config/gen/cc.in"
|
||||
|
||||
config CC_SUPPORT_CXX
|
||||
bool
|
||||
|
||||
@ -43,6 +34,8 @@ config CC_SUPPORT_OBJCXX
|
||||
config CC_SUPPORT_GOLANG
|
||||
bool
|
||||
|
||||
source "config/gen/cc.in"
|
||||
|
||||
comment "Additional supported languages:"
|
||||
|
||||
config CC_LANG_CXX
|
||||
|
592
config/cc/gcc.in
592
config/cc/gcc.in
@ -1,216 +1,432 @@
|
||||
# Compiler options
|
||||
#
|
||||
# GCC options
|
||||
|
||||
## default y
|
||||
## select CC_SUPPORT_CXX if !LIBC_none
|
||||
## select CC_SUPPORT_CXX if !LIBC_NONE
|
||||
## select CC_SUPPORT_FORTRAN
|
||||
## select CC_SUPPORT_JAVA if !CC_GCC_6_or_later
|
||||
## select CC_SUPPORT_JAVA if !GCC_7_or_later
|
||||
## select CC_SUPPORT_ADA
|
||||
## select CC_SUPPORT_OBJC
|
||||
## select CC_SUPPORT_OBJCXX
|
||||
## select CC_SUPPORT_GOLANG
|
||||
##
|
||||
# GCC7 requires ISL 0.15+
|
||||
## select ISL_REQUIRE_0_15_or_later if ISL_NEEDED && GCC_7_or_later
|
||||
# GCC6 requires ISL 0.14+ (it says 0.14-0.16, but accepts newer ISL as well)
|
||||
## select ISL_REQUIRE_0_14_or_later if ISL_NEEDED && GCC_6_or_later
|
||||
# GCC5 requires ISL 0.12+ (again, it says 0.12-0.16, but also accepts newer ISL)
|
||||
## select ISL_REQUIRE_0_12_or_later if ISL_NEEDED && GCC_5_or_later
|
||||
# GCC4.9 requires ISL 0.10..0.15
|
||||
# GCC4.8 requires ISL 0.10..0.14
|
||||
## select ISL_REQUIRE_0_10_or_later if ISL_NEEDED && GCC_4_8_or_later
|
||||
## select ISL_REQUIRE_0_15_or_older if ISL_NEEDED && GCC_4_9_or_later && !GCC_5_or_later
|
||||
## select ISL_REQUIRE_0_14_or_older if ISL_NEEDED && GCC_4_8_or_later && !GCC_4_9_or_later
|
||||
|
||||
## help gcc is the full-blown GNU compiler. This is what most people will choose.
|
||||
## help
|
||||
## help gcc supports many languages, a powerful code parser, optimised binary
|
||||
## help output, and lots of other features.
|
||||
|
||||
config CC_GCC_CUSTOM
|
||||
bool
|
||||
prompt "Custom gcc"
|
||||
depends on EXPERIMENTAL
|
||||
select CC_GCC_latest
|
||||
help
|
||||
The choosen gcc version shall be not downloaded. Instead use
|
||||
a custom location to get the source.
|
||||
|
||||
if CC_GCC_CUSTOM
|
||||
|
||||
config CC_GCC_CUSTOM_LOCATION
|
||||
string
|
||||
prompt "Full path to custom gcc source"
|
||||
help
|
||||
Enter the path to the directory or tarball of your source for gcc.
|
||||
|
||||
If the path is a tarball, it should extract to: <name>-<version>/
|
||||
where the name is this component, gcc, and the version is set
|
||||
below in the custom version string.
|
||||
|
||||
config CC_GCC_CUSTOM_VERSION
|
||||
string
|
||||
prompt "Custom GCC Version"
|
||||
help
|
||||
Enter the version number for your custom gcc.
|
||||
|
||||
config CC_GCC_VERSION
|
||||
string
|
||||
default CC_GCC_CUSTOM_VERSION
|
||||
|
||||
endif #CC_GCC_CUSTOM
|
||||
|
||||
if ! CC_GCC_CUSTOM
|
||||
|
||||
config CC_GCC_SHOW_LINARO
|
||||
bool
|
||||
prompt "Show Linaro versions"
|
||||
help
|
||||
Linaro is maintaining some advanced/more stable/experimental versions
|
||||
of gcc, especially for the ARM architecture.
|
||||
|
||||
Those versions have not been blessed by the gcc comunity (nor have they
|
||||
been cursed either!), but they look to be pretty much stable, and even
|
||||
more stable than the upstream versions. YMMV...
|
||||
|
||||
If you do not know what this Linaro stuff is, then simply say 'n' here,
|
||||
and rest in peace. OTOH, if you know what you are doing, you will be
|
||||
able to use and enjoy :-) the Linaro versions by saying 'y' here.
|
||||
|
||||
Linaro: http://www.linaro.org/
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "gcc version"
|
||||
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config CC_GCC_V_7_1_0
|
||||
bool
|
||||
prompt "7.1.0"
|
||||
select CC_GCC_7
|
||||
|
||||
config CC_GCC_V_linaro_6_3
|
||||
bool
|
||||
prompt "linaro-6.3-2017.05"
|
||||
depends on CC_GCC_SHOW_LINARO
|
||||
select CC_GCC_6
|
||||
|
||||
config CC_GCC_V_6_3_0
|
||||
bool
|
||||
prompt "6.3.0"
|
||||
select CC_GCC_6
|
||||
|
||||
config CC_GCC_V_linaro_5_4
|
||||
bool
|
||||
prompt "linaro-5.4-2017.05"
|
||||
depends on CC_GCC_SHOW_LINARO
|
||||
select CC_GCC_5
|
||||
|
||||
config CC_GCC_V_5_4_0
|
||||
bool
|
||||
prompt "5.4.0"
|
||||
select CC_GCC_5
|
||||
|
||||
config CC_GCC_V_linaro_4_9
|
||||
bool
|
||||
prompt "linaro-4.9-2017.01"
|
||||
depends on CC_GCC_SHOW_LINARO
|
||||
select CC_GCC_4_9
|
||||
|
||||
config CC_GCC_V_4_9_4
|
||||
bool
|
||||
prompt "4.9.4"
|
||||
select CC_GCC_4_9
|
||||
|
||||
config CC_GCC_V_linaro_4_8
|
||||
bool
|
||||
prompt "linaro-4.8-2015.06 (OBSOLETE)"
|
||||
depends on CC_GCC_SHOW_LINARO
|
||||
depends on OBSOLETE
|
||||
select CC_GCC_4_8
|
||||
|
||||
config CC_GCC_V_4_8_5
|
||||
bool
|
||||
prompt "4.8.5 (OBSOLETE)"
|
||||
select CC_GCC_4_8
|
||||
depends on OBSOLETE
|
||||
|
||||
endchoice
|
||||
|
||||
endif # ! CC_GCC_CUSTOM
|
||||
|
||||
config CC_GCC_4_8
|
||||
bool
|
||||
select CC_GCC_4_8_or_later
|
||||
|
||||
config CC_GCC_4_8_or_later
|
||||
bool
|
||||
|
||||
config CC_GCC_4_9
|
||||
bool
|
||||
select CC_GCC_4_9_or_later
|
||||
|
||||
config CC_GCC_4_9_or_later
|
||||
bool
|
||||
select CC_GCC_4_8_or_later
|
||||
|
||||
config CC_GCC_5
|
||||
bool
|
||||
select CC_GCC_5_or_later
|
||||
|
||||
config CC_GCC_5_or_later
|
||||
bool
|
||||
select CC_GCC_4_9_or_later
|
||||
select CC_GCC_HAS_LIBMPX
|
||||
|
||||
config CC_GCC_6
|
||||
bool
|
||||
select CC_GCC_6_or_later
|
||||
|
||||
config CC_GCC_6_or_later
|
||||
bool
|
||||
select CC_GCC_5_or_later
|
||||
|
||||
config CC_GCC_7
|
||||
bool
|
||||
select CC_GCC_7_or_later
|
||||
|
||||
config CC_GCC_7_or_later
|
||||
bool
|
||||
select CC_GCC_6_or_later
|
||||
|
||||
config CC_GCC_latest
|
||||
bool
|
||||
select CC_GCC_7_or_later
|
||||
source "config/versions/gcc.in"
|
||||
|
||||
# Only enable gcc's support for plugins if binutils has it as well
|
||||
# They are useful only when doing LTO, but it does no harm enabling
|
||||
# them even without LTO.
|
||||
config CC_GCC_ENABLE_PLUGINS
|
||||
bool
|
||||
def_bool y
|
||||
depends on BINUTILS_PLUGINS
|
||||
depends on ! STATIC_TOOLCHAIN
|
||||
default y
|
||||
|
||||
# Affects the build of musl
|
||||
config GCC_BUG_61144
|
||||
bool
|
||||
default y if GCC_4_9_or_later && !GCC_4_9_2_or_later
|
||||
|
||||
# If binutils installs gold, enable support for gold in gcc
|
||||
config CC_GCC_GOLD
|
||||
bool
|
||||
def_bool y
|
||||
depends on BINUTILS_GOLD_INSTALLED
|
||||
default y
|
||||
|
||||
config CC_GCC_HAS_LIBMPX
|
||||
bool
|
||||
|
||||
if ! CC_GCC_CUSTOM
|
||||
|
||||
config CC_GCC_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "7.1.0" if CC_GCC_V_7_1_0
|
||||
default "linaro-6.3-2017.05" if CC_GCC_V_linaro_6_3
|
||||
default "6.3.0" if CC_GCC_V_6_3_0
|
||||
default "linaro-5.4-2017.05" if CC_GCC_V_linaro_5_4
|
||||
default "5.4.0" if CC_GCC_V_5_4_0
|
||||
default "linaro-4.9-2017.01" if CC_GCC_V_linaro_4_9
|
||||
default "4.9.4" if CC_GCC_V_4_9_4
|
||||
default "linaro-4.8-2015.06" if CC_GCC_V_linaro_4_8
|
||||
default "4.8.5" if CC_GCC_V_4_8_5
|
||||
|
||||
endif # ! CC_GCC_CUSTOM
|
||||
def_bool y
|
||||
depends on GCC_5_or_later
|
||||
|
||||
config CC_LANG_JAVA_USE_ECJ
|
||||
bool
|
||||
default y
|
||||
def_bool y
|
||||
depends on CC_LANG_JAVA
|
||||
|
||||
source "config/cc/gcc.in.2"
|
||||
config CC_GCC_ENABLE_CXX_FLAGS
|
||||
string "Flags to pass to --enable-cxx-flags"
|
||||
default ""
|
||||
help
|
||||
Enter here the value of the gcc's ./configure option --enable-cxx-flags.
|
||||
Leave empty if you don't know better.
|
||||
|
||||
Note: just pass in the option _value_, that is only the part that goes
|
||||
after the '=' sign.
|
||||
|
||||
config CC_GCC_CORE_EXTRA_CONFIG_ARRAY
|
||||
string "Core gcc extra config"
|
||||
default ""
|
||||
depends on CC_CORE_PASS_1_NEEDED || CC_CORE_PASS_2_NEEDED
|
||||
help
|
||||
Extra flags to pass onto ./configure when configuring the core gcc.
|
||||
|
||||
The core gcc is a stripped down, C-only compiler needed to build
|
||||
the C library. Kinda bootstrap gcc, if you wish.
|
||||
|
||||
You can enter multiple arguments here, and arguments can contain spaces
|
||||
if they are properly quoted (or escaped, but prefer quotes). Eg.:
|
||||
--with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
|
||||
|
||||
config CC_GCC_EXTRA_CONFIG_ARRAY
|
||||
string "gcc extra config"
|
||||
default ""
|
||||
help
|
||||
Extra flags to pass onto ./configure when configuring gcc.
|
||||
|
||||
You can enter multiple arguments here, and arguments can contain spaces
|
||||
if they are properly quoted (or escaped, but prefer quotes). Eg.:
|
||||
--with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
|
||||
|
||||
config CC_GCC_MULTILIB_LIST
|
||||
string "List of multilib variants"
|
||||
depends on MULTILIB
|
||||
help
|
||||
Architecture-specific option of expanding or restricting the list of
|
||||
the multilib variants to be built. Refer to GCC installation manual
|
||||
for the format of this option for a particular architecture.
|
||||
Leave empty to use the default list for this architecture.
|
||||
|
||||
config STATIC_TOOLCHAIN
|
||||
bool
|
||||
select CC_GCC_STATIC_LIBSTDCXX
|
||||
|
||||
config CC_GCC_STATIC_LIBSTDCXX
|
||||
bool "Link libstdc++ statically into the gcc binary"
|
||||
default y
|
||||
depends on CONFIGURE_has_static_link || CANADIAN || CROSS_NATIVE
|
||||
select WANTS_STATIC_LINK if CROSS || NATIVE
|
||||
select WANTS_STATIC_LINK_CXX if CROSS || NATIVE
|
||||
help
|
||||
Newer gcc versions require some c++ libraries. So statically
|
||||
linking libstdc++ increases the likeliness that the gcc binary will
|
||||
run on machines other than the one which it was built on, without
|
||||
having to worry about distributing the matching version of libstdc++
|
||||
along with it.
|
||||
|
||||
config CC_GCC_SYSTEM_ZLIB
|
||||
bool "Use system zlib"
|
||||
help
|
||||
Do not use bundled zlib, and use the zlib already available for
|
||||
the host (eg. the system library).
|
||||
|
||||
If zlib is built as a companion library, selecting this option
|
||||
will use it.
|
||||
|
||||
If you want to build a static toolchain, you will need to also
|
||||
install the static version of zlib for your host.
|
||||
|
||||
If unsure, say 'n'.
|
||||
|
||||
config CC_GCC_CONFIG_TLS
|
||||
tristate
|
||||
prompt "Configure TLS (Thread Local Storage)"
|
||||
default m
|
||||
help
|
||||
Specify that the target supports TLS (Thread Local Storage). Usually
|
||||
configure can correctly determine if TLS is supported. In cases where
|
||||
it guesses incorrectly, TLS can be explicitly enabled or disabled.
|
||||
This can happen if the assembler supports TLS but the C library does
|
||||
not, or if the assumptions made by the configure test are incorrect.
|
||||
|
||||
Option | TLS use | Associated ./configure switch
|
||||
---------+--------------------+--------------------------------
|
||||
Y | forcibly used | --enable-tls
|
||||
M | auto | (none, ./configure decides)
|
||||
N | forcibly not used | --disable-tls
|
||||
|
||||
If unsure, say 'M'.
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Optimisation features
|
||||
|
||||
comment "Optimisation features"
|
||||
|
||||
# Defined in config/cc/gcc.in
|
||||
# For graphite: gcc needs cloog and isl
|
||||
# In >= gcc-5.x, cloog is no longer needed, but isl is.
|
||||
config CC_GCC_USE_GRAPHITE
|
||||
bool "Enable GRAPHITE loop optimisations"
|
||||
default y
|
||||
select CLOOG_NEEDED if !GCC_5_or_later
|
||||
select ISL_NEEDED
|
||||
help
|
||||
Enable the GRAPHITE loop optimsations.
|
||||
|
||||
On some systems (eg. Cygwin), CLooG and ISL (required to enable
|
||||
GRAPHITE) may not build properly (yet), so you'll have to say 'N'
|
||||
here (or help debug the issues)
|
||||
|
||||
TODO: Is this still true on Cygwin?
|
||||
|
||||
# The way LTO works is a bit twisted.
|
||||
# See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements
|
||||
# Basically:
|
||||
# - if binutils has plugins: LTO is handled by ld/gold by loading
|
||||
# the plugin when linking
|
||||
# - if binutils does not have plugins: LTO is handled by collect2
|
||||
# In any case, LTO support does not depend on plugins, but takes
|
||||
# advantage of it
|
||||
config CC_GCC_USE_LTO
|
||||
bool "Enable LTO"
|
||||
default y
|
||||
depends on ! STATIC_TOOLCHAIN
|
||||
help
|
||||
Enable the Link Time Optimisations.
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
comment "Settings for libraries running on target"
|
||||
|
||||
config CC_GCC_ENABLE_TARGET_OPTSPACE
|
||||
bool
|
||||
prompt "Optimize gcc libs for size"
|
||||
default y
|
||||
help
|
||||
Pass --enable-target-optspace to crossgcc's configure.
|
||||
|
||||
This will compile crossgcc's libs with -Os.
|
||||
|
||||
config CC_GCC_LIBMUDFLAP
|
||||
bool
|
||||
prompt "Compile libmudflap"
|
||||
help
|
||||
libmudflap is a pointer-use checking tool, which can detect
|
||||
various mis-usages of pointers in C and (to some extents) C++.
|
||||
|
||||
You should say 'N' here, as libmduflap generates instrumented
|
||||
code (thus it is a bit bigger and a bit slower) and requires
|
||||
re-compilation and re-link, while it exists better run-time
|
||||
alternatives (eg. DUMA, dmalloc...) that need neither re-
|
||||
compilation nor re-link.
|
||||
|
||||
config CC_GCC_LIBGOMP
|
||||
bool
|
||||
prompt "Compile libgomp"
|
||||
depends on !THREADS_NONE
|
||||
help
|
||||
libgomp is "the GNU implementation of the OpenMP Application Programming
|
||||
Interface (API) for multi-platform shared-memory parallel programming in
|
||||
C/C++ and Fortran". See:
|
||||
http://gcc.gnu.org/onlinedocs/libgomp/
|
||||
|
||||
GNU OpenMP support requires threading.
|
||||
|
||||
The default is 'N'. Say 'Y' if you need it, and report success/failure.
|
||||
|
||||
config CC_GCC_LIBSSP
|
||||
bool
|
||||
prompt "Compile libssp"
|
||||
help
|
||||
libssp is the run-time Stack-Smashing Protection library.
|
||||
|
||||
The default is 'N'. Say 'Y' if you need it, and report success/failure.
|
||||
|
||||
config CC_GCC_LIBQUADMATH
|
||||
bool
|
||||
prompt "Compile libquadmath"
|
||||
help
|
||||
libquadmath is a library which provides quad-precision mathematical
|
||||
functions on targets supporting the __float128 datatype. See:
|
||||
http://gcc.gnu.org/onlinedocs/libquadmath/
|
||||
|
||||
The default is 'N'. Say 'Y' if you need it, and report success/failure.
|
||||
|
||||
config CC_GCC_LIBSANITIZER
|
||||
bool
|
||||
prompt "Compile libsanitizer"
|
||||
depends on THREADS_NATIVE
|
||||
depends on !LIBC_UCLIBC && !LIBC_MUSL # Currently lacks required headers (like netrom.h)
|
||||
help
|
||||
libsanitizer is a library which provides run-time sanitising of either
|
||||
or both of:
|
||||
- memory access patterns (out-of-bonds, use-after-free)
|
||||
- racy data accesses (in multi-threaded programs)
|
||||
|
||||
The default is 'N'. Say 'Y' if you need it, and report success/failure.
|
||||
|
||||
config CC_GCC_LIBMPX
|
||||
bool
|
||||
default y
|
||||
prompt "Compile libmpx"
|
||||
depends on CC_GCC_HAS_LIBMPX
|
||||
depends on ARCH_X86
|
||||
# MUSL does not define libc types that GCC requires. Mingw lacks certain headers.
|
||||
depends on !LIBC_MUSL && !LIBC_MINGW_W64
|
||||
help
|
||||
Enable GCC support for Intel Memory Protection Extensions (MPX).
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
comment "Misc. obscure options."
|
||||
|
||||
config CC_CXA_ATEXIT
|
||||
bool
|
||||
prompt "Use __cxa_atexit"
|
||||
default y
|
||||
depends on ! BARE_METAL || LIBC_PROVIDES_CXA_ATEXIT
|
||||
help
|
||||
If you get the missing symbol "__cxa_atexit" when building C++ programs,
|
||||
you might want to try disabling this option.
|
||||
|
||||
config CC_GCC_DISABLE_PCH
|
||||
bool
|
||||
prompt "Do not build PCH"
|
||||
help
|
||||
Say 'y' here to not use Pre-Compiled Headers in the resulting toolchain.
|
||||
at the expense of speed when compiling C++ code.
|
||||
|
||||
For some configurations (most notably canadian?), PCH are broken, and
|
||||
need to be disabled. Please see:
|
||||
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974
|
||||
|
||||
config CC_GCC_SJLJ_EXCEPTIONS
|
||||
tristate
|
||||
prompt "Use sjlj for exceptions"
|
||||
depends on ! BARE_METAL
|
||||
default m
|
||||
help
|
||||
'sjlj' is short for setjmp/longjmp.
|
||||
|
||||
On some architectures, stack unwinding during exception handling
|
||||
works perfectly well without using sjlj, while on some others,
|
||||
use of sjlj is required for proper stack unwinding.
|
||||
|
||||
Option | sjlj use | Associated ./configure switch
|
||||
---------+--------------------+--------------------------------
|
||||
Y | forcibly used | --enable-sjlj-exceptions
|
||||
M | auto | (none, ./configure decides)
|
||||
N | forcibly not used | --disable-sjlj-exceptions
|
||||
|
||||
It should be safe to say 'M' or 'N'.
|
||||
|
||||
It can happen that ./configure is wrong in some cases. Known
|
||||
case is for ARM big endian, where you should say 'N'.
|
||||
|
||||
config CC_GCC_LDBL_128
|
||||
tristate
|
||||
prompt "Enable 128-bit long doubles"
|
||||
default m
|
||||
help
|
||||
Saying 'Y' will force gcc to use 128-bit wide long doubles
|
||||
Saying 'N' will force gcc to use 64-bit wide long doubles
|
||||
Saying 'M' will let gcc choose (default is 128-bit for
|
||||
glibc >= 2.4, 64-bit otherwise)
|
||||
|
||||
If in doubt, keep the default, ie. 'M'.
|
||||
|
||||
config CC_GCC_BUILD_ID
|
||||
bool
|
||||
prompt "Enable build-id"
|
||||
help
|
||||
Tells GCC to pass --build-id option to the linker for all final
|
||||
links (links performed without the -r or --relocatable option),
|
||||
if the linker supports it. If you say 'y' here, but your linker
|
||||
does not support --build-id option, a warning is issued and this
|
||||
option is ignored.
|
||||
|
||||
The default is off.
|
||||
|
||||
choice CC_GCC_LNK_HASH_STYLE_CHOICE
|
||||
bool
|
||||
prompt "linker hash style"
|
||||
depends on BINUTILS_HAS_HASH_STYLE
|
||||
|
||||
config CC_GCC_LNK_HASH_STYLE_DEFAULT
|
||||
bool
|
||||
prompt "Default"
|
||||
help
|
||||
Do not specify any value, and use the default value (sysv).
|
||||
|
||||
config CC_GCC_LNK_HASH_STYLE_SYSV
|
||||
bool
|
||||
prompt "sysv"
|
||||
help
|
||||
Force use of the SYSV hash style.
|
||||
|
||||
config CC_GCC_LNK_HASH_STYLE_GNU
|
||||
bool
|
||||
prompt "gnu"
|
||||
help
|
||||
Force use of the GNU hash style.
|
||||
|
||||
config CC_GCC_LNK_HASH_STYLE_BOTH
|
||||
bool
|
||||
prompt "both"
|
||||
help
|
||||
Force use of both hash styles.
|
||||
|
||||
endchoice # CC_GCC_LNK_HASH_STYLE_CHOICE
|
||||
|
||||
config CC_GCC_LNK_HASH_STYLE
|
||||
string
|
||||
default "" if CC_GCC_LNK_HASH_STYLE_DEFAULT
|
||||
default "sysv" if CC_GCC_LNK_HASH_STYLE_SYSV
|
||||
default "gnu" if CC_GCC_LNK_HASH_STYLE_GNU
|
||||
default "both" if CC_GCC_LNK_HASH_STYLE_BOTH
|
||||
|
||||
choice CC_GCC_DEC_FLOATS_CHOICE
|
||||
bool "Decimal floats"
|
||||
default CC_GCC_DEC_FLOATS_AUTO
|
||||
help
|
||||
Choose what type of decimal floats to support.
|
||||
|
||||
Note that using decimal floats requires a C library that provides
|
||||
support for fenv (namely, the fenv.h header). This is the case
|
||||
for (e)glibc, and uClibc on x86/32. For other C libraries, or
|
||||
uClibc on other archs, this might not be the case, so you should
|
||||
disable support for decimal floats.
|
||||
|
||||
The default is to let ./configure decide.
|
||||
|
||||
config CC_GCC_DEC_FLOAT_AUTO
|
||||
bool "auto"
|
||||
help
|
||||
Let ./configure decide. If you say 'y' here, gcc will default to:
|
||||
- 'bid' for x86 (32- and 64-bit)
|
||||
- 'dpd' for powerpc
|
||||
- 'no' for the other architectures
|
||||
|
||||
config CC_GCC_DEC_FLOAT_BID
|
||||
bool "bid"
|
||||
help
|
||||
Use the 'binary integer decimal' format for decimal floats.
|
||||
|
||||
config CC_GCC_DEC_FLOAT_DPD
|
||||
bool "dpd"
|
||||
help
|
||||
Use the 'densely packed decimal' for decimal floats.
|
||||
|
||||
config CC_GCC_DEC_FLOATS_NO
|
||||
bool "no"
|
||||
help
|
||||
Do not support decimal floats. The default.
|
||||
|
||||
endchoice # CC_GCC_DEC_FLOATS_CHOICE
|
||||
|
||||
config CC_GCC_DEC_FLOATS
|
||||
string
|
||||
default "" if CC_GCC_DEC_FLOATS_AUTO
|
||||
default "bid" if CC_GCC_DEC_FLOATS_BID
|
||||
default "dpd" if CC_GCC_DEC_FLOATS_DPD
|
||||
default "no" if CC_GCC_DEC_FLOATS_NO
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
config CC_GCC_HAS_ARCH_OPTIONS
|
||||
bool
|
||||
|
||||
comment "archictecture-specific options"
|
||||
depends on CC_GCC_HAS_ARCH_OPTIONS
|
||||
|
||||
if ARCH_MIPS
|
||||
source "config/cc/gcc.in.mips"
|
||||
endif # ARCH_MIPS
|
||||
|
@ -1,387 +0,0 @@
|
||||
# gcc configuration options
|
||||
|
||||
config CC_GCC_ENABLE_CXX_FLAGS
|
||||
string
|
||||
prompt "Flags to pass to --enable-cxx-flags"
|
||||
default ""
|
||||
help
|
||||
Enter here the value of the gcc's ./configure option --enable-cxx-flags.
|
||||
Leave empty if you don't know better.
|
||||
|
||||
Note: just pass in the option _value_, that is only the part that goes
|
||||
after the '=' sign.
|
||||
|
||||
config CC_GCC_CORE_EXTRA_CONFIG_ARRAY
|
||||
string
|
||||
prompt "Core gcc extra config"
|
||||
default ""
|
||||
depends on CC_CORE_PASS_1_NEEDED || CC_CORE_PASS_2_NEEDED
|
||||
help
|
||||
Extra flags to pass onto ./configure when configuring the core gcc.
|
||||
|
||||
The core gcc is a stripped down, C-only compiler needed to build
|
||||
the C library. Kinda bootstrap gcc, if you wish.
|
||||
|
||||
You can enter multiple arguments here, and arguments can contain spaces
|
||||
if they are properly quoted (or escaped, but prefer quotes). Eg.:
|
||||
--with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
|
||||
|
||||
config CC_GCC_EXTRA_CONFIG_ARRAY
|
||||
string
|
||||
prompt "gcc extra config"
|
||||
default ""
|
||||
help
|
||||
Extra flags to pass onto ./configure when configuring gcc.
|
||||
|
||||
You can enter multiple arguments here, and arguments can contain spaces
|
||||
if they are properly quoted (or escaped, but prefer quotes). Eg.:
|
||||
--with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
|
||||
|
||||
config CC_GCC_MULTILIB_LIST
|
||||
string
|
||||
prompt "List of multilib variants"
|
||||
depends on MULTILIB
|
||||
help
|
||||
Architecture-specific option of expanding or restricting the list of
|
||||
the multilib variants to be built. Refer to GCC installation manual
|
||||
for the format of this option for a particular architecture.
|
||||
Leave empty to use the default list for this architecture.
|
||||
|
||||
config STATIC_TOOLCHAIN
|
||||
bool
|
||||
select CC_GCC_STATIC_LIBSTDCXX
|
||||
|
||||
config CC_GCC_STATIC_LIBSTDCXX
|
||||
bool
|
||||
prompt "Link libstdc++ statically into the gcc binary"
|
||||
default y
|
||||
depends on CONFIGURE_has_static_link || CANADIAN || CROSS_NATIVE
|
||||
select WANTS_STATIC_LINK if CROSS || NATIVE
|
||||
select WANTS_STATIC_LINK_CXX if CROSS || NATIVE
|
||||
help
|
||||
Newer gcc versions require some c++ libraries. So statically
|
||||
linking libstdc++ increases the likeliness that the gcc binary will
|
||||
run on machines other than the one which it was built on, without
|
||||
having to worry about distributing the matching version of libstdc++
|
||||
along with it.
|
||||
|
||||
config CC_GCC_SYSTEM_ZLIB
|
||||
bool
|
||||
prompt "Use system zlib"
|
||||
help
|
||||
Do not use bundled zlib, and use the zlib already available for
|
||||
the host (eg. the system library).
|
||||
|
||||
If zlib is built as a companion library, selecting this option
|
||||
will use it.
|
||||
|
||||
If you want to build a static toolchain, you will need to also
|
||||
install the static version of zlib for your host.
|
||||
|
||||
If unsure, say 'n'.
|
||||
|
||||
config CC_GCC_CONFIG_TLS
|
||||
tristate
|
||||
prompt "Configure TLS (Thread Local Storage)"
|
||||
depends on !LIBC_bionic
|
||||
default m
|
||||
help
|
||||
Specify that the target supports TLS (Thread Local Storage). Usually
|
||||
configure can correctly determine if TLS is supported. In cases where
|
||||
it guesses incorrectly, TLS can be explicitly enabled or disabled.
|
||||
This can happen if the assembler supports TLS but the C library does
|
||||
not, or if the assumptions made by the configure test are incorrect.
|
||||
|
||||
Option | TLS use | Associated ./configure switch
|
||||
---------+--------------------+--------------------------------
|
||||
Y | forcibly used | --enable-tls
|
||||
M | auto | (none, ./configure decides)
|
||||
N | forcibly not used | --disable-tls
|
||||
|
||||
If unsure, say 'M'.
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Optimisation features
|
||||
|
||||
comment "Optimisation features"
|
||||
|
||||
# Defined in config/cc/gcc.in
|
||||
# For graphite: gcc needs cloog and isl
|
||||
# In >= gcc-5.x, cloog is no longer needed, but isl is.
|
||||
# Prompt in config/cc/gcc.in.2
|
||||
config CC_GCC_USE_GRAPHITE
|
||||
bool "Enable GRAPHITE loop optimisations"
|
||||
default y
|
||||
select CLOOG_NEEDED if !CC_GCC_5_or_later
|
||||
select ISL_NEEDED
|
||||
help
|
||||
Enable the GRAPHITE loop optimsations.
|
||||
|
||||
On some systems (eg. Cygwin), CLooG and ISL (required to enable
|
||||
GRAPHITE) may not build properly (yet), so you'll have to say 'N'
|
||||
here (or help debug the issues)
|
||||
|
||||
TODO: Is this still true on Cygwin?
|
||||
|
||||
# The way LTO works is a bit twisted.
|
||||
# See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements
|
||||
# Basically:
|
||||
# - if binutils has plugins: LTO is handled by ld/gold by loading
|
||||
# the plugin when linking
|
||||
# - if binutils does not have plugins: LTO is handled by collect2
|
||||
# In any case, LTO support does not depend on plugins, but takes
|
||||
# advantage of it
|
||||
config CC_GCC_USE_LTO
|
||||
bool "Enable LTO"
|
||||
default y
|
||||
depends on ! STATIC_TOOLCHAIN
|
||||
help
|
||||
Enable the Link Time Optimisations.
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
comment "Settings for libraries running on target"
|
||||
|
||||
config CC_GCC_ENABLE_TARGET_OPTSPACE
|
||||
bool
|
||||
prompt "Optimize gcc libs for size"
|
||||
default y
|
||||
help
|
||||
Pass --enable-target-optspace to crossgcc's configure.
|
||||
|
||||
This will compile crossgcc's libs with -Os.
|
||||
|
||||
config CC_GCC_LIBMUDFLAP
|
||||
bool
|
||||
prompt "Compile libmudflap"
|
||||
help
|
||||
libmudflap is a pointer-use checking tool, which can detect
|
||||
various mis-usages of pointers in C and (to some extents) C++.
|
||||
|
||||
You should say 'N' here, as libmduflap generates instrumented
|
||||
code (thus it is a bit bigger and a bit slower) and requires
|
||||
re-compilation and re-link, while it exists better run-time
|
||||
alternatives (eg. DUMA, dmalloc...) that need neither re-
|
||||
compilation nor re-link.
|
||||
|
||||
config CC_GCC_LIBGOMP
|
||||
bool
|
||||
prompt "Compile libgomp"
|
||||
depends on !THREADS_NONE
|
||||
help
|
||||
libgomp is "the GNU implementation of the OpenMP Application Programming
|
||||
Interface (API) for multi-platform shared-memory parallel programming in
|
||||
C/C++ and Fortran". See:
|
||||
http://gcc.gnu.org/onlinedocs/libgomp/
|
||||
|
||||
GNU OpenMP support requires threading.
|
||||
|
||||
The default is 'N'. Say 'Y' if you need it, and report success/failure.
|
||||
|
||||
config CC_GCC_LIBSSP
|
||||
bool
|
||||
prompt "Compile libssp"
|
||||
help
|
||||
libssp is the run-time Stack-Smashing Protection library.
|
||||
|
||||
The default is 'N'. Say 'Y' if you need it, and report success/failure.
|
||||
|
||||
config CC_GCC_LIBQUADMATH
|
||||
bool
|
||||
prompt "Compile libquadmath"
|
||||
help
|
||||
libquadmath is a library which provides quad-precision mathematical
|
||||
functions on targets supporting the __float128 datatype. See:
|
||||
http://gcc.gnu.org/onlinedocs/libquadmath/
|
||||
|
||||
The default is 'N'. Say 'Y' if you need it, and report success/failure.
|
||||
|
||||
config CC_GCC_LIBSANITIZER
|
||||
bool
|
||||
prompt "Compile libsanitizer"
|
||||
depends on THREADS_NATIVE
|
||||
depends on ! LIBC_uClibc && ! LIBC_musl # Currently lacks required headers (like netrom.h)
|
||||
help
|
||||
libsanitizer is a library which provides run-time sanitising of either
|
||||
or both of:
|
||||
- memory access patterns (out-of-bonds, use-after-free)
|
||||
- racy data accesses (in multi-threaded programs)
|
||||
|
||||
The default is 'N'. Say 'Y' if you need it, and report success/failure.
|
||||
|
||||
config CC_GCC_LIBMPX
|
||||
bool
|
||||
default y
|
||||
prompt "Compile libmpx"
|
||||
depends on CC_GCC_HAS_LIBMPX
|
||||
depends on ARCH_x86
|
||||
# MUSL does not define libc types that GCC requires. Mingw lacks certain headers.
|
||||
depends on !LIBC_musl && ! LIBC_mingw
|
||||
help
|
||||
Enable GCC support for Intel Memory Protection Extensions (MPX).
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
comment "Misc. obscure options."
|
||||
|
||||
config CC_CXA_ATEXIT
|
||||
bool
|
||||
prompt "Use __cxa_atexit"
|
||||
default y
|
||||
depends on ! BARE_METAL || LIBC_PROVIDES_CXA_ATEXIT
|
||||
help
|
||||
If you get the missing symbol "__cxa_atexit" when building C++ programs,
|
||||
you might want to try disabling this option.
|
||||
|
||||
config CC_GCC_DISABLE_PCH
|
||||
bool
|
||||
prompt "Do not build PCH"
|
||||
help
|
||||
Say 'y' here to not use Pre-Compiled Headers in the resulting toolchain.
|
||||
at the expense of speed when compiling C++ code.
|
||||
|
||||
For some configurations (most notably canadian?), PCH are broken, and
|
||||
need to be disabled. Please see:
|
||||
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974
|
||||
|
||||
config CC_GCC_SJLJ_EXCEPTIONS
|
||||
tristate
|
||||
prompt "Use sjlj for exceptions"
|
||||
depends on ! BARE_METAL
|
||||
default m
|
||||
help
|
||||
'sjlj' is short for setjmp/longjmp.
|
||||
|
||||
On some architectures, stack unwinding during exception handling
|
||||
works perfectly well without using sjlj, while on some others,
|
||||
use of sjlj is required for proper stack unwinding.
|
||||
|
||||
Option | sjlj use | Associated ./configure switch
|
||||
---------+--------------------+--------------------------------
|
||||
Y | forcibly used | --enable-sjlj-exceptions
|
||||
M | auto | (none, ./configure decides)
|
||||
N | forcibly not used | --disable-sjlj-exceptions
|
||||
|
||||
It should be safe to say 'M' or 'N'.
|
||||
|
||||
It can happen that ./configure is wrong in some cases. Known
|
||||
case is for ARM big endian, where you should say 'N'.
|
||||
|
||||
config CC_GCC_LDBL_128
|
||||
tristate
|
||||
prompt "Enable 128-bit long doubles"
|
||||
default m
|
||||
help
|
||||
Saying 'Y' will force gcc to use 128-bit wide long doubles
|
||||
Saying 'N' will force gcc to use 64-bit wide long doubles
|
||||
Saying 'M' will let gcc choose (default is 128-bit for
|
||||
glibc >= 2.4, 64-bit otherwise)
|
||||
|
||||
If in doubt, keep the default, ie. 'M'.
|
||||
|
||||
config CC_GCC_BUILD_ID
|
||||
bool
|
||||
prompt "Enable build-id"
|
||||
help
|
||||
Tells GCC to pass --build-id option to the linker for all final
|
||||
links (links performed without the -r or --relocatable option),
|
||||
if the linker supports it. If you say 'y' here, but your linker
|
||||
does not support --build-id option, a warning is issued and this
|
||||
option is ignored.
|
||||
|
||||
The default is off.
|
||||
|
||||
choice CC_GCC_LNK_HASH_STYLE_CHOICE
|
||||
bool
|
||||
prompt "linker hash style"
|
||||
depends on BINUTILS_HAS_HASH_STYLE
|
||||
|
||||
config CC_GCC_LNK_HASH_STYLE_DEFAULT
|
||||
bool
|
||||
prompt "Default"
|
||||
help
|
||||
Do not specify any value, and use the default value (sysv).
|
||||
|
||||
config CC_GCC_LNK_HASH_STYLE_SYSV
|
||||
bool
|
||||
prompt "sysv"
|
||||
help
|
||||
Force use of the SYSV hash style.
|
||||
|
||||
config CC_GCC_LNK_HASH_STYLE_GNU
|
||||
bool
|
||||
prompt "gnu"
|
||||
help
|
||||
Force use of the GNU hash style.
|
||||
|
||||
config CC_GCC_LNK_HASH_STYLE_BOTH
|
||||
bool
|
||||
prompt "both"
|
||||
help
|
||||
Force use of both hash styles.
|
||||
|
||||
endchoice # CC_GCC_LNK_HASH_STYLE_CHOICE
|
||||
|
||||
config CC_GCC_LNK_HASH_STYLE
|
||||
string
|
||||
default "" if CC_GCC_LNK_HASH_STYLE_DEFAULT
|
||||
default "sysv" if CC_GCC_LNK_HASH_STYLE_SYSV
|
||||
default "gnu" if CC_GCC_LNK_HASH_STYLE_GNU
|
||||
default "both" if CC_GCC_LNK_HASH_STYLE_BOTH
|
||||
|
||||
choice CC_GCC_DEC_FLOATS_CHOICE
|
||||
bool "Decimal floats"
|
||||
default CC_GCC_DEC_FLOATS_AUTO
|
||||
help
|
||||
Choose what type of decimal floats to support.
|
||||
|
||||
Note that using decimal floats requires a C library that provides
|
||||
support for fenv (namely, the fenv.h header). This is the case
|
||||
for (e)glibc, and uClibc on x86/32. For other C libraries, or
|
||||
uClibc on other archs, this might not be the case, so you should
|
||||
disable support for decimal floats.
|
||||
|
||||
The default is to let ./configure decide.
|
||||
|
||||
config CC_GCC_DEC_FLOAT_AUTO
|
||||
bool "auto"
|
||||
help
|
||||
Let ./configure decide. If you say 'y' here, gcc will default to:
|
||||
- 'bid' for x86 (32- and 64-bit)
|
||||
- 'dpd' for powerpc
|
||||
- 'no' for the other architectures
|
||||
|
||||
config CC_GCC_DEC_FLOAT_BID
|
||||
bool "bid"
|
||||
help
|
||||
Use the 'binary integer decimal' format for decimal floats.
|
||||
|
||||
config CC_GCC_DEC_FLOAT_DPD
|
||||
bool "dpd"
|
||||
help
|
||||
Use the 'densely packed decimal' for decimal floats.
|
||||
|
||||
config CC_GCC_DEC_FLOATS_NO
|
||||
bool "no"
|
||||
help
|
||||
Do not support decimal floats. The default.
|
||||
|
||||
endchoice # CC_GCC_DEC_FLOATS_CHOICE
|
||||
|
||||
config CC_GCC_DEC_FLOATS
|
||||
string
|
||||
default "" if CC_GCC_DEC_FLOATS_AUTO
|
||||
default "bid" if CC_GCC_DEC_FLOATS_BID
|
||||
default "dpd" if CC_GCC_DEC_FLOATS_DPD
|
||||
default "no" if CC_GCC_DEC_FLOATS_NO
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
config CC_GCC_HAS_ARCH_OPTIONS
|
||||
bool
|
||||
|
||||
comment "archictecture-specific options"
|
||||
depends on CC_GCC_HAS_ARCH_OPTIONS
|
||||
|
||||
if ARCH_mips
|
||||
source "config/cc/gcc.in.mips"
|
||||
endif # ARCH_mips
|
@ -122,44 +122,61 @@ config NCURSES_TARGET
|
||||
config ZLIB
|
||||
bool "Build local zlib"
|
||||
|
||||
# FIXME this needs to have a list of options
|
||||
# [ ] libfoo for build
|
||||
# [ ] libfoo for host (if canadian)
|
||||
# [ ] libfoo for target
|
||||
# libfoo options -->
|
||||
#
|
||||
# Then have other packages *set default* for build/host
|
||||
# (but not select, so that user can utilize build's or host's system library)
|
||||
# and *select* the target (so that we build it if we must, and let user optionally
|
||||
# build it if he wants). Upon any of these options LIBFOO_{BUILD,HOST,TARGET}
|
||||
# being set, set LIBFOO_ENABLED and use that as a qualifier for submenu.
|
||||
# For now, just have comments delineating the libs.
|
||||
if ZLIB
|
||||
source "config/companion_libs/zlib.in"
|
||||
comment "zlib options"
|
||||
source "config/comp_libs/zlib.in"
|
||||
endif
|
||||
if LIBICONV
|
||||
source "config/companion_libs/libiconv.in"
|
||||
comment "libiconv options"
|
||||
source "config/comp_libs/libiconv.in"
|
||||
endif
|
||||
if GETTEXT
|
||||
source "config/companion_libs/gettext.in"
|
||||
comment "gettext options"
|
||||
source "config/comp_libs/gettext.in"
|
||||
endif
|
||||
if GMP
|
||||
source "config/companion_libs/gmp.in"
|
||||
comment "GMP options"
|
||||
source "config/comp_libs/gmp.in"
|
||||
endif
|
||||
if MPFR
|
||||
source "config/companion_libs/mpfr.in"
|
||||
comment "MPFR options"
|
||||
source "config/comp_libs/mpfr.in"
|
||||
endif
|
||||
if ISL
|
||||
source "config/companion_libs/isl.in"
|
||||
comment "ISL options"
|
||||
source "config/comp_libs/isl.in"
|
||||
endif
|
||||
if CLOOG
|
||||
source "config/companion_libs/cloog.in"
|
||||
comment "CLooG options"
|
||||
source "config/comp_libs/cloog.in"
|
||||
endif
|
||||
if MPC
|
||||
source "config/companion_libs/mpc.in"
|
||||
comment "MPC options"
|
||||
source "config/comp_libs/mpc.in"
|
||||
endif
|
||||
if LIBELF || LIBELF_TARGET
|
||||
comment "libelf version needed to build for target"
|
||||
depends on !LIBELF
|
||||
source "config/companion_libs/libelf.in"
|
||||
comment "libelf options"
|
||||
source "config/comp_libs/libelf.in"
|
||||
endif
|
||||
if EXPAT || EXPAT_TARGET
|
||||
comment "expat version needed to build for target"
|
||||
depends on !EXPAT
|
||||
source "config/companion_libs/expat.in"
|
||||
comment "expat options"
|
||||
source "config/comp_libs/expat.in"
|
||||
endif
|
||||
if NCURSES || NCURSES_TARGET
|
||||
comment "ncurses version needed to build for target"
|
||||
depends on !NCURSES
|
||||
source "config/companion_libs/ncurses.in"
|
||||
comment "ncurses options"
|
||||
source "config/comp_libs/ncurses.in"
|
||||
endif
|
||||
|
||||
if COMPLIBS
|
11
config/comp_libs/cloog.in
Normal file
11
config/comp_libs/cloog.in
Normal file
@ -0,0 +1,11 @@
|
||||
# CLooG options
|
||||
## depends on OBSOLETE
|
||||
|
||||
# CLooG 0.18.4 requires ISL 0.12 or newer
|
||||
# CLooG 0.18.1/0.18.0 requires ISL 0.12 or older
|
||||
|
||||
source "config/versions/cloog.in"
|
||||
|
||||
config CLOOG_HAS_WITH_GMP_ISL_OSL
|
||||
bool
|
||||
default y if CLOOG_0_18_or_later
|
3
config/comp_libs/expat.in
Normal file
3
config/comp_libs/expat.in
Normal file
@ -0,0 +1,3 @@
|
||||
# expat config file
|
||||
|
||||
source "config/versions/expat.in"
|
3
config/comp_libs/gettext.in
Normal file
3
config/comp_libs/gettext.in
Normal file
@ -0,0 +1,3 @@
|
||||
# gettext options
|
||||
|
||||
source "config/versions/gettext.in"
|
7
config/comp_libs/gmp.in
Normal file
7
config/comp_libs/gmp.in
Normal file
@ -0,0 +1,7 @@
|
||||
# GMP options
|
||||
|
||||
source "config/versions/gmp.in"
|
||||
|
||||
config GMP_HAS_MPBSD
|
||||
bool
|
||||
default y if !GMP_5_1_or_later
|
26
config/comp_libs/isl.in
Normal file
26
config/comp_libs/isl.in
Normal file
@ -0,0 +1,26 @@
|
||||
# ISL options
|
||||
# FIXME these currently have no effect
|
||||
## select CLOOG_REQUIRE_0_18_1_or_older if !ISL_0_12_or_later
|
||||
## select CLOOG_REQUIRE_0_18_4_or_later if !ISL_0_14_or_older
|
||||
|
||||
source "config/versions/isl.in"
|
||||
|
||||
# FIXME should be auto-generated once companion libs are using gen-kconfig (and hence, ## syntax)
|
||||
config ISL_CLOOG_auto_select_1
|
||||
def_bool y
|
||||
depends on CLOOG_NEEDED && !ISL_0_12_or_later
|
||||
select CLOOG_REQUIRE_0_18_1_or_older
|
||||
|
||||
# FIXME should be auto-generated once companion libs are using gen-kconfig (and hence, ## syntax)
|
||||
config ISL_CLOOG_auto_select_2
|
||||
def_bool y
|
||||
depends on CLOOG_NEEDED && !ISL_0_13_or_older
|
||||
select CLOOG_REQUIRE_0_18_4_or_later
|
||||
|
||||
config ISL_NEEDS_WITH_GMP
|
||||
bool
|
||||
default y if !ISL_0_12_or_later
|
||||
|
||||
config ISL_HAS_WITH_PIPLIB
|
||||
bool
|
||||
default y if !ISL_0_14_or_later
|
3
config/comp_libs/libelf.in
Normal file
3
config/comp_libs/libelf.in
Normal file
@ -0,0 +1,3 @@
|
||||
# libelf config file
|
||||
|
||||
source "config/versions/libelf.in"
|
3
config/comp_libs/libiconv.in
Normal file
3
config/comp_libs/libiconv.in
Normal file
@ -0,0 +1,3 @@
|
||||
# libiconv options
|
||||
|
||||
source "config/versions/libiconv.in"
|
3
config/comp_libs/mpc.in
Normal file
3
config/comp_libs/mpc.in
Normal file
@ -0,0 +1,3 @@
|
||||
# MPC options
|
||||
|
||||
source "config/versions/mpc.in"
|
3
config/comp_libs/mpfr.in
Normal file
3
config/comp_libs/mpfr.in
Normal file
@ -0,0 +1,3 @@
|
||||
# GMP options
|
||||
|
||||
source "config/versions/mpfr.in"
|
@ -1,22 +1,6 @@
|
||||
# expat config file
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "ncurses version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config NCURSES_V_6_0
|
||||
bool
|
||||
prompt "6.0"
|
||||
|
||||
endchoice
|
||||
|
||||
config NCURSES_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "6.0" if NCURSES_V_6_0
|
||||
source "config/versions/ncurses.in"
|
||||
|
||||
config NCURSES_NEW_ABI
|
||||
bool "ncurses 6.0 ABI support"
|
3
config/comp_libs/zlib.in
Normal file
3
config/comp_libs/zlib.in
Normal file
@ -0,0 +1,3 @@
|
||||
# Zlib options
|
||||
|
||||
source "config/versions/zlib.in"
|
@ -10,6 +10,6 @@ config COMP_TOOLS_FOR_HOST
|
||||
tools into the final toolchain (rather than just using them
|
||||
to build it).
|
||||
|
||||
source "config/gen/companion_tools.in"
|
||||
source "config/gen/comp_tools.in"
|
||||
|
||||
endmenu
|
7
config/comp_tools/autoconf.in
Normal file
7
config/comp_tools/autoconf.in
Normal file
@ -0,0 +1,7 @@
|
||||
# Autoconf
|
||||
|
||||
## default y if !CONFIGURE_has_autoconf_2_63_or_newer
|
||||
## default y if !CONFIGURE_has_autoreconf_2_63_or_newer
|
||||
## help Autoconf
|
||||
|
||||
source "config/versions/autoconf.in"
|
6
config/comp_tools/automake.in
Normal file
6
config/comp_tools/automake.in
Normal file
@ -0,0 +1,6 @@
|
||||
# Automake
|
||||
|
||||
## default y if !CONFIGURE_has_automake_1_15_or_newer
|
||||
## help Automake
|
||||
|
||||
source "config/versions/automake.in"
|
6
config/comp_tools/libtool.in
Normal file
6
config/comp_tools/libtool.in
Normal file
@ -0,0 +1,6 @@
|
||||
# Libtool
|
||||
|
||||
## default y if !CONFIGURE_has_libtool_2_4_or_newer
|
||||
## default y if !CONFIGURE_has_libtoolize_2_4_or_newer
|
||||
|
||||
source "config/versions/libtool.in"
|
5
config/comp_tools/m4.in
Normal file
5
config/comp_tools/m4.in
Normal file
@ -0,0 +1,5 @@
|
||||
# GNU m4
|
||||
|
||||
## default y if !CONFIGURE_has_gnu_m4_1_4_12_or_newer
|
||||
|
||||
source "config/versions/m4.in"
|
10
config/comp_tools/make.in
Normal file
10
config/comp_tools/make.in
Normal file
@ -0,0 +1,10 @@
|
||||
# GNU make
|
||||
|
||||
## default y if !CONFIGURE_has_make_3_81_or_newer
|
||||
|
||||
source "config/versions/make.in"
|
||||
|
||||
config MAKE_GMAKE_SYMLINK
|
||||
bool
|
||||
prompt "Add gmake symlink to companion gnu/make"
|
||||
depends on COMP_TOOLS_MAKE
|
@ -1,51 +0,0 @@
|
||||
# CLooG options
|
||||
## depends on OBSOLETE
|
||||
|
||||
# CLooG 0.18.4 requires ISL 0.12 or newer
|
||||
# CLooG 0.18.1/0.18.0 frequires ISL 0.12 or older
|
||||
choice
|
||||
bool
|
||||
prompt "CLooG version"
|
||||
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config CLOOG_V_0_18_4
|
||||
bool
|
||||
prompt "0.18.4"
|
||||
depends on ISL_V_0_12_or_later
|
||||
select CLOOG_0_18_4_or_later
|
||||
|
||||
config CLOOG_V_0_18_1
|
||||
bool
|
||||
prompt "0.18.1 (OBSOLETE)"
|
||||
depends on !ISL_V_0_14_or_later
|
||||
depends on OBSOLETE
|
||||
select CLOOG_0_18_or_later
|
||||
|
||||
config CLOOG_V_0_18_0
|
||||
bool
|
||||
prompt "0.18.0 (OBSOLETE)"
|
||||
depends on !ISL_V_0_14_or_later
|
||||
depends on OBSOLETE
|
||||
select CLOOG_0_18_or_later
|
||||
|
||||
endchoice
|
||||
|
||||
config CLOOG_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "0.18.4" if CLOOG_V_0_18_4
|
||||
default "0.18.1" if CLOOG_V_0_18_1
|
||||
default "0.18.0" if CLOOG_V_0_18_0
|
||||
|
||||
config CLOOG_0_18_4_or_later
|
||||
bool
|
||||
select CLOOG_0_18_or_later
|
||||
|
||||
config CLOOG_0_18_or_later
|
||||
bool
|
||||
|
||||
config CLOOG_NEEDS_AUTORECONF
|
||||
bool
|
@ -1,25 +0,0 @@
|
||||
# expat config file
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "expat version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config EXPAT_V_2_2_1
|
||||
bool
|
||||
prompt "2.2.1"
|
||||
|
||||
config EXPAT_V_2_1_1
|
||||
bool
|
||||
prompt "2.1.1 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
endchoice
|
||||
|
||||
config EXPAT_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "2.2.1" if EXPAT_V_2_2_1
|
||||
default "2.1.1" if EXPAT_V_2_1_1
|
@ -1,25 +0,0 @@
|
||||
# gettext options
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "gettext version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config GETTEXT_V_0_19_8_1
|
||||
bool
|
||||
prompt "0.19.8.1"
|
||||
|
||||
config GETTEXT_V_0_19_7
|
||||
bool
|
||||
prompt "0.19.7 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
endchoice
|
||||
|
||||
config GETTEXT_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "0.19.8.1" if GETTEXT_V_0_19_8_1
|
||||
default "0.19.7" if GETTEXT_V_0_19_7
|
@ -1,83 +0,0 @@
|
||||
# GMP options
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "GMP version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config GMP_V_6_1_2
|
||||
bool
|
||||
prompt "6.1.2"
|
||||
select GMP_5_0_2_or_later
|
||||
|
||||
config GMP_V_6_1_0
|
||||
bool
|
||||
prompt "6.1.0 (OBSOLETE)"
|
||||
select GMP_5_0_2_or_later
|
||||
depends on OBSOLETE
|
||||
|
||||
config GMP_V_6_0_0
|
||||
bool
|
||||
prompt "6.0.0a (OBSOLETE)"
|
||||
select GMP_5_0_2_or_later
|
||||
depends on OBSOLETE
|
||||
|
||||
config GMP_V_5_1_3
|
||||
bool
|
||||
prompt "5.1.3 (OBSOLETE)"
|
||||
select GMP_5_0_2_or_later
|
||||
depends on OBSOLETE
|
||||
|
||||
config GMP_V_5_1_1
|
||||
bool
|
||||
prompt "5.1.1 (OBSOLETE)"
|
||||
select GMP_5_0_2_or_later
|
||||
depends on OBSOLETE
|
||||
|
||||
config GMP_V_5_0_2
|
||||
bool
|
||||
prompt "5.0.2 (OBSOLETE)"
|
||||
select GMP_5_0_2_or_later
|
||||
depends on OBSOLETE
|
||||
|
||||
config GMP_V_5_0_1
|
||||
bool
|
||||
prompt "5.0.1 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config GMP_V_4_3_2
|
||||
bool
|
||||
prompt "4.3.2 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config GMP_V_4_3_1
|
||||
bool
|
||||
prompt "4.3.1 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config GMP_V_4_3_0
|
||||
bool
|
||||
prompt "4.3.0 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
endchoice
|
||||
|
||||
# To disable --enable-mpbsd
|
||||
config GMP_5_0_2_or_later
|
||||
bool
|
||||
|
||||
config GMP_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "6.1.2" if GMP_V_6_1_2
|
||||
default "6.1.0" if GMP_V_6_1_0
|
||||
default "6.0.0a" if GMP_V_6_0_0
|
||||
default "5.1.3" if GMP_V_5_1_3
|
||||
default "5.1.1" if GMP_V_5_1_1
|
||||
default "5.0.2" if GMP_V_5_0_2
|
||||
default "5.0.1" if GMP_V_5_0_1
|
||||
default "4.3.2" if GMP_V_4_3_2
|
||||
default "4.3.1" if GMP_V_4_3_1
|
||||
default "4.3.0" if GMP_V_4_3_0
|
@ -1,92 +0,0 @@
|
||||
# ISL options
|
||||
|
||||
# GCC 4.8 supports ISL 0.10 to 0.14
|
||||
# GCC 4.9 supports ISL 0.10 to 0.15
|
||||
# GCC 5 supports ISL 0.12 to 0.16
|
||||
# GCC 6 supports ISL 0.14 to 0.16
|
||||
# Starting with GCC 5, GCC's configure no longer checks the ISL version explicitly,
|
||||
# despite what the configure's message says ("checking for isl 0.15 or 0.16").
|
||||
# Instead, it verifies that certain interfaces are available, so it accepts 0.17.1
|
||||
# or 0.18 under that check. Include them as experimental just in case anyone needs
|
||||
# the bugfixes in these releases.
|
||||
choice
|
||||
bool
|
||||
prompt "ISL version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config ISL_V_0_18
|
||||
bool
|
||||
prompt "0.18"
|
||||
depends on EXPERIMENTAL # Not officially recommended by GCC
|
||||
depends on CC_GCC_5_or_later
|
||||
select ISL_V_0_16_or_later
|
||||
|
||||
config ISL_V_0_17_1
|
||||
bool
|
||||
prompt "0.17.1"
|
||||
depends on EXPERIMENTAL # Not officially recommended by GCC
|
||||
depends on CC_GCC_5_or_later
|
||||
select ISL_V_0_16_or_later
|
||||
|
||||
config ISL_V_0_16_1
|
||||
bool
|
||||
prompt "0.16.1"
|
||||
depends on CC_GCC_5_or_later
|
||||
select ISL_V_0_16_or_later
|
||||
|
||||
# Linaro version of 4.9 does not support ISL 0.15, but most recent
|
||||
# mainline 4.9 release (4.9.4) does.
|
||||
config ISL_V_0_15
|
||||
bool
|
||||
prompt "0.15"
|
||||
depends on CC_GCC_4_9_or_later
|
||||
select ISL_V_0_15_or_later
|
||||
|
||||
config ISL_V_0_14
|
||||
bool
|
||||
prompt "0.14 (OBSOLETE)"
|
||||
select ISL_V_0_14_or_later
|
||||
depends on OBSOLETE
|
||||
|
||||
config ISL_V_0_12_2
|
||||
bool
|
||||
prompt "0.12.2 (OBSOLETE)"
|
||||
depends on !CC_GCC_6_or_later
|
||||
select ISL_V_0_12_or_later
|
||||
depends on OBSOLETE
|
||||
|
||||
config ISL_V_0_11_1
|
||||
bool
|
||||
prompt "0.11.1 (OBSOLETE)"
|
||||
depends on !CC_GCC_4_9_or_later
|
||||
depends on OBSOLETE
|
||||
|
||||
endchoice
|
||||
|
||||
config ISL_V_0_16_or_later
|
||||
bool
|
||||
select ISL_V_0_15_or_later
|
||||
|
||||
config ISL_V_0_15_or_later
|
||||
bool
|
||||
select ISL_V_0_14_or_later
|
||||
|
||||
config ISL_V_0_14_or_later
|
||||
bool
|
||||
select ISL_V_0_12_or_later
|
||||
|
||||
config ISL_V_0_12_or_later
|
||||
bool
|
||||
|
||||
config ISL_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "0.18" if ISL_V_0_18
|
||||
default "0.17.1" if ISL_V_0_17_1
|
||||
default "0.16.1" if ISL_V_0_16_1
|
||||
default "0.15" if ISL_V_0_15
|
||||
default "0.14" if ISL_V_0_14
|
||||
default "0.12.2" if ISL_V_0_12_2
|
||||
default "0.11.1" if ISL_V_0_11_1
|
@ -1,25 +0,0 @@
|
||||
# libelf config file
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "libelf version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config LIBELF_V_0_8_13
|
||||
bool
|
||||
prompt "0.8.13"
|
||||
|
||||
config LIBELF_V_0_8_12
|
||||
bool
|
||||
prompt "0.8.12 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
endchoice
|
||||
|
||||
config LIBELF_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "0.8.13" if LIBELF_V_0_8_13
|
||||
default "0.8.12" if LIBELF_V_0_8_12
|
@ -1,24 +0,0 @@
|
||||
# libiconv options
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "libiconv version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config LIBICONV_V_1_15
|
||||
bool
|
||||
prompt "1.15"
|
||||
|
||||
config LIBICONV_V_1_14
|
||||
bool
|
||||
prompt "1.14"
|
||||
|
||||
endchoice
|
||||
|
||||
config LIBICONV_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "1.15" if LIBICONV_V_1_15
|
||||
default "1.14" if LIBICONV_V_1_14
|
@ -1,61 +0,0 @@
|
||||
# MPC options
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "MPC version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config MPC_V_1_0_3
|
||||
bool
|
||||
prompt "1.0.3"
|
||||
|
||||
config MPC_V_1_0_2
|
||||
bool
|
||||
prompt "1.0.2 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config MPC_V_1_0_1
|
||||
bool
|
||||
prompt "1.0.1 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config MPC_V_1_0
|
||||
bool
|
||||
prompt "1.0 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config MPC_V_0_9
|
||||
bool
|
||||
prompt "0.9 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config MPC_V_0_8_2
|
||||
bool
|
||||
prompt "0.8.2 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config MPC_V_0_8_1
|
||||
bool
|
||||
prompt "0.8.1 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config MPC_V_0_7
|
||||
bool
|
||||
prompt "0.7 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
endchoice
|
||||
|
||||
config MPC_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "1.0.3" if MPC_V_1_0_3
|
||||
default "1.0.2" if MPC_V_1_0_2
|
||||
default "1.0.1" if MPC_V_1_0_1
|
||||
default "1.0" if MPC_V_1_0
|
||||
default "0.9" if MPC_V_0_9
|
||||
default "0.8.2" if MPC_V_0_8_2
|
||||
default "0.8.1" if MPC_V_0_8_1
|
||||
default "0.7" if MPC_V_0_7
|
@ -1,67 +0,0 @@
|
||||
# GMP options
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "MPFR version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config MPFR_V_3_1_5
|
||||
bool
|
||||
prompt "3.1.5"
|
||||
|
||||
config MPFR_V_3_1_3
|
||||
bool
|
||||
prompt "3.1.3 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config MPFR_V_3_1_2
|
||||
bool
|
||||
prompt "3.1.2 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config MPFR_V_3_1_0
|
||||
bool
|
||||
prompt "3.1.0 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config MPFR_V_3_0_1
|
||||
bool
|
||||
prompt "3.0.1 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config MPFR_V_3_0_0
|
||||
bool
|
||||
prompt "3.0.0 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config MPFR_V_2_4_2
|
||||
bool
|
||||
prompt "2.4.2 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config MPFR_V_2_4_1
|
||||
bool
|
||||
prompt "2.4.1 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config MPFR_V_2_4_0
|
||||
bool
|
||||
prompt "2.4.0 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
endchoice
|
||||
|
||||
config MPFR_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "3.1.5" if MPFR_V_3_1_5
|
||||
default "3.1.3" if MPFR_V_3_1_3
|
||||
default "3.1.2" if MPFR_V_3_1_2
|
||||
default "3.1.0" if MPFR_V_3_1_0
|
||||
default "3.0.1" if MPFR_V_3_0_1
|
||||
default "3.0.0" if MPFR_V_3_0_0
|
||||
default "2.4.2" if MPFR_V_2_4_2
|
||||
default "2.4.1" if MPFR_V_2_4_1
|
||||
default "2.4.0" if MPFR_V_2_4_0
|
@ -1,19 +0,0 @@
|
||||
# Zlib options
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "zlib version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config ZLIB_V_1_2_11
|
||||
bool
|
||||
prompt "1.2.11"
|
||||
|
||||
endchoice
|
||||
|
||||
config ZLIB_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "1.2.11" if ZLIB_V_1_2_11
|
@ -1,29 +0,0 @@
|
||||
# Autoconf
|
||||
|
||||
## default y if !CONFIGURE_has_autoconf_2_63_or_newer
|
||||
## default y if !CONFIGURE_has_autoreconf_2_63_or_newer
|
||||
## help Autoconf
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "Autoconf version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config AUTOCONF_V_2_69
|
||||
bool
|
||||
prompt "2.69"
|
||||
|
||||
config AUTOCONF_V_2_65
|
||||
bool
|
||||
prompt "2.65 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
endchoice
|
||||
|
||||
config AUTOCONF_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "2.69" if AUTOCONF_V_2_69
|
||||
default "2.65" if AUTOCONF_V_2_65
|
@ -1,40 +0,0 @@
|
||||
# Automake
|
||||
|
||||
## default y if !CONFIGURE_has_automake_1_15_or_newer
|
||||
## help Automake
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "Automake version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config AUTOMAKE_V_1_15
|
||||
bool
|
||||
prompt "1.15"
|
||||
|
||||
config AUTOMAKE_V_1_14
|
||||
bool
|
||||
prompt "1.14 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config AUTOMAKE_V_1_11_6
|
||||
bool
|
||||
prompt "1.11.6 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config AUTOMAKE_V_1_11_1
|
||||
bool
|
||||
prompt "1.11.1 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
endchoice
|
||||
|
||||
config AUTOMAKE_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "1.15" if AUTOMAKE_V_1_15
|
||||
default "1.14" if AUTOMAKE_V_1_14
|
||||
default "1.11.6" if AUTOMAKE_V_1_11_6
|
||||
default "1.11.1" if AUTOMAKE_V_1_11_1
|
@ -1,23 +0,0 @@
|
||||
# Libtool
|
||||
|
||||
## default y if !CONFIGURE_has_libtool_2_4_or_newer
|
||||
## default y if !CONFIGURE_has_libtoolize_2_4_or_newer
|
||||
## help Libtool
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "Libtool version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config LIBTOOL_V_2_4_6
|
||||
bool
|
||||
prompt "2.4.6"
|
||||
|
||||
endchoice
|
||||
|
||||
config LIBTOOL_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "2.4.6" if LIBTOOL_V_2_4_6
|
@ -1,34 +0,0 @@
|
||||
# GNU m4
|
||||
|
||||
## default y if !CONFIGURE_has_gnu_m4_1_4_12_or_newer
|
||||
## help GNU m4
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "m4 version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config M4_V_1_4_18
|
||||
bool
|
||||
prompt "1.4.18"
|
||||
|
||||
config M4_V_1_4_17
|
||||
bool
|
||||
prompt "1.4.17 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config M4_V_1_4_13
|
||||
bool
|
||||
prompt "1.4.13 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
endchoice
|
||||
|
||||
config M4_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "1.4.18" if M4_V_1_4_18
|
||||
default "1.4.17" if M4_V_1_4_17
|
||||
default "1.4.13" if M4_V_1_4_13
|
@ -1,45 +0,0 @@
|
||||
# GNU make
|
||||
|
||||
## default y if !CONFIGURE_has_make_3_81_or_newer
|
||||
## help GNU make
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "make version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config MAKE_V_4_2_1
|
||||
bool
|
||||
prompt "4.2.1"
|
||||
|
||||
config MAKE_V_4_1
|
||||
bool
|
||||
prompt "4.1 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config MAKE_V_4_0
|
||||
bool
|
||||
prompt "4.0 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config MAKE_V_3_81
|
||||
bool
|
||||
prompt "3.81 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
endchoice
|
||||
|
||||
config MAKE_GMAKE_SYMLINK
|
||||
bool
|
||||
prompt "Add gmake symlink to companion gnu/make"
|
||||
depends on COMP_TOOLS_make
|
||||
|
||||
config MAKE_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "4.2.1" if MAKE_V_4_2_1
|
||||
default "4.1" if MAKE_V_4_1
|
||||
default "4.0" if MAKE_V_4_0
|
||||
default "3.81" if MAKE_V_3_81
|
@ -7,6 +7,6 @@ source "config/binutils.in"
|
||||
source "config/libc.in"
|
||||
source "config/cc.in"
|
||||
source "config/debug.in"
|
||||
source "config/companion_libs.in"
|
||||
source "config/companion_tools.in"
|
||||
source "config/comp_libs.in"
|
||||
source "config/comp_tools.in"
|
||||
source "config/test_suite.in"
|
||||
|
@ -1,12 +1,14 @@
|
||||
# D.U.M.A. - Detect Unintended Memory Access - Memory checker
|
||||
|
||||
## depends on ! BARE_METAL
|
||||
## depends on ! LIBC_bionic
|
||||
## depends on ! LIBC_BIONIC
|
||||
|
||||
## help D.U.M.A. - Detect Unintended Memory Access
|
||||
## help A memory bound checker, with additional features.
|
||||
## help Formerly known as Electric Fence.
|
||||
|
||||
source "config/versions/duma.in"
|
||||
|
||||
config DUMA_SO
|
||||
bool
|
||||
prompt "Build a shared library"
|
||||
@ -18,21 +20,3 @@ config DUMA_CUSTOM_WRAPPER
|
||||
prompt "Install custom D.U.M.A wrapper"
|
||||
default y
|
||||
depends on DUMA_SO
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "D.U.M.A. version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config DUMA_V_2_5_15
|
||||
bool
|
||||
prompt "2_5_15"
|
||||
|
||||
endchoice
|
||||
|
||||
config DUMA_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "2_5_15" if DUMA_V_2_5_15
|
||||
|
@ -2,326 +2,20 @@
|
||||
|
||||
## help gdb is the GNU debugger
|
||||
|
||||
source "config/versions/gdb.in"
|
||||
|
||||
source "config/debug/gdb.in.cross"
|
||||
source "config/debug/gdb.in.native"
|
||||
source "config/debug/gdb.in.gdbserver"
|
||||
|
||||
comment "gdb version"
|
||||
|
||||
config GDB_CUSTOM
|
||||
bool
|
||||
prompt "Custom gdb"
|
||||
depends on EXPERIMENTAL
|
||||
select GDB_8_0_or_later
|
||||
help
|
||||
The choosen gdb version shall be not downloaded. Instead use
|
||||
a custom location to get the source.
|
||||
|
||||
if GDB_CUSTOM
|
||||
|
||||
config GDB_CUSTOM_LOCATION
|
||||
string
|
||||
prompt "Full path to custom gdb source"
|
||||
help
|
||||
Enter the path to the directory or tarball of your source for gcc.
|
||||
|
||||
If the path is a tarball, it should extract to: <name>-<version>/
|
||||
where the name is this component, gcc, and the version is set
|
||||
below in the custom version string.
|
||||
|
||||
config GDB_CUSTOM_VERSION
|
||||
string
|
||||
prompt "Custom GDB version"
|
||||
help
|
||||
Enter the version number for your custom gdb.
|
||||
|
||||
config GDB_VERSION
|
||||
string
|
||||
default GDB_CUSTOM_VERSION
|
||||
|
||||
endif # GDB_CUSTOM
|
||||
|
||||
if ! GDB_CUSTOM
|
||||
|
||||
config DEBUG_GDB_SHOW_LINARO
|
||||
bool
|
||||
prompt "Show Linaro versions"
|
||||
depends on OBSOLETE
|
||||
help
|
||||
Linaro is maintaining some advanced/more stable/experimental versions
|
||||
of gdb, especially for the ARM architecture.
|
||||
|
||||
Those versions have not been blessed by the gdb community (nor have they
|
||||
been cursed either!), but they look to be pretty much stable, and even
|
||||
more stable than the upstream versions. YMMV...
|
||||
|
||||
If you do not know what this Linaro stuff is, then simply say 'n' here,
|
||||
and rest in peace. OTOH, if you know what you are doing, you will be
|
||||
able to use and enjoy :-) the Linaro versions by saying 'y' here.
|
||||
|
||||
Linaro: http://www.linaro.org/
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "gdb version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config GDB_V_8_0
|
||||
bool
|
||||
prompt "8.0"
|
||||
select GDB_8_0_or_later
|
||||
|
||||
config GDB_V_7_12_1
|
||||
bool
|
||||
prompt "7.12.1"
|
||||
select GDB_7_12_or_later
|
||||
|
||||
config GDB_V_7_11_1
|
||||
bool
|
||||
prompt "7.11.1"
|
||||
select GDB_7_2_or_later
|
||||
|
||||
config GDB_V_7_10_1
|
||||
bool
|
||||
prompt "7.10.1 (OBSOLETE)"
|
||||
select GDB_7_2_or_later
|
||||
depends on OBSOLETE
|
||||
|
||||
config GDB_V_7_10
|
||||
bool
|
||||
prompt "7.10 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select GDB_7_2_or_later
|
||||
|
||||
config GDB_V_7_9_1
|
||||
bool
|
||||
prompt "7.9.1 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select GDB_7_2_or_later
|
||||
|
||||
config GDB_V_7_9
|
||||
bool
|
||||
prompt "7.9 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select GDB_7_2_or_later
|
||||
|
||||
config GDB_V_linaro_7_8
|
||||
bool
|
||||
prompt "linaro-7.8-2014.09 (OBSOLETE)"
|
||||
depends on DEBUG_GDB_SHOW_LINARO
|
||||
depends on OBSOLETE
|
||||
select GDB_7_2_or_later
|
||||
|
||||
config GDB_V_7_8_2
|
||||
bool
|
||||
prompt "7.8.2 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select GDB_7_2_or_later
|
||||
|
||||
|
||||
config GDB_V_7_8_1
|
||||
bool
|
||||
prompt "7.8.1 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select GDB_7_2_or_later
|
||||
|
||||
config GDB_V_7_8
|
||||
bool
|
||||
prompt "7.8 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select GDB_7_2_or_later
|
||||
|
||||
config GDB_V_linaro_7_7_1
|
||||
bool
|
||||
prompt "linaro-7.7.1-2014.06 (OBSOLETE)"
|
||||
depends on DEBUG_GDB_SHOW_LINARO
|
||||
depends on OBSOLETE
|
||||
select GDB_7_2_or_later
|
||||
|
||||
config GDB_V_7_7_1
|
||||
bool
|
||||
prompt "7.7.1 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select GDB_7_2_or_later
|
||||
|
||||
config GDB_V_linaro_7_7
|
||||
bool
|
||||
prompt "linaro-7.7-2014.05 (OBSOLETE)"
|
||||
depends on DEBUG_GDB_SHOW_LINARO
|
||||
depends on OBSOLETE
|
||||
select GDB_7_2_or_later
|
||||
|
||||
config GDB_V_7_7
|
||||
bool
|
||||
prompt "7.7 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select GDB_7_2_or_later
|
||||
|
||||
config GDB_V_linaro_7_6
|
||||
bool
|
||||
prompt "linaro-7.6.1-2013.10 (OBSOLETE)"
|
||||
depends on DEBUG_GDB_SHOW_LINARO
|
||||
select GDB_7_2_or_later
|
||||
|
||||
config GDB_V_7_6_1
|
||||
bool
|
||||
prompt "7.6.1 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select GDB_7_2_or_later
|
||||
|
||||
config GDB_V_linaro_7_5
|
||||
bool
|
||||
prompt "linaro-7.5-2012.12 (OBSOLETE)"
|
||||
depends on DEBUG_GDB_SHOW_LINARO
|
||||
depends on OBSOLETE
|
||||
select GDB_7_2_or_later
|
||||
|
||||
config GDB_V_7_5_1
|
||||
bool
|
||||
prompt "7.5.1 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select GDB_7_2_or_later
|
||||
|
||||
config GDB_V_linaro_7_4
|
||||
bool
|
||||
prompt "linaro-7.4-2012.06 (OBSOLETE)"
|
||||
depends on DEBUG_GDB_SHOW_LINARO
|
||||
depends on OBSOLETE
|
||||
select GDB_7_2_or_later
|
||||
|
||||
config GDB_V_7_4_1
|
||||
bool
|
||||
prompt "7.4.1 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select GDB_7_2_or_later
|
||||
|
||||
config GDB_V_7_4
|
||||
bool
|
||||
prompt "7.4 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select GDB_7_2_or_later
|
||||
|
||||
config GDB_V_linaro_7_3
|
||||
bool
|
||||
prompt "linaro-7.3-2011.12 (OBSOLETE)"
|
||||
depends on DEBUG_GDB_SHOW_LINARO
|
||||
depends on OBSOLETE
|
||||
select GDB_7_2_or_later
|
||||
|
||||
config GDB_V_7_3_1
|
||||
bool
|
||||
prompt "7.3.1 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select GDB_7_2_or_later
|
||||
|
||||
config GDB_V_7_3a
|
||||
bool
|
||||
prompt "7.3a (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select GDB_7_2_or_later
|
||||
|
||||
config GDB_V_7_2a
|
||||
bool
|
||||
prompt "7.2a (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select GDB_7_2_or_later
|
||||
|
||||
config GDB_V_7_1a
|
||||
bool
|
||||
prompt "7.1a (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select GDB_7_0_or_later
|
||||
|
||||
config GDB_V_7_0_1a
|
||||
bool
|
||||
prompt "7.0.1a (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select GDB_7_0_or_later
|
||||
|
||||
config GDB_V_7_0a
|
||||
bool
|
||||
prompt "7.0a (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select GDB_7_0_or_later
|
||||
|
||||
config GDB_V_6_8a
|
||||
bool
|
||||
prompt "6.8a (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
endchoice
|
||||
|
||||
endif # ! GDB_CUSTOM
|
||||
|
||||
config GDB_8_0_or_later
|
||||
bool
|
||||
select GDB_7_12_or_later
|
||||
|
||||
config GDB_7_12_or_later
|
||||
bool
|
||||
select GDB_7_2_or_later
|
||||
|
||||
config GDB_7_2_or_later
|
||||
bool
|
||||
select GDB_7_0_or_later
|
||||
|
||||
config GDB_7_0_or_later
|
||||
bool
|
||||
select GDB_HAS_PKGVERSION_BUGURL
|
||||
select GDB_HAS_PYTHON
|
||||
select GDB_INSTALL_GDBINIT
|
||||
|
||||
config GDB_HAS_PKGVERSION_BUGURL
|
||||
bool
|
||||
default y if GDB_7_0_or_later
|
||||
|
||||
config GDB_HAS_PYTHON
|
||||
bool
|
||||
default y if GDB_7_0_or_later
|
||||
|
||||
config GDB_INSTALL_GDBINIT
|
||||
bool
|
||||
|
||||
# GDB 8.0 now requires C++ for build. GDB 7.12 offered a configure
|
||||
# switch to fall back to C.
|
||||
config GDB_TARGET_DISABLE_CXX_BUILD
|
||||
def_bool y
|
||||
depends on GDB_7_12_or_later && !GDB_8_0_or_later
|
||||
|
||||
if ! GDB_CUSTOM
|
||||
|
||||
config GDB_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "8.0" if GDB_V_8_0
|
||||
default "7.12.1" if GDB_V_7_12_1
|
||||
default "7.11.1" if GDB_V_7_11_1
|
||||
default "7.10.1" if GDB_V_7_10_1
|
||||
default "7.10" if GDB_V_7_10
|
||||
default "7.9.1" if GDB_V_7_9_1
|
||||
default "7.9" if GDB_V_7_9
|
||||
default "7.8.2" if GDB_V_7_8_2
|
||||
default "linaro-7.8-2014.09" if GDB_V_linaro_7_8
|
||||
default "7.8.1" if GDB_V_7_8_1
|
||||
default "7.8" if GDB_V_7_8
|
||||
default "linaro-7.7.1-2014.06-1" if GDB_V_linaro_7_7_1
|
||||
default "7.7.1" if GDB_V_7_7_1
|
||||
default "linaro-7.7-2014.05" if GDB_V_linaro_7_7
|
||||
default "7.7" if GDB_V_7_7
|
||||
default "linaro-7.6.1-2013.10" if GDB_V_linaro_7_6
|
||||
default "7.6.1" if GDB_V_7_6_1
|
||||
default "linaro-7.5-2012.12" if GDB_V_linaro_7_5
|
||||
default "7.5.1" if GDB_V_7_5_1
|
||||
default "linaro-7.4-2012.06" if GDB_V_linaro_7_4
|
||||
default "7.4.1" if GDB_V_7_4_1
|
||||
default "7.4" if GDB_V_7_4
|
||||
default "linaro-7.3-2011.12" if GDB_V_linaro_7_3
|
||||
default "7.3.1" if GDB_V_7_3_1
|
||||
default "7.3a" if GDB_V_7_3a
|
||||
default "7.2a" if GDB_V_7_2a
|
||||
default "7.1a" if GDB_V_7_1a
|
||||
default "7.0.1a" if GDB_V_7_0_1a
|
||||
default "7.0a" if GDB_V_7_0a
|
||||
default "6.8a" if GDB_V_6_8a
|
||||
|
||||
endif # ! GDB_CUSTOM
|
||||
default y if GDB_7_0_or_later
|
||||
|
@ -5,7 +5,7 @@ config GDB_GDBSERVER
|
||||
prompt "gdbserver"
|
||||
default y
|
||||
depends on ! BARE_METAL
|
||||
select LIBC_UCLIBC_WCHAR if LIBC_uClibc && GDB_8_0_or_later
|
||||
select LIBC_UCLIBC_WCHAR if LIBC_UCLIBC && GDB_8_0_or_later
|
||||
help
|
||||
Build and install a gdbserver for the target, to run on the target.
|
||||
|
||||
|
@ -4,9 +4,9 @@ config GDB_NATIVE
|
||||
bool
|
||||
prompt "Native gdb"
|
||||
depends on ! BARE_METAL
|
||||
depends on ! LIBC_bionic
|
||||
depends on ! LIBC_BIONIC
|
||||
depends on CC_LANG_CXX || !GDB_8_0_or_later
|
||||
select LIBC_UCLIBC_WCHAR if LIBC_uClibc && GDB_8_0_or_later
|
||||
select LIBC_UCLIBC_WCHAR if LIBC_UCLIBC && GDB_8_0_or_later
|
||||
select EXPAT_TARGET
|
||||
select NCURSES_TARGET
|
||||
help
|
||||
|
@ -1,40 +1,18 @@
|
||||
# ltrace
|
||||
|
||||
## select LIBELF_TARGET
|
||||
## depends on ! LIBC_bionic
|
||||
## depends on ! LIBC_BIONIC
|
||||
##
|
||||
## help ltrace is a program that simply runs the specified command until it exits.
|
||||
## help It intercepts and records the dynamic library calls which are called by
|
||||
## help the executed process and the signals which are received by that process.
|
||||
## help It can also intercept and print the system calls executed by the program.
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "ltrace version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config LTRACE_V_0_7_3
|
||||
bool
|
||||
prompt "0.7.3"
|
||||
|
||||
config LTRACE_V_0_5_3
|
||||
bool
|
||||
prompt "0.5.3 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select LTRACE_0_5_3_CONFIGURE
|
||||
|
||||
endchoice
|
||||
|
||||
config LTRACE_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "0.7.3" if LTRACE_V_0_7_3
|
||||
default "0.5.3" if LTRACE_V_0_5_3
|
||||
source "config/versions/ltrace.in"
|
||||
|
||||
# Ltrace 0.5.3 had a unique hand-crafted configure script that has to be
|
||||
# run differently from any preceding or following releases. This serves
|
||||
# as a reminder to remove that code once 0.5.3 support is dropped.
|
||||
config LTRACE_0_5_3_CONFIGURE
|
||||
bool
|
||||
default y if LTRACE_V_0_5_3
|
||||
|
@ -1,98 +1,5 @@
|
||||
# strace
|
||||
|
||||
## depends on ! LIBC_bionic
|
||||
## depends on ! LIBC_BIONIC
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "strace version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config STRACE_V_4_16
|
||||
bool
|
||||
prompt "4.16"
|
||||
|
||||
config STRACE_V_4_15
|
||||
bool
|
||||
prompt "4.15"
|
||||
|
||||
config STRACE_V_4_14
|
||||
bool
|
||||
prompt "4.14 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config STRACE_V_4_13
|
||||
bool
|
||||
prompt "4.13 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config STRACE_V_4_12
|
||||
bool
|
||||
prompt "4.12 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config STRACE_V_4_11
|
||||
bool
|
||||
prompt "4.11 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config STRACE_V_4_10
|
||||
bool
|
||||
prompt "4.10 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config STRACE_V_4_9
|
||||
bool
|
||||
prompt "4.9 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config STRACE_V_4_8
|
||||
bool
|
||||
prompt "4.8 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config STRACE_V_4_7
|
||||
bool
|
||||
prompt "4.7 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config STRACE_V_4_6
|
||||
bool
|
||||
prompt "4.6 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config STRACE_V_4_5_20
|
||||
bool
|
||||
prompt "4.5.20 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config STRACE_V_4_5_19
|
||||
bool
|
||||
prompt "4.5.19 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config STRACE_V_4_5_18
|
||||
bool
|
||||
prompt "4.5.18 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
endchoice
|
||||
|
||||
config STRACE_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "4.16" if STRACE_V_4_16
|
||||
default "4.15" if STRACE_V_4_15
|
||||
default "4.14" if STRACE_V_4_14
|
||||
default "4.13" if STRACE_V_4_13
|
||||
default "4.12" if STRACE_V_4_12
|
||||
default "4.11" if STRACE_V_4_11
|
||||
default "4.10" if STRACE_V_4_10
|
||||
default "4.9" if STRACE_V_4_9
|
||||
default "4.8" if STRACE_V_4_8
|
||||
default "4.7" if STRACE_V_4_7
|
||||
default "4.6" if STRACE_V_4_6
|
||||
default "4.5.20" if STRACE_V_4_5_20
|
||||
default "4.5.19" if STRACE_V_4_5_19
|
||||
default "4.5.18" if STRACE_V_4_5_18
|
||||
source "config/versions/strace.in"
|
||||
|
@ -73,24 +73,6 @@ config PATCH_LOCAL_BUNDLED
|
||||
Apply your local patches, then apply the patches
|
||||
bundled with crosstool-NG.
|
||||
|
||||
config PATCH_BUNDLED_FALLBACK_LOCAL
|
||||
bool
|
||||
prompt "Bundled only, local if no bundled"
|
||||
select PATCH_USE_LOCAL
|
||||
select PATCH_SINGLE
|
||||
help
|
||||
Apply the patches bundled with crosstool-NG;
|
||||
if there's no bundled patches, apply your local patches.
|
||||
|
||||
config PATCH_LOCAL_FALLBACK_BUNDLED
|
||||
bool
|
||||
prompt "Local only, bundled if no local"
|
||||
select PATCH_USE_LOCAL
|
||||
select PATCH_SINGLE
|
||||
help
|
||||
Only apply your local patches;
|
||||
if there's no local patches, apply patches bundled with crosstool-NG.
|
||||
|
||||
config PATCH_NONE
|
||||
bool
|
||||
prompt "None"
|
||||
@ -110,19 +92,16 @@ config PATCH_ORDER
|
||||
string
|
||||
default "bundled" if PATCH_BUNDLED
|
||||
default "local" if PATCH_LOCAL
|
||||
default "bundled,local" if PATCH_BUNDLED_LOCAL || PATCH_BUNDLED_FALLBACK_LOCAL
|
||||
default "local,bundled" if PATCH_LOCAL_BUNDLED || PATCH_LOCAL_FALLBACK_BUNDLED
|
||||
default "bundled,local" if PATCH_BUNDLED_LOCAL
|
||||
default "local,bundled" if PATCH_LOCAL_BUNDLED
|
||||
default "none" if PATCH_NONE
|
||||
|
||||
config PATCH_SINGLE
|
||||
bool
|
||||
|
||||
config PATCH_USE_LOCAL
|
||||
bool
|
||||
|
||||
config LOCAL_PATCH_DIR
|
||||
string
|
||||
prompt "| Local patch directory"
|
||||
prompt "Local patch directory"
|
||||
default ""
|
||||
depends on PATCH_USE_LOCAL
|
||||
help
|
||||
|
@ -4,9 +4,11 @@ menu "Operating System"
|
||||
|
||||
# Config option used throughout the config and code to determine wether
|
||||
# we have a kernel or not (there might be different bare metal stuff)...
|
||||
# FIXME use CT_KERNEL_bare_metal instead
|
||||
config BARE_METAL
|
||||
bool
|
||||
|
||||
# FIXME use CT_KERNEL_windows instead
|
||||
config WINDOWS
|
||||
bool
|
||||
|
||||
@ -16,12 +18,6 @@ config WINDOWS
|
||||
config KERNEL_SUPPORTS_SHARED_LIBS
|
||||
bool
|
||||
|
||||
config KERNEL
|
||||
string
|
||||
|
||||
config KERNEL_VERSION
|
||||
string
|
||||
|
||||
source "config/gen/kernel.in"
|
||||
|
||||
comment "Common kernel options"
|
||||
@ -37,6 +33,4 @@ config SHARED_LIBS
|
||||
You might not want shared libraries if you're building for a target that
|
||||
don't support it (maybe some nommu targets, for example, or bare metal).
|
||||
|
||||
source "config/gen/kernel.in.2"
|
||||
|
||||
endmenu
|
||||
|
@ -1,294 +1,54 @@
|
||||
# Linux kernel options
|
||||
|
||||
## depends on ! ARCH_avr
|
||||
## depends on ! ARCH_AVR
|
||||
## select KERNEL_SUPPORTS_SHARED_LIBS
|
||||
##
|
||||
|
||||
## help Build a toolchain targeting systems running Linux as a kernel.
|
||||
|
||||
config KERNEL_LINUX_CUSTOM
|
||||
bool
|
||||
prompt "custom tarball or directory"
|
||||
help
|
||||
The choosen linux version shall be not downloaded. Instead use
|
||||
a custom location to get the source.
|
||||
|
||||
if KERNEL_LINUX_CUSTOM
|
||||
|
||||
config KERNEL_LINUX_CUSTOM_LOCATION
|
||||
string
|
||||
prompt "Path to custom source, tarball or directory"
|
||||
help
|
||||
Enter the path to the directory or tarball of your source for linux.
|
||||
|
||||
If the path is a tarball, it should extract to: <name>-<version>/
|
||||
where the name is this component, linux, and the version is set
|
||||
below in the custom version string.
|
||||
|
||||
config KERNEL_LINUX_CUSTOM_VERSION
|
||||
string
|
||||
prompt "Custom Linux version"
|
||||
help
|
||||
Enter the version number for your custom linux.
|
||||
|
||||
config KERNEL_VERSION
|
||||
string
|
||||
default KERNEL_LINUX_CUSTOM_VERSION
|
||||
|
||||
endif # KERNEL_LINUX_CUSTOM
|
||||
|
||||
if ! KERNEL_LINUX_CUSTOM
|
||||
|
||||
# GLIBC and kernel are special when it comes to obsoletion. Users
|
||||
# of crosstool-ng depend on the ability to build new toolchains matching
|
||||
# the kernel/libc versions of a particular target system, and LTS releases
|
||||
# are still using quite ancient versions. Please do not retire versions
|
||||
# (including versions in between) until the EOL dates indicated below.
|
||||
# Such pinned versions are indicated in version.desc files with a comment.
|
||||
|
||||
source "config/versions/linux.in"
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "Linux kernel version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
prompt "Kernel verbosity:"
|
||||
default KERNEL_LINUX_VERBOSITY_0
|
||||
|
||||
config KERNEL_V_4_11
|
||||
config KERNEL_LINUX_VERBOSITY_0
|
||||
bool
|
||||
prompt "4.11.3"
|
||||
prompt "Simplified"
|
||||
help
|
||||
Print simplified command lines.
|
||||
|
||||
config KERNEL_V_4_10
|
||||
config KERNEL_LINUX_VERBOSITY_1
|
||||
bool
|
||||
prompt "4.10.17 (EOL)"
|
||||
prompt "Full commands"
|
||||
help
|
||||
Print full command lines.
|
||||
|
||||
config KERNEL_V_4_9
|
||||
config KERNEL_LINUX_VERBOSITY_2
|
||||
bool
|
||||
prompt "4.9.30"
|
||||
|
||||
config KERNEL_V_4_8
|
||||
bool
|
||||
prompt "4.8.17 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config KERNEL_V_4_7
|
||||
bool
|
||||
prompt "4.7.10 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config KERNEL_V_4_6
|
||||
bool
|
||||
prompt "4.6.7 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config KERNEL_V_4_5
|
||||
bool
|
||||
prompt "4.5.7 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
# EOL 04/2021 [Ubuntu16.04]
|
||||
config KERNEL_V_4_4
|
||||
bool
|
||||
prompt "4.4.70"
|
||||
|
||||
config KERNEL_V_4_3
|
||||
bool
|
||||
prompt "4.3.6 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config KERNEL_V_4_2
|
||||
bool
|
||||
prompt "4.2.8 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config KERNEL_V_4_1
|
||||
bool
|
||||
prompt "4.1.40"
|
||||
|
||||
config KERNEL_V_4_0
|
||||
bool
|
||||
prompt "4.0.9 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config KERNEL_V_3_19
|
||||
bool
|
||||
prompt "3.19.8 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config KERNEL_V_3_18
|
||||
bool
|
||||
prompt "3.18.55 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config KERNEL_V_3_17
|
||||
bool
|
||||
prompt "3.17.8 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config KERNEL_V_3_16
|
||||
bool
|
||||
prompt "3.16.43"
|
||||
|
||||
config KERNEL_V_3_15
|
||||
bool
|
||||
prompt "3.15.10 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config KERNEL_V_3_14
|
||||
bool
|
||||
prompt "3.14.79 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
# EOL 04/2019 [Ubuntu14.04]
|
||||
config KERNEL_V_3_13
|
||||
bool
|
||||
prompt "3.13.11 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config KERNEL_V_3_12
|
||||
bool
|
||||
prompt "3.12.74"
|
||||
|
||||
config KERNEL_V_3_11
|
||||
bool
|
||||
prompt "3.11.10 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
# EOL 06/2024 [CentOS7.x]
|
||||
config KERNEL_V_3_10
|
||||
bool
|
||||
prompt "3.10.105"
|
||||
|
||||
config KERNEL_V_3_9
|
||||
bool
|
||||
prompt "3.9.11 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config KERNEL_V_3_8
|
||||
bool
|
||||
prompt "3.8.13 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config KERNEL_V_3_7
|
||||
bool
|
||||
prompt "3.7.10 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config KERNEL_V_3_6
|
||||
bool
|
||||
prompt "3.6.11 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config KERNEL_V_3_5
|
||||
bool
|
||||
prompt "3.5.7 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config KERNEL_V_3_4
|
||||
bool
|
||||
prompt "3.4.113"
|
||||
|
||||
config KERNEL_V_3_3
|
||||
bool
|
||||
prompt "3.3.8 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
# EOL 04/2017 [Ubuntu12.04]
|
||||
config KERNEL_V_3_2
|
||||
bool
|
||||
prompt "3.2.88"
|
||||
|
||||
config KERNEL_V_3_1
|
||||
bool
|
||||
prompt "3.1.10 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config KERNEL_V_3_0
|
||||
bool
|
||||
prompt "3.0.101 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config KERNEL_V_2_6_39
|
||||
bool
|
||||
prompt "2.6.39.4 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config KERNEL_V_2_6_38
|
||||
bool
|
||||
prompt "2.6.38.8 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config KERNEL_V_2_6_37
|
||||
bool
|
||||
prompt "2.6.37.6 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config KERNEL_V_2_6_36
|
||||
bool
|
||||
prompt "2.6.36.4 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config KERNEL_V_2_6_35
|
||||
bool
|
||||
prompt "2.6.35.9 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config KERNEL_V_2_6_34
|
||||
bool
|
||||
prompt "2.6.34.7 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config KERNEL_V_2_6_33
|
||||
bool
|
||||
prompt "2.6.33.7 (EOL)"
|
||||
depends on OBSOLETE
|
||||
|
||||
# EOL 11/2020 [CentOS6.x]
|
||||
config KERNEL_V_2_6_32
|
||||
bool
|
||||
prompt "2.6.32.27 (EOL)"
|
||||
depends on OBSOLETE
|
||||
prompt "Exec reasons"
|
||||
help
|
||||
Print the reasons why a make target is rebuild.
|
||||
|
||||
endchoice
|
||||
|
||||
config KERNEL_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "4.11.3" if KERNEL_V_4_11
|
||||
default "4.10.17" if KERNEL_V_4_10
|
||||
default "4.9.30" if KERNEL_V_4_9
|
||||
default "4.8.17" if KERNEL_V_4_8
|
||||
default "4.7.10" if KERNEL_V_4_7
|
||||
default "4.6.7" if KERNEL_V_4_6
|
||||
default "4.5.7" if KERNEL_V_4_5
|
||||
default "4.4.70" if KERNEL_V_4_4
|
||||
default "4.3.6" if KERNEL_V_4_3
|
||||
default "4.2.8" if KERNEL_V_4_2
|
||||
default "4.1.40" if KERNEL_V_4_1
|
||||
default "4.0.9" if KERNEL_V_4_0
|
||||
default "3.19.8" if KERNEL_V_3_19
|
||||
default "3.18.55" if KERNEL_V_3_18
|
||||
default "3.17.8" if KERNEL_V_3_17
|
||||
default "3.16.43" if KERNEL_V_3_16
|
||||
default "3.15.10" if KERNEL_V_3_15
|
||||
default "3.14.79" if KERNEL_V_3_14
|
||||
default "3.13.11" if KERNEL_V_3_13
|
||||
default "3.12.74" if KERNEL_V_3_12
|
||||
default "3.11.10" if KERNEL_V_3_11
|
||||
default "3.10.105" if KERNEL_V_3_10
|
||||
default "3.9.11" if KERNEL_V_3_9
|
||||
default "3.8.13" if KERNEL_V_3_8
|
||||
default "3.7.10" if KERNEL_V_3_7
|
||||
default "3.6.11" if KERNEL_V_3_6
|
||||
default "3.5.7" if KERNEL_V_3_5
|
||||
default "3.4.113" if KERNEL_V_3_4
|
||||
default "3.3.8" if KERNEL_V_3_3
|
||||
default "3.2.88" if KERNEL_V_3_2
|
||||
default "3.1.10" if KERNEL_V_3_1
|
||||
default "3.0.101" if KERNEL_V_3_0
|
||||
default "2.6.39.4" if KERNEL_V_2_6_39
|
||||
default "2.6.38.8" if KERNEL_V_2_6_38
|
||||
default "2.6.37.6" if KERNEL_V_2_6_37
|
||||
default "2.6.36.4" if KERNEL_V_2_6_36
|
||||
default "2.6.35.9" if KERNEL_V_2_6_35
|
||||
default "2.6.34.7" if KERNEL_V_2_6_34
|
||||
default "2.6.33.7" if KERNEL_V_2_6_33
|
||||
default "2.6.32.27" if KERNEL_V_2_6_32
|
||||
config KERNEL_LINUX_VERBOSE_LEVEL
|
||||
int
|
||||
default 0 if KERNEL_LINUX_VERBOSITY_0
|
||||
default 1 if KERNEL_LINUX_VERBOSITY_1
|
||||
default 2 if KERNEL_LINUX_VERBOSITY_2
|
||||
|
||||
endif # ! KERNEL_LINUX_CUSTOM
|
||||
config KERNEL_LINUX_INSTALL_CHECK
|
||||
bool
|
||||
prompt "Check installed headers"
|
||||
default y
|
||||
help
|
||||
If you are in doubt that installed headers are buggy, say 'Y'
|
||||
here to have an extra check passed onto the headers.
|
||||
|
@ -1,40 +0,0 @@
|
||||
# Linux kernel options
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "Kernel verbosity:"
|
||||
default KERNEL_LINUX_VERBOSITY_0
|
||||
|
||||
config KERNEL_LINUX_VERBOSITY_0
|
||||
bool
|
||||
prompt "Simplified"
|
||||
help
|
||||
Print simplified command lines.
|
||||
|
||||
config KERNEL_LINUX_VERBOSITY_1
|
||||
bool
|
||||
prompt "Full commands"
|
||||
help
|
||||
Print full command lines.
|
||||
|
||||
config KERNEL_LINUX_VERBOSITY_2
|
||||
bool
|
||||
prompt "Exec reasons"
|
||||
help
|
||||
Print the reasons why a make target is rebuild.
|
||||
|
||||
endchoice
|
||||
|
||||
config KERNEL_LINUX_VERBOSE_LEVEL
|
||||
int
|
||||
default 0 if KERNEL_LINUX_VERBOSITY_0
|
||||
default 1 if KERNEL_LINUX_VERBOSITY_1
|
||||
default 2 if KERNEL_LINUX_VERBOSITY_2
|
||||
|
||||
config KERNEL_LINUX_INSTALL_CHECK
|
||||
bool
|
||||
prompt "Check installed headers"
|
||||
default y
|
||||
help
|
||||
If you are in doubt that installed headers are buggy, say 'Y'
|
||||
here to have an extra check passed onto the headers.
|
@ -1,6 +1,6 @@
|
||||
# windows config options
|
||||
|
||||
## depends on ARCH_x86
|
||||
## depends on ARCH_X86
|
||||
## depends on EXPERIMENTAL
|
||||
##
|
||||
## select WINDOWS
|
||||
|
@ -2,23 +2,6 @@
|
||||
|
||||
menu "C-library"
|
||||
|
||||
config LIBC
|
||||
string
|
||||
|
||||
config LIBC_VERSION
|
||||
string
|
||||
help
|
||||
Enter the date of the snapshot you want to use in the form: YYYYMMDD
|
||||
where YYYY is the 4-digit year, MM the 2-digit month and DD the 2-digit
|
||||
day in the month.
|
||||
|
||||
Please note:
|
||||
- glibc has snapshots done every monday, and only the last ten are kept.
|
||||
- uClibc has daily snapshots, and only the last 30-or-so are kept.
|
||||
|
||||
So if you want to be able to re-build your toolchain later, you will
|
||||
have to save your C library tarball by yourself.
|
||||
|
||||
source "config/gen/libc.in"
|
||||
|
||||
config LIBC_SUPPORT_THREADS_ANY
|
||||
@ -47,7 +30,7 @@ config THREADS
|
||||
string
|
||||
default "none" if THREADS_NONE
|
||||
|
||||
if ! LIBC_none
|
||||
if ! LIBC_NONE
|
||||
|
||||
comment "Common C library options"
|
||||
|
||||
@ -123,8 +106,6 @@ config LIBC_XLDD
|
||||
for the native ldd. Please see the help, by running it
|
||||
with '--help' for more explanations.
|
||||
|
||||
source "config/gen/libc.in.2"
|
||||
|
||||
endif # ! LIBC_none
|
||||
endif # ! LIBC_NONE
|
||||
|
||||
endmenu
|
||||
|
@ -1,6 +1,6 @@
|
||||
# avr-libc options
|
||||
|
||||
## depends on ARCH_avr
|
||||
## depends on ARCH_AVR
|
||||
## depends on ! LINUX && ! WINDOWS && BARE_METAL
|
||||
##
|
||||
## select LIBC_SUPPORT_THREADS_NONE
|
||||
@ -9,66 +9,11 @@
|
||||
## help Atmel AVR 8-bit RISC microcontrollers. In addition, the library
|
||||
## help provides the basic startup code needed by most applications.
|
||||
|
||||
config LIBC_AVR_LIBC_CUSTOM
|
||||
bool
|
||||
prompt "Custom avr-libc"
|
||||
depends on EXPERIMENTAL
|
||||
source "config/versions/avr-libc.in"
|
||||
|
||||
config LIBC_AVR_LIBC_EXTRA_CONFIG_ARRAY
|
||||
string
|
||||
prompt "Extra config for avr-libc"
|
||||
default ""
|
||||
help
|
||||
The choosen avr-libc version shall be not downloaded. Instead use
|
||||
a custom location to get the source.
|
||||
|
||||
if LIBC_AVR_LIBC_CUSTOM
|
||||
|
||||
config LIBC_AVR_LIBC_CUSTOM_LOCATION
|
||||
string
|
||||
prompt "Full path to custom avr-libc source"
|
||||
help
|
||||
Enter the path to the directory or tarball of your source for avr-libc.
|
||||
|
||||
If the path is a tarball, it should extract to: <name>-<version>/
|
||||
where the name is this component, avr-libc, and the version is set
|
||||
below in the custom version string.
|
||||
|
||||
config LIBC_AVR_LIBC_CUSTOM_VERSION
|
||||
string
|
||||
prompt "Custom AVR-Libc version"
|
||||
help
|
||||
Enter the version number for your custom avr-libc.
|
||||
|
||||
config LIBC_VERSION
|
||||
string
|
||||
default LIBC_AVR_LIBC_CUSTOM_VERSION
|
||||
|
||||
endif # LIBC_AVR_LIBC_CUSTOM
|
||||
|
||||
if ! LIBC_AVR_LIBC_CUSTOM
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "avr-libc version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config LIBC_AVR_LIBC_V_2_0_0
|
||||
bool
|
||||
prompt "2.0.0"
|
||||
|
||||
config LIBC_AVR_LIBC_V_1_8_1
|
||||
bool
|
||||
prompt "1.8.1"
|
||||
|
||||
config LIBC_AVR_LIBC_V_1_8_0
|
||||
bool
|
||||
prompt "1.8.0"
|
||||
|
||||
endchoice
|
||||
|
||||
config LIBC_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "2.0.0" if LIBC_AVR_LIBC_V_2_0_0
|
||||
default "1.8.1" if LIBC_AVR_LIBC_V_1_8_1
|
||||
default "1.8.0" if LIBC_AVR_LIBC_V_1_8_0
|
||||
|
||||
endif # ! LIBC_AVR_LIBC_CUSTOM
|
||||
Extra flags to pass onto ./configure when configuring the avr-libc.
|
||||
|
@ -1,8 +0,0 @@
|
||||
# avr-libc second-part options
|
||||
|
||||
config LIBC_AVR_LIBC_EXTRA_CONFIG_ARRAY
|
||||
string
|
||||
prompt "Extra config for avr-libc"
|
||||
default ""
|
||||
help
|
||||
Extra flags to pass onto ./configure when configuring the avr-libc.
|
@ -1,9 +1,9 @@
|
||||
# bionic options
|
||||
|
||||
## depends on ! WINDOWS && ! BARE_METAL
|
||||
## depends on ARCH_arm || ARCH_mips || ARCH_x86
|
||||
## depends on ARCH_ARM || ARCH_MIPS || ARCH_X86
|
||||
## depends on EXPERIMENTAL
|
||||
## depends on CC_GCC_6_or_later
|
||||
## depends on GCC_6_or_later
|
||||
##
|
||||
## select LIBC_SUPPORT_THREADS_POSIX
|
||||
##
|
||||
@ -11,98 +11,17 @@
|
||||
## help This platform has no TLS (Thread Local Storage) support so that option must be
|
||||
## help disabled in the Compiler options.
|
||||
|
||||
source "config/versions/android-ndk.in"
|
||||
|
||||
config THREADS
|
||||
default "posix"
|
||||
|
||||
config LIBC_BIONIC_CUSTOM
|
||||
bool
|
||||
prompt "Custom bionic"
|
||||
help
|
||||
The chosen bionic-libc version shall be not downloaded. Instead use
|
||||
a custom location to get the source.
|
||||
|
||||
if LIBC_BIONIC_CUSTOM
|
||||
|
||||
config LIBC_BIONIC_CUSTOM_LOCATION
|
||||
string
|
||||
prompt "Full path to custom bionic source"
|
||||
help
|
||||
Enter the path to the directory or tarball of your source for bionic.
|
||||
|
||||
If the path is a zip archive, it should extract to: <name>-<version>/
|
||||
where the name is android-ndk, and the version is set
|
||||
below in the custom version string.
|
||||
|
||||
config LIBC_BIONIC_CUSTOM_VERSION
|
||||
string
|
||||
prompt "Custom BIONIC version"
|
||||
help
|
||||
Enter the version number for your custom bionic.
|
||||
|
||||
config LIBC_VERSION
|
||||
string
|
||||
default LIBC_BIONIC_CUSTOM_VERSION
|
||||
|
||||
endif # LIBC_BIONIC_CUSTOM
|
||||
|
||||
if ! LIBC_BIONIC_CUSTOM
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "bionic version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config LIBC_BIONIC_V_15beta1
|
||||
bool
|
||||
prompt "15beta1"
|
||||
|
||||
config LIBC_BIONIC_V_14b
|
||||
bool
|
||||
prompt "14b"
|
||||
|
||||
config LIBC_BIONIC_V_13b
|
||||
bool
|
||||
prompt "13b (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config LIBC_BIONIC_V_12b
|
||||
bool
|
||||
prompt "12b (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config LIBC_BIONIC_V_11c
|
||||
bool
|
||||
prompt "11c (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config LIBC_BIONIC_V_10e
|
||||
bool
|
||||
prompt "10e (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
endchoice
|
||||
|
||||
config LIBC_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "r15-beta1" if LIBC_BIONIC_V_15beta1
|
||||
default "r14b" if LIBC_BIONIC_V_14b
|
||||
default "r13b" if LIBC_BIONIC_V_13b
|
||||
default "r12b" if LIBC_BIONIC_V_12b
|
||||
default "r11c" if LIBC_BIONIC_V_11c
|
||||
default "r10e" if LIBC_BIONIC_V_10e
|
||||
|
||||
endif # ! LIBC_BIONIC_CUSTOM
|
||||
|
||||
# FIXME does API level depend on the bionic version? generate that, too?
|
||||
choice
|
||||
bool
|
||||
prompt "Android API level"
|
||||
help
|
||||
The minimum for 64 bit support is 21.
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config ANDROID_API_24
|
||||
bool
|
||||
@ -169,8 +88,6 @@ endchoice
|
||||
|
||||
config ANDROID_API
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "24" if ANDROID_API_24
|
||||
default "23" if ANDROID_API_23
|
||||
default "22" if ANDROID_API_22
|
||||
@ -184,4 +101,3 @@ config ANDROID_API
|
||||
default "13" if ANDROID_API_13
|
||||
default "12" if ANDROID_API_12
|
||||
default "9" if ANDROID_API_9
|
||||
|
||||
|
@ -1,222 +1,289 @@
|
||||
# glibc options
|
||||
# This file contains the common configuration options
|
||||
# that apply to both glibc.
|
||||
|
||||
## depends on ! WINDOWS && ! BARE_METAL && ARCH_USE_MMU
|
||||
##
|
||||
## select LIBC_SUPPORT_THREADS_NATIVE
|
||||
## select CC_CORE_PASSES_NEEDED
|
||||
# TBD: select GETTEXT for build only, not for host
|
||||
## select GETTEXT_NEEDED
|
||||
##
|
||||
## select BINUTILS_FORCE_LD_BFD_DEFAULT
|
||||
|
||||
## help The de-facto standard for Linux distributions.
|
||||
## help Feature-rich, but large... Most useful for desktop-like systems.
|
||||
|
||||
config THREADS
|
||||
default "nptl"
|
||||
|
||||
config LIBC_GLIBC_CUSTOM
|
||||
bool
|
||||
prompt "Custom glibc"
|
||||
depends on EXPERIMENTAL
|
||||
select LIBC_CUSTOM
|
||||
select LIBC_GLIBC_2_20_or_later
|
||||
help
|
||||
The choosen glibc version shall be not downloaded. Instead use
|
||||
a custom location to get the source.
|
||||
|
||||
if LIBC_GLIBC_CUSTOM
|
||||
|
||||
config LIBC_GLIBC_CUSTOM_LOCATION
|
||||
string
|
||||
prompt "Full path to custom glibc source"
|
||||
help
|
||||
Enter the path to the directory or tarball of your source for glibc.
|
||||
|
||||
If the path is a tarball, it should extract to: <name>-<version>/
|
||||
where the name is this component, glibc, and the version is set
|
||||
below in the custom version string.
|
||||
|
||||
config LIBC_GLIBC_CUSTOM_VERSION
|
||||
string
|
||||
prompt "Custom GLIBC version"
|
||||
help
|
||||
Enter the version number for your custom glibc.
|
||||
|
||||
config LIBC_VERSION
|
||||
string
|
||||
default LIBC_GLIBC_CUSTOM_VERSION
|
||||
|
||||
endif # LIBC_GLIBC_CUSTOM
|
||||
|
||||
if ! LIBC_GLIBC_CUSTOM
|
||||
|
||||
config CC_GLIBC_SHOW_LINARO
|
||||
bool
|
||||
prompt "Show Linaro versions"
|
||||
help
|
||||
Linaro is maintaining some advanced/more stable/experimental versions
|
||||
of glibc, especially for the ARM architecture.
|
||||
|
||||
Those versions have not been blessed by the glibc comunity (nor have they
|
||||
been cursed either!), but they look to be pretty much stable, and even
|
||||
more stable than the upstream versions. YMMV...
|
||||
|
||||
If you do not know what this Linaro stuff is, then simply say 'n' here,
|
||||
and rest in peace. OTOH, if you know what you are doing, you will be
|
||||
able to use and enjoy :-) the Linaro versions by saying 'y' here.
|
||||
|
||||
Linaro: http://www.linaro.org/
|
||||
|
||||
# GLIBC and kernel are special when it comes to obsoletion. Users
|
||||
# of crosstool-ng depend on the ability to build new toolchains matching
|
||||
# the kernel/libc versions of a particular target system, and LTS releases
|
||||
# are still using quite ancient versions. Please do not retire versions
|
||||
# (including versions in between) until the EOL dates indicated below.
|
||||
choice
|
||||
bool
|
||||
prompt "glibc version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
# (including versions in between) until the EOL dates indicated in version.desc.
|
||||
source "config/versions/glibc.in"
|
||||
if GLIBC_USE_PORTS_EXTERNAL
|
||||
source "config/versions/glibc-ports.in"
|
||||
endif
|
||||
|
||||
config LIBC_GLIBC_V_2_25
|
||||
bool
|
||||
prompt "2.25"
|
||||
select LIBC_GLIBC_2_23_or_later
|
||||
config THREADS
|
||||
default "nptl"
|
||||
|
||||
config LIBC_GLIBC_V_2_24
|
||||
bool
|
||||
prompt "2.24"
|
||||
select LIBC_GLIBC_2_23_or_later
|
||||
# Known add-ons and when they exist(ed)
|
||||
# crypt external in 2.1, no longer an add-on since 2.2
|
||||
# libidn external in 2.3.4 .. 2.10, still an add-on
|
||||
# linuxthreads external in 2.0.1 .. 2.5, no longer available since 2.6 [*]
|
||||
# localedata external in 2.0.1 .. 2.0.6, no longer an add-on since 2.1 [*]
|
||||
# ports external in 2.3.4 .. 2.16, no longer an add-on since 2.20
|
||||
# nptl never external, no longer an add-on since 2.20
|
||||
#
|
||||
# Given the list of currently supported glibc releases, we only need to worry about
|
||||
# 'libidn', 'ports' and 'nptl' add-ons. Of these, only 'ports' can be an external
|
||||
# tarball; and only 'libidn' is user-selectable ('ports' & 'nptl' are selected
|
||||
# by crosstool-NG, as dictated by the architecture and thread model).
|
||||
#
|
||||
# I had trouble locating the sources in the repository for some of the released
|
||||
# versions. E.g., there is a 2.5 version of linuxthreads, but the tag for 2.5 in Git
|
||||
# does not have the linuxthreads directory at all. Similarly, 2.0.6 tag did not have
|
||||
# localedata. Since these releases are no longer supported by crosstool-NG, this is
|
||||
# of pure historical interest now, however.
|
||||
|
||||
# EOL 04/2021 [Ubuntu16.04]
|
||||
config LIBC_GLIBC_V_2_23
|
||||
bool
|
||||
prompt "2.23"
|
||||
select LIBC_GLIBC_2_23_or_later
|
||||
config GLIBC_HAS_NPTL_ADDON
|
||||
def_bool y
|
||||
depends on !GLIBC_2_20_or_later
|
||||
|
||||
config LIBC_GLIBC_V_2_22
|
||||
bool
|
||||
prompt "2.22 (OBSOLETE)"
|
||||
select LIBC_GLIBC_2_20_or_later
|
||||
depends on OBSOLETE
|
||||
config GLIBC_HAS_PORTS_ADDON
|
||||
def_bool y
|
||||
depends on !GLIBC_2_20_or_later
|
||||
|
||||
config LIBC_GLIBC_V_2_21
|
||||
bool
|
||||
prompt "2.21 (OBSOLETE)"
|
||||
select LIBC_GLIBC_2_20_or_later
|
||||
depends on OBSOLETE
|
||||
config GLIBC_HAS_PORTS_ADDON_EXTERNAL
|
||||
def_bool y
|
||||
depends on !GLIBC_2_17_or_later
|
||||
|
||||
config LIBC_GLIBC_LINARO_V_2_20
|
||||
bool
|
||||
prompt "Linaro 2.20-2014.11 (OBSOLETE)"
|
||||
select LIBC_GLIBC_2_20_or_later
|
||||
depends on CC_GLIBC_SHOW_LINARO
|
||||
depends on OBSOLETE
|
||||
# In case it folds into main distribution in some future release, too
|
||||
config GLIBC_HAS_LIBIDN_ADDON
|
||||
def_bool y
|
||||
|
||||
config LIBC_GLIBC_V_2_20
|
||||
bool
|
||||
prompt "2.20 (OBSOLETE)"
|
||||
select LIBC_GLIBC_2_20_or_later
|
||||
depends on OBSOLETE
|
||||
# Some architectures require the ports addon. List them one by one here:
|
||||
# This list must be carefully in sync with the architectures names
|
||||
# we can find in config/arch/*
|
||||
config GLIBC_USE_PORTS_ADDON
|
||||
def_bool y
|
||||
depends on ARCH_ALPHA || ARCH_ARM || ARCH_M68K || ARCH_MIPS || ARCH_POWERPC
|
||||
depends on GLIBC_HAS_PORTS_ADDON
|
||||
|
||||
# EOL 04/2019 [Ubuntu14.04]
|
||||
config LIBC_GLIBC_V_2_19
|
||||
bool
|
||||
prompt "2.19 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select LIBC_GLIBC_2_17_or_later
|
||||
config GLIBC_USE_PORTS_EXTERNAL
|
||||
def_bool y
|
||||
depends on GLIBC_USE_PORTS_ADDON && GLIBC_HAS_PORTS_ADDON_EXTERNAL
|
||||
|
||||
config LIBC_GLIBC_V_2_18
|
||||
bool
|
||||
prompt "2.18 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select LIBC_GLIBC_2_17_or_later
|
||||
config GLIBC_USE_NPTL_ADDON
|
||||
def_bool y
|
||||
depends on THREADS_NATIVE && GLIBC_HAS_NPTL_ADDON
|
||||
|
||||
# EOL 06/2024 [CentOS7.x]
|
||||
config LIBC_GLIBC_V_2_17
|
||||
bool
|
||||
prompt "2.17 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select LIBC_GLIBC_2_17_or_later
|
||||
config GLIBC_USE_LIBIDN_ADDON
|
||||
bool "Build libidn add-on"
|
||||
help
|
||||
Enables the libidn add-on in GNU libc.
|
||||
|
||||
config LIBC_GLIBC_V_2_16_0
|
||||
bool
|
||||
prompt "2.16.0 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
# SPARCv8 support retired in 2.23
|
||||
config GLIBC_NO_SPARC_V8
|
||||
def_bool y
|
||||
depends on GLIBC_2_23_or_later
|
||||
|
||||
# EOL 04/2017 [Ubuntu12.04]
|
||||
config LIBC_GLIBC_V_2_15
|
||||
bool
|
||||
prompt "2.15 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
config GLIBC_EXTRA_CONFIG_ARRAY
|
||||
string
|
||||
prompt "extra config"
|
||||
default ""
|
||||
help
|
||||
Extra flags to pass onto ./configure when configuring.
|
||||
|
||||
config LIBC_GLIBC_V_2_14_1
|
||||
bool
|
||||
prompt "2.14.1 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
You can enter multiple arguments here, and arguments can contain spaces
|
||||
if they are properly quoted (or escaped, but prefer quotes). Eg.:
|
||||
--with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
|
||||
|
||||
config LIBC_GLIBC_V_2_14
|
||||
bool
|
||||
prompt "2.14 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
config GLIBC_CONFIGPARMS
|
||||
string
|
||||
prompt "Extra config params (READ HELP)"
|
||||
default "" if ! ARCH_SH
|
||||
default "no-z-defs=yes" if ARCH_SH
|
||||
help
|
||||
Some architectures need to set options in the file configparms.
|
||||
This is the case for sh3/4, which really need to set configparms
|
||||
to "no-z-defs=yes" as of gcc-3.4/glibc-2.3.2.
|
||||
|
||||
Unless you are building a toolchain for sh3/4, you should leave that empty.
|
||||
|
||||
Note: If you need to pass more than one value, separate them with
|
||||
'\n'. Eg.: var1=val1\nvar2=val2
|
||||
|
||||
config LIBC_GLIBC_V_2_13
|
||||
bool
|
||||
prompt "2.13 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
config GLIBC_EXTRA_CFLAGS
|
||||
string
|
||||
prompt "extra target CFLAGS"
|
||||
default ""
|
||||
help
|
||||
Extra target CFLAGS to use when building.
|
||||
|
||||
# This version did not have glibc-ports addon released
|
||||
config LIBC_GLIBC_V_2_12_2
|
||||
config GLIBC_ENABLE_FORTIFIED_BUILD
|
||||
bool
|
||||
prompt "2.12.2 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
depends on !LIBC_GLIBC_NEEDS_PORTS
|
||||
prompt "Enable fortified build (EXPERIMENTAL)"
|
||||
depends on EXPERIMENTAL
|
||||
help
|
||||
If you say 'y' here, then glibc will be using fortified versions
|
||||
of functions with format arguments (eg. vsyslog, printf...), and
|
||||
do a sanity check on the format at runtime, to avoid some of the
|
||||
common format string attacks.
|
||||
|
||||
This is currently not supported, and will most probably result in
|
||||
a broken build, with an error message like:
|
||||
../misc/syslog.c: In function '__vsyslog_chk':
|
||||
../misc/syslog.c:123: sorry, unimplemented: inlining failed in
|
||||
call to 'syslog': function body not available
|
||||
|
||||
If you are brave enough and want to debug the issue, then say 'y'
|
||||
here. Otherwise, be still and say 'n' (the default). ;-)
|
||||
|
||||
# EOL 11/2020 [CentOS6.x]
|
||||
config LIBC_GLIBC_V_2_12_1
|
||||
|
||||
config GLIBC_DISABLE_VERSIONING
|
||||
bool
|
||||
prompt "2.12.1 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
prompt "Disable symbols versioning"
|
||||
help
|
||||
Do not include versioning information in the library objects.
|
||||
|
||||
config GLIBC_OLDEST_ABI
|
||||
string
|
||||
prompt "Oldest supported ABI"
|
||||
default ""
|
||||
help
|
||||
Set the oldest ABI supported by the C library.
|
||||
|
||||
Setting this option, for example, to 2.2 will provide ABI support
|
||||
back to (e)glibc-2.2.
|
||||
|
||||
If this option is not set, (e)glibc will choose for you.
|
||||
|
||||
config GLIBC_FORCE_UNWIND
|
||||
bool
|
||||
prompt "Force unwind support (READ HELP!)"
|
||||
default y
|
||||
help
|
||||
If your toolchain fails building while building the C library
|
||||
start files, or the complete C library, with a message like:
|
||||
configure: error: forced unwind support is required
|
||||
|
||||
then you may try changing this option. Otherwise, leave it to
|
||||
the default 'y'.
|
||||
|
||||
The issue seems to be related to building NPTL on old versions
|
||||
of glibc on some architectures
|
||||
(seen on s390, s390x and x86_64).
|
||||
|
||||
config GLIBC_LOCALES
|
||||
bool
|
||||
prompt "Build and install locales"
|
||||
help
|
||||
Whether to build and install the libc locale files for the target,
|
||||
which is required in order to support internationalization.
|
||||
|
||||
if LIBC_GLIBC && GLIBC_LOCALES
|
||||
comment "WARNING! "
|
||||
comment "| The built locales will be usable if and only if the build "
|
||||
comment "| machine and the target: "
|
||||
comment "| - have the same endianness, "
|
||||
comment "| - and have the same alignment requirements for uint32_t. "
|
||||
comment "| You will have to check by yourself (for now). "
|
||||
comment "WARNING! "
|
||||
comment "| Building GLIBC locales requires that GLIBC supports "
|
||||
comment "| the build machine as the target. "
|
||||
endif # LIBC_GLIBC && GLIBC_LOCALES
|
||||
|
||||
if KERNEL_LINUX
|
||||
|
||||
choice GLIBC_SUPPORTED_KERNEL
|
||||
bool
|
||||
prompt "Minimum supported kernel version"
|
||||
default GLIBC_KERNEL_VERSION_AS_HEADERS
|
||||
|
||||
config GLIBC_KERNEL_VERSION_NONE
|
||||
bool
|
||||
prompt "Let ./configure decide"
|
||||
help
|
||||
Let ./configure decide what minimum kernel version glibc will be
|
||||
able to run against.
|
||||
|
||||
This will include legacy compatibility code for older kernels in
|
||||
the C library, thus ensuring that it will run on a large number
|
||||
of old kernels.
|
||||
|
||||
The minimum kernel version supported will be dependent upon the
|
||||
target you build for. For example:
|
||||
alpha*-*-linux-gnu Requires Linux 2.6.9 for NPTL
|
||||
sh[34]-*-linux-gnu Requires Linux 2.6.11
|
||||
powerpc* Requires Linux 2.4.19
|
||||
arm*-*-linux-*gnueabi Requires Linux 2.6.16
|
||||
|
||||
config GLIBC_KERNEL_VERSION_AS_HEADERS
|
||||
bool
|
||||
prompt "Same as kernel headers (default)"
|
||||
help
|
||||
Normally, you'll want glibc to run against the same kernel
|
||||
version as the one used for the headers.
|
||||
|
||||
This is the default.
|
||||
|
||||
If enabled, crosstool-ng will use the chosen version of kernel
|
||||
headers for the glibc minimum kernel version supported, which is
|
||||
what gets passed to "--enable-kernel=" when configuring glibc.
|
||||
|
||||
Enabling this will ensure that no legacy compatibility code for
|
||||
older kernels is built into your C libraries, but it will
|
||||
be unable to run on kernel versions older than whichever kernel
|
||||
headers version you've built the toolchain for.
|
||||
|
||||
If you know for sure that your toolchain will never need to build
|
||||
applications that will run under a kernel version older than your
|
||||
chosen kernel headers version (CT_KERNEL_VERSION), you can choose
|
||||
"y" here.
|
||||
|
||||
config GLIBC_KERNEL_VERSION_CHOSEN
|
||||
bool
|
||||
prompt "Specific kernel version"
|
||||
help
|
||||
Specify the earliest Linux kernel version you want glibc to
|
||||
include support for. This does not have to match the kernel
|
||||
headers version used for your toolchain. This controls what is
|
||||
passed to the "--enable-kernel=" option to the glibc configure
|
||||
script.
|
||||
|
||||
If you want to be able to statically link programs with your
|
||||
toolchain's C library, make sure this kernel version is lower than
|
||||
all kernels you wish to support to avoid "FATAL: kernel too old"
|
||||
errors. The higher the version you specify, the less legacy code
|
||||
will be built into libc.
|
||||
|
||||
Most people can leave this at the default value of "2.6.9".
|
||||
|
||||
if GLIBC_KERNEL_VERSION_CHOSEN
|
||||
|
||||
config GLIBC_MIN_KERNEL_VERSION
|
||||
string
|
||||
prompt "Minimum kernel version to support"
|
||||
default "2.6.9"
|
||||
help
|
||||
Enter here the lowest kernel version glibc will be able to run against.
|
||||
|
||||
The minimum kernel version supported will be dependent upon the
|
||||
target you build for. For example:
|
||||
alpha*-*-linux-gnu Requires Linux 2.6.9 for NPTL
|
||||
sh[34]-*-linux-gnu Requires Linux 2.6.11
|
||||
powerpc* Requires Linux 2.4.19
|
||||
arm*-*-linux-*gnueabi Requires Linux 2.6.16
|
||||
|
||||
Note that no sanity check is performed by crosstool-NG to ensure
|
||||
that the value you enter here is appropriate for your target.
|
||||
|
||||
endif # GLIBC_KERNEL_VERSION_CHOSEN
|
||||
|
||||
endchoice
|
||||
|
||||
endif # ! LIBC_GLIBC_CUSTOM
|
||||
|
||||
# Checked by SPARC build: SPARCv8 is dropped in 2.23.
|
||||
config LIBC_GLIBC_2_23_or_later
|
||||
select LIBC_GLIBC_2_20_or_later
|
||||
bool
|
||||
|
||||
# DeMark 2.20 as no longer needs to set NPTL as an addon.
|
||||
# It is no longer possible to build glibc without pthread!
|
||||
config LIBC_GLIBC_2_20_or_later
|
||||
bool
|
||||
select LIBC_GLIBC_2_17_or_later
|
||||
|
||||
# DeMark no more ports
|
||||
config LIBC_GLIBC_2_17_or_later
|
||||
bool
|
||||
|
||||
if ! LIBC_GLIBC_CUSTOM
|
||||
|
||||
config LIBC_VERSION
|
||||
config GLIBC_MIN_KERNEL
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "2.25" if LIBC_GLIBC_V_2_25
|
||||
default "2.24" if LIBC_GLIBC_V_2_24
|
||||
default "2.23" if LIBC_GLIBC_V_2_23
|
||||
default "2.22" if LIBC_GLIBC_V_2_22
|
||||
default "2.21" if LIBC_GLIBC_V_2_21
|
||||
default "linaro-2.20-2014.11" if LIBC_GLIBC_LINARO_V_2_20
|
||||
default "2.20" if LIBC_GLIBC_V_2_20
|
||||
default "2.19" if LIBC_GLIBC_V_2_19
|
||||
default "2.18" if LIBC_GLIBC_V_2_18
|
||||
default "2.17" if LIBC_GLIBC_V_2_17
|
||||
default "2.16.0" if LIBC_GLIBC_V_2_16_0
|
||||
default "2.15" if LIBC_GLIBC_V_2_15
|
||||
default "2.14.1" if LIBC_GLIBC_V_2_14_1
|
||||
default "2.14" if LIBC_GLIBC_V_2_14
|
||||
default "2.13" if LIBC_GLIBC_V_2_13
|
||||
default "2.12.2" if LIBC_GLIBC_V_2_12_2
|
||||
default "2.12.1" if LIBC_GLIBC_V_2_12_1
|
||||
default "" if GLIBC_KERNEL_VERSION_NONE
|
||||
default LINUX_VERSION if GLIBC_KERNEL_VERSION_AS_HEADERS
|
||||
default GLIBC_MIN_KERNEL_VERSION if GLIBC_KERNEL_VERSION_CHOSEN
|
||||
|
||||
endif # ! LIBC_GLIBC_CUSTOM
|
||||
endif # KERNEL_LINUX
|
||||
|
@ -1,245 +0,0 @@
|
||||
# This file contains the common configuration options
|
||||
# that apply to both glibc.
|
||||
|
||||
# Some architectures require the ports addon. List them one by one here:
|
||||
# This list must be carefully in sync with the architectures names
|
||||
# we can find in config/arch/*
|
||||
|
||||
# Ports were integrated into the main tarball in 2.17
|
||||
config LIBC_GLIBC_PORTS_EXTERNAL
|
||||
def_bool y
|
||||
depends on !LIBC_GLIBC_2_17_or_later
|
||||
|
||||
config LIBC_GLIBC_NEEDS_PORTS
|
||||
def_bool y
|
||||
depends on ARCH_alpha || ARCH_arm || ARCH_m68k || ARCH_mips || ARCH_powerpc
|
||||
|
||||
# Ports are no longer an add-on starting with 2.20
|
||||
config LIBC_GLIBC_USE_PORTS
|
||||
def_bool y
|
||||
depends on LIBC_GLIBC_NEEDS_PORTS && !LIBC_GLIBC_2_20_or_later
|
||||
|
||||
# Force using the BFD linker during the toolchain build
|
||||
config LIBC_glibc_family
|
||||
bool
|
||||
default y
|
||||
select BINUTILS_FORCE_LD_BFD_DEFAULT
|
||||
|
||||
config LIBC_GLIBC_EXTRA_CONFIG_ARRAY
|
||||
string
|
||||
prompt "extra config"
|
||||
default ""
|
||||
help
|
||||
Extra flags to pass onto ./configure when configuring.
|
||||
|
||||
You can enter multiple arguments here, and arguments can contain spaces
|
||||
if they are properly quoted (or escaped, but prefer quotes). Eg.:
|
||||
--with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
|
||||
|
||||
config LIBC_GLIBC_CONFIGPARMS
|
||||
string
|
||||
prompt "Extra config params (READ HELP)"
|
||||
default "" if ! ARCH_sh
|
||||
default "no-z-defs=yes" if ARCH_sh
|
||||
help
|
||||
Some architectures need to set options in the file configparms.
|
||||
This is the case for sh3/4, which really need to set configparms
|
||||
to "no-z-defs=yes" as of gcc-3.4/glibc-2.3.2.
|
||||
|
||||
Unless you are building a toolchain for sh3/4, you should leave that empty.
|
||||
|
||||
Note: If you need to pass more than one value, separate them with
|
||||
'\n'. Eg.: var1=val1\nvar2=val2
|
||||
|
||||
config LIBC_GLIBC_EXTRA_CFLAGS
|
||||
string
|
||||
prompt "extra target CFLAGS"
|
||||
default ""
|
||||
help
|
||||
Extra target CFLAGS to use when building.
|
||||
|
||||
config LIBC_ENABLE_FORTIFIED_BUILD
|
||||
bool
|
||||
prompt "Enable fortified build (EXPERIMENTAL)"
|
||||
depends on EXPERIMENTAL
|
||||
help
|
||||
If you say 'y' here, then glibc will be using fortified versions
|
||||
of functions with format arguments (eg. vsyslog, printf...), and
|
||||
do a sanity check on the format at runtime, to avoid some of the
|
||||
common format string attacks.
|
||||
|
||||
This is currently not supported, and will most probably result in
|
||||
a broken build, with an error message like:
|
||||
../misc/syslog.c: In function '__vsyslog_chk':
|
||||
../misc/syslog.c:123: sorry, unimplemented: inlining failed in
|
||||
call to 'syslog': function body not available
|
||||
|
||||
If you are brave enough and want to debug the issue, then say 'y'
|
||||
here. Otherwise, be still and say 'n' (the default). ;-)
|
||||
|
||||
|
||||
config LIBC_DISABLE_VERSIONING
|
||||
bool
|
||||
prompt "Disable symbols versioning"
|
||||
help
|
||||
Do not include versioning information in the library objects.
|
||||
|
||||
config LIBC_OLDEST_ABI
|
||||
string
|
||||
prompt "Oldest supported ABI"
|
||||
default ""
|
||||
help
|
||||
Set the oldest ABI supported by the C library.
|
||||
|
||||
Setting this option, for example, to 2.2 will provide ABI support
|
||||
back to (e)glibc-2.2.
|
||||
|
||||
If this option is not set, (e)glibc will choose for you.
|
||||
|
||||
config LIBC_GLIBC_FORCE_UNWIND
|
||||
bool
|
||||
prompt "Force unwind support (READ HELP!)"
|
||||
default y
|
||||
help
|
||||
If your toolchain fails building while building the C library
|
||||
start files, or the complete C library, with a message like:
|
||||
configure: error: forced unwind support is required
|
||||
|
||||
then you may try changing this option. Otherwise, leave it to
|
||||
the default 'y'.
|
||||
|
||||
The issue seems to be related to building NPTL on old versions
|
||||
of glibc on some architectures
|
||||
(seen on s390, s390x and x86_64).
|
||||
|
||||
config LIBC_ADDONS_LIST
|
||||
string
|
||||
prompt "Extra addons"
|
||||
default ""
|
||||
help
|
||||
Extra addons to include. Space separated list.
|
||||
|
||||
You need to specify neither linuxthreads nor nptl, as they are added
|
||||
automagically for you depending on the threading model you chose
|
||||
earlier and on libc version selected.
|
||||
|
||||
Also, do not specify ports even if applicable to the selected libc
|
||||
version/architecture; it is selected automatically.
|
||||
|
||||
Eg.: libidn
|
||||
|
||||
config LIBC_LOCALES
|
||||
bool
|
||||
prompt "Build and install locales"
|
||||
help
|
||||
Whether to build and install the libc locale files for the target,
|
||||
which is required in order to support internationalization.
|
||||
|
||||
if LIBC_glibc && LIBC_LOCALES
|
||||
comment "WARNING! "
|
||||
comment "| The built locales will be usable if and only if the build "
|
||||
comment "| machine and the target: "
|
||||
comment "| - have the same endianness, "
|
||||
comment "| - and have the same alignment requirements for uint32_t. "
|
||||
comment "| You will have to check by yourself (for now). "
|
||||
comment "WARNING! "
|
||||
comment "| Building GLIBC locales requires that GLIBC supports "
|
||||
comment "| the build machine as the target. "
|
||||
endif # LIBC_glibc && LIBC_LOCALES
|
||||
|
||||
if KERNEL_linux
|
||||
|
||||
choice LIBC_GLIBC_SUPPORTED_KERNEL
|
||||
bool
|
||||
prompt "Minimum supported kernel version"
|
||||
default LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
|
||||
|
||||
config LIBC_GLIBC_KERNEL_VERSION_NONE
|
||||
bool
|
||||
prompt "Let ./configure decide"
|
||||
help
|
||||
Let ./configure decide what minimum kernel version glibc will be
|
||||
able to run against.
|
||||
|
||||
This will include legacy compatibility code for older kernels in
|
||||
the C library, thus ensuring that it will run on a large number
|
||||
of old kernels.
|
||||
|
||||
The minimum kernel version supported will be dependent upon the
|
||||
target you build for. For example:
|
||||
alpha*-*-linux-gnu Requires Linux 2.6.9 for NPTL
|
||||
sh[34]-*-linux-gnu Requires Linux 2.6.11
|
||||
powerpc* Requires Linux 2.4.19
|
||||
arm*-*-linux-*gnueabi Requires Linux 2.6.16
|
||||
|
||||
config LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
|
||||
bool
|
||||
prompt "Same as kernel headers (default)"
|
||||
help
|
||||
Normally, you'll want glibc to run against the same kernel
|
||||
version as the one used for the headers.
|
||||
|
||||
This is the default.
|
||||
|
||||
If enabled, crosstool-ng will use the chosen version of kernel
|
||||
headers for the glibc minimum kernel version supported, which is
|
||||
what gets passed to "--enable-kernel=" when configuring glibc.
|
||||
|
||||
Enabling this will ensure that no legacy compatibility code for
|
||||
older kernels is built into your C libraries, but it will
|
||||
be unable to run on kernel versions older than whichever kernel
|
||||
headers version you've built the toolchain for.
|
||||
|
||||
If you know for sure that your toolchain will never need to build
|
||||
applications that will run under a kernel version older than your
|
||||
chosen kernel headers version (CT_KERNEL_VERSION), you can choose
|
||||
"y" here.
|
||||
|
||||
config LIBC_GLIBC_KERNEL_VERSION_CHOSEN
|
||||
bool
|
||||
prompt "Specific kernel version"
|
||||
help
|
||||
Specify the earliest Linux kernel version you want glibc to
|
||||
include support for. This does not have to match the kernel
|
||||
headers version used for your toolchain. This controls what is
|
||||
passed to the "--enable-kernel=" option to the glibc configure
|
||||
script.
|
||||
|
||||
If you want to be able to statically link programs with your
|
||||
toolchain's C library, make sure this kernel version is lower than
|
||||
all kernels you wish to support to avoid "FATAL: kernel too old"
|
||||
errors. The higher the version you specify, the less legacy code
|
||||
will be built into libc.
|
||||
|
||||
Most people can leave this at the default value of "2.6.9".
|
||||
|
||||
if LIBC_GLIBC_KERNEL_VERSION_CHOSEN
|
||||
|
||||
config LIBC_GLIBC_MIN_KERNEL_VERSION
|
||||
string
|
||||
prompt "Minimum kernel version to support"
|
||||
default "2.6.9"
|
||||
help
|
||||
Enter here the lowest kernel version glibc will be able to run against.
|
||||
|
||||
The minimum kernel version supported will be dependent upon the
|
||||
target you build for. For example:
|
||||
alpha*-*-linux-gnu Requires Linux 2.6.9 for NPTL
|
||||
sh[34]-*-linux-gnu Requires Linux 2.6.11
|
||||
powerpc* Requires Linux 2.4.19
|
||||
arm*-*-linux-*gnueabi Requires Linux 2.6.16
|
||||
|
||||
Note that no sanity check is performed by crosstool-NG to ensure
|
||||
that the value you enter here is appropriate for your target.
|
||||
|
||||
endif # LIBC_GLIBC_KERNEL_VERSION_CHOSEN
|
||||
|
||||
endchoice
|
||||
|
||||
config LIBC_GLIBC_MIN_KERNEL
|
||||
string
|
||||
default "" if LIBC_GLIBC_KERNEL_VERSION_NONE
|
||||
default KERNEL_VERSION if LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
|
||||
default LIBC_GLIBC_MIN_KERNEL_VERSION if LIBC_GLIBC_KERNEL_VERSION_CHOSEN
|
||||
|
||||
endif # KERNEL_linux
|
39
config/libc/mingw-w64.in
Normal file
39
config/libc/mingw-w64.in
Normal file
@ -0,0 +1,39 @@
|
||||
# mingw options
|
||||
|
||||
## depends on WINDOWS
|
||||
##
|
||||
## select LIBC_SUPPORT_THREADS_NATIVE
|
||||
## select LIBC_SUPPORT_THREADS_POSIX
|
||||
## select CC_CORE_PASS_2_NEEDED
|
||||
##
|
||||
## help The de-facto standard for Mingw distributions.
|
||||
|
||||
source "config/versions/mingw-w64.in"
|
||||
|
||||
config THREADS
|
||||
default "win32" if THREADS_NATIVE
|
||||
default "posix" if THREADS_POSIX
|
||||
|
||||
config MINGW_SECURE_API
|
||||
bool "Expose secure API prototypes"
|
||||
default y
|
||||
|
||||
config MINGW_DIRECTX
|
||||
bool "Include DirectX development files"
|
||||
|
||||
config MINGW_DDK
|
||||
bool "Include DDK development files"
|
||||
|
||||
config MINGW_TOOLS
|
||||
bool "Include the companion tools"
|
||||
default y
|
||||
help
|
||||
Build the companion tools with mingw such as widl, gendef,
|
||||
and genpeimg.
|
||||
|
||||
config MINGW_TOOL_LIST_ARRAY
|
||||
string "List of mingw-w64 tools to build"
|
||||
default "gendef genidl genlib genpeimg widl"
|
||||
depends on MINGW_TOOLS
|
||||
help
|
||||
List of mingw-w64 tools to build.
|
@ -1,159 +0,0 @@
|
||||
# mingw options
|
||||
|
||||
## depends on WINDOWS
|
||||
##
|
||||
## select LIBC_SUPPORT_THREADS_NATIVE
|
||||
## select LIBC_SUPPORT_THREADS_POSIX
|
||||
## select CC_CORE_PASS_2_NEEDED
|
||||
##
|
||||
## help The de-facto standard for Mingw distributions.
|
||||
|
||||
config THREADS
|
||||
default "win32" if THREADS_NATIVE
|
||||
default "posix" if THREADS_POSIX
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "Windows API version"
|
||||
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config WINAPI_V_5_0_2
|
||||
bool
|
||||
prompt "5.0.2"
|
||||
|
||||
config WINAPI_V_5_0_1
|
||||
bool
|
||||
prompt "5.0.1 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config WINAPI_V_5_0_0
|
||||
bool
|
||||
prompt "5.0.0 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config WINAPI_V_4_0_6
|
||||
bool
|
||||
prompt "4.0.6"
|
||||
|
||||
config WINAPI_V_4_0_5
|
||||
bool
|
||||
prompt "4.0.5 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config WINAPI_V_4_0_4
|
||||
bool
|
||||
prompt "4.0.4 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config WINAPI_V_4_0_2
|
||||
bool
|
||||
prompt "4.0.2 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config WINAPI_V_4_0_1
|
||||
bool
|
||||
prompt "4.0.1 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config WINAPI_V_4_0_0
|
||||
bool
|
||||
prompt "4.0.0 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config WINAPI_V_3_3_0
|
||||
bool
|
||||
prompt "3.3.0 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config WINAPI_V_3_2_0
|
||||
bool
|
||||
prompt "3.2.0 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config WINAPI_V_3_1_0
|
||||
bool
|
||||
prompt "3.1.0 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config WINAPI_V_3_0_0
|
||||
bool
|
||||
prompt "3.0.0 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config WINAPI_V_2_0_9
|
||||
bool
|
||||
prompt "2.0.9 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config WINAPI_V_2_0_8
|
||||
bool
|
||||
prompt "2.0.8 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config WINAPI_V_2_0_7
|
||||
bool
|
||||
prompt "2.0.7 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
|
||||
config WINAPI_V_select
|
||||
bool
|
||||
prompt "Other version"
|
||||
|
||||
config WINAPI_V_DEVEL
|
||||
bool
|
||||
prompt "devel"
|
||||
depends on EXPERIMENTAL
|
||||
depends on CONFIGURE_has_git
|
||||
|
||||
endchoice
|
||||
|
||||
config WINAPI_VERSION
|
||||
string
|
||||
prompt "Windows API version" if WINAPI_V_select
|
||||
default "devel" if WINAPI_V_DEVEL
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "5.0.2" if WINAPI_V_5_0_2
|
||||
default "5.0.1" if WINAPI_V_5_0_1
|
||||
default "5.0.0" if WINAPI_V_5_0_0
|
||||
default "4.0.6" if WINAPI_V_4_0_6
|
||||
default "4.0.5" if WINAPI_V_4_0_5
|
||||
default "4.0.4" if WINAPI_V_4_0_4
|
||||
default "4.0.2" if WINAPI_V_4_0_2
|
||||
default "4.0.1" if WINAPI_V_4_0_1
|
||||
default "4.0.0" if WINAPI_V_4_0_0
|
||||
default "3.3.0" if WINAPI_V_3_3_0
|
||||
default "3.2.0" if WINAPI_V_3_2_0
|
||||
default "3.1.0" if WINAPI_V_3_1_0
|
||||
default "3.0.0" if WINAPI_V_3_0_0
|
||||
default "2.0.9" if WINAPI_V_2_0_9
|
||||
default "2.0.8" if WINAPI_V_2_0_8
|
||||
default "2.0.7" if WINAPI_V_2_0_7
|
||||
help
|
||||
Enter the version number of the Windows API files to use
|
||||
|
||||
config MINGW_SECURE_API
|
||||
bool "Expose secure API prototypes"
|
||||
default y
|
||||
|
||||
config MINGW_DIRECTX
|
||||
bool "Include DirectX development files"
|
||||
|
||||
config MINGW_DDK
|
||||
bool "Include DDK development files"
|
||||
|
||||
config MINGW_TOOLS
|
||||
bool "Include the companion tools"
|
||||
default y
|
||||
help
|
||||
Build the companion tools with mingw such as widl, gendef,
|
||||
and genpeimg.
|
||||
|
||||
config MINGW_TOOL_LIST_ARRAY
|
||||
string "List of mingw-w64 tools to build"
|
||||
default "gendef genidl genlib genpeimg widl"
|
||||
depends on MINGW_TOOLS
|
||||
help
|
||||
List of mingw-w64 tools to build.
|
@ -1,75 +1,66 @@
|
||||
# musl options
|
||||
# musl second-part option
|
||||
|
||||
## depends on ! WINDOWS && ! BARE_METAL
|
||||
## depends on EXPERIMENTAL
|
||||
##
|
||||
## select LIBC_SUPPORT_THREADS_NATIVE
|
||||
## select CC_CORE_PASSES_NEEDED
|
||||
##
|
||||
|
||||
## help Musl is a new standard library to power a new generation of Linux-based
|
||||
## help devices. musl is lightweight, fast, simple, free, and strives to be
|
||||
## help correct in the sense of standards-conformance and safety.
|
||||
|
||||
source "config/versions/musl.in"
|
||||
|
||||
# TBD why? it claims "native", why report "musl"?
|
||||
config THREADS
|
||||
default "musl"
|
||||
|
||||
config LIBC_MUSL_CUSTOM
|
||||
config LIBC_MUSL_DEBUG
|
||||
bool
|
||||
prompt "Custom musl"
|
||||
depends on EXPERIMENTAL
|
||||
prompt "Build with debugging information"
|
||||
help
|
||||
The choosen musl-libc version shall be not downloaded. Instead use
|
||||
a custom location to get the source.
|
||||
This option enables debugging information, this will increase the size of
|
||||
the resulting library.
|
||||
|
||||
if LIBC_MUSL_CUSTOM
|
||||
|
||||
config LIBC_MUSL_CUSTOM_LOCATION
|
||||
string
|
||||
prompt "Full path to custom musl-libc source"
|
||||
config LIBC_MUSL_WARNINGS
|
||||
bool
|
||||
prompt "Build with recommended warnings flags"
|
||||
help
|
||||
Enter the path to the directory or tarball of your source for musl.
|
||||
|
||||
If the path is a tarball, it should extract to: <name>-<version>/
|
||||
where the name is this component, musl, and the version is set
|
||||
below in the custom version string.
|
||||
|
||||
config LIBC_MUSL_CUSTOM_VERSION
|
||||
string
|
||||
prompt "Custom MUSL version"
|
||||
help
|
||||
Enter the version number for your custom musl-libc.
|
||||
|
||||
config LIBC_VERSION
|
||||
string
|
||||
default LIBC_MUSL_CUSTOM_VERSION
|
||||
|
||||
endif # LIBC_MUSL_CUSTOM
|
||||
|
||||
if ! LIBC_MUSL_CUSTOM
|
||||
Build musl-libc with extra warnings, useful for musl-libc development.
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "musl version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
prompt "How to optimize musl-libc"
|
||||
default LIBC_MUSL_OPTIMIZE_AUTO
|
||||
|
||||
config LIBC_MUSL_V_1_1_16
|
||||
config LIBC_MUSL_OPTIMIZE_NONE
|
||||
bool
|
||||
prompt "1.1.16"
|
||||
depends on EXPERIMENTAL
|
||||
prompt "Do not optimize musl-libc"
|
||||
help
|
||||
This option sets `--enable-optimize=no' to disable optimization.
|
||||
|
||||
config LIBC_MUSL_V_1_1_15
|
||||
config LIBC_MUSL_OPTIMIZE_AUTO
|
||||
bool
|
||||
prompt "1.1.15 (OBSOLETE)"
|
||||
depends on EXPERIMENTAL && OBSOLETE
|
||||
prompt "Use musl-libc's automatic optimization"
|
||||
help
|
||||
This option sets `--enable-optimize=auto' to automatically set optimization.
|
||||
|
||||
config LIBC_MUSL_OPTIMIZE_SPEED
|
||||
bool
|
||||
prompt "Optimize musl-libc for speed"
|
||||
help
|
||||
This option sets `--enable-optimize=yes' to set optimization to -O3 for speed.
|
||||
|
||||
config LIBC_MUSL_OPTIMIZE_SIZE
|
||||
bool
|
||||
prompt "Optimize musl-libc for size"
|
||||
help
|
||||
This option sets `--enable-optimize=size' to set optimization to -Os for size.
|
||||
|
||||
endchoice
|
||||
|
||||
config LIBC_VERSION
|
||||
config LIBC_MUSL_OPTIMIZE
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "1.1.16" if LIBC_MUSL_V_1_1_16
|
||||
default "1.1.15" if LIBC_MUSL_V_1_1_15
|
||||
|
||||
endif # ! LIBC_MUSL_CUSTOM
|
||||
default "no" if LIBC_MUSL_OPTIMIZE_NONE
|
||||
default "auto" if LIBC_MUSL_OPTIMIZE_AUTO
|
||||
default "yes" if LIBC_MUSL_OPTIMIZE_SPEED
|
||||
default "size" if LIBC_MUSL_OPTIMIZE_SIZE
|
||||
|
@ -1,51 +0,0 @@
|
||||
# musl second-part option
|
||||
|
||||
config LIBC_MUSL_DEBUG
|
||||
bool
|
||||
prompt "Build with debugging information"
|
||||
help
|
||||
This option enables debugging information, this will increase the size of
|
||||
the resulting library.
|
||||
|
||||
config LIBC_MUSL_WARNINGS
|
||||
bool
|
||||
prompt "Build with recommended warnings flags"
|
||||
help
|
||||
Build musl-libc with extra warnings, useful for musl-libc development.
|
||||
|
||||
choice
|
||||
prompt "How to optimize musl-libc"
|
||||
default LIBC_MUSL_OPTIMIZE_AUTO
|
||||
|
||||
config LIBC_MUSL_OPTIMIZE_NONE
|
||||
bool
|
||||
prompt "Do not optimize musl-libc"
|
||||
help
|
||||
This option sets `--enable-optimize=no' to disable optimization.
|
||||
|
||||
config LIBC_MUSL_OPTIMIZE_AUTO
|
||||
bool
|
||||
prompt "Use musl-libc's automatic optimization"
|
||||
help
|
||||
This option sets `--enable-optimize=auto' to automatically set optimization.
|
||||
|
||||
config LIBC_MUSL_OPTIMIZE_SPEED
|
||||
bool
|
||||
prompt "Optimize musl-libc for speed"
|
||||
help
|
||||
This option sets `--enable-optimize=yes' to set optimization to -O3 for speed.
|
||||
|
||||
config LIBC_MUSL_OPTIMIZE_SIZE
|
||||
bool
|
||||
prompt "Optimize musl-libc for size"
|
||||
help
|
||||
This option sets `--enable-optimize=size' to set optimization to -Os for size.
|
||||
|
||||
endchoice
|
||||
|
||||
config LIBC_MUSL_OPTIMIZE
|
||||
string
|
||||
default "no" if LIBC_MUSL_OPTIMIZE_NONE
|
||||
default "auto" if LIBC_MUSL_OPTIMIZE_AUTO
|
||||
default "yes" if LIBC_MUSL_OPTIMIZE_SPEED
|
||||
default "size" if LIBC_MUSL_OPTIMIZE_SIZE
|
@ -1,209 +1,33 @@
|
||||
# newlib options
|
||||
|
||||
## depends on BARE_METAL
|
||||
##
|
||||
## select LIBC_SUPPORT_THREADS_NONE
|
||||
## select CC_CORE_PASSES_NEEDED if CANADIAN
|
||||
## select CC_CORE_PASS_2_NEEDED if ! CANADIAN
|
||||
##
|
||||
|
||||
## help Newlib is a C library intended for use on embedded systems. It is a
|
||||
## help conglomeration of several library parts, all under free software
|
||||
## help licenses that make them easily usable on embedded products. Newlib
|
||||
## help is only available in source form. It can be compiled for a wide
|
||||
## help array of processors, and will usually work on any architecture with
|
||||
## help the addition of a few low-level routines.
|
||||
#
|
||||
config LIBC_NEWLIB_CUSTOM
|
||||
bool
|
||||
prompt "Custom newlib"
|
||||
depends on EXPERIMENTAL
|
||||
select LIBC_NEWLIB_2_5_or_later
|
||||
help
|
||||
The choosen newlib version shall be not downloaded. Instead use
|
||||
a custom location to get the source.
|
||||
|
||||
if LIBC_NEWLIB_CUSTOM
|
||||
|
||||
config LIBC_NEWLIB_CUSTOM_LOCATION
|
||||
string
|
||||
prompt "Full path to custom newlib source"
|
||||
help
|
||||
Enter the path to the directory or tarball of your source for newlib.
|
||||
|
||||
If the path is a tarball, it should extract to: <name>-<version>/
|
||||
where the name is this component, newlib, and the version is set
|
||||
below in the custom version string.
|
||||
|
||||
config LIBC_NEWLIB_CUSTOM_VERSION
|
||||
string
|
||||
prompt "Custom NEWLIB version"
|
||||
help
|
||||
Enter the version number for your custom newlib.
|
||||
|
||||
config LIBC_VERSION
|
||||
string
|
||||
default LIBC_NEWLIB_CUSTOM_VERSION
|
||||
|
||||
endif # LIBC_NEWLIB_CUSTOM
|
||||
|
||||
if ! LIBC_NEWLIB_CUSTOM
|
||||
|
||||
config CC_NEWLIB_SHOW_LINARO
|
||||
bool
|
||||
prompt "Show Linaro versions"
|
||||
help
|
||||
Linaro is maintaining some advanced/more stable/experimental versions
|
||||
of newlib, especially for the ARM architecture.
|
||||
|
||||
Those versions have not been blessed by the newlib comunity (nor have they
|
||||
been cursed either!), but they look to be pretty much stable, and even
|
||||
more stable than the upstream versions. YMMV...
|
||||
|
||||
If you do not know what this Linaro stuff is, then simply say 'n' here,
|
||||
and rest in peace. OTOH, if you know what you are doing, you will be
|
||||
able to use and enjoy :-) the Linaro versions by saying 'y' here.
|
||||
|
||||
Linaro: http://www.linaro.org/
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "newlib version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
config LIBC_NEWLIB_V_2_5_0
|
||||
bool
|
||||
prompt "2.5.0.20170519"
|
||||
select LIBC_NEWLIB_2_5
|
||||
|
||||
config LIBC_NEWLIB_V_2_4_0
|
||||
bool
|
||||
prompt "2.4.0.20161025"
|
||||
select LIBC_NEWLIB_2_4
|
||||
|
||||
config LIBC_NEWLIB_V_2_3_0
|
||||
bool
|
||||
prompt "2.3.0.20160226"
|
||||
select LIBC_NEWLIB_2_3
|
||||
|
||||
config LIBC_NEWLIB_LINARO_V_2_2_0
|
||||
bool
|
||||
prompt "Linaro 2.2.0-2015.01"
|
||||
depends on CC_NEWLIB_SHOW_LINARO
|
||||
select LIBC_NEWLIB_2_2
|
||||
|
||||
config LIBC_NEWLIB_V_2_2_0
|
||||
bool
|
||||
prompt "2.2.0.20151023"
|
||||
select LIBC_NEWLIB_2_2
|
||||
|
||||
config LIBC_NEWLIB_LINARO_V_2_1_0
|
||||
bool
|
||||
prompt "Linaro 2.1.0-2014.09"
|
||||
depends on CC_NEWLIB_SHOW_LINARO
|
||||
select LIBC_NEWLIB_2_1
|
||||
|
||||
config LIBC_NEWLIB_V_2_1_0
|
||||
bool
|
||||
prompt "2.1.0"
|
||||
select LIBC_NEWLIB_2_1
|
||||
|
||||
config LIBC_NEWLIB_V_2_0_0
|
||||
bool
|
||||
prompt "2.0.0"
|
||||
select LIBC_NEWLIB_2_0
|
||||
|
||||
config LIBC_NEWLIB_V_1_20_0
|
||||
bool
|
||||
prompt "1.20.0"
|
||||
|
||||
config LIBC_NEWLIB_V_1_19_0
|
||||
bool
|
||||
prompt "1.19.0"
|
||||
|
||||
config LIBC_NEWLIB_V_1_18_0
|
||||
bool
|
||||
prompt "1.18.0"
|
||||
|
||||
config LIBC_NEWLIB_V_1_17_0
|
||||
bool
|
||||
prompt "1.17.0"
|
||||
|
||||
endchoice
|
||||
|
||||
endif # ! LIBC_NEWLIB_CUSTOM
|
||||
|
||||
config LIBC_NEWLIB_2_5
|
||||
bool
|
||||
select LIBC_NEWLIB_2_5_or_later
|
||||
|
||||
config LIBC_NEWLIB_2_4
|
||||
bool
|
||||
select LIBC_NEWLIB_2_4_or_later
|
||||
|
||||
config LIBC_NEWLIB_2_3
|
||||
bool
|
||||
select LIBC_NEWLIB_2_3_or_later
|
||||
|
||||
config LIBC_NEWLIB_2_2
|
||||
bool
|
||||
select LIBC_NEWLIB_2_2_or_later
|
||||
|
||||
config LIBC_NEWLIB_2_1
|
||||
bool
|
||||
select LIBC_NEWLIB_2_1_or_later
|
||||
|
||||
config LIBC_NEWLIB_2_0
|
||||
bool
|
||||
select LIBC_NEWLIB_2_0_or_later
|
||||
|
||||
config LIBC_NEWLIB_2_5_or_later
|
||||
bool
|
||||
select LIBC_NEWLIB_2_4_or_later
|
||||
|
||||
config LIBC_NEWLIB_2_4_or_later
|
||||
bool
|
||||
select LIBC_NEWLIB_2_3_or_later
|
||||
|
||||
config LIBC_NEWLIB_2_3_or_later
|
||||
bool
|
||||
select LIBC_NEWLIB_2_2_or_later
|
||||
|
||||
config LIBC_NEWLIB_2_2_or_later
|
||||
bool
|
||||
select LIBC_NEWLIB_2_1_or_later
|
||||
|
||||
config LIBC_NEWLIB_2_1_or_later
|
||||
bool
|
||||
select LIBC_NEWLIB_2_0_or_later
|
||||
source "config/versions/newlib.in"
|
||||
|
||||
# maybe older versions of newlib will support it too, but this
|
||||
# needs to be checked
|
||||
config LIBC_NEWLIB_2_0_or_later
|
||||
bool
|
||||
config NEWLIB_CXA_ATEXIT
|
||||
def_bool y
|
||||
depends on NEWLIB_2_0_or_later
|
||||
select LIBC_PROVIDES_CXA_ATEXIT
|
||||
|
||||
if ! LIBC_NEWLIB_CUSTOM
|
||||
config LIBC_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "2.5.0.20170519" if LIBC_NEWLIB_V_2_5_0
|
||||
default "2.4.0.20161025" if LIBC_NEWLIB_V_2_4_0
|
||||
default "2.3.0.20160226" if LIBC_NEWLIB_V_2_3_0
|
||||
default "linaro-2.2.0-2015.01" if LIBC_NEWLIB_LINARO_V_2_2_0
|
||||
default "2.2.0.20151023" if LIBC_NEWLIB_V_2_2_0
|
||||
default "linaro-2.1.0-2014.09" if LIBC_NEWLIB_LINARO_V_2_1_0
|
||||
default "2.1.0" if LIBC_NEWLIB_V_2_1_0
|
||||
default "2.0.0" if LIBC_NEWLIB_V_2_0_0
|
||||
default "1.20.0" if LIBC_NEWLIB_V_1_20_0
|
||||
default "1.19.0" if LIBC_NEWLIB_V_1_19_0
|
||||
default "1.18.0" if LIBC_NEWLIB_V_1_18_0
|
||||
default "1.17.0" if LIBC_NEWLIB_V_1_17_0
|
||||
help
|
||||
Enter the tag you want to use.
|
||||
Leave empty to use the 'head' of the repository.
|
||||
config NEWLIB_HAS_NANO_MALLOC
|
||||
def_bool y
|
||||
depends on NEWLIB_2_1_or_later
|
||||
|
||||
endif # ! LIBC_NEWLIB_CUSTOM
|
||||
config NEWLIB_HAS_NANO_FORMATTED_IO
|
||||
def_bool y
|
||||
depends on NEWLIB_2_2_or_later
|
||||
|
||||
config LIBC_NEWLIB_TARGET_CFLAGS
|
||||
string
|
||||
@ -218,3 +42,178 @@ config LIBC_NEWLIB_TARGET_CFLAGS
|
||||
to compile the libraries.
|
||||
|
||||
Leave blank if you don't know better.
|
||||
|
||||
config LIBC_NEWLIB_IO_C99FMT
|
||||
bool
|
||||
prompt "Enable IOs on C99 formats"
|
||||
help
|
||||
Enable support for IOs on C99 formats.
|
||||
|
||||
config LIBC_NEWLIB_IO_LL
|
||||
bool
|
||||
prompt "Enable IOs on long long"
|
||||
help
|
||||
Enable support for IOs on long long integers.
|
||||
|
||||
config LIBC_NEWLIB_IO_FLOAT
|
||||
bool
|
||||
prompt "Enable IOs on floats and doubles"
|
||||
help
|
||||
Enable support for IOs on floating point
|
||||
values (float and double).
|
||||
|
||||
config LIBC_NEWLIB_IO_LDBL
|
||||
bool
|
||||
prompt "Enable IOs on long doubles"
|
||||
depends on LIBC_NEWLIB_IO_FLOAT
|
||||
help
|
||||
Enable support for IOs on long doubles.
|
||||
|
||||
config LIBC_NEWLIB_IO_POS_ARGS
|
||||
bool
|
||||
prompt "Enable printf-family positional arg support"
|
||||
help
|
||||
Enable printf-family positional arg support.
|
||||
|
||||
config LIBC_NEWLIB_FVWRITE_IN_STREAMIO
|
||||
bool
|
||||
prompt "Vector buffer mechanism to support stream IO buffering"
|
||||
default y
|
||||
help
|
||||
NEWLIB implements the vector buffer mechanism to support stream IO
|
||||
buffering required by C standard. This feature is possibly
|
||||
unnecessary for embedded systems which won't change file buffering
|
||||
with functions like `setbuf' or `setvbuf'. The buffering mechanism
|
||||
still acts as default for STDIN/STDOUT/STDERR even if this option
|
||||
is specified.
|
||||
|
||||
config LIBC_NEWLIB_UNBUF_STREAM_OPT
|
||||
bool
|
||||
prompt "Optimize fprintf to unbuffered unix file"
|
||||
default y
|
||||
help
|
||||
NEWLIB does optimization when `fprintf to write only unbuffered unix
|
||||
file'. It creates a temorary buffer to do the optimization that
|
||||
increases stack consumption by about `BUFSIZ' bytes. Disabling this option
|
||||
disables the optimization and saves size of text and stack.
|
||||
|
||||
config LIBC_NEWLIB_FSEEK_OPTIMIZATION
|
||||
bool
|
||||
prompt "Fseek optimisation"
|
||||
default y
|
||||
help
|
||||
Disabling fseek optimisation can decrease code size.
|
||||
|
||||
config LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS
|
||||
bool
|
||||
prompt "Disable the syscalls supplied with newlib"
|
||||
help
|
||||
Disable the syscalls that come with newlib. You
|
||||
will have to implement your own _sbrk, _read,
|
||||
_write... If you plan to port newlib to a new
|
||||
platform/board, say Yes.
|
||||
|
||||
config LIBC_NEWLIB_REGISTER_FINI
|
||||
bool
|
||||
prompt "Enable finalization function registration using atexit"
|
||||
help
|
||||
Enable finalization function registration using atexit.
|
||||
|
||||
config LIBC_NEWLIB_ATEXIT_DYNAMIC_ALLOC
|
||||
bool
|
||||
prompt "Enable dynamic allocation of atexit entries"
|
||||
default y
|
||||
help
|
||||
Enable dynamic allocation of atexit entries.
|
||||
|
||||
config LIBC_NEWLIB_GLOBAL_ATEXIT
|
||||
bool
|
||||
prompt "Enable atexit data structure as global variable"
|
||||
help
|
||||
Enable atexit data structure as global variable. By doing so it is
|
||||
move out of _reent structure, and can be garbage collected if atexit
|
||||
is not referenced.
|
||||
|
||||
config LIBC_NEWLIB_LITE_EXIT
|
||||
bool
|
||||
prompt "Enable lite exit"
|
||||
help
|
||||
Enable lite exit, a size-reduced implementation of exit that doesn't
|
||||
invoke clean-up functions such as _fini or global destructors.
|
||||
|
||||
config LIBC_NEWLIB_REENT_SMALL
|
||||
bool
|
||||
prompt "Enable small reentrant struct support"
|
||||
help
|
||||
Enable small reentrant struct support.
|
||||
|
||||
config LIBC_NEWLIB_MULTITHREAD
|
||||
bool
|
||||
prompt "Enable support for multiple threads"
|
||||
default y
|
||||
help
|
||||
Enable support for multiple threads.
|
||||
|
||||
config LIBC_NEWLIB_EXTRA_SECTIONS
|
||||
bool
|
||||
prompt "Place each function & data element in their own section"
|
||||
help
|
||||
Place each function & data symbol in their own section. This allows
|
||||
the linker to garbage collect unused symbols at link time.
|
||||
|
||||
config LIBC_NEWLIB_WIDE_ORIENT
|
||||
bool
|
||||
prompt "Allow wide C99 stream orientation"
|
||||
default y
|
||||
help
|
||||
C99 states that each stream has an orientation, wide or byte. This
|
||||
feature is possibly unnecessary for embedded systems which only do
|
||||
byte input/output operations on stream. Disabling this feature can
|
||||
decrease code size.
|
||||
|
||||
config LIBC_NEWLIB_ENABLE_TARGET_OPTSPACE
|
||||
bool
|
||||
prompt "Optimize newlib for size"
|
||||
default y
|
||||
help
|
||||
Pass --enable-target-optspace to newlib configure.
|
||||
|
||||
This will compile newlib with -Os.
|
||||
|
||||
config LIBC_NEWLIB_LTO
|
||||
bool
|
||||
prompt "Enable Link Time Optimization"
|
||||
depends on CC_GCC_USE_LTO
|
||||
help
|
||||
Builds the libraries with -flto to enable more aggressive link time
|
||||
optimization. You will need to add -flto-partition=one to your
|
||||
application's link line to keep the RETURN assembler macro together
|
||||
with it's consumers.
|
||||
|
||||
config LIBC_NEWLIB_NANO_MALLOC
|
||||
bool
|
||||
prompt "Enable Nano Malloc"
|
||||
depends on NEWLIB_HAS_NANO_MALLOC
|
||||
help
|
||||
NEWLIB has two implementations of malloc family's functions, one in
|
||||
`mallocr.c' and the other one in `nano-mallocr.c'. This options
|
||||
enables the nano-malloc implementation, which is for small systems
|
||||
with very limited memory. Note that this implementation does not
|
||||
support `--enable-malloc-debugging' any more.
|
||||
|
||||
config LIBC_NEWLIB_NANO_FORMATTED_IO
|
||||
bool
|
||||
prompt "Enable Nano Formatted I/O"
|
||||
depends on NEWLIB_HAS_NANO_FORMATTED_IO
|
||||
help
|
||||
This builds NEWLIB with a special implementation of formatted I/O
|
||||
functions, designed to lower the size of application on small systems
|
||||
with size constraint issues. This option does not affect wide-char
|
||||
formatted I/O functions.
|
||||
|
||||
config LIBC_NEWLIB_EXTRA_CONFIG_ARRAY
|
||||
string
|
||||
prompt "Extra config for newlib"
|
||||
default ""
|
||||
help
|
||||
Extra flags to pass onto ./configure when configuring the newlib.
|
||||
|
@ -1,176 +0,0 @@
|
||||
# newlib second-part options
|
||||
|
||||
config LIBC_NEWLIB_IO_C99FMT
|
||||
bool
|
||||
prompt "Enable IOs on C99 formats"
|
||||
help
|
||||
Enable support for IOs on C99 formats.
|
||||
|
||||
config LIBC_NEWLIB_IO_LL
|
||||
bool
|
||||
prompt "Enable IOs on long long"
|
||||
help
|
||||
Enable support for IOs on long long integers.
|
||||
|
||||
config LIBC_NEWLIB_IO_FLOAT
|
||||
bool
|
||||
prompt "Enable IOs on floats and doubles"
|
||||
help
|
||||
Enable support for IOs on floating point
|
||||
values (float and double).
|
||||
|
||||
config LIBC_NEWLIB_IO_LDBL
|
||||
bool
|
||||
prompt "Enable IOs on long doubles"
|
||||
depends on LIBC_NEWLIB_IO_FLOAT
|
||||
help
|
||||
Enable support for IOs on long doubles.
|
||||
|
||||
config LIBC_NEWLIB_IO_POS_ARGS
|
||||
bool
|
||||
prompt "Enable printf-family positional arg support"
|
||||
help
|
||||
Enable printf-family positional arg support.
|
||||
|
||||
config LIBC_NEWLIB_FVWRITE_IN_STREAMIO
|
||||
bool
|
||||
prompt "Vector buffer mechanism to support stream IO buffering"
|
||||
default y
|
||||
help
|
||||
NEWLIB implements the vector buffer mechanism to support stream IO
|
||||
buffering required by C standard. This feature is possibly
|
||||
unnecessary for embedded systems which won't change file buffering
|
||||
with functions like `setbuf' or `setvbuf'. The buffering mechanism
|
||||
still acts as default for STDIN/STDOUT/STDERR even if this option
|
||||
is specified.
|
||||
|
||||
config LIBC_NEWLIB_UNBUF_STREAM_OPT
|
||||
bool
|
||||
prompt "Optimize fprintf to unbuffered unix file"
|
||||
default y
|
||||
help
|
||||
NEWLIB does optimization when `fprintf to write only unbuffered unix
|
||||
file'. It creates a temorary buffer to do the optimization that
|
||||
increases stack consumption by about `BUFSIZ' bytes. Disabling this option
|
||||
disables the optimization and saves size of text and stack.
|
||||
|
||||
config LIBC_NEWLIB_FSEEK_OPTIMIZATION
|
||||
bool
|
||||
prompt "Fseek optimisation"
|
||||
default y
|
||||
help
|
||||
Disabling fseek optimisation can decrease code size.
|
||||
|
||||
config LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS
|
||||
bool
|
||||
prompt "Disable the syscalls supplied with newlib"
|
||||
help
|
||||
Disable the syscalls that come with newlib. You
|
||||
will have to implement your own _sbrk, _read,
|
||||
_write... If you plan to port newlib to a new
|
||||
platform/board, say Yes.
|
||||
|
||||
config LIBC_NEWLIB_REGISTER_FINI
|
||||
bool
|
||||
prompt "Enable finalization function registration using atexit"
|
||||
help
|
||||
Enable finalization function registration using atexit.
|
||||
|
||||
config LIBC_NEWLIB_ATEXIT_DYNAMIC_ALLOC
|
||||
bool
|
||||
prompt "Enable dynamic allocation of atexit entries"
|
||||
default y
|
||||
help
|
||||
Enable dynamic allocation of atexit entries.
|
||||
|
||||
config LIBC_NEWLIB_GLOBAL_ATEXIT
|
||||
bool
|
||||
prompt "Enable atexit data structure as global variable"
|
||||
help
|
||||
Enable atexit data structure as global variable. By doing so it is
|
||||
move out of _reent structure, and can be garbage collected if atexit
|
||||
is not referenced.
|
||||
|
||||
config LIBC_NEWLIB_LITE_EXIT
|
||||
bool
|
||||
prompt "Enable lite exit"
|
||||
help
|
||||
Enable lite exit, a size-reduced implementation of exit that doesn't
|
||||
invoke clean-up functions such as _fini or global destructors.
|
||||
|
||||
config LIBC_NEWLIB_REENT_SMALL
|
||||
bool
|
||||
prompt "Enable small reentrant struct support"
|
||||
help
|
||||
Enable small reentrant struct support.
|
||||
|
||||
config LIBC_NEWLIB_MULTITHREAD
|
||||
bool
|
||||
prompt "Enable support for multiple threads"
|
||||
default y
|
||||
help
|
||||
Enable support for multiple threads.
|
||||
|
||||
config LIBC_NEWLIB_EXTRA_SECTIONS
|
||||
bool
|
||||
prompt "Place each function & data element in their own section"
|
||||
help
|
||||
Place each function & data symbol in their own section. This allows
|
||||
the linker to garbage collect unused symbols at link time.
|
||||
|
||||
config LIBC_NEWLIB_WIDE_ORIENT
|
||||
bool
|
||||
prompt "Allow wide C99 stream orientation"
|
||||
default y
|
||||
help
|
||||
C99 states that each stream has an orientation, wide or byte. This
|
||||
feature is possibly unnecessary for embedded systems which only do
|
||||
byte input/output operations on stream. Disabling this feature can
|
||||
decrease code size.
|
||||
|
||||
config LIBC_NEWLIB_ENABLE_TARGET_OPTSPACE
|
||||
bool
|
||||
prompt "Optimize newlib for size"
|
||||
default y
|
||||
help
|
||||
Pass --enable-target-optspace to newlib configure.
|
||||
|
||||
This will compile newlib with -Os.
|
||||
|
||||
config LIBC_NEWLIB_LTO
|
||||
bool
|
||||
prompt "Enable Link Time Optimization"
|
||||
depends on CC_GCC_USE_LTO
|
||||
help
|
||||
Builds the libraries with -flto to enable more aggressive link time
|
||||
optimization. You will need to add -flto-partition=one to your
|
||||
application's link line to keep the RETURN assembler macro together
|
||||
with it's consumers.
|
||||
|
||||
config LIBC_NEWLIB_NANO_MALLOC
|
||||
bool
|
||||
prompt "Enable Nano Malloc"
|
||||
depends on LIBC_NEWLIB_2_1_or_later
|
||||
help
|
||||
NEWLIB has two implementations of malloc family's functions, one in
|
||||
`mallocr.c' and the other one in `nano-mallocr.c'. This options
|
||||
enables the nano-malloc implementation, which is for small systems
|
||||
with very limited memory. Note that this implementation does not
|
||||
support `--enable-malloc-debugging' any more.
|
||||
|
||||
config LIBC_NEWLIB_NANO_FORMATTED_IO
|
||||
bool
|
||||
prompt "Enable Nano Formatted I/O"
|
||||
depends on LIBC_NEWLIB_2_2_or_later
|
||||
help
|
||||
This builds NEWLIB with a special implementation of formatted I/O
|
||||
functions, designed to lower the size of application on small systems
|
||||
with size constraint issues. This option does not affect wide-char
|
||||
formatted I/O functions.
|
||||
|
||||
config LIBC_NEWLIB_EXTRA_CONFIG_ARRAY
|
||||
string
|
||||
prompt "Extra config for newlib"
|
||||
default ""
|
||||
help
|
||||
Extra flags to pass onto ./configure when configuring the newlib.
|
@ -4,6 +4,7 @@
|
||||
##
|
||||
## select LIBC_SUPPORT_THREADS_LT
|
||||
## select LIBC_SUPPORT_THREADS_NONE
|
||||
## select LIBC_SUPPORT_THREADS_NATIVE if UCLIBC_0_9_33_2_or_later
|
||||
## select CC_CORE_PASSES_NEEDED
|
||||
##
|
||||
## help The de-facto standard for embeded linux systems.
|
||||
@ -11,6 +12,8 @@
|
||||
## help Highly configurable, thus as feature-rich as you
|
||||
## help need, without compromising for size.
|
||||
|
||||
source "config/versions/uClibc.in"
|
||||
|
||||
config THREADS
|
||||
default "nptl" if THREADS_NATIVE
|
||||
default "linuxthreads" if THREADS_LT
|
||||
@ -20,141 +23,18 @@ comment "'softfp' ABI and uClibc is not entirely tested in crosstool-NG"
|
||||
comment "You may experience issues, although it should work just fine"
|
||||
endif # ARCH_FLOAT_SOFTFP
|
||||
|
||||
config LIBC_UCLIBC_CUSTOM
|
||||
bool
|
||||
prompt "Custom uClibc"
|
||||
depends on EXPERIMENTAL
|
||||
help
|
||||
The choosen uclibc version shall be not downloaded. Instead use
|
||||
a custom location to get the source.
|
||||
|
||||
if LIBC_UCLIBC_CUSTOM
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "uClibc Version Name"
|
||||
|
||||
config LIBC_UCLIBC_CUSTOM_UCLIBC
|
||||
bool "uClibc (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select LIBC_UCLIBC_0_9_33_2_or_later
|
||||
|
||||
config LIBC_UCLIBC_CUSTOM_UCLIBC_NG
|
||||
bool "uClibc-ng (1.0.15 or later)"
|
||||
select LIBC_UCLIBC_NG_1_0_15_or_later
|
||||
|
||||
config LIBC_UCLIBC_CUSTOM_UCLIBC_NG_OLD
|
||||
bool "uClibc-ng (older than 1.0.15)"
|
||||
select LIBC_UCLIBC_NG_1_0_0_or_later
|
||||
|
||||
endchoice
|
||||
|
||||
config LIBC_UCLIBC_CUSTOM_LOCATION
|
||||
string
|
||||
prompt "Full path to custom uClibc source"
|
||||
help
|
||||
Enter the path to the directory or tarball of your source for uClibc.
|
||||
|
||||
If the path is a tarball, it should extract to: <name>-<version>/
|
||||
where the name is this component will be set by the uClibc Version Name
|
||||
option from above, and the version is set below in the custom version
|
||||
string.
|
||||
|
||||
config LIBC_UCLIBC_CUSTOM_VERSION
|
||||
string
|
||||
prompt "Custom uClibc Version"
|
||||
help
|
||||
Enter the version number for your custom uClibc.
|
||||
Version 1.0.18 is only enabled in EXPERIMENTAL builds due to issues
|
||||
with static libraries.
|
||||
|
||||
config LIBC_VERSION
|
||||
string
|
||||
default LIBC_UCLIBC_CUSTOM_VERSION
|
||||
|
||||
endif # LIBC_UCLIBC_CUSTOM
|
||||
|
||||
if ! LIBC_UCLIBC_CUSTOM
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "uClibc version"
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config LIBC_UCLIBC_NG_V_1_0_25
|
||||
bool
|
||||
prompt "1.0.25"
|
||||
select LIBC_UCLIBC_NG_1_0_15_or_later
|
||||
|
||||
config LIBC_UCLIBC_NG_V_1_0_24
|
||||
bool
|
||||
prompt "1.0.24"
|
||||
select LIBC_UCLIBC_NG_1_0_15_or_later
|
||||
|
||||
config LIBC_UCLIBC_NG_V_1_0_23
|
||||
bool
|
||||
prompt "1.0.23"
|
||||
select LIBC_UCLIBC_NG_1_0_15_or_later
|
||||
|
||||
config LIBC_UCLIBC_NG_V_1_0_22
|
||||
bool
|
||||
prompt "1.0.22"
|
||||
select LIBC_UCLIBC_NG_1_0_15_or_later
|
||||
|
||||
config LIBC_UCLIBC_NG_V_1_0_21
|
||||
bool
|
||||
prompt "1.0.21 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select LIBC_UCLIBC_NG_1_0_15_or_later
|
||||
|
||||
config LIBC_UCLIBC_NG_V_1_0_20
|
||||
bool
|
||||
prompt "1.0.20 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select LIBC_UCLIBC_NG_1_0_15_or_later
|
||||
|
||||
config LIBC_UCLIBC_V_0_9_33_2
|
||||
bool
|
||||
prompt "0.9.33.2 (OBSOLETE)"
|
||||
depends on OBSOLETE
|
||||
select LIBC_UCLIBC_0_9_33_2_or_later
|
||||
|
||||
endchoice
|
||||
|
||||
config LIBC_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "1.0.25" if LIBC_UCLIBC_NG_V_1_0_25
|
||||
default "1.0.24" if LIBC_UCLIBC_NG_V_1_0_24
|
||||
default "1.0.23" if LIBC_UCLIBC_NG_V_1_0_23
|
||||
default "1.0.22" if LIBC_UCLIBC_NG_V_1_0_22
|
||||
default "1.0.21" if LIBC_UCLIBC_NG_V_1_0_21
|
||||
default "1.0.20" if LIBC_UCLIBC_NG_V_1_0_20
|
||||
default "0.9.33.2" if LIBC_UCLIBC_V_0_9_33_2
|
||||
|
||||
endif # ! LIBC_UCLIBC_CUSTOM
|
||||
|
||||
config LIBC_UCLIBC_NG_1_0_15_or_later
|
||||
bool
|
||||
select LIBC_UCLIBC_NG_1_0_0_or_later
|
||||
|
||||
config LIBC_UCLIBC_NG_1_0_0_or_later
|
||||
bool
|
||||
select LIBC_UCLIBC_NG
|
||||
select LIBC_UCLIBC_0_9_33_2_or_later
|
||||
|
||||
config LIBC_UCLIBC_0_9_33_2_or_later
|
||||
bool
|
||||
select LIBC_SUPPORT_THREADS_NATIVE
|
||||
select LIBC_UCLIBC_PARALLEL
|
||||
|
||||
config LIBC_UCLIBC_PARALLEL
|
||||
bool
|
||||
def_bool y
|
||||
depends on UCLIBC_0_9_33_2_or_later
|
||||
|
||||
config LIBC_UCLIBC_NG
|
||||
bool
|
||||
def_bool y
|
||||
depends on UCLIBC_1_0_0_or_later
|
||||
|
||||
# uClibc-ng 1.0.15 did away with 2 implementations of linuxthreads
|
||||
config UCLIBC_MERGED_LINUXTHREADS
|
||||
def_bool y
|
||||
depends on UCLIBC_1_0_15_or_later
|
||||
|
||||
choice
|
||||
bool
|
||||
@ -230,3 +110,98 @@ config LIBC_UCLIBC_CONFIG_FILE
|
||||
Path to the configuration file.
|
||||
|
||||
If the file is not provided, we fall back to a default config file.
|
||||
|
||||
if THREADS_LT && !UCLIBC_MERGED_LINUXTHREADS
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "Linuxthread implementation: "
|
||||
default LIBC_UCLIBC_LNXTHRD_OLD
|
||||
|
||||
config LIBC_UCLIBC_LNXTHRD_OLD
|
||||
bool
|
||||
prompt "old/stable"
|
||||
help
|
||||
From the uClibc config option help:
|
||||
There are two versions of linuxthreads. The older (stable) version
|
||||
has been in uClibc for quite a long time but hasn't seen too many
|
||||
updates other than bugfixes.
|
||||
|
||||
config LIBC_UCLIBC_LNXTHRD_NEW
|
||||
bool
|
||||
prompt "new"
|
||||
help
|
||||
From the uClibc config option help:
|
||||
The new version has not been tested much, and lacks ports for arches
|
||||
which glibc does not support (like frv, etc...), but is based on
|
||||
the latest code from glibc, so it may be the only choice for the
|
||||
newer ports (like alpha/amd64/64bit arches and hppa).
|
||||
|
||||
endchoice
|
||||
|
||||
endif # THREADS_LT
|
||||
|
||||
config LIBC_UCLIBC_LNXTHRD
|
||||
string
|
||||
default "" if THREADS_NONE
|
||||
default "" if THREADS_NATIVE
|
||||
default "" if UCLIBC_MERGED_LINUXTHREADS
|
||||
default "old" if LIBC_UCLIBC_LNXTHRD_OLD
|
||||
default "new" if LIBC_UCLIBC_LNXTHRD_NEW
|
||||
|
||||
config LIBC_UCLIBC_LOCALES
|
||||
bool
|
||||
select LIBC_UCLIBC_WCHAR
|
||||
prompt "Add support for locales"
|
||||
help
|
||||
Say y if you want uClibc to support localisation.
|
||||
|
||||
Note that seems to be broken on recent uClibc releases.
|
||||
|
||||
config LIBC_UCLIBC_IPV6
|
||||
bool
|
||||
prompt "Add support for IPv6"
|
||||
help
|
||||
Say y if you want uClibc to support IPv6.
|
||||
|
||||
config LIBC_UCLIBC_WCHAR
|
||||
bool
|
||||
prompt "Add support for WCHAR"
|
||||
help
|
||||
Say y if you want uClibc to support WCHAR.
|
||||
|
||||
Maybe this is needed, if you're building a C++-Compiler
|
||||
|
||||
config LIBC_UCLIBC_FENV
|
||||
bool
|
||||
prompt "Add support for fenv.h"
|
||||
default y if ARCH_X86
|
||||
help
|
||||
fenv.h provides functions to control the floating point environment,
|
||||
such as rounding mode, exceptions...
|
||||
|
||||
For some architectures, fenv.h is incomplete, so is not installed
|
||||
by default. x86 is known to have a rather complete fenv.h, so it is
|
||||
installed by default only for x86.
|
||||
|
||||
If you need fenv.h on other architectures, say 'y' here, but you may
|
||||
encounter some issues.
|
||||
|
||||
config LIBC_UCLIBC_RPC
|
||||
bool
|
||||
prompt "Add support for RPC"
|
||||
help
|
||||
Enable support for remote procedure calls (RPC) in uClibc.
|
||||
|
||||
if ARCH_ARM
|
||||
config LIBC_UCLIBC_USE_GNU_SUFFIX
|
||||
bool
|
||||
default y
|
||||
prompt "Use -uclibcgnueabi suffix"
|
||||
help
|
||||
Depending on where the resulting toolchain will be used, you may need
|
||||
to tweak the "system" part of the target tuple. Buildroot prefers
|
||||
to have arm-*-linux-uclibcgnueabi; OpenEmbedded prefers
|
||||
arm-*-linux-uclibceabi. Other tools seem to either accept both, or
|
||||
don't care about the suffix.
|
||||
endif
|
||||
|
@ -1,110 +0,0 @@
|
||||
# uClibc second-part option
|
||||
|
||||
if THREADS_LT && !LIBC_UCLIBC_NG_1_0_15_or_later
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "Linuxthread implementation: "
|
||||
default LIBC_UCLIBC_LNXTHRD_OLD
|
||||
|
||||
config LIBC_UCLIBC_LNXTHRD_OLD
|
||||
bool
|
||||
prompt "old/stable"
|
||||
help
|
||||
From the uClibc config option help:
|
||||
There are two versions of linuxthreads. The older (stable) version
|
||||
has been in uClibc for quite a long time but hasn't seen too many
|
||||
updates other than bugfixes.
|
||||
|
||||
config LIBC_UCLIBC_LNXTHRD_NEW
|
||||
bool
|
||||
prompt "new"
|
||||
help
|
||||
From the uClibc config option help:
|
||||
The new version has not been tested much, and lacks ports for arches
|
||||
which glibc does not support (like frv, etc...), but is based on
|
||||
the latest code from glibc, so it may be the only choice for the
|
||||
newer ports (like alpha/amd64/64bit arches and hppa).
|
||||
|
||||
endchoice
|
||||
|
||||
endif # THREADS_LT
|
||||
|
||||
# uClibc-ng 1.0.15 did away with 2 implementations of linuxthreads
|
||||
config LIBC_UCLIBC_LNXTHRD
|
||||
string
|
||||
default "" if THREADS_NONE
|
||||
default "" if THREADS_NATIVE
|
||||
default "" if LIBC_UCLIBC_NG_1_0_15_or_later
|
||||
default "old" if LIBC_UCLIBC_LNXTHRD_OLD
|
||||
default "new" if LIBC_UCLIBC_LNXTHRD_NEW
|
||||
|
||||
config LIBC_UCLIBC_LOCALES
|
||||
bool
|
||||
select LIBC_UCLIBC_WCHAR
|
||||
prompt "Add support for locales"
|
||||
help
|
||||
Say y if you want uClibc to support localisation.
|
||||
|
||||
Note that seems to be broken on recent uClibc releases.
|
||||
|
||||
config LIBC_UCLIBC_LOCALES_PREGEN_DATA
|
||||
bool
|
||||
prompt "Use pregen locales"
|
||||
depends on LIBC_UCLIBC_LOCALES
|
||||
depends on ! LIBC_UCLIBC_NG
|
||||
default y
|
||||
help
|
||||
If you see issues with using pre-generated locales data,
|
||||
you can try switching this off.
|
||||
|
||||
If so, please report the issue, so we can default this
|
||||
to off if too many people complain.
|
||||
|
||||
config LIBC_UCLIBC_IPV6
|
||||
bool
|
||||
prompt "Add support for IPv6"
|
||||
help
|
||||
Say y if you want uClibc to support IPv6.
|
||||
|
||||
config LIBC_UCLIBC_WCHAR
|
||||
bool
|
||||
prompt "Add support for WCHAR"
|
||||
help
|
||||
Say y if you want uClibc to support WCHAR.
|
||||
|
||||
Maybe this is needed, if you're building a C++-Compiler
|
||||
|
||||
config LIBC_UCLIBC_FENV
|
||||
bool
|
||||
prompt "Add support for fenv.h"
|
||||
default y if ARCH_x86
|
||||
help
|
||||
fenv.h provides functions to control the floating point environment,
|
||||
such as rounding mode, exceptions...
|
||||
|
||||
For some architectures, fenv.h is incomplete, so is not installed
|
||||
by default. x86 is known to have a rather complete fenv.h, so it is
|
||||
installed by default only for x86.
|
||||
|
||||
If you need fenv.h on other architectures, say 'y' here, but you may
|
||||
encounter some issues.
|
||||
|
||||
config LIBC_UCLIBC_RPC
|
||||
bool
|
||||
prompt "Add support for RPC"
|
||||
help
|
||||
Enable support for remote procedure calls (RPC) in uClibc.
|
||||
|
||||
if ARCH_arm
|
||||
config LIBC_UCLIBC_USE_GNU_SUFFIX
|
||||
bool
|
||||
default y
|
||||
prompt "Use -uclibcgnueabi suffix"
|
||||
help
|
||||
Depending on where the resulting toolchain will be used, you may need
|
||||
to tweak the "system" part of the target tuple. Buildroot prefers
|
||||
to have arm-*-linux-uclibcgnueabi; OpenEmbedded prefers
|
||||
arm-*-linux-uclibceabi. Other tools seem to either accept both, or
|
||||
don't care about the suffix.
|
||||
endif
|
@ -2,9 +2,6 @@
|
||||
|
||||
menu "Target options"
|
||||
|
||||
config ARCH
|
||||
string
|
||||
|
||||
source "config/gen/arch.in"
|
||||
|
||||
config ARCH_SUFFIX
|
||||
@ -405,6 +402,30 @@ config ARCH_FLOAT
|
||||
default "soft" if ARCH_FLOAT_SW
|
||||
default "softfp" if ARCH_FLOAT_SOFTFP
|
||||
|
||||
source "config/gen/arch.in.2"
|
||||
config TARGET_USE_OVERLAY
|
||||
bool
|
||||
|
||||
if TARGET_USE_OVERLAY
|
||||
|
||||
config OVERLAY_NAME
|
||||
string "Custom processor configuration name"
|
||||
help
|
||||
Enter the name of the custom processor configuration.
|
||||
Overlay file for that configuration must be called
|
||||
'<ARCH>_<OVERLAY_NAME>.tar' (optionally, with .gz/.bz2/.lzma/.xz
|
||||
extension).
|
||||
|
||||
Leave blank to use the default '<ARCH>_overlay.tar'.
|
||||
For more information about this option, please also consult the
|
||||
section 'Using crosstool-NG to build Xtensa toolchains' in the
|
||||
in http://crosstool-ng.github.io/docs/caveats-features/
|
||||
|
||||
config OVERLAY_LOCATION
|
||||
string "Full path to custom configuration (overlay)"
|
||||
help
|
||||
Enter the path to the directory for the custom processor
|
||||
configuration file.
|
||||
|
||||
endif
|
||||
|
||||
endmenu
|
||||
|
@ -105,7 +105,7 @@ comment "Tuple completion and aliasing"
|
||||
config TARGET_VENDOR
|
||||
string
|
||||
prompt "Tuple's vendor string"
|
||||
depends on !LIBC_avr_libc
|
||||
depends on !LIBC_AVR_LIBC
|
||||
default "unknown"
|
||||
help
|
||||
Vendor part of the target tuple.
|
||||
|
@ -26,6 +26,7 @@ nconfig:
|
||||
|
||||
oldconfig: .config
|
||||
@$(CT_ECHO) " CONF $@"
|
||||
$(SILENT)$(sed) -i -r -f $(CT_LIB_DIR)/scripts/upgrade.sed $<
|
||||
$(SILENT)$(CONF) --silent$@ $(KCONFIG_TOP)
|
||||
|
||||
savedefconfig: .config
|
||||
|
@ -1,238 +0,0 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# Adds a new version to one of the toolchain component
|
||||
myname="$0"
|
||||
|
||||
# Parse the tools' paths configuration
|
||||
# It is expected that this script is only to be run from the
|
||||
# source directory of crosstool-NG, so it is trivial to find
|
||||
# paths.sh (we can't use ". paths.sh", as POSIX states that
|
||||
# $PATH should be searched for, and $PATH most probably doe
|
||||
# not include "."), hence the "./".
|
||||
. "./paths.sh"
|
||||
|
||||
doHelp() {
|
||||
cat <<-EOF
|
||||
Usage: ${myname} <--tool> <[options] version [...]> ...
|
||||
'tool' in one of:
|
||||
gcc, binutils, glibc, uClibc, uClibc-ng, newlib, linux, gdb,
|
||||
duma, strace, ltrace, libelf, gmp, mpfr, isl, cloog, mpc,
|
||||
mingw-w64, expat, ncurses, musl, gettext, zlib, libiconv
|
||||
|
||||
Valid options for all tools:
|
||||
--stable, -s, +x (default)
|
||||
mark the version as being stable (as opposed to experimental, below)
|
||||
|
||||
--experimental, -x, +s
|
||||
mark the version as being experimental (as opposed to stable, above)
|
||||
|
||||
--current, -c, +o (default)
|
||||
mark the version as being cuurent (as opposed to obsolete, below)
|
||||
|
||||
--obsolete, -o, +c
|
||||
mark the version as being obsolete (as opposed to current, above)
|
||||
|
||||
Note: setting a new tool resets to the defaults: 'stable' and 'current'.
|
||||
|
||||
'version' is a valid version for the specified tool.
|
||||
|
||||
Examples:
|
||||
add stable current version 2.6.19.2 to linux kernel:
|
||||
${myname} --linux 2.6.19.2
|
||||
|
||||
add experimental obsolete version 2.3.5 and stable current versions 2.6.1
|
||||
and 2.6.2 to glibc, add stable obsolete version 3.3.3 to gcc:
|
||||
${myname} --glibc -x -o 2.3.5 -s -c 2.6.1 2.6.2 --gcc -o 3.3.3
|
||||
EOF
|
||||
}
|
||||
|
||||
# Extract field $3 from version $1 with separator $2
|
||||
getVersionField() {
|
||||
local version="$1"
|
||||
local sep="$2"
|
||||
local field="$3"
|
||||
|
||||
echo "${version}${sep}${sep}${sep}${sep}" |cut -d ${sep} -f ${field}
|
||||
}
|
||||
|
||||
# Effectively add a version to the specified tool
|
||||
# $cat : tool category
|
||||
# $tool : tool name
|
||||
# $tool_prefix : tool directory prefix
|
||||
# $EXP : set to non empty if experimental, to empty otherwise
|
||||
# OBS : set to non empty if obsolete, to empty otherwise
|
||||
# $1 : version string to add
|
||||
addToolVersion() {
|
||||
local version="$1"
|
||||
local file="$2"
|
||||
local config_ver_option
|
||||
local exp_obs_prompt
|
||||
local deps v ver_M ver_m ver_p
|
||||
local SedExpr1 SedExpr2
|
||||
|
||||
[ -f "${file}" ] || return 0
|
||||
|
||||
v=$(echo "${version}" |"${sed}" -r -e 's/-/_/g; s/\./_/g;')
|
||||
|
||||
config_ver_option="${cat}_V_${v}"
|
||||
|
||||
# Check for existing version: it can be legitimitate for an end-user
|
||||
# to try adding a new version if the one he/she wants is not listed.
|
||||
# But it can be the case where the version is hidden behind either one
|
||||
# of EXPERIMENTAL or OBSOLETE, so warn if the version is already listed.
|
||||
if ${grep} -E "^config ${config_ver_option}$" "${file}" >/dev/null 2>&1; then
|
||||
echo "'${tool}': version '${version}' already present:"
|
||||
${grep} -A1 -B0 -n \
|
||||
-E "^(config ${config_ver_option}| {4}prompt \"${version}\")$" \
|
||||
"${file}" /dev/null
|
||||
return 0
|
||||
fi
|
||||
|
||||
SedExpr1="${SedExpr1}config ${config_ver_option}\n"
|
||||
SedExpr1="${SedExpr1} bool\n"
|
||||
SedExpr1="${SedExpr1} prompt \"${version}"
|
||||
case "${EXP},${OBS}" in
|
||||
,) ;;
|
||||
,*) exp_obs_prompt=" (OBSOLETE)"
|
||||
deps=" depends on OBSOLETE"
|
||||
;;
|
||||
*,) exp_obs_prompt=" (EXPERIMENTAL)"
|
||||
deps=" depends on EXPERIMENTAL"
|
||||
;;
|
||||
*) exp_obs_prompt=" (EXPERIMENTAL, OBSOLETE)"
|
||||
deps=" depends on EXPERIMENTAL \\&\\& OBSOLETE"
|
||||
;;
|
||||
esac
|
||||
[ -n "${exp_obs_prompt}" ] && SedExpr1="${SedExpr1}${exp_obs_prompt}"
|
||||
SedExpr1="${SedExpr1}\""
|
||||
[ -n "${deps}" ] && SedExpr1="${SedExpr1}\n${deps}"
|
||||
case "${tool}" in
|
||||
gcc)
|
||||
# Extract 'M'ajor and 'm'inor from version string
|
||||
ver_M=$(getVersionField "${version}" . 1)
|
||||
ver_m=$(getVersionField "${version}" . 2)
|
||||
if [ ${ver_M} -ge 4 ] && [ ${ver_m} -ge 2 ]; then
|
||||
SedExpr1="${SedExpr1}\n select CC_GCC_${ver_M}_${ver_m}"
|
||||
fi
|
||||
;;
|
||||
binutils)
|
||||
# Extract 'M'ajor, 'm'inor, sometimes 'p'atch from version string
|
||||
# TODO: Rework this
|
||||
ver_M=$(getVersionField "${version}" . 1)
|
||||
ver_m=$(getVersionField "${version}" . 2)
|
||||
ver_p=$(getVersionField "${version}" . 3)
|
||||
if [ ${ver_M} -eq 2 -a ${ver_m} -eq 27 ]; then
|
||||
SedExpr1="${SedExpr1}\n select BINUTILS_2_27_or_later"
|
||||
elif [ ${ver_M} -eq 2 -a ${ver_m} -eq 26 ]; then
|
||||
SedExpr1="${SedExpr1}\n select BINUTILS_2_26_or_later"
|
||||
elif [ ${ver_M} -eq 2 -a ${ver_m} -eq 25 -a ${ver_p} -eq 1 ]; then
|
||||
SedExpr1="${SedExpr1}\n select BINUTILS_2_25_1_or_later"
|
||||
elif [ ${ver_M} -eq 2 -a ${ver_m} -eq 25 -a -z ${ver_p} ]; then
|
||||
SedExpr1="${SedExpr1}\n select BINUTILS_2_25_or_later"
|
||||
elif [ ${ver_M} -eq 2 -a ${ver_m} -eq 24 ]; then
|
||||
SedExpr1="${SedExpr1}\n select BINUTILS_2_24_or_later"
|
||||
elif [ ${ver_M} -eq 2 -a ${ver_m} -eq 23 -a ${ver_p} -eq 2 ]; then
|
||||
SedExpr1="${SedExpr1}\n select BINUTILS_2_23_2_or_later"
|
||||
fi
|
||||
;;
|
||||
uClibc)
|
||||
# uClibc-0.9.33.2 needs some love
|
||||
ver_M=$(getVersionField "${version}" . 1)
|
||||
ver_m=$(getVersionField "${version}" . 2)
|
||||
ver_p=$(getVersionField "${version}" . 3)
|
||||
if [ ${ver_M} -eq 0 -a ${ver_m} -eq 9 -a ${ver_p} -eq 33 ]; then
|
||||
SedExpr1="${SedExpr1}\n select LIBC_UCLIBC_0_9_33_2_or_later"
|
||||
fi
|
||||
;;
|
||||
uClibc-ng)
|
||||
# uClibc-ng-1.0.15 changed threading configuration, no longer compatible
|
||||
# with the rest of uClibc gang.
|
||||
ver_M=$(getVersionField "${version}" . 1)
|
||||
ver_m=$(getVersionField "${version}" . 2)
|
||||
ver_p=$(getVersionField "${version}" . 3)
|
||||
if [ ${ver_M} -eq 1 -a ${ver_m} -eq 0 -a ${ver_p} -eq 15 ]; then
|
||||
SedExpr1="${SedExpr1}\n select LIBC_UCLIBC_NG_1_0_15_or_later"
|
||||
fi
|
||||
;;
|
||||
gdb)
|
||||
# gdb-7.0 and above have special handling
|
||||
ver_M=$(getVersionField "${version}" . 1)
|
||||
ver_m=$(getVersionField "${version}" . 2)
|
||||
if [ ${ver_M} -ge 7 ]; then
|
||||
if [ ${ver_m} -ge 2 ]; then
|
||||
SedExpr1="${SedExpr1}\n select GDB_7_2_or_later"
|
||||
else
|
||||
SedExpr1="${SedExpr1}\n select GDB_7_0_or_later"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
SedExpr2=" default \"${version}\" if ${config_ver_option}"
|
||||
"${sed}" -r -i -e 's/^(# CT_INSERT_VERSION_BELOW)$/\1\n\n'"${SedExpr1}"'/;' "${file}"
|
||||
"${sed}" -r -i -e 's/^(# CT_INSERT_VERSION_STRING_BELOW)$/\1\n'"${SedExpr2}"'/;' "${file}"
|
||||
}
|
||||
|
||||
cat=
|
||||
tool=
|
||||
tool_prefix=
|
||||
VERSION=
|
||||
EXP=
|
||||
OBS=
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
doHelp
|
||||
exit 1
|
||||
fi
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
# Tools:
|
||||
--gcc) EXP=; OBS=; cat=CC_GCC; tool=gcc; tool_prefix=cc; dot2suffix=;;
|
||||
--binutils) EXP=; OBS=; cat=BINUTILS; tool=binutils; tool_prefix=binutils; dot2suffix=;;
|
||||
--glibc) EXP=; OBS=; cat=LIBC_GLIBC; tool=glibc; tool_prefix=libc; dot2suffix=;;
|
||||
--uClibc) EXP=; OBS=; cat=LIBC_UCLIBC; tool=uClibc; tool_prefix=libc; dot2suffix=;;
|
||||
--uClibc-ng)EXP=; OBS=; cat=LIBC_UCLIBC_NG; tool=uClibc; tool_prefix=libc; dot2suffix=;;
|
||||
--newlib) EXP=; OBS=; cat=LIBC_NEWLIB; tool=newlib; tool_prefix=libc; dot2suffix=;;
|
||||
--mingw-w64)EXP=; OBS=; cat=WINAPI; tool=mingw; tool_prefix=libc; dot2suffix=;;
|
||||
--musl) EXP=; OBS=; cat=LIBC_MUSL; tool=musl; tool_prefix=libc; dot2suffix=;;
|
||||
--linux) EXP=; OBS=; cat=KERNEL; tool=linux; tool_prefix=kernel; dot2suffix=;;
|
||||
--gdb) EXP=; OBS=; cat=GDB; tool=gdb; tool_prefix=debug; dot2suffix=;;
|
||||
--duma) EXP=; OBS=; cat=DUMA; tool=duma; tool_prefix=debug; dot2suffix=;;
|
||||
--strace) EXP=; OBS=; cat=STRACE; tool=strace; tool_prefix=debug; dot2suffix=;;
|
||||
--ltrace) EXP=; OBS=; cat=LTRACE; tool=ltrace; tool_prefix=debug; dot2suffix=;;
|
||||
--gmp) EXP=; OBS=; cat=GMP; tool=gmp; tool_prefix=companion_libs; dot2suffix=;;
|
||||
--mpfr) EXP=; OBS=; cat=MPFR; tool=mpfr; tool_prefix=companion_libs; dot2suffix=;;
|
||||
--isl) EXP=; OBS=; cat=ISL; tool=isl; tool_prefix=companion_libs; dot2suffix=;;
|
||||
--cloog) EXP=; OBS=; cat=CLOOG; tool=cloog; tool_prefix=companion_libs; dot2suffix=;;
|
||||
--mpc) EXP=; OBS=; cat=MPC; tool=mpc; tool_prefix=companion_libs; dot2suffix=;;
|
||||
--libelf) EXP=; OBS=; cat=LIBELF; tool=libelf; tool_prefix=companion_libs; dot2suffix=;;
|
||||
--expat) EXP=; OBS=; cat=EXPAT; tool=expat; tool_prefix=companion_libs; dot2suffix=;;
|
||||
--ncurses) EXP=; OBS=; cat=NCURSES; tool=ncurses; tool_prefix=companion_libs; dot2suffix=;;
|
||||
--gettext) EXP=; OBS=; cat=GETTEXT; tool=gettext; tool_prefix=companion_libs; dot2suffix=;;
|
||||
--libiconv) EXP=; OBS=; cat=LIBICONV; tool=libiconv; tool_prefix=companion_libs; dot2suffix=;;
|
||||
--zlib) EXP=; OBS=; cat=ZLIB; tool=zlib; tool_prefix=companion_tools; dot2suffix=;;
|
||||
--make) EXP=; OBS=; cat=MAKE; tool=make; tool_prefix=companion_tools; dot2suffix=;;
|
||||
--m4) EXP=; OBS=; cat=M4; tool=m4; tool_prefix=companion_tools; dot2suffix=;;
|
||||
--autoconf) EXP=; OBS=; cat=AUTOCONF; tool=autoconf; tool_prefix=companion_tools; dot2suffix=;;
|
||||
--automake) EXP=; OBS=; cat=AUTOMAKE; tool=automake; tool_prefix=companion_tools; dot2suffix=;;
|
||||
--libtool) EXP=; OBS=; cat=LIBTOOL; tool=libtool; tool_prefix=companion_tools; dot2suffix=;;
|
||||
|
||||
# Tools options:
|
||||
-x|--experimental|+s) EXP=1;;
|
||||
-s|--stable|+x) EXP=;;
|
||||
-o|--obsolete|+c) OBS=1;;
|
||||
-c|--current|+o) OBS=;;
|
||||
|
||||
# Misc:
|
||||
-h|--help) doHelp; exit 0;;
|
||||
-*) echo "Unknown option: '$1' (use -h/--help for help)."; exit 1;;
|
||||
|
||||
# Version string:
|
||||
*) [ -n "${tool}" ] || { doHelp; exit 1; }
|
||||
file_base="config/${tool_prefix}/${tool}.in"
|
||||
addToolVersion "$1" "${file_base}${dot2suffix}"
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
@ -1,160 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
# Accept overrides from command line if needed
|
||||
sed=${SED:-sed}
|
||||
grep=${GREP:-grep}
|
||||
|
||||
# Generate either a choice or a menuconfig with the specified entries.
|
||||
#
|
||||
# Usage:
|
||||
# generate a choice:
|
||||
# gen_choice <out-file> <label> <config-prefix> <base-dir>
|
||||
#
|
||||
# generate a menuconfig:
|
||||
# gen_menu <out-file> <label> <config-prefix> <base-dir>
|
||||
#
|
||||
# where:
|
||||
# out-file
|
||||
# put the generated choice/menuconfig into that file
|
||||
# for choices, it acts as the base bname of the file, the secondary
|
||||
# parts (the .in.2) are put in out-file.2
|
||||
#
|
||||
# label
|
||||
# name for the entries family
|
||||
# eg. Architecture, Kernel...
|
||||
#
|
||||
# config-prefix
|
||||
# prefix for the choice entries
|
||||
# eg. ARCH, KERNEL...
|
||||
#
|
||||
# base-dir
|
||||
# base directory containing config files
|
||||
# eg. config/arch, config/kernel...
|
||||
#
|
||||
|
||||
# Helper: find the base names of all *.in files in a given directory
|
||||
get_components() {
|
||||
local dir="${1}"
|
||||
local f b
|
||||
|
||||
for f in ${dir}/*.in; do
|
||||
b=${f#${dir}/}
|
||||
echo ${b%.in}
|
||||
done
|
||||
}
|
||||
|
||||
# Generate a choice
|
||||
# See above for usage
|
||||
gen_choice() {
|
||||
local out_file="${1}"
|
||||
local label="${2}"
|
||||
local cfg_prefix="${3}"
|
||||
local base_dir="${4}"
|
||||
local file entry _entry
|
||||
|
||||
# Generate the part-1
|
||||
exec >"${out_file}"
|
||||
printf '# %s menu\n' "${label}"
|
||||
printf '# Generated file, do not edit!!!\n'
|
||||
printf '\n'
|
||||
printf 'choice GEN_CHOICE_%s\n' "${cfg_prefix}"
|
||||
printf ' bool\n'
|
||||
printf ' prompt "%s"\n' "${label}"
|
||||
printf '\n'
|
||||
for entry in `get_components ${base_dir}`; do
|
||||
file="${base_dir}/${entry}.in"
|
||||
_entry=$(printf '%s\n' "${entry}" |"${sed}" -r -s -e 's/[-.+]/_/g;')
|
||||
printf 'config %s_%s\n' "${cfg_prefix}" "${_entry}"
|
||||
printf ' bool\n'
|
||||
printf ' prompt "%s"\n' "${entry}"
|
||||
"${sed}" -r -e '/^## depends on /!d; s/^## / /;' ${file} 2>/dev/null
|
||||
"${sed}" -r -e '/^## select /!d; s/^## / /;' ${file} 2>/dev/null
|
||||
if "${grep}" -E '^## help' ${file} >/dev/null 2>&1; then
|
||||
printf ' help\n'
|
||||
"${sed}" -r -e '/^## help ?/!d; s/^## help ?/ /;' ${file} 2>/dev/null
|
||||
fi
|
||||
printf '\n'
|
||||
done
|
||||
printf 'endchoice\n'
|
||||
|
||||
printf '\n'
|
||||
printf 'config %s\n' "${cfg_prefix}"
|
||||
for entry in `get_components ${base_dir}`; do
|
||||
file="${base_dir}/${entry}.in"
|
||||
_entry=$(printf '%s\n' "${entry}" |"${sed}" -r -s -e 's/[-.+]/_/g;')
|
||||
printf ' default "%s" if %s_%s\n' "${entry}" "${cfg_prefix}" "${_entry}"
|
||||
done
|
||||
|
||||
printf '\n'
|
||||
for entry in `get_components ${base_dir}`; do
|
||||
file="${base_dir}/${entry}.in"
|
||||
_entry=$(printf '%s\n' "${entry}" |"${sed}" -r -s -e 's/[-.+]/_/g;')
|
||||
printf 'if %s_%s\n' "${cfg_prefix}" "${_entry}"
|
||||
printf 'source "%s"\n' "${file}"
|
||||
printf 'endif\n'
|
||||
done
|
||||
|
||||
# Generate the part-2
|
||||
exec >"${out_file}.2"
|
||||
printf '# %s second part options\n' "${label}"
|
||||
printf '# Generated file, do not edit!!!\n'
|
||||
for entry in `get_components ${base_dir}`; do
|
||||
file="${base_dir}/${entry}.in"
|
||||
_entry=$(printf '%s\n' "${entry}" |"${sed}" -r -s -e 's/[-.+]/_/g;')
|
||||
if [ -f "${file}.2" ]; then
|
||||
printf '\n'
|
||||
printf 'if %s_%s\n' "${cfg_prefix}" "${_entry}"
|
||||
printf 'comment "%s other options"\n' "${entry}"
|
||||
printf 'source "%s.2"\n' "${file}"
|
||||
printf 'endif\n'
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Generate a menuconfig
|
||||
# See above for usage
|
||||
gen_menu() {
|
||||
local out_file="${1}"
|
||||
local label="${2}"
|
||||
local cfg_prefix="${3}"
|
||||
local base_dir="${4}"
|
||||
local file entry _entry
|
||||
|
||||
# Generate the menuconfig
|
||||
exec >"${out_file}"
|
||||
printf '# %s menu\n' "${label}"
|
||||
printf '# Generated file, do not edit!!!\n'
|
||||
printf '\n'
|
||||
for entry in `get_components ${base_dir}`; do
|
||||
file="${base_dir}/${entry}.in"
|
||||
_entry=$(printf '%s\n' "${entry}" |"${sed}" -r -s -e 's/[-.+]/_/g;')
|
||||
printf 'menuconfig %s_%s\n' "${cfg_prefix}" "${_entry}"
|
||||
printf ' bool\n'
|
||||
if "${grep}" -E '^## default' ${file} >/dev/null 2>&1; then
|
||||
"${sed}" -r -e '/^## default ?/!d; s/^## default ?/ default /;' ${file} 2>/dev/null
|
||||
fi
|
||||
printf ' prompt "%s"\n' "${entry}"
|
||||
"${sed}" -r -e '/^## depends on /!d; s/^## / /;' ${file} 2>/dev/null
|
||||
"${sed}" -r -e '/^## select /!d; s/^## / /;' ${file} 2>/dev/null
|
||||
if "${grep}" -E '^## help' ${file} >/dev/null 2>&1; then
|
||||
printf ' help\n'
|
||||
"${sed}" -r -e '/^## help ?/!d; s/^## help ?/ /;' ${file} 2>/dev/null
|
||||
fi
|
||||
printf '\n'
|
||||
printf 'if %s_%s\n' "${cfg_prefix}" "${_entry}"
|
||||
printf 'source "%s"\n' "${file}"
|
||||
printf 'endif\n'
|
||||
printf '\n'
|
||||
done
|
||||
}
|
||||
|
||||
mkdir -p config/gen
|
||||
gen_choice config/gen/arch.in "Target Architecture" "ARCH" "config/arch"
|
||||
gen_choice config/gen/kernel.in "Target OS" "KERNEL" "config/kernel"
|
||||
gen_choice config/gen/cc.in "Compiler" "CC" "config/cc"
|
||||
gen_choice config/gen/binutils.in "Binutils" "BINUTILS" "config/binutils"
|
||||
gen_choice config/gen/libc.in "C library" "LIBC" "config/libc"
|
||||
gen_menu config/gen/debug.in "Debug facilities" "DEBUG" "config/debug"
|
||||
gen_menu config/gen/companion_tools.in "Companion tools" "COMP_TOOLS" "config/companion_tools"
|
32
maintainer/kconfig-choice.template
Normal file
32
maintainer/kconfig-choice.template
Normal file
@ -0,0 +1,32 @@
|
||||
#
|
||||
# DO NOT EDIT! This file is automatically generated.
|
||||
#
|
||||
|
||||
choice GEN_CHOICE_@@prefix@@
|
||||
bool "@@label@@"
|
||||
|
||||
#!foreach choice
|
||||
config @@prefix@@_@@kcfg_choice@@
|
||||
bool "@@choice@@"
|
||||
#!foreach dependency
|
||||
@@depline@@
|
||||
#!end-foreach
|
||||
help
|
||||
#!foreach help
|
||||
@@helpline@@
|
||||
#!end-foreach
|
||||
|
||||
#!end-foreach
|
||||
endchoice
|
||||
|
||||
config @@prefix@@
|
||||
string
|
||||
#!foreach choice
|
||||
default "@@choice@@" if @@prefix@@_@@kcfg_choice@@
|
||||
#!end-foreach
|
||||
|
||||
#!foreach choice
|
||||
if @@prefix@@_@@kcfg_choice@@
|
||||
source "config/@@dir@@/@@choice@@.in"
|
||||
endif
|
||||
#!end-foreach
|
20
maintainer/kconfig-menu.template
Normal file
20
maintainer/kconfig-menu.template
Normal file
@ -0,0 +1,20 @@
|
||||
#
|
||||
# DO NOT EDIT! This file is automatically generated.
|
||||
#
|
||||
|
||||
#!foreach choice
|
||||
menuconfig @@prefix@@_@@kcfg_choice@@
|
||||
bool "@@choice@@"
|
||||
#!foreach dependency
|
||||
@@depline@@
|
||||
#!end-foreach
|
||||
help
|
||||
#!foreach help
|
||||
@@helpline@@
|
||||
#!end-foreach
|
||||
|
||||
if @@prefix@@_@@kcfg_choice@@
|
||||
source "config/@@dir@@/@@choice@@.in"
|
||||
endif
|
||||
|
||||
#!end-foreach
|
285
maintainer/kconfig-versions.template
Normal file
285
maintainer/kconfig-versions.template
Normal file
@ -0,0 +1,285 @@
|
||||
#
|
||||
# DO NOT EDIT! This file is automatically generated.
|
||||
#
|
||||
|
||||
# The component directory name
|
||||
config @@masterpfx@@_DIR_NAME
|
||||
string
|
||||
default "@@master@@"
|
||||
|
||||
#!if [ "@@nforks@@" -ge 2 ]
|
||||
|
||||
choice
|
||||
bool "Show @@master@@ versions from"
|
||||
|
||||
#!foreach fork
|
||||
config @@masterpfx@@_USE_@@originpfx@@
|
||||
bool "@@origin@@"
|
||||
#!if [ -n "@@only_obsolete@@" ]
|
||||
depends on OBSOLETE
|
||||
#!end-if
|
||||
#!if [ -n "@@only_experimental@@" ]
|
||||
depends on EXPERIMENTAL
|
||||
#!end-if
|
||||
help
|
||||
@@originhelp@@
|
||||
|
||||
#!end-foreach
|
||||
endchoice
|
||||
|
||||
config @@masterpfx@@_USE
|
||||
string
|
||||
#!foreach fork
|
||||
default "@@pfx@@" if @@masterpfx@@_USE_@@originpfx@@
|
||||
#!end-foreach
|
||||
|
||||
#!end-if
|
||||
|
||||
#!foreach fork
|
||||
#!if [ "@@nforks@@" -ge 2 ]
|
||||
if @@masterpfx@@_USE_@@originpfx@@
|
||||
#!end-if
|
||||
|
||||
config @@pfx@@_PKG_NAME
|
||||
string
|
||||
default "@@pkg_name@@"
|
||||
|
||||
#!// If a project makes official releases, using "bleeding edge"
|
||||
#!// from a development repository is experimental. However, there
|
||||
#!// are projects that consider its HEAD a "rolling release". For
|
||||
#!// those, checking out from a repository is the regular method.
|
||||
choice
|
||||
bool "Source of @@pkg_label@@"
|
||||
|
||||
#!if [ -n "@@all_versions@@" ]
|
||||
config @@pfx@@_SRC_RELEASE
|
||||
bool "Released tarball"
|
||||
help
|
||||
Download a released tarball.
|
||||
|
||||
#!end-if
|
||||
config @@pfx@@_SRC_DEVEL
|
||||
bool "Vendor/custom repository"
|
||||
#!if [ -n "@@all_versions@@" ]
|
||||
depends on EXPERIMENTAL
|
||||
#!end-if
|
||||
help
|
||||
Check out from a repository.
|
||||
#!if [ -n "@@repository@@" ]
|
||||
Default is the vendor repository at @@repository_url@@
|
||||
#!end-if
|
||||
|
||||
if @@pfx@@_SRC_DEVEL
|
||||
|
||||
choice
|
||||
bool "VCS type"
|
||||
#!if [ -n "@@repository@@" ]
|
||||
default @@pfx@@_DEVEL_VCS_@@vcs@@
|
||||
#!end-if
|
||||
help
|
||||
Version control system from which the sources will be checked out.
|
||||
The default value points to the development repository for @@pkg_label@@.
|
||||
|
||||
config @@pfx@@_DEVEL_VCS_git
|
||||
bool "Git"
|
||||
|
||||
config @@pfx@@_DEVEL_VCS_svn
|
||||
bool "Subversion"
|
||||
|
||||
config @@pfx@@_DEVEL_VCS_hg
|
||||
bool "Mercurial"
|
||||
|
||||
config @@pfx@@_DEVEL_VCS_cvs
|
||||
bool "CVS"
|
||||
|
||||
endchoice
|
||||
|
||||
config @@pfx@@_DEVEL_VCS
|
||||
string
|
||||
default "git" if @@pfx@@_DEVEL_VCS_git
|
||||
default "svn" if @@pfx@@_DEVEL_VCS_svn
|
||||
default "hg" if @@pfx@@_DEVEL_VCS_hg
|
||||
default "cvs" if @@pfx@@_DEVEL_VCS_cvs
|
||||
|
||||
config @@pfx@@_DEVEL_URL
|
||||
string "Repository URL"
|
||||
#!if [ -n "@@repository@@" ]
|
||||
default "@@repository_url@@"
|
||||
#!end-if
|
||||
help
|
||||
Repository URL.
|
||||
|
||||
For CVS, enter both the value of CVS root and the module name, separated
|
||||
by a space.
|
||||
|
||||
config @@pfx@@_DEVEL_BRANCH
|
||||
string "Branch/tag to check out"
|
||||
default "@@repository_branch@@"
|
||||
help
|
||||
Git/CVS: branch/tag to be checked out
|
||||
Subversion: directories to append to the repository URL (i.e. branch or tag)
|
||||
Mercurial: official guide recommends using separate repositories to maintain
|
||||
stable branches. You likely need to change the repository URL, rather than
|
||||
enter anything here.
|
||||
|
||||
config @@pfx@@_DEVEL_REVISION
|
||||
string "Revision/changeset"
|
||||
default "@@repository_cset@@"
|
||||
help
|
||||
Commit ID or revision ID to check out.
|
||||
Git: enter the commit ID to check out a commit.
|
||||
CVS: enter the date in "YYYY/MM/DD HH:MM:SS" format (UTC) to check out certain date.
|
||||
Subversion: enter the revision.
|
||||
|
||||
config @@pfx@@_DEVEL_SUBDIR
|
||||
string "Subdirectory in the repository"
|
||||
default "@@repository_subdir@@"
|
||||
help
|
||||
Some projects produce releases not from the top-level directory in the
|
||||
repository, but rather from some subdirectory. If it is the case,
|
||||
specify this subdirectory here.
|
||||
|
||||
config @@pfx@@_DEVEL_BOOTSTRAP
|
||||
string "Bootstrap command"
|
||||
default "@@bootstrap@@"
|
||||
help
|
||||
Command to run after checking out. Some projects don't store the generated
|
||||
files like configure script in the repository; building out of a checked out
|
||||
working copy thus requires some extra steps. Separate multiple shell commands
|
||||
with &&.
|
||||
|
||||
endif
|
||||
|
||||
config @@pfx@@_SRC_CUSTOM
|
||||
bool "Custom location"
|
||||
depends on EXPERIMENTAL
|
||||
help
|
||||
Custom directory or tarball.
|
||||
|
||||
if @@pfx@@_SRC_CUSTOM
|
||||
|
||||
config @@pfx@@_CUSTOM_LOCATION
|
||||
string "Custom source location"
|
||||
help
|
||||
Path to the directory or tarball with the sources.
|
||||
|
||||
endif
|
||||
|
||||
endchoice
|
||||
|
||||
#!if [ -n "@@all_versions@@" ]
|
||||
config @@pfx@@_MIRRORS
|
||||
string
|
||||
default "@@mirrors@@"
|
||||
|
||||
config @@pfx@@_ARCHIVE_FILENAME
|
||||
string
|
||||
default "@@archive_filename@@"
|
||||
|
||||
config @@pfx@@_ARCHIVE_DIRNAME
|
||||
string
|
||||
default "@@archive_dirname@@"
|
||||
|
||||
#!end-if
|
||||
|
||||
#!// Below, we explicitly select all milestones to which a given version
|
||||
#!// compares greater-or-equal. We don't select just the latest applicable
|
||||
#!// (and letting milestones chain-select each other, with FOO_6_or_later
|
||||
#!// selecting FOO_5_or_later and so on) so that we can handle the cases
|
||||
#!// where we need to identify a range of releases on a branch, for example,
|
||||
#!// "all FOO releases after 4.9.1 but before 4.9.3".
|
||||
#!//
|
||||
#!if [ -n "@@all_versions@@" -a -z "@@versionlocked@@" ]
|
||||
choice
|
||||
bool "Version of @@pkg_label@@"
|
||||
help
|
||||
For a released version, select the version of @@pkg_label@@ to download
|
||||
and build. For sources out of the vendor repository or from a custom
|
||||
location, select the version that describes those custom sources.
|
||||
Based on this version, crosstool-NG may apply some version-specific
|
||||
quirks while building @@pkg_label@@.
|
||||
|
||||
config @@pfx@@_VERY_NEW
|
||||
bool "newer than anything below"
|
||||
depends on EXPERIMENTAL
|
||||
depends on @@pfx@@_SRC_DEVEL || @@pfx@@_SRC_CUSTOM
|
||||
#!foreach milestone
|
||||
select @@masterpfx@@_@@ms_kcfg@@_or_later
|
||||
depends on !@@masterpfx@@_REQUIRE_@@ms_kcfg@@_or_older
|
||||
#!end-foreach
|
||||
|
||||
#!foreach version
|
||||
config @@pfx@@_V_@@kcfg@@
|
||||
bool "@@ver@@@@ver_postfix@@"
|
||||
#!if [ "@@obsolete@@" = "yes" ]
|
||||
depends on OBSOLETE
|
||||
#!end-if
|
||||
#!if [ "@@experimental@@" = "yes" ]
|
||||
depends on EXPERIMENTAL
|
||||
#!end-if
|
||||
#!foreach milestone
|
||||
#!if [ "@@version_cmp_milestone@@" -ge 0 ]
|
||||
select @@masterpfx@@_@@ms_kcfg@@_or_later
|
||||
#!end-if
|
||||
#!if [ "@@version_cmp_milestone@@" -le 0 ]
|
||||
select @@masterpfx@@_@@ms_kcfg@@_or_older
|
||||
#!end-if
|
||||
#!if [ "@@version_cmp_milestone@@" -gt 0 ]
|
||||
depends on !@@masterpfx@@_REQUIRE_@@ms_kcfg@@_or_older
|
||||
#!end-if
|
||||
#!if [ "@@version_cmp_milestone@@" -lt 0 ]
|
||||
depends on !@@masterpfx@@_REQUIRE_@@ms_kcfg@@_or_later
|
||||
#!end-if
|
||||
#!end-foreach
|
||||
|
||||
#!end-foreach
|
||||
config @@pfx@@_VERY_OLD
|
||||
bool "older than anything above"
|
||||
depends on OBSOLETE && EXPERIMENTAL
|
||||
depends on @@pfx@@_SRC_DEVEL || @@pfx@@_SRC_CUSTOM
|
||||
#!foreach milestone
|
||||
depends on !@@masterpfx@@_REQUIRE_@@ms_kcfg@@_or_later
|
||||
#!end-foreach
|
||||
|
||||
endchoice
|
||||
#!end-if
|
||||
|
||||
#!if [ -n "@@versionlocked@@" ]
|
||||
#!foreach version
|
||||
config @@pfx@@_V_@@kcfg@@
|
||||
def_bool y
|
||||
depends on @@versionlocked@@_V_@@kcfg@@
|
||||
|
||||
#!end-foreach
|
||||
#!end-if
|
||||
|
||||
config @@pfx@@_VERSION
|
||||
string
|
||||
#!foreach version
|
||||
default "@@ver@@" if @@pfx@@_V_@@kcfg@@
|
||||
#!end-foreach
|
||||
default "unknown"
|
||||
|
||||
#!if [ "@@nforks@@" -ge 2 ]
|
||||
endif
|
||||
#!end-if
|
||||
|
||||
#!end-foreach
|
||||
|
||||
#!foreach milestone
|
||||
#!// Milestones selected by a chosen version of this package
|
||||
config @@masterpfx@@_@@ms_kcfg@@_or_later
|
||||
bool
|
||||
|
||||
config @@masterpfx@@_@@ms_kcfg@@_or_older
|
||||
bool
|
||||
|
||||
#!// Milestone requirements selected by other packages that restrict
|
||||
#!// the choices in this package
|
||||
config @@masterpfx@@_REQUIRE_@@ms_kcfg@@_or_later
|
||||
bool
|
||||
|
||||
config @@masterpfx@@_REQUIRE_@@ms_kcfg@@_or_older
|
||||
bool
|
||||
|
||||
#!end-foreach
|
6
packages/GNU.help
Normal file
6
packages/GNU.help
Normal file
@ -0,0 +1,6 @@
|
||||
GNU (which is a recursive acronym for "GNU's Not Unix") provides GNU binutils,
|
||||
GNU C Compiler (gcc), GNU debugger (gdb) and many other utilities. GNU is
|
||||
considered the master source for these packages.
|
||||
|
||||
You should select "GNU" here unless you definitely know that you need some version
|
||||
from another source.
|
4
packages/Linaro.help
Normal file
4
packages/Linaro.help
Normal file
@ -0,0 +1,4 @@
|
||||
Linaro is maintaining some advanced/more stable/experimental versions
|
||||
of binutils, gcc, glibc and gdb, especially for the ARM architecture.
|
||||
These versions contain some changes that are not (yet?) merged into
|
||||
their respective upstream repositories.
|
3
packages/android-ndk/package.desc
Normal file
3
packages/android-ndk/package.desc
Normal file
@ -0,0 +1,3 @@
|
||||
# We don't support building bionic (yet) so no official repository
|
||||
mirrors='https://dl.google.com/android/repository'
|
||||
archive_filename='@{pkg_name}-@{version}-linux-x86_64'
|
1
packages/android-ndk/r10e/version.desc
Normal file
1
packages/android-ndk/r10e/version.desc
Normal file
@ -0,0 +1 @@
|
||||
obsolete='yes'
|
1
packages/android-ndk/r11c/version.desc
Normal file
1
packages/android-ndk/r11c/version.desc
Normal file
@ -0,0 +1 @@
|
||||
obsolete='yes'
|
1
packages/android-ndk/r12b/version.desc
Normal file
1
packages/android-ndk/r12b/version.desc
Normal file
@ -0,0 +1 @@
|
||||
obsolete='yes'
|
1
packages/android-ndk/r13b/version.desc
Normal file
1
packages/android-ndk/r13b/version.desc
Normal file
@ -0,0 +1 @@
|
||||
obsolete='yes'
|
0
packages/android-ndk/r14b/version.desc
Normal file
0
packages/android-ndk/r14b/version.desc
Normal file
0
packages/android-ndk/r15b/version.desc
Normal file
0
packages/android-ndk/r15b/version.desc
Normal file
0
packages/autoconf/2.65/version.desc
vendored
Normal file
0
packages/autoconf/2.65/version.desc
vendored
Normal file
0
packages/autoconf/2.69/version.desc
vendored
Normal file
0
packages/autoconf/2.69/version.desc
vendored
Normal file
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user