summaryrefslogtreecommitdiffstats
path: root/scripts/lib/ptxd_lib_00-init.sh
blob: 4ea01f93f3b46b2bbf9111d86d2f8bfd67e8a830 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/bin/bash
#
# Copyright (C) 2009 by Marc Kleine-Budde <mkl@pengutronix.de>
#               2010 by Michael Olbrich <m.olbrich@pengutronix.de>
#
# See CREDITS for details about who has contributed to this project.
#
# For further information about the PTXdist project and license conditions
# see the README file.
#


#
# figure out if we use a production or base BSP
#
# out:
# sysroot_base_platform
#
ptxd_init_get_sysroot_base_platform() {
    local prefix

    if prefix="$(ptxd_get_ptxconf PTXCONF_PROJECT_USE_PRODUCTION_PREFIX)"; then
	local platform
	if platform="$(ptxd_get_ptxconf PTXCONF_PLATFORM)"; then
	    local platform_version="$(ptxd_get_ptxconf PTXCONF_PLATFORM_VERSION)"
	    prefix="${prefix}/platform-${platform}${platform_version}"
	else
	    : # nothing to do for non-platform BSPs
	fi
    elif prefix="$(ptxd_get_ptxconf PTXCONF_PROJECT_USE_LOCAL_PLATFORM_NAME)"; then
	prefix="${PTXDIST_WORKSPACE}/${prefix}"
    else
	return
    fi

    # FIXME: HACK we hardcode "sysroot-target" here
    sysroot_base_platform="${prefix}/sysroot-target"

    if [ ! -d "${sysroot_base_platform}" ]; then
	ptxd_bailout "$(ptxd_print_path "${prefix}") is not a valid platform."
    fi

    PTXDIST_BASE_PLATFORMDIR="${prefix}"
    export PTXDIST_BASE_PLATFORMDIR
}


#
#
#
ptxd_init_ptxdist_path() {
    if [ "${PTXDIST_WORKSPACE}" != "${PTXDIST_PLATFORMCONFIGDIR}" ]; then
	PTXDIST_PATH="${PTXDIST_WORKSPACE}:${PTXDIST_PLATFORMCONFIGDIR}:${PTXDIST_TOPDIR}:"
    else
	PTXDIST_PATH="${PTXDIST_WORKSPACE}:${PTXDIST_TOPDIR}:"
    fi
    export PTXDIST_PATH

    PTXDIST_PATH_PATCHES="${PTXDIST_PATH//://patches:}"
    export PTXDIST_PATH_PATCHES

    PTXDIST_PATH_RULES="${PTXDIST_PATH//://rules:}"
    export PTXDIST_PATH_RULES

    PTXDIST_PATH_PRERULES="${PTXDIST_PATH_RULES//://pre:}"
    export PTXDIST_PATH_PRERULES

    PTXDIST_PATH_POSTRULES="${PTXDIST_PATH_RULES//://post:}"
    export PTXDIST_PATH_POSTRULES

    PTXDIST_PATH_TEMPLATES="${PTXDIST_PATH_RULES//://templates:}"
    export PTXDIST_PATH_TEMPLATES

    PTXDIST_PATH_PLATFORMS="${PTXDIST_PATH//://platforms:}"
    export PTXDIST_PATH_PLATFORMS

    PTXDIST_PATH_SCRIPTS="${PTXDIST_PATH//://scripts:}"
    export PTXDIST_PATH_SCRIPTS

    PTXDIST_PATH_PLATFORMS_XLBSP="${PTXDIST_PATH_PLATFORMS//://xlbsp:}"
    export PTXDIST_PATH_PLATFORMS_XLBSP
}


#
# initialize vars needed by PTXdist's libs
#
ptxd_lib_init() {
    ptxd_init_ptxdist_path
}
ptxd_lib_init