Commit graph

88 commits

Author SHA1 Message Date
rillig
df0fea5684 Fixed PKGLOCALEDIR. 2006-12-07 14:21:33 +00:00
joerg
7f279c69f3 DESTDIR support. 2006-11-02 17:59:37 +00:00
wiz
6e04e5815b Update to 2.3:
Changes in version 2.3, 2006-06-05:

* GLR grammars should now use `YYRECOVERING ()' instead of `YYRECOVERING',
  for compatibility with LALR(1) grammars.

* It is now documented that any definition of YYSTYPE or YYLTYPE should
  be to a type name that does not contain parentheses or brackets.
2006-06-11 13:59:56 +00:00
wiz
3c99032bea Update to 2.2:
* The distribution terms for all Bison-generated parsers now permit
  using the parsers in nonfree programs.  Previously, this permission
  was granted only for Bison-generated LALR(1) parsers in C.

* %name-prefix changes the namespace name in C++ outputs.

* The C++ parsers export their token_type.

* Bison now allows multiple %union declarations, and concatenates
  their contents together.

* New warning: unused values
  Right-hand side symbols whose values are not used are reported,
  if the symbols have destructors.  For instance:

     exp: exp "?" exp ":" exp { $1 ? $1 : $3; }
	| exp "+" exp
	;

  will trigger a warning about $$ and $5 in the first rule, and $3 in
  the second ($1 is copied to $$ by the default rule).  This example
  most likely contains three errors, and could be rewritten as:

     exp: exp "?" exp ":" exp
	    { $$ = $1 ? $3 : $5; free ($1 ? $5 : $3); free ($1); }
	| exp "+" exp
	    { $$ = $1 ? $1 : $3; if ($1) free ($3); }
	;

  However, if the original actions were really intended, memory leaks
  and all, the warnings can be suppressed by letting Bison believe the
  values are used, e.g.:

     exp: exp "?" exp ":" exp { $1 ? $1 : $3; (void) ($$, $5); }
	| exp "+" exp         { $$ = $1; (void) $3; }
	;

  If there are mid-rule actions, the warning is issued if no action
  uses it.  The following triggers no warning: $1 and $3 are used.

     exp: exp { push ($1); } '+' exp { push ($3); sum (); };

  The warning is intended to help catching lost values and memory leaks.
  If a value is ignored, its associated memory typically is not reclaimed.

* %destructor vs. YYABORT, YYACCEPT, and YYERROR.
  Destructors are now called when user code invokes YYABORT, YYACCEPT,
  and YYERROR, for all objects on the stack, other than objects
  corresponding to the right-hand side of the current rule.

* %expect, %expect-rr
  Incorrect numbers of expected conflicts are now actual errors,
  instead of warnings.

* GLR, YACC parsers.
  The %parse-params are available in the destructors (and the
  experimental printers) as per the documentation.

* Bison now warns if it finds a stray `$' or `@' in an action.

* %require "VERSION"
  This specifies that the grammar file depends on features implemented
  in Bison version VERSION or higher.

* lalr1.cc: The token and value types are now class members.
  The tokens were defined as free form enums and cpp macros.  YYSTYPE
  was defined as a free form union.  They are now class members:
  tokens are enumerations of the `yy::parser::token' struct, and the
  semantic values have the `yy::parser::semantic_type' type.

  If you do not want or can update to this scheme, the directive
  `%define "global_tokens_and_yystype" "1"' triggers the global
  definition of tokens and YYSTYPE.  This change is suitable both
  for previous releases of Bison, and this one.

  If you wish to update, then make sure older version of Bison will
  fail using `%require "2.2"'.

* DJGPP support added.
2006-05-30 19:25:23 +00:00
minskim
c7be41f87c Enable NLS on every platform. Previously it was enabled on Linux but not
on NetBSD.  Bump PKGREVISION.
2006-05-03 15:41:05 +00:00
jlam
1cf9796f3c BUILD_USE_MSGFMT and USE_MSGFMT_PLURALS are obsolete. Replace with
USE_TOOLS+=msgfmt.
2006-04-13 18:23:29 +00:00
jlam
792529759b * Honor PKGINFODIR.
* List the info files directly in the PLIST.
2006-03-30 03:44:41 +00:00
cjep
c516d019a1 Add a USE_LANGUAGES variable. Noted by Georg Schwarz in private e-mail 2005-11-07 10:05:50 +00:00
wiz
a56deee5f1 Update to 2.1:
Changes in version 2.1, 2005-09-16:

* Bison-generated parsers now support the translation of diagnostics like
  "syntax error" into languages other than English.  The default
  language is still English.  For details, please see the new
  Internationalization section of the Bison manual.  Software
  distributors should also see the new PACKAGING file.  Thanks to
  Bruno Haible for this new feature.

* Wording in the Bison-generated parsers has been changed slightly to
  simplify translation.  In particular, the message "memory exhausted"
  has replaced "parser stack overflow", as the old message was not
  always accurate for modern Bison-generated parsers.

* Destructors are now called when the parser aborts, for all symbols left
  behind on the stack.  Also, the start symbol is now destroyed after a
  successful parse.  In both cases, the behavior was formerly inconsistent.

* When generating verbose diagnostics, Bison-generated parsers no longer
  quote the literal strings associated with tokens.  For example, for
  a syntax error associated with '%token NUM "number"' they might
  print 'syntax error, unexpected number' instead of 'syntax error,
  unexpected "number"'.
2005-09-30 13:51:25 +00:00
jlam
e26a9ed756 Drop support for TOOLS_DEPMETHOD.<tool>. The new way to specify a
run-time dependency (DEPENDS) on a tool is to append a ":run" modifier
to the tool name, e.g.,

	USE_TOOLS+=	perl:run

Tools without modifiers or with an explicit ":build" modifier will
cause build dependencies (BUILD_DEPENDS) on those tools to be added.
This makes the notation a bit more compact.
2005-07-15 20:14:02 +00:00
jlam
0e11add0b7 Remove explicit dependencies on the GNU m4 package with USE_TOOLS+=m4
and appropriate TOOLS_DEPMETHOD.gm4 settings.
2005-05-22 20:51:45 +00:00
tv
f816d81489 Remove USE_BUILDLINK3 and NO_BUILDLINK; these are no longer used. 2005-04-11 21:44:48 +00:00
agc
4a3d2f7ce2 Add RMD160 digests. 2005-02-23 22:24:08 +00:00
wiz
45fa316d57 Update to 2.0:
Changes in version 2.0, 2004-12-25:

* Possibly-incompatible changes

  - Bison-generated parsers no longer default to using the alloca function
    (when available) to extend the parser stack, due to widespread
    problems in unchecked stack-overflow detection.  You can "#define
    YYSTACK_USE_ALLOCA 1" to require the use of alloca, but please read
    the manual to determine safe values for YYMAXDEPTH in that case.

  - Error token location.
    During error recovery, the location of the syntax error is updated
    to cover the whole sequence covered by the error token: it includes
    the shifted symbols thrown away during the first part of the error
    recovery, and the lookahead rejected during the second part.

  - Semicolon changes:
    . Stray semicolons are no longer allowed at the start of a grammar.
    . Semicolons are now required after in-grammar declarations.

  - Unescaped newlines are no longer allowed in character constants or
    string literals.  They were never portable, and GCC 3.4.0 has
    dropped support for them.  Better diagnostics are now generated if
    forget a closing quote.

  - NUL bytes are no longer allowed in Bison string literals, unfortunately.

* New features

  - GLR grammars now support locations.

  - New directive: %initial-action.
    This directive allows the user to run arbitrary code (including
    initializing @$) from yyparse before parsing starts.

  - A new directive "%expect-rr N" specifies the expected number of
    reduce/reduce conflicts in GLR parsers.

  - %token numbers can now be hexadecimal integers, e.g., `%token FOO 0x12d'.
    This is a GNU extension.

  - The option `--report=lookahead' was changed to `--report=look-ahead'.
    The old spelling still works, but is not documented and will be
    removed.

  - Experimental %destructor support has been added to lalr1.cc.

  - New configure option --disable-yacc, to disable installation of the
    yacc command and -ly library introduced in 1.875 for POSIX conformance.

* Bug fixes

  - For now, %expect-count violations are now just warnings, not errors.
    This is for compatibility with Bison 1.75 and earlier (when there are
    reduce/reduce conflicts) and with Bison 1.30 and earlier (when there
    are too many or too few shift/reduce conflicts).  However, in future
    versions of Bison we plan to improve the %expect machinery so that
    these violations will become errors again.

  - Within Bison itself, numbers (e.g., goto numbers) are no longer
    arbitrarily limited to 16-bit counts.

  - Semicolons are now allowed before "|" in grammar rules, as POSIX requires.
2005-02-18 14:41:38 +00:00
jlam
412b59de79 Move hacks from package Makefile to hacks.mk. 2004-11-14 07:24:37 +00:00
sketch
41f4e37942 Remove optimisations when compiling with sunpro to avoid issues with
quotearg_buffer_restyled().  Google suggests this function has issues
with other non-gcc compilers using optimisation as well.

Notable fixes include net/libIDL's parser.y
2004-11-02 17:42:13 +00:00
dmcmahill
f58ced0a66 remove this. use USE_GNU_TOOLS+= yacc instead or a BUILD_DEPENDS 2004-03-12 22:38:18 +00:00
dmcmahill
fb3bbea193 add bl3 file 2004-03-12 02:54:50 +00:00
seb
689189ef2d Remove info files entries from PLIST file. 2004-02-13 08:26:03 +00:00
jlam
68b3a91985 bl3ify 2004-01-20 22:24:35 +00:00
seb
8d15907ec2 USE_NEW_TEXINFO is unnecessary now. 2003-08-09 10:38:23 +00:00
heinz
5a6edbfaad add TEST_TARGET 2003-08-09 07:33:27 +00:00
grant
91f00f1cbc s/netbsd.org/NetBSD.org/ 2003-07-17 21:21:03 +00:00
seb
2cc5045c97 Convert to USE_NEW_TEXINFO. 2003-06-19 21:48:04 +00:00
jmc
9617179b08 Remove this...Due to unclear Packages.txt even though BUILD_DEPENDS is in
buildlink2 evidently we're not supposed to use it that way..
2003-03-08 22:24:36 +00:00
jmc
1ad9075a0d Add a buildlink2 script for bison 2003-03-08 21:37:47 +00:00
wiz
dac4037e6b Undo last -- adding stamp-vti to AUTOMAKE_PATTERNS in bsd.pkg.mk fixes this correctly. 2003-01-20 16:27:41 +00:00
wiz
b3e20cad1a According to Craig Eales (PR 19933), bison requires texinfo-4.2.
This really should not happen because of texinfo-override, but since
this seems not to work, add TEXINFO_REQD for now.
2003-01-20 14:46:14 +00:00
cjep
f88af8fabb Append ";" after attribute. From bison CVS repository.
This appears to fix a problem when building print/lilypond.

Bump PKGREVISION.
2003-01-04 20:16:10 +00:00
cjep
bbabdca4c2 Update of devel/bison to version 1.875.
Differences to the plain GNU version in the packages collection:
* We do not install the shell wrapper "yacc" (it is supplied because
POSIX requires it and we already have a yacc command).

Changes since 1.75:
* Numerous bug fixes and improvements including:
   + Compatibility (with 1.35 and Solaris yacc) changes;
   + Fixes for GCC 3.2.1;
   + Use Yacc style of conflict reports;
   + Fix bug where error locations were not being recorded correctly;
   + Fix bad interaction with flex 2.5.23.

Please see the ChangeLog file supplied with the bison source code
for more details.
2003-01-01 13:15:47 +00:00
cjep
66f0c03b35 Upgrade of devel/bison to 1.75.
Changes since 1.35 (too many to mention here, please see the
ChangeLog in the bison source distribution):
* GNU m4 is now required.
* Various bug fixes.
* intl source removed.

NetBSD pkgsrc changes:
* Change of maintainer thorpej->cjep.
2002-12-15 19:41:24 +00:00
jlam
0869c901c5 The gettext fix has migrated to gettext-lib/buildlink2.mk 2002-12-02 22:15:16 +00:00
grant
bb2abd1ee2 USE_PKGLOCALEDIR. 2002-11-30 14:04:01 +00:00
wiz
b26d694d72 Remove CONFIGURE_ARGS that has no effect.
Luckily buildlink2 does it for us.
2002-10-05 04:17:59 +00:00
jlam
1ffdbcf408 buildlink1 -> buildlink2 2002-09-21 00:59:26 +00:00
wiz
074dc48a57 Do not go looking for libiconv -- otherwise it may be found but no
dependency recorded.
2002-08-22 09:31:59 +00:00
wiz
ea0732de3a Fix comment. 2002-05-10 00:15:59 +00:00
jlam
449c87aac6 Find libintl in ${BUILDLINK_DIR}. It turns out that the base system's
libintl.so won't pass the test for a GNU gettext, so building bison will
build the supplied gettext anyway, but there won't be a dependency on
gettext-lib in any case, so the bookkeeping is correct.  If there isn't a
libintl.so in the base system, then bison will use the libintl.so installed
by gettext-lib, so again the bookkeeping will be correct.

So the short of it is that this is strongly buildlinked again.
2002-04-10 13:51:23 +00:00
wiz
b3a73be2d3 Update to 1.35:
* C Skeleton
  Some projects use Bison's C parser with C++ compilers, and define
  YYSTYPE as a class.  The recent adjustment of C parsers for data
  alignment and 64 bit architectures made this impossible.

  Because for the time being no real solution for C++ parser
  generation exists, kludges were implemented in the parser to
  maintain this use.  In the future, when Bison has C++ parsers, this
  kludge will be disabled.

  This kludge also addresses some C++ problems when the stack was
  extended.
2002-03-29 09:42:51 +00:00
tron
23964d20cf Add a comment why "TZ" is set. 2002-03-22 19:28:31 +00:00
tron
73fcf226e0 Set "TZ" to "GMT" to avoid unnecessary rebuild of the info files which
fails under NetBSD 1.5.3. Problem noted by Matthew Green in PR pkg/15954.
2002-03-22 19:27:40 +00:00
tron
c3a6f4ced4 Use smaller ".tar.bz2" source archive. 2002-03-20 11:32:23 +00:00
wiz
8686edaecd Update to 1.34. Changes since 1.32:
* File name clashes are detected
  $ bison foo.y -d -o foo.x
  fatal error: header and parser would be both named `foo.x'

* A missing `;' ending a rule triggers a warning
  In accordance with POSIX, and in agreement with other
  Yacc implementations, Bison will mandate this semicolon in a near
  future.  This eases the implementation of a Bison parser of Bison
  grammars by making this grammar LALR(1) instead of LR(2).  To
  facilitate the transition, this release introduces a warning.

* Revert the C++ namespace changes introduced in 1.31, as they caused too
  many portability hassles.

* Fix test suite portability problems.

* Fix C++ issues
  Groff could not be compiled for the definition of size_t was lacking
  under some conditions.

* Catch invalid @n
  As is done with $n.
2002-03-19 11:01:59 +00:00
seb
66111c6d15 Introduce new framework for handling info files generation and installation.
Summary of changes:
- removal of USE_GTEXINFO
- addition of mk/texinfo.mk
- inclusion of this file in package Makefiles requiring it
- `install-info' substituted by `${INSTALL_INFO}' in PLISTs
- tuning of mk/bsd.pkg.mk:
    removal of USE_GTEXINFO
    INSTALL_INFO added to PLIST_SUBST
    `${INSTALL_INFO}' replace `install-info' in target rules
    print-PLIST target now generate `${INSTALL_INFO}' instead of `install-info'
- a couple of new patch files added for a handful of packages
- setting of the TEXINFO_OVERRIDE "switch" in packages Makefiles requiring it
- devel/cssc marked requiring texinfo 4.0
- a couple of packages Makefiles were tuned with respect of INFO_FILES and
  makeinfo command usage

See -newly added by this commit- section 10.24 of Packages.txt for
further information.
2002-02-18 15:14:00 +00:00
tron
5d82ebfd9f Make sure that locale files go into the correct directory under Solaris. 2002-02-10 19:05:56 +00:00
wiz
d03244894b Remove sha1 for patch-ae, which doesn't exist. 2002-02-08 09:35:17 +00:00
mjl
04c1aeaf83 Update to bison 1.32
* Fix Yacc output file names
* Portability fixes
* Italian, Dutch, Swedish, Russian translation
* Many Bug Fixes
* Use of alloca in parsers
* When the generated parser lacks debugging code, YYDEBUG is now 0
  (as POSIX requires) instead of being undefined.
* User Actions
  Bison has always permitted actions such as { $$ = $1 }: it adds the
  ending semicolon.  Now if in Yacc compatibility mode, the semicolon
  is no longer output: one has to write { $$ = $1; }.
* Better C++ compliance
  The output parsers try to respect C++ namespaces.
* Reduced Grammars
  Fixed bugs when reporting useless nonterminals.
* 64 bit hosts
  The parsers work properly on 64 bit hosts.
* Error messages
  Some calls to strerror resulted in scrambled or missing error messages.
* The verbose report includes the rule line numbers.
* Rule line numbers are fixed in traces.
* Parse errors
  Verbose parse error messages from the parsers are better looking.
* Fixed parser memory leaks.
  When the generated parser was using malloc to extend its stacks, the
  previous allocations were not freed.
* Fixed verbose output file.
  Some newlines were missing.
  Some conflicts in state descriptions were missing.
* Fixed conflict report.
  Option -v was needed to get the result.
* Fixed incorrect processing of some invalid input.
* Fixed CPP guards: 9foo.h uses BISON_9FOO_H instead of 9FOO_H.
* %token MY_EOF 0 is supported.
  Before, MY_EOF was silently renumbered as 257.
* doc/refcard.tex is updated.
* %output, %file-prefix, %name-prefix.
* --output
* `--defines' and `--graph' have now an optionnal argument which is the
  output file name. `-d' and `-g' do not change, they do not take any
  argument.
* Portability fixes.
* The output file does not define const, as this caused problems when used
  with common autoconfiguration schemes.  If you still use ancient compilers
  that lack const, compile with the equivalent of the C compiler option
  `-Dconst='.  autoconf's AC_C_CONST macro provides one way to do this.
* Added `-g' and `--graph'.
* The input and the output files has automatically a similar extension.
* NLS support updated; should hopefully be less troublesome.
* Added the old Bison reference card.
* Added `--locations' and `%locations'.
* Added `-S' and `--skeleton'.
* `%raw', `-r', `--raw' is disabled.
* Special characters are escaped when output.  This solves the problems
  of the #line lines with path names including backslashes.
* New directives.
* @$ Automatic location tracking.
2002-01-31 13:43:57 +00:00
zuntum
c72c1cf5f9 Move pkg/ files into package's toplevel directory 2001-11-01 00:57:41 +00:00
jlam
626ce7ca93 Don't patch automake source files and remove dependency on automake. 2001-07-15 16:34:57 +00:00
skrll
e127114f1f Fix build problems on clean/-current system seen by Frank van der Linden
<fvdl@netbsd.org>

Add BUILD_DEPENDS for automake and define BUILD_USES_GETTEXT_M4
2001-06-25 15:34:47 +00:00