Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • tools/xcw/bin/helenos-bld-config

    rd548fc0 rb501de7  
    11#!/bin/bash
    22#
    3 # Copyright (c) 2019 Jiri Svoboda
     3# Copyright (c) 2018 Jiri Svoboda
    44# All rights reserved.
    55#
     
    3232#
    3333
    34 XCW="$(dirname "$0")"
    35 BUILD_ROOT="$(dirname "$(dirname "$(dirname "$XCW")")")"
     34SRC_ROOT="$(dirname "$0")/../../.."
    3635if [ -z "$EXPORT_DIR" ]; then
    37         EXPORT_DIR="$BUILD_ROOT/export"
     36        EXPORT_DIR="$SRC_ROOT/uspace/export"
    3837fi
     38MAKEFILE_COMMON="$EXPORT_DIR"/Makefile.common
     39MAKEFILE_CONFIG="$EXPORT_DIR"/Makefile.config
     40CONFIG_MK="$EXPORT_DIR"/config.mk
    3941
    40 HELENOS_EXPORT_ROOT="$EXPORT_DIR"
     42# Extract simple 'name = value' variable definition from Makefile
     43function extract_field
     44{
     45        field_name="$1"
     46        file_name="$2"
    4147
    42 source "${EXPORT_DIR}/config.sh"
     48        sed -n "s/^$field_name \\{0,1\\}= \\{0,1\\}\\(.*\\)$/\\1/p" "$file_name" | \
     49            sed "s/^\"//" | sed "s/\"$//"
     50}
    4351
    4452case ".$1" in
    45 *.--install-dir) echo "$HELENOS_OVERLAY_PATH";;
     53(.--cc) extract_field "CC" "$MAKEFILE_COMMON";;
     54(.--ld) extract_field "LD" "$MAKEFILE_COMMON";;
     55(.--uarch) extract_field "UARCH" "$MAKEFILE_CONFIG";;
     56(.--endian)
     57        UARCH=`extract_field "UARCH" "$MAKEFILE_CONFIG"`
     58        ENDIAN=`extract_field "ENDIANESS" "$SRC_ROOT/uspace/lib/c/arch/$UARCH/Makefile.common"`
     59        echo "__${ENDIAN}__"
     60        ;;
     61*.--cflags) extract_field "HELENOS_CFLAGS" "$CONFIG_MK";;
     62*.--ldflags) extract_field "HELENOS_LDFLAGS" "$CONFIG_MK";;
     63*.--install-dir) echo "$(realpath "$SRC_ROOT/uspace/overlay")";;
    4664(*)
    4765        echo "Unknown option $1" >&2
    4866        echo "Usage: helenos-bld-config <option>" >&2
    49         echo "        --install-dir Print directory where files should be installed" >&2
     67        echo "        --cc" >&2
     68        echo "        --ld" >&2
     69        echo "        --uarch" >&2
     70        echo "        --endian" >&2
     71        echo "        --cflags" >&2
     72        echo "        --ldflags" >&2
     73        echo "        --install-dir" >&2
    5074        exit 1;;
    5175esac
Note: See TracChangeset for help on using the changeset viewer.