Date: Tue, 10 Mar 2020 14:20:25 +0000 (UTC) From: Baptiste Daroussin <bapt@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r528172 - in head/Mk: Uses Wrappers Message-ID: <202003101420.02AEKPBf007797@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: bapt Date: Tue Mar 10 14:20:25 2020 New Revision: 528172 URL: https://svnweb.freebsd.org/changeset/ports/528172 Log: Create a bison wrapper on top of base byacc The wrapper deals with various simple incompatibilities between byacc and bison: * first deals with --version which might often be called * --verbose and -v are ignored * normally yacc is called like this: yacc [options] input, but with GNU programs like bison the input can be mixed in the middle of the arguments, unmangle that Add a new 'wrapper' argument to USES=bison use the wrapper Reviewed by: mat Differential Revision: https://reviews.freebsd.org/D24017 Added: head/Mk/Wrappers/bison (contents, props changed) Modified: head/Mk/Uses/bison.mk Modified: head/Mk/Uses/bison.mk ============================================================================== --- head/Mk/Uses/bison.mk Tue Mar 10 14:20:06 2020 (r528171) +++ head/Mk/Uses/bison.mk Tue Mar 10 14:20:25 2020 (r528172) @@ -26,6 +26,8 @@ BUILD_DEPENDS+= ${_BISON_DEPENDS} RUN_DEPENDS+= ${_BISON_DEPENDS} .elif ${bison_ARGS} == "alias" BINARY_ALIAS+= bison=byacc +.elif ${bison_ARGS} == "wrapper" +BINARY_WRAPPERS+= bison .else IGNORE= USES=bison - invalid args: [${bison_ARGS}] specified .endif Added: head/Mk/Wrappers/bison ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/Mk/Wrappers/bison Tue Mar 10 14:20:25 2020 (r528172) @@ -0,0 +1,19 @@ +#!/bin/sh +# +# $FreeBSD$ + +# This wrappers allows to deals build system calling bison with certain long option +# and messing with arguments orders + +case " $@ " in +*" --version "*) echo "bison (GNU bison 3.5.2)" ; exit 0 ;; +esac + +for arg; do + case "$arg" in + *.y) inputfile="$arg" ;; + --verbose|-v) ;; # ignore + *) args="$args $arg" ;; + esac +done +exec byacc -L $args $inputfile
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202003101420.02AEKPBf007797>