From b5da3a60e101a26dbcbd6a8565343c281ba464f8 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Sat, 18 Oct 2014 14:15:05 +0200 Subject: Moved yosys-config.in to misc/ --- misc/yosys-config.in | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 misc/yosys-config.in (limited to 'misc') diff --git a/misc/yosys-config.in b/misc/yosys-config.in new file mode 100644 index 000000000..8f8dd06c6 --- /dev/null +++ b/misc/yosys-config.in @@ -0,0 +1,97 @@ +#!/bin/bash + +help() { + { + echo "" + echo "Usage: $0 [-exec] [--prefix pf] args.." + echo "" + echo "Replecement args:" + echo " --cxx @CXX@" + echo " --cxxflags $( echo '@CXXFLAGS@' | fmt -w60 | sed ':a;N;$!ba;s/\n/ \\\n /g' )" + echo " --ldflags @LDFLAGS@" + echo " --ldlibs @LDLIBS@" + echo " --bindir @BINDIR@" + echo " --datdir @DATDIR@" + echo "" + echo "All other args are passed trhough as they are." + echo "" + echo "Use -exec to call a command instead of generating output. Example usage:" + echo "" + echo " yosys-config --exec --cxx --cxxflags --ldflags -o plugin.so -shared plugin.cc --ldlibs" + echo "" + echo "Use --prefix to change the prefix for the special args from '--' to" + echo "something else. Example:" + echo "" + echo " yosys-config --prefix @ bindir: @bindir" + echo "" + echo "The args --bindir and --datdir can be directly followed by a slash and" + echo "additional text. Example:" + echo "" + echo " yosys-config --datdir/simlib.v" + echo "" + } >&2 + exit 1 +} + +if [ $# -eq 0 ]; then + help +fi + +prefix="--" +get_prefix=false +exec_mode=false +declare -a tokens=() + +for opt; do + if $get_prefix; then + prefix="$opt" + get_prefix=false + continue + fi + case "$opt" in + "$prefix"cxx) + tokens=( "${tokens[@]}" @CXX@ ) ;; + "$prefix"cxxflags) + tokens=( "${tokens[@]}" @CXXFLAGS@ ) ;; + "$prefix"ldflags) + tokens=( "${tokens[@]}" @LDFLAGS@ ) ;; + "$prefix"ldlibs) + tokens=( "${tokens[@]}" @LDLIBS@ ) ;; + "$prefix"bindir) + tokens=( "${tokens[@]}" '@BINDIR@' ) ;; + "$prefix"datdir) + tokens=( "${tokens[@]}" '@DATDIR@' ) ;; + "$prefix"bindir/*) + tokens=( "${tokens[@]}" '@BINDIR@'"${opt#${prefix}bindir}" ) ;; + "$prefix"datdir/*) + tokens=( "${tokens[@]}" '@DATDIR@'"${opt#${prefix}datdir}" ) ;; + --help|-\?|-h) + if [ ${#tokens[@]} -eq 0 ]; then + help + else + tokens=( "${tokens[@]}" "$opt" ) + fi ;; + --exec) + if [ ${#tokens[@]} -eq 0 ]; then + exec_mode=true + else + tokens=( "${tokens[@]}" "$opt" ) + fi ;; + --prefix) + if [ ${#tokens[@]} -eq 0 ]; then + get_prefix=true + else + tokens=( "${tokens[@]}" "$opt" ) + fi ;; + *) + tokens=( "${tokens[@]}" "$opt" ) + esac +done + +if $exec_mode; then + exec "${tokens[@]}" +fi + +echo "${tokens[@]}" +exit 0 + -- cgit v1.2.3