diff options
author | Clifford Wolf <clifford@clifford.at> | 2014-10-18 14:15:05 +0200 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2014-10-18 14:15:05 +0200 |
commit | b5da3a60e101a26dbcbd6a8565343c281ba464f8 (patch) | |
tree | 216edd58a985a78e1a4827a630236b7cd0403c1e /misc | |
parent | c321b419d45be8c25bac671df776a779da78b090 (diff) | |
download | yosys-b5da3a60e101a26dbcbd6a8565343c281ba464f8.tar.gz yosys-b5da3a60e101a26dbcbd6a8565343c281ba464f8.tar.bz2 yosys-b5da3a60e101a26dbcbd6a8565343c281ba464f8.zip |
Moved yosys-config.in to misc/
Diffstat (limited to 'misc')
-rw-r--r-- | misc/yosys-config.in | 97 |
1 files changed, 97 insertions, 0 deletions
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 + |