summaryrefslogtreecommitdiffstats
path: root/lib/archplat.sh
diff options
context:
space:
mode:
Diffstat (limited to 'lib/archplat.sh')
-rw-r--r--lib/archplat.sh147
1 files changed, 0 insertions, 147 deletions
diff --git a/lib/archplat.sh b/lib/archplat.sh
deleted file mode 100644
index d7b1424..0000000
--- a/lib/archplat.sh
+++ /dev/null
@@ -1,147 +0,0 @@
-# Functions for matching architectures and platforms
-#
-# Copyright (C) 2012 Patrick "P. J." McDermott
-#
-# This file is part of the ProteanOS Development Kit.
-#
-# The ProteanOS Development Kit 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 3 of the
-# License, or (at your option) any later version.
-#
-# The ProteanOS Development Kit 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 the ProteanOS Development Kit. If not, see
-# <http://www.gnu.org/licenses/>.
-
-[ "x${_ARCHPLAT_SM+set}" = 'xset' ] && return 0
-_ARCHPLAT_SM=1
-
-match_arch()
-{
- local arch="${1}"
- local arch_field="${2}"
- local a=
- local a_ere=
-
- for a in ${arch_field}; do
-
- # "all" == "all"
- if [ "${arch}" = 'all' ]; then
- if [ "${a}" = 'all' ]; then
- return 0
- else
- continue
- fi
- fi
-
- # "foo-bar-baz" == "any"
- if [ "${a}" = 'any' ]; then
- return 0
- fi
-
- # Generate an ERE to match hyphenated architectures.
- a_ere="$(printf '%s\n' "${a}" | sed \
- 's/^any-/[^-]+-/;s/-any-/-[^-]+-/g;s/-any$/-[^-]+/g')"
-
- # "foo-bar-baz" == "foo-any-any"
- if echo "${arch}" | grep -E "${a_ere}" >/dev/null 2>&1; then
- return 0
- fi
-
- done
-
- # Nothing matched.
- return 1
-}
-
-match_plat()
-{
- local plat="${1}"
- local plat_field="${2}"
- local p=
-
- for p in ${plat_field}; do
- if [ "x${plat}" = 'xall' ]; then
- if [ "x${p}" = 'xall' ]; then
- return 0
- else
- continue
- fi
- fi
- if [ "x${p}" = 'xany' ]; then
- return 0
- fi
- if [ "x${p}" = "x${plat}" ]; then
- return 0
- fi
- done
-
- return 1
-}
-
-arch_is_concerned()
-{
- local host_arch="${1}"
- local arches="${2}"
- local arch=
- local not_arch=
- local seen_arch=
-
- if [ "x${arches}" = 'x' ]; then
- return 0
- else
- seen_arch=1
- for arch in ${arches}; do
- not_arch="${arch#!}"
- if [ "x${not_arch}" != "x${arch}" ]; then
- if match_arch "${host_arch}" "${not_arch}"
- then
- seen_arch=1
- break
- elif [ "x${host_arch}" != 'xall' ]; then
- seen_arch=0
- fi
- elif match_arch "${host_arch}" "${arch}"; then
- seen_arch=0
- break
- fi
- done
- return ${seen_arch}
- fi
-}
-
-plat_is_concerned()
-{
- local host_plat="${1}"
- local plats="${2}"
- local plat=
- local not_plat=
- local seen_plat=
-
- if [ "x${plats}" = 'x' ]; then
- return 0
- else
- seen_plat=1
- for plat in ${plats}; do
- not_plat="${plat#!}"
- if [ "x${not_plat}" != "x${plat}" ]; then
- if match_plat "${host_plat}" "${not_plat}"
- then
- seen_plat=1
- break
- elif [ "x${host_plat}" != 'xall' ]; then
- seen_plat=0
- fi
- elif match_plat "${host_plat}" "${plat}"; then
- seen_plat=0
- break
- fi
- done
- return ${seen_plat}
- fi
-}