From 02ff44fe4d963f290347568833846b7d8b5db854 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Wed, 07 Nov 2012 19:54:36 -0500 Subject: Improve the archtab generation kludge. --- (limited to 'testsetup.sh') diff --git a/testsetup.sh b/testsetup.sh deleted file mode 100755 index 4599fcb..0000000 --- a/testsetup.sh +++ /dev/null @@ -1,169 +0,0 @@ -#! /bin/sh -# -# opkhelper -# testsetup -# Generates configuration and data files to test opkhelper. -# -# Copyright (C) 2012 Patrick "P. J." McDermott -# -# 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, see . - -prefix='' -datadir='' -sysconfdir='' - -long_opts_with_args=' -prefix -libdir -' - -main() -{ - parse_options "${@}" - shift ${optind} - - [ -z "${prefix}" ] && prefix='/usr/local' - [ -z "${libdir}" ] && libdir="${prefix}/share" - - if [ ${#} -ne 0 ]; then - print_usage - exit 1 - fi - - printf 'Generating build system architecture data...\n' - - archtab="${libdir}/archtab" - mkdir -p "${archtab}" || \ - error 'Cannot make architecture table directory' - - # core-linux-eglibc - mkdir "${archtab}/core-linux-eglibc" || \ - error 'Cannot make architecture table directory' - printf 'x86_64-unknown-linux-gnu\n' \ - >"${archtab}/core-linux-eglibc/autoconf" || \ - error 'Cannot write architecture data' - printf 'x86\ni386\n' \ - >"${archtab}/core-linux-eglibc/kbuild" || \ - error 'Cannot write architecture data' - - # i686-linux-eglibc - mkdir "${archtab}/i686-linux-eglibc" || \ - error 'Cannot make architecture table directory' - printf 'i686-unknown-linux-gnu\n' \ - >"${archtab}/i686-linux-eglibc/autoconf" || \ - error 'Cannot write architecture data' - printf 'x86\ni386\n' \ - >"${archtab}/i686-linux-eglibc/kbuild" || \ - error 'Cannot write architecture data' - - # i686-kfreebsd-eglibc - mkdir "${archtab}/i686-kfreebsd-eglibc" || \ - error 'Cannot make architecture table directory' - printf 'i686-unknown-freebsd9.0\n' \ - >"${archtab}/i686-kfreebsd-eglibc/autoconf" || \ - error 'Cannot write architecture data' - printf 'x86\ni386\n' \ - >"${archtab}/i686-kfreebsd-eglibc/kbuild" || \ - error 'Cannot write architecture data' - - # cortexa8-linux-eglibc - mkdir "${archtab}/cortexa8-linux-eglibc" || \ - error 'Cannot make architecture table directory' - printf 'arm-cortex_a8-linux-gnueabi\n' \ - >"${archtab}/cortexa8-linux-eglibc/autoconf" || \ - error 'Cannot write architecture data' - printf 'arm\n' \ - >"${archtab}/cortexa8-linux-eglibc/kbuild" || \ - error 'Cannot write architecture data' - - printf 'Done!\n' -} - -print_usage() -{ - printf 'Usage: %s [OPTION]... build-arch build-plat\n' "${0}" -} - -parse_options() -{ - optind=0 - - for _opt; do - - # Handle arguments of "--opt arg" options. - if [ -n "${_prev}" ]; then - eval "${_prev}"=\"\$\{_opt\}\" - _prev='' - continue - fi - - # Detect "--opt=arg" and "--opt arg" options. - case "${_opt}" in - *=*) - _optarg="${_opt#*=}" - _opt="${_opt%=*}" - _optarg_set='true' - ;; - *) - _optarg_set='false' - ;; - esac - - # Handle short and long options. - case "${_opt}" in - --) - break - ;; - esac - - # Anything beyond this point should be a long option. - case "${_opt}" in - --*) - _opt="${_opt#--}" - _opts="${long_opts_with_args}" - _type='option' - ;; - *) - break - ;; - esac - - grep "^${_opt}\$" >/dev/null 2>&1 <&2 - exit 1 - fi - if ${_optarg_set}; then - _opt="$(printf '%s' "${_opt}" | tr -c '[a-z0-9]' '_')" - eval "${_opt}"=\"\$\{_optarg\}\" - else - _prev="${_opt}" - fi - - optind=$(($optind + 1)) - - done -} - -error() -{ - printf '%s: Error: ' "${0##*/}" - printf "${@}" - printf '\n' - exit 1 -} - -main "${@}" -- cgit v0.9.1