summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorRobert Schwebel <r.schwebel@pengutronix.de>2008-02-12 08:50:21 +0000
committerRobert Schwebel <r.schwebel@pengutronix.de>2008-02-12 08:50:21 +0000
commit103b9a2e0f184f754e8e2173809b5a24f40a70a4 (patch)
tree3768a5b6e2918663c91f978257b1d7dc6c1202c6 /bin
parent85e1f724982a211c9c4ad71c27625c3f4e18905e (diff)
downloadptxdist-103b9a2e0f184f754e8e2173809b5a24f40a70a4.tar.gz
ptxdist-103b9a2e0f184f754e8e2173809b5a24f40a70a4.tar.xz
* ptxdist: add platformconfig
git-svn-id: https://svn.pengutronix.de/svn/ptxdist/trunks/ptxdist-trunk@7745 33e552b5-05e3-0310-8538-816dae2090ed
Diffstat (limited to 'bin')
-rwxr-xr-xbin/ptxdist54
1 files changed, 49 insertions, 5 deletions
diff --git a/bin/ptxdist b/bin/ptxdist
index 48e0db654..6f32d9435 100755
--- a/bin/ptxdist
+++ b/bin/ptxdist
@@ -149,6 +149,13 @@ check_ptxconfig() {
exit 1
fi
+ if [ ! -e "${PTXDIST_WORKSPACE}/platformconfig" ]; then
+ echo
+ echo "${PROMPT}error: 'platformconfig' is missing"
+ echo
+ exit 1
+ fi
+
PTXCONF_CONFIGFILE_VERSION=$(. "${PTXCONFIG}" && echo ${PTXCONF_CONFIGFILE_VERSION})
check_version "${FULLVERSION}" "${PTXCONF_CONFIGFILE_VERSION}"
@@ -249,7 +256,7 @@ check_compiler() {
fi
fi
- compiler_should=$(. "${PTXCONFIG}" && echo ${PTXCONF_CROSSCHAIN_CHECK})
+ compiler_should=$(. "${PLATFORMCONFIG}" && echo ${PTXCONF_CROSSCHAIN_CHECK})
compiler_is=$($compiler -dumpversion 2> /dev/null)
if [ -z "$compiler_is" ]; then
@@ -352,20 +359,20 @@ check_dirs() {
# prefix
if [ -z "$PREFIX" ]; then
- ptxconf_prefix=$(. "${PTXCONFIG}" && echo ${PTXCONF_PREFIX})
+ ptxconf_prefix=$(. "${PLATFORMCONFIG}" && echo ${PTXCONF_PREFIX})
else
ptxconf_prefix=${PREFIX}
fi
- ptxconf_prefix_host=$(. "${PTXCONFIG}" && echo ${PTXCONF_HOST_PREFIX})
- ptxconf_prefix_cross=$(. "${PTXCONFIG}" && echo ${PTXCONF_CROSS_PREFIX})
+ ptxconf_prefix_host=$(. "${PLATFORMCONFIG}" && echo ${PTXCONF_HOST_PREFIX})
+ ptxconf_prefix_cross=$(. "${PLATFORMCONFIG}" && echo ${PTXCONF_CROSS_PREFIX})
for dir in "${ptxconf_prefix_host}" "${ptxconf_prefix_cross}"; do
check_dirs_prefix "${dir}"
done
# sysroot - keep in sync with rules/pre/Rules.make -> SYSROOT
- ptxconf_gnu_target=$(. "${PTXCONFIG}" && echo ${PTXCONF_GNU_TARGET})
+ ptxconf_gnu_target=$(. "${PLATFORMCONFIG}" && echo ${PTXCONF_GNU_TARGET})
mkdir -p "${ptxconf_prefix}/sysroot/${ptxconf_gnu_target}"/{,usr/}{lib,{,s}bin,include,{,share/}man/man{1,2,3,4,5,6,7,8,9}}
# builddirs
@@ -726,6 +733,40 @@ oldconfig_action() {
"${PTXDIST_TOPDIR}/scripts/kconfig/conf" -s "${PTXDIST_KCONFIG}"
}
+#
+# platform config
+#
+platformconfig() {
+ local tmpdir kconfig
+
+ echo
+ echo "${PROMPT}platformconfig..."
+
+ if [ -e "${PTXDIST_WORKSPACE}/platforms/Kconfig" ]; then
+ kconfig=${PTXDIST_WORKSPACE}/platforms/Kconfig
+ else
+ kconfig=${PTXDIST_TOPDIR}/platforms/Kconfig
+ fi
+
+ tmpdir=`mktemp -d /tmp/ptxdist.XXXXXX`
+ pushd $tmpdir > /dev/null
+
+ # prepare everything to make kconfig see it's original environment
+ if [ -e "${PTXDIST_WORKSPACE}/platformconfig" ]; then
+ cp "$(readlink -f ${PTXDIST_WORKSPACE}/platformconfig)" .config
+ fi
+
+ # store boardsetup
+ "${PTXDIST_TOPDIR}/scripts/kconfig/mconf" "${kconfig}"
+ echo "${PROMPT}saving ${PTXDIST_WORKSPACE}/platformconfig"
+ cp .config "$(readlink -f ${PTXDIST_WORKSPACE}/platformconfig)"
+
+ popd > /dev/null
+ echo "${PROMPT}cleanup..."
+ rm -fr $tmpdir
+}
+
+
projects() {
local ifs_old projects projectdir
echo
@@ -1074,6 +1115,9 @@ while [ "$#" != "0" ]; do
fi
exit $?
;;
+ platformconfig) shift
+ platformconfig
+ ;;
prepare) shift
check_ptxconfig
check_native