From 4b5afd7eab8304c8e0e2f09e2dd1f5006b9e71b0 Mon Sep 17 00:00:00 2001 From: Rene Wagner Date: Fri, 30 Jun 2006 01:54:51 +0200 Subject: [PATCH] Add a setup utility. Also move some more configuration bits around. Signed-off-by: Rene Wagner --- .../conf/distro/familiar-0.8.4.conf | 9 +- .../conf/distro/familiar.conf | 13 +- .../conf/distro/preferred-opie-versions.inc | 22 +- setup/build-env.sh | 191 ++++++++++++++++++ 4 files changed, 222 insertions(+), 13 deletions(-) create mode 100755 setup/build-env.sh diff --git a/org.handhelds.familiar/conf/distro/familiar-0.8.4.conf b/org.handhelds.familiar/conf/distro/familiar-0.8.4.conf index 102ab34..9cb6580 100644 --- a/org.handhelds.familiar/conf/distro/familiar-0.8.4.conf +++ b/org.handhelds.familiar/conf/distro/familiar-0.8.4.conf @@ -16,10 +16,6 @@ DISTRO_TYPE = "release" CVSDATE = 20051212 -PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial" -PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc:gcc-cross" -PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}g++:gcc-cross" - PREFERRED_PROVIDER_virtual/libiconv=glibc PREFERRED_PROVIDER_virtual/libintl=glibc PREFERRED_PROVIDER_x11=diet-x11 @@ -68,10 +64,9 @@ ZKERNEL_VERSION_tosa = "2.4" # Opie # -PREFERRED_PROVIDERS += " virtual/libqpe:libqpe-opie" -PREFERRED_VERSION_qte = "2.3.10" - +QTE_VERSION = "2.3.10" OPIE_VERSION = "1.2.1" + include conf/distro/preferred-opie-versions.inc # diff --git a/org.handhelds.familiar/conf/distro/familiar.conf b/org.handhelds.familiar/conf/distro/familiar.conf index c03605f..d30cbf3 100644 --- a/org.handhelds.familiar/conf/distro/familiar.conf +++ b/org.handhelds.familiar/conf/distro/familiar.conf @@ -17,9 +17,16 @@ ENABLE_BINARY_LOCALE_GENERATION ?= "1" PARALLEL_INSTALL_MODULES = "1" UDEV_DEVFS_RULES = "1" -DISTRO_CHECK := "${@bb.data.getVar("DISTRO_VERSION",d,1) or bb.fatal('Remove this line or set a dummy DISTRO_VERSION if you really want to build an unversioned distro')}" - -include classes/multimachine.inc +# toolchain preferences +PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial" +PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross" +PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross" # be more verbose by default BBINCLUDELOGS ?= "yes" + +include classes/multimachine.inc + + +# this file isn't supposed to be used directly +DISTRO_CHECK := "${@bb.data.getVar("DISTRO_VERSION",d,1) or bb.fatal('Remove this line or set a dummy DISTRO_VERSION if you really want to build an unversioned distro')}" diff --git a/org.handhelds.familiar/conf/distro/preferred-opie-versions.inc b/org.handhelds.familiar/conf/distro/preferred-opie-versions.inc index ff608f2..c6c8d58 100644 --- a/org.handhelds.familiar/conf/distro/preferred-opie-versions.inc +++ b/org.handhelds.familiar/conf/distro/preferred-opie-versions.inc @@ -1,14 +1,28 @@ # -# A list of applications. -# - +# Default versions +QTE_VERSION ?= "2.3.10" +OPIE_VERSION ?= "1.2.1" +PALMTOP_USE_MULTITHREADED_QT ?= "no" +# +# +# Opie libraries +# +PREFERRED_PROVIDER_virtual/qte = '${@base_conditional("PALMTOP_USE_MULTITHREADED_QT", "yes", "qte-mt", "qte", d)}' +PREFERRED_PROVIDER_virtual/libqte2 = '${@base_conditional("PALMTOP_USE_MULTITHREADED_QT", "yes", "qte-mt", "qte", d)}' +PREFERRED_PROVIDER_virtual/libqpe = "libqpe-opie" +PREFERRED_PROVIDER_virtual/libqpe1 = "libqpe-opie" +PREFERRED_VERSION_qte-mt = "${QTE_VERSION}" +PREFERRED_VERSION_qte = "${QTE_VERSION}" PREFERRED_VERSION_libopie2 = "${OPIE_VERSION}" PREFERRED_VERSION_libopieobex0 = "${OPIE_VERSION}" PREFERRED_VERSION_libopietooth1 = "${OPIE_VERSION}" PREFERRED_VERSION_libqpe-opie = "${OPIE_VERSION}" PREFERRED_VERSION_libqtaux2 = "${OPIE_VERSION}" PREFERRED_VERSION_libmailwrapper = "${OPIE_VERSION}" +# +# Opie applications +# PREFERRED_VERSION_opie-aboutapplet = "${OPIE_VERSION}" PREFERRED_VERSION_opie-addressbook = "${OPIE_VERSION}" PREFERRED_VERSION_opie-advancedfm = "${OPIE_VERSION}" @@ -68,6 +82,7 @@ PREFERRED_VERSION_opie-homeapplet = "${OPIE_VERSION}" PREFERRED_VERSION_opie-i18n = "${OPIE_VERSION}" PREFERRED_VERSION_opie-lrelease-native = "${OPIE_VERSION}" PREFERRED_VERSION_opie-lupdate-native = "${OPIE_VERSION}" +PREFERRED_VERSION_opie-icon-reload = "${OPIE_VERSION}" PREFERRED_VERSION_opie-irc = "${OPIE_VERSION}" PREFERRED_VERSION_opie-irdaapplet = "${OPIE_VERSION}" PREFERRED_VERSION_opie-jumpx = "${OPIE_VERSION}" @@ -83,6 +98,7 @@ PREFERRED_VERSION_opie-language = "${OPIE_VERSION}" PREFERRED_VERSION_opie-launcher-settings = "${OPIE_VERSION}" PREFERRED_VERSION_opie-libqrsync = "${OPIE_VERSION}" PREFERRED_VERSION_opie-light-and-power = "${OPIE_VERSION}" +PREFERRED_VERSION_opie-lockapplet = "${OPIE_VERSION}" PREFERRED_VERSION_opie-login = "${OPIE_VERSION}" PREFERRED_VERSION_opie-logoutapplet = "${OPIE_VERSION}" PREFERRED_VERSION_opie-mailapplet = "${OPIE_VERSION}" diff --git a/setup/build-env.sh b/setup/build-env.sh new file mode 100755 index 0000000..50d8446 --- /dev/null +++ b/setup/build-env.sh @@ -0,0 +1,191 @@ +#!/bin/sh + +# Familiar Build Setup Script +# +# Copyright (C) 2006 Rene Wagner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +BASE_TITLE="Familiar Build Setup:" +FAMILIAR_RELEASE="0.8.4" + +fatal() { + echo "Fatal: $1" + exit 1 +} + +error() { + zenity --error --text="$1" +} + +abort() { + zenity --info --text="Setup aborted." + exit 1 +} + +which zenity > /dev/null || fatal "You must have zenity installed." + +BASE_DIR=${PWD} +while [ ! -d ${BASE_DIR}/org.handhelds.familiar ]; do + BASE_DIR=`zenity --file-selection --directory --filename=${BASE_DIR} --title="${BASE_TITLE} Select Build Tree Base Directory"` + case $? in + 0) + if [ ! -d ${BASE_DIR}/org.handhelds.familiar ]; then + error "Does not look like a Familiar build tree: ${BASE_DIR}" + fi + ;; + 1) + abort;; + -1) + abort;; + esac +done + +DL_DIR="${BASE_DIR}/downloads" +DL_DIR=`zenity --entry \ + --title="${BASE_TITLE} Downloads Directory" \ + --text="Where do you want downloaded files to be stored?" \ + --entry-text="${DL_DIR}"` +case $? in + 1) + abort;; + -1) + abort;; +esac + +while [ -z "$MACHINE" ]; do +MACHINE=`zenity --list \ + --height=280 \ + --title="${BASE_TITLE} Target Machine" \ + --text="Select a target machine type from the list below:" \ + --column="Name" --column="Description" \ + "h3600" "HP iPAQ h36xx/h37xx/h38xx Series" \ + "h3900" "HP iPAQ h39xx/h51xx/h54xx/h55xx Series" \ + "h2200" "HP iPAQ h22xx Series" \ + "ipaq-pxa270" "HP iPAQ hx4700 Series" \ + "h6300" "HP iPAQ h63xx Series"` +case $? in + 0) + if [ -z "$MACHINE" ]; then + error "Please select a target machine." + fi + ;; + 1) + abort;; + -1) + abort;; +esac +done + +while [ -z "$GRAPHICAL_ENV" ]; do +GRAPHICAL_ENV=`zenity --list \ + --height=280 \ + --title="${BASE_TITLE} Primary Graphical Environment" \ + --text="Select the graphical environment you want to build for from the list below:" \ + --column="Name" --column="Description" \ + "gpe" "The GPE Palmtop Environment. X11 based." \ + "opie" "The Open Palmtop Integrated Environment. Qt/Embedded based." \ + "any" "No preference. This may break certain things."` +case $? in + 0) + if [ -z "$GRAPHICAL_ENV" ]; then + error "Please select a graphical environment." + fi + ;; + 1) + abort;; + -1) + abort;; +esac +done + +BUILD_DIR="${BASE_DIR}/build-${MACHINE}-${GRAPHICAL_ENV}" +while true; do + BUILD_DIR=`zenity --entry \ + --title="${BASE_TITLE} Build Directory" \ + --text="A build directory will be created for the configuration you selected at the following location:" \ + --entry-text="${BUILD_DIR}"` + case $? in + 1) + abort;; + -1) + abort;; + esac + if [ -z ${BUILD_DIR} ]; then + error "Please specify a build directory." + continue + fi + if [ -d ${BUILD_DIR} ]; then + error "${BUILD_DIR} exists." + continue + fi + + break +done + +mkdir -p ${BUILD_DIR}/conf +CONFFILE="${BUILD_DIR}/conf/auto.conf" +cat > ${CONFFILE} <> ${CONFFILE} <> ${CONFFILE} < ${ENVSCRIPT} <