From a180cb6af61aec3423a856afec59248ef132a88e Mon Sep 17 00:00:00 2001 From: Niels Thykier Date: Mon, 6 Aug 2018 12:40:25 -0700 Subject: flex (2.6.4-6.2) unstable; urgency=medium MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Non-maintainer upload. [ Ruben Undheim ] * debian/rules: - Fix build with "dpkg-buildpackage -A" by checking if directory exists first (Closes: #898725) [ Niels Thykier ] * debian/control: - Set Rules-Requires-Root (R³) to no as flex does not need/require (fake)root during package build. [dgit import package flex 2.6.4-6.2] --- .mailmap | 50 ++ .travis.yml | 24 + .travis/install-automake.sh | 10 + .travis/install-gettext.sh | 10 + Makefile.am | 26 +- NEWS | 54 ++ README.md | 8 +- configure.ac | 27 +- debian/NEWS.Debian | 55 ++ debian/changelog | 1407 +++++++++++++++++++++++++++++++++++++++ debian/clean | 42 ++ debian/compat | 1 + debian/control | 85 +++ debian/copyright | 582 ++++++++++++++++ debian/flex-doc.doc-base | 23 + debian/flex-doc.docs | 3 + debian/flex-doc.postinst | 208 ++++++ debian/flex-doc.postrm | 180 +++++ debian/flex-doc.prerm | 123 ++++ debian/flex.doc-base | 20 + debian/flex.docs | 7 + debian/flex.examples | 6 + debian/flex.info | 3 + debian/flex.install | 2 + debian/flex.links | 3 + debian/flex.manpages | 1 + debian/flex.postinst | 226 +++++++ debian/flex.prerm | 128 ++++ debian/libfl-dev.docs | 2 + debian/libfl-dev.install | 2 + debian/libfl2.docs | 2 + debian/libfl2.install | 1 + debian/libfl2.symbols | 3 + debian/rules | 113 ++++ debian/scan.l.md5sum | 1 + debian/source/format | 1 + debian/source/lintian-overrides | 1 + debian/upstream/signing-key.asc | 29 + debian/watch | 6 + doc/Makefile.am | 2 +- po/LINGUAS | 25 +- po/uk.po | 975 +++++++++++++++++++++++++++ src/Makefile.am | 4 + src/buf.c | 4 +- src/ccl.c | 7 + src/filter.c | 39 +- src/flex.skl | 6 +- src/flexdef.h | 13 +- src/gen.c | 42 +- src/gettext.h | 2 +- src/libfl.pc.in | 8 + src/main.c | 28 +- src/misc.c | 49 +- src/mkskel.sh | 2 +- src/nfa.c | 2 + src/options.c | 6 + src/options.h | 3 + src/regex.c | 4 - src/scan.c | 93 ++- src/scan.l | 9 +- src/scanopt.c | 105 +-- src/tables.c | 8 +- src/tables_shared.h | 6 - tests/Makefile.am | 26 +- tests/tableopts.am | 52 +- tests/tableopts.sh | 9 +- tests/testwrapper-direct.sh | 2 +- tests/testwrapper.sh | 2 +- 68 files changed, 4716 insertions(+), 292 deletions(-) create mode 100644 .mailmap create mode 100644 .travis.yml create mode 100644 .travis/install-automake.sh create mode 100644 .travis/install-gettext.sh create mode 100644 debian/NEWS.Debian create mode 100644 debian/changelog create mode 100644 debian/clean create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/flex-doc.doc-base create mode 100644 debian/flex-doc.docs create mode 100644 debian/flex-doc.postinst create mode 100644 debian/flex-doc.postrm create mode 100644 debian/flex-doc.prerm create mode 100644 debian/flex.doc-base create mode 100644 debian/flex.docs create mode 100644 debian/flex.examples create mode 100644 debian/flex.info create mode 100644 debian/flex.install create mode 100644 debian/flex.links create mode 100644 debian/flex.manpages create mode 100644 debian/flex.postinst create mode 100644 debian/flex.prerm create mode 100644 debian/libfl-dev.docs create mode 100644 debian/libfl-dev.install create mode 100644 debian/libfl2.docs create mode 100644 debian/libfl2.install create mode 100644 debian/libfl2.symbols create mode 100755 debian/rules create mode 100644 debian/scan.l.md5sum create mode 100644 debian/source/format create mode 100644 debian/source/lintian-overrides create mode 100644 debian/upstream/signing-key.asc create mode 100644 debian/watch create mode 100644 po/uk.po create mode 100644 src/libfl.pc.in diff --git a/.mailmap b/.mailmap new file mode 100644 index 0000000..b8d6b30 --- /dev/null +++ b/.mailmap @@ -0,0 +1,50 @@ +Aaron Stone +Akim Demaille +Alastair Hughes +Alex Kennedy +Alexis La Goutte +Bastian Köcher +Christoph Junghans +Christos Zoulas +Cyril Brulebois +Demi Obenour +Dennis Clarke +Egor Pugin +Elias Pipping +Explorer09 +Hans-Bernhard Broeker +Harald van Dijk +Hugh Sasse +Jaska Uimonen +Jeff Smith +John Millaway +Manoj Srivastava +Mariusz Pluciński +Michael Haubenwallner +Michael McConville +Michael Reed +Michael van Elst +Mightyjo +Mike Frysinger +OBATA Akio +Robert Larice rlar +Robert Larice Robert.Larice Robert Larice +Robert Minsk +Samuel Thibault +Sean McBride +Serguey Parkhomovsky +Simon Sobisch +Stefan Reinauer +Thomas Klausner +Till Varoquaux +Tobias Klauser +Todd C. Miller +Translation Project +Translation Project +Vern Paxson +Will Estes +Yuri +luistung +lukeallardyce +nomis52 +viktor.shepel diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..09cb041 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,24 @@ +language: c + +compiler: + - gcc + +addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - autoconf + - bison + - gcc-6 + - help2man + - lzip + - texinfo + - texlive + +before_script: + - ./.travis/install-gettext.sh + - ./.travis/install-automake.sh + - export PATH=$HOME/bin:$PATH + +script: ./autogen.sh && ./configure && make && make check && make distcheck diff --git a/.travis/install-automake.sh b/.travis/install-automake.sh new file mode 100644 index 0000000..8de30b5 --- /dev/null +++ b/.travis/install-automake.sh @@ -0,0 +1,10 @@ +#!/bin/bash -ex + +wget -nv https://ftp.gnu.org/gnu/automake/automake-1.15.1.tar.gz{,.sig} +gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 94604D37 +gpg2 automake-1.15.1.tar.gz.sig +tar xf automake-1.15.1.tar.gz +cd automake-1.15.1 +./configure --prefix=$HOME +make +make install diff --git a/.travis/install-gettext.sh b/.travis/install-gettext.sh new file mode 100644 index 0000000..ffa8652 --- /dev/null +++ b/.travis/install-gettext.sh @@ -0,0 +1,10 @@ +#!/bin/bash -ex + +wget -nv https://ftp.gnu.org/gnu/gettext/gettext-0.19.8.1.tar.lz{,.sig} +gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D7E69871 +gpg2 gettext-0.19.8.1.tar.lz.sig +tar xf gettext-0.19.8.1.tar.lz +cd gettext-0.19.8.1 +./configure --prefix=$HOME +make +make install diff --git a/Makefile.am b/Makefile.am index 638c549..b3b0810 100644 --- a/Makefile.am +++ b/Makefile.am @@ -49,6 +49,29 @@ SUBDIRS = \ tests \ tools +# Convenience targets to build libfl only +# These are actually wrappers around automake- and libtool-generated targets + +libfl: + cd src && $(MAKE) $(AM_MAKEFLAGS) libfl.la libfl.pc + +install-libfl: + cd src && \ + $(MAKE) $(AM_MAKEFLAGS) lib_LTLIBRARIES=libfl.la \ + pkgconfig_DATA=libfl.pc install-libLTLIBRARIES install-pkgconfigDATA + +uninstall-libfl: + cd src && \ + $(MAKE) $(AM_MAKEFLAGS) \ + lib_LTLIBRARIES=libfl.la pkgconfig_DATA=libfl.pc \ + uninstall-libLTLIBRARIES uninstall-pkgconfigDATA + +# libfl.pc is cleaned via 'distclean' target +clean-libfl: + cd src && \ + $(MAKE) $(AM_MAKEFLAGS) lib_LTLIBRARIES=libfl.la clean-libLTLIBRARIES \ + clean-libtool + # Create the ChangeLog, but only if we're inside a git working directory ChangeLog: $(srcdir)/tools/git2cl @@ -63,4 +86,5 @@ install-exec-hook: cd $(DESTDIR)$(bindir) && \ $(LN_S) -f flex$(EXEEXT) flex++$(EXEEXT) -.PHONY: ChangeLog indent +.PHONY: libfl install-libfl uninstall-libfl clean-libfl \ + ChangeLog indent diff --git a/NEWS b/NEWS index 85d900b..2a8c897 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,59 @@ flex NEWS +* Noteworthy changes in release ?.? (????-??-??) [?] + +** build + +*** Flex now includes its own header before including + system headers so that any system specific features detected by + configure are taken into account during compilation of flex + itself. + +*** The flex build system now includes Makefile targets at the top + level to allow just building and installing libfl. + +*** The flex distribution now includes a file, src/libfl.pc, to allow + using pkgconfig to find out what flags to use when building + against libfl from flex. + +*** Various edge cases, mostly involving out-of-tree builds have been + accounted for in the autotools build system. + +*** A crash during building on NetBSD has been fixed. + +*** Flex is now automatically built by travis-ci. That should increase + the visibility of bugs and help prevent regressions. + +** documentation + +*** a new Ukrainian translation has been submitted from the Translation Project. + +** scanner + +*** Some memory leaks have been fixed. + +*** A long standing bug that effected expressions of the form c{i,j} + where 'c' is a character and {i,j} describes the number of times + to match against 'c' when case sensitivity was turned on has been + fixed. + +*** New option: --backup-file allows setting the name of the file + written containing backing up information. Useful if you need + backing up information from multiple scanners in the same + directory. + +*** flex emits correct line number directives when line numbers refer + to the file containing the line number directives. + +*** The options {no,}yy{get,set}_column are now supported. + +** test + +*** Generating the various tableoptions make rules is now more portable. + +*** Tests of the options -C*f and -C*F will now run correctly on + filesystems that are not case sensitive. + * Noteworthy changes in release 2.6.4 (2017-05-06) [stable] ** build diff --git a/README.md b/README.md index b979b01..b388c07 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ interest: * COPYING - flex's copyright and license. * doc/ - user documentation. * examples/ - containing examples of some possible flex scanners and a - few other things. See the file examples/README for more + few other things. See the file examples/README for more details. * tests/ - regression tests. See TESTS/README for details. * po/ - internationalization support files. @@ -43,7 +43,7 @@ repository: * compiler suite - flex is built with gcc * bash, or a good Bourne-style shell -* m4 - m4 -p needs to work; GNU m4 and a few others are suitable +* m4 - `m4 -P` needs to work; GNU m4 and a few others are suitable * GNU bison; to generate parse.c from parse.y * autoconf; for handling the build system * automake; for Makefile generation @@ -74,12 +74,14 @@ in the top level of the flex source tree. This script calls the various tools needed to get flex ready for the GNU-style configure script to be able to work. -From this point on, building flex follows the usual routine: +From this point on, building flex follows the usual routine: ```bash configure && make && make install ``` +--- + This file is part of flex. This code is derived from software contributed to Berkeley by diff --git a/configure.ac b/configure.ac index 55e774b..5da1844 100644 --- a/configure.ac +++ b/configure.ac @@ -25,10 +25,12 @@ # autoconf requirements and initialization AC_INIT([the fast lexical analyser generator],[2.6.4],[flex-help@lists.sourceforge.net],[flex]) +AC_PREREQ([2.60]) AC_CONFIG_SRCDIR([src/scan.l]) AC_CONFIG_AUX_DIR([build-aux]) +AC_USE_SYSTEM_EXTENSIONS LT_INIT -AM_INIT_AUTOMAKE([1.11.3 -Wno-portability foreign check-news std-options dist-lzip parallel-tests subdir-objects]) +AM_INIT_AUTOMAKE([1.15 -Wno-portability foreign std-options dist-lzip parallel-tests subdir-objects]) AC_CONFIG_HEADER([src/config.h]) AC_CONFIG_LIBOBJ_DIR([lib]) AC_CONFIG_MACRO_DIR([m4]) @@ -38,7 +40,7 @@ AC_SUBST(SHARED_VERSION_INFO) # checks for programs AM_GNU_GETTEXT([external]) -AM_GNU_GETTEXT_VERSION([0.18]) +AM_GNU_GETTEXT_VERSION([0.19.7]) AC_PROG_YACC AS_IF([test "$YACC" != 'bison -y'], [ YACC="\${top_srcdir}/build-aux/missing bison -y" @@ -54,6 +56,9 @@ AC_PROG_LN_S AC_PROG_AWK AC_PROG_INSTALL +pkgconfigdir=${libdir}/pkgconfig +AC_SUBST(pkgconfigdir) + # allow passing a variable `WARNINGFLAGS', # either when invoking `configure', or when invoking `make' # default to something useful if GCC was detected @@ -87,12 +92,25 @@ AC_PATH_PROG([HELP2MAN], help2man, [\${top_srcdir}/build-aux/missing help2man]) AS_IF([test "$HELP2MAN" = "\${top_srcdir}/build-aux/missing help2man"], AC_MSG_WARN(help2man: program not found: building man page will not work) ) +if test "$cross_compiling" = yes; then + FLEXexe='flex$(EXEEXT)' +else + FLEXexe='$(top_builddir)/flex$(EXEEXT)' +fi +AC_SUBST(FLEXexe) AC_PATH_PROGS([TEXI2DVI], [gtexi2dvi texi2dvi], [\${top_srcdir}/build-aux/missing texi2dvi]) AS_IF([test "$TEXI2DVI" = "\${top_srcdir}/build-aux/missing texi2dvi"], AC_MSG_WARN(texi2dvi: program not found: building pdf version of manual will not work) ) +if test "$cross_compiling" = yes; then +FLEXexe='flex$(EXEEXT)' +else +FLEXexe='$(top_builddir)/src/flex$(EXEEXT)' +fi +AC_SUBST(FLEXexe) + # Check for a m4 that supports -P AC_CACHE_CHECK([for m4 that supports -P], [ac_cv_path_M4], @@ -166,9 +184,13 @@ strtol dnl AC_CHECK_FUNCS([dnl pow dnl Used only by "examples/manual/expr" setlocale dnl Needed only if NLS is enabled +reallocarr dnl NetBSD function. Use reallocarray if not available. reallocarray dnl OpenBSD function. We have replacement if not available. ]) +# are we ignoring tests +AM_CONDITIONAL([SKIP_TEST], [ "$(echo $DEB_BUILD_OPTIONS | grep nocheck)" ]) + AC_CONFIG_FILES( Makefile doc/Makefile @@ -176,6 +198,7 @@ examples/Makefile examples/fastwc/Makefile examples/manual/Makefile po/Makefile.in +src/libfl.pc src/Makefile tools/Makefile tests/Makefile diff --git a/debian/NEWS.Debian b/debian/NEWS.Debian new file mode 100644 index 0000000..6e9492b --- /dev/null +++ b/debian/NEWS.Debian @@ -0,0 +1,55 @@ +flex (2.6.1-1.1) unstable; urgency=medium + + In this upload, the flex package drops its dependency on libfl-dev, because + it is impossible to forward the correct architecture constraint. It contains + the FlexLexer.h header and is thus required for using the FlexLexer C++ + interface. Packages using this library need to add libfl-dev to their + Build-Depends. + + -- Helmut Grohne Wed, 23 Nov 2016 13:18:32 +0100 + +flex (2.5.33-7) unstable; urgency=low + + This version of Flex is a major upgrade from previous versions. There + have been extensive changes. These changes require source changes in + lex input files. The new direction flex is taking is to incorporate + new functionality at the expense of POSIX or backward + compatibility. This can also be considered part of the gcc migration + process; flex has been updated (the buggy, rickety set of patches + required to make it work with gcc was dumped in favour of a well + engineered upstream migration). + + Flex scanners are now reenterant, you may have multiple scanners in + the same program with differing sets of defaults, and they play + nicer with modern C and C++ compilers. C++ scanners are compatible + with recent c++ compilers (conform to ANSI C++, gcc 3.2), supports + bison variables yylval and yylloc. Some variables have been + renamed. Flex generates C99 defs now, see YY_TRADITIONAL_FUNC_DEFS. + yylineno is present in all scanners. yylineno is per-buffer in + reentrant scanners. Flex tries its best to output only the relevant + portions of the skeleton when generating a scanner, thus avoiding as + much conditional compilation as possible + + The signature of all functions has changed. flex has new command line + options, and option parsing has changed (now also supports POSIX + conventions optionally). Handles POSIXLY_CORRECT environment + variable. Various i18n translations are included in the + distribution. Flex now works with recent bison versions. The new + scanners do not polllute the global name space, and thus macros that + used to be available to user code are no longer present. + + Flex has gained an extensive new test suite run at build time to test + for regressions. The flip side is that Flex no longer conforms to the POSIX lex + behaviour, and the scanners require conforming implementations when + flex is used in ANSI C mode. Flex has broken backwards + compatibility. This is not a bug, but done deliberately, by + design. + + The package flex-old provides the same behaviour as version 2.5.4a of + Flex. + + Please make sure you are prepared for these changes in Flex + before continuing with its upgrade. + + -- Manoj Srivastava Fri, 31 Oct 2003 21:53:16 -0600 + diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..a99d649 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,1407 @@ +flex (2.6.4-6.2) unstable; urgency=medium + + * Non-maintainer upload. + + [ Ruben Undheim ] + * debian/rules: + - Fix build with "dpkg-buildpackage -A" by checking if directory exists + first (Closes: #898725) + + [ Niels Thykier ] + * debian/control: + - Set Rules-Requires-Root (R³) to no as flex does not need/require + (fake)root during package build. + + -- Niels Thykier Mon, 06 Aug 2018 19:40:25 +0000 + +flex (2.6.4-6.1) unstable; urgency=medium + + * Non-maintainer upload. + * Bug fix: "removal of libfl2 makes files disappear from libfl-dev" (Closes: + #891525), add missing Breaks to match the list of packages in the Replaces + field and remove flex-old Breaks, that package never contained a shared + library. + + -- Laurent Bigonville Mon, 23 Apr 2018 11:53:14 +0200 + +flex (2.6.4-6) unstable; urgency=medium + + * Rolled back the feature test POSIX_C_SOURCE changes. + * Bug fix: "libfl-dev lost libl.a symlink", thanks to Bas Couwenberg + (Closes: #890608). Made sure the link actually did make it to the + .deb + * Bug fix: "Incomplete debian/copyright?", thanks to Chris Lamb (Closes: + #890714). Updated copyright using automation tools + * Bug fix: "missing dependency on libfl2", thanks to Sven Joachim + (Closes: #890743). Updated contreol + * Bug fix: "all amd64 binaries since 2.6.4-1 built with stale skel.c + file", thanks to James Cowgill (Closes: #890703). + + -- Manoj Srivastava Wed, 21 Feb 2018 15:25:10 -0800 + +flex (2.6.4-5) unstable; urgency=medium + + * Added a new libfl2 package. + * Bug fix: "libfl-dev lost libl.a symlink", thanks to Bas Couwenberg + (Closes: #890608). + * Bug fix: "libfl-dev ships shared library", thanks to Adrian Bunk + (Closes: #890599). + + -- Manoj Srivastava Fri, 16 Feb 2018 14:41:08 -0800 + +flex (2.6.4-4) unstable; urgency=medium + + * remove .la file from flex; fixed FTBS for PAM + * Bug fix: "backported commit causes FTBFS (and potentially + miscompilation) of generated files", thanks to Adrian Bunk (Closes: + #890411). + + -- Manoj Srivastava Fri, 16 Feb 2018 12:45:26 -0800 + +flex (2.6.4-3) unstable; urgency=medium + + * Bug fix: "Debian-specific libfl.so linker script causes FTBFS", thanks + to Adrian Bunk (Closes: #890415). + * Bug fix: "Does not provide suitable libfl.a for PIEs", thanks to James + Clarke. I undertand that gcc now builds with PIE (Closes: #870769). + * Bug fix: "libfl_pic.a is not compiled with -fPIC", thanks to Balint + Reczey. We no longer provide that library. (Closes: #837658). + * Bug fix: "Type of yy_n_chars changed to yy_size_t by authors cause bug + in YY_INPUT macro where result argument is tested if < 0; thanks to + gcc's -Werror=type-limits", thanks to calculus@rezozer.net; + the change has been reverted in the new upstream. (Closes: #770161). + + -- Manoj Srivastava Thu, 15 Feb 2018 12:14:50 -0800 + +flex (2.6.4-2) unstable; urgency=medium + + * Added get-orig-source target, and updated the watch file + * Bug fix: "flex FTCBFS: executes host architectue stage1flex during + build", thanks to Helmut Grohne (Closes: #833146). This reinstates + Helmut's original fix. There was a question about not using help2man + in the first place. I considered it; but upstream continues to use + help2man, including it in autoconf. I think Helmut's fix is elegant, + and saves work as flex's options change over time, and is a smaller + delta from upstream. + + -- Manoj Srivastava Tue, 13 Feb 2018 15:25:11 -0800 + +flex (2.6.4-1) unstable; urgency=medium + + * New upstream version. Notable changes + + a segfalt involving yyrestart(NULL) has been fixed + + flex should now handle quoting when mixed with m4 processing correctly + + flex handles `[[' and `]]' correctly + + flex no longer generates non-ANSI code + + more compilation warnings were squashed in generated scanners + + prevented a buffer overflow that could occur when input buffers were + the exact wrong size + + several bug fixes resolved problems introduced in recent flex + versions regarding processing of comments, literals and various + quoting scenarios. + + If the path to m4 was sufficiently long, a buffer overflow could + occur. This has been resolved. The fix also removes dependence on + the constant PATH_MAX. + + Some minor performance enhancements. + + We honor user defined yy_* macros again. We are also more careful + to not leak macro definitions into header files. + + A number of portability fixes were introduced so building flex is + more reliable on more platforms. Additionally, outdated function + calls were removed. + + When building the flex executable itself, %# comments from + flex.skl are removed when generating the C source code array. This + reduces the size of flex. + + Flex can be cross compiled. + * Bug fix: "comparison between signed and unsigned integer expressions", + thanks to Frank Heckenbach. This should be fixed now. (Closes: #835542). + * Bug fix: "Please update homepage in package description", thanks to + Tim Ruehsen (Closes: #851675). + * Bug fix: "Should Suggest: flex-doc", thanks to Yuri D'Elia + (Closes: #856956). + * Stole some commits from 2.6.5 to fix FTBS issues in 2.6.4 release. + + -- Manoj Srivastava Mon, 12 Feb 2018 11:19:29 -0800 + +flex (2.6.1-1.3) unstable; urgency=medium + + * Non-maintainer upload. + * Fix FTBFS on hurd (upstream 7975c43384d766ca12cb3f292754dbdc34168886). + (Closes: 838133). + + -- Christoph Berg Wed, 04 Jan 2017 19:53:51 +0100 + +flex (2.6.1-1.2) unstable; urgency=medium + + * Non-maintainer upload. + * Cherry-pick 1da19feba7c957e0f0af0c3eeadc29e8c82b0ca3, + cf4121fa97abac8aeaa5e08b8fc0b2380228494e and + 8c098febc9a599397921e9b6938b7fb85e38cc7e from upstream to fix comparison + between signed and unsigned integer expressions in generated lexer + (Closes: #835542). + * Fix distribution in last upload's NEWS.Debian. + + -- Christoph Berg Fri, 30 Dec 2016 20:29:41 +0100 + +flex (2.6.1-1.1) unstable; urgency=medium + + * Non-maintainer upload. + * Demote flex dependency on libfl-dev to Recommends. + * Have libfl-dev depend on flex to enforce the same-version constraint. + * Annotate flex Multi-Arch: foreign again (Closes: #840080). + + -- Helmut Grohne Thu, 24 Nov 2016 07:34:27 +0100 + +flex (2.6.1-1) unstable; urgency=low + + * New upstream version. The development of flex ias transitionaing to + github; updated the watch file. + * Bug fix: "CVE-2016-6354: buffer overflow in generated code + (yy_get_next_buffer)", thanks to Salvatore Bonaccorso. The latest + upstream has this bug fixed. (Closes: #832768). + + -- Manoj Srivastava Fri, 29 Jul 2016 18:07:24 -0700 + +flex (2.6.0-11) unstable; urgency=low + + * Cherry pick fix from upstream. + * Bug fix: "n_alloc has wrong value in buf_append function", thanks to + Howard Gong (Closes: #761250). + * Bug fix: "Type of yy_n_chars changed to yy_size_t by authors cause bug + in YY_INPUT macro where result argument is tested if < 0; thanks to + gcc's -Werror=type-limits", thanks to Michal Fita (Closes: + #770161). + + -- Manoj Srivastava Wed, 24 Feb 2016 17:43:41 -0800 + +flex (2.6.0-10) unstable; urgency=low + + * Cherry pick fix from upstream. + * Bug fix: "%option noline generates and error message", thanks to + Arthur Schwarz (Closes: #729693). + * Bug fix: "flex --noline outputs a #line directive", thanks to Arthur + Schwarz (Closes: #729927). + + -- Manoj Srivastava Wed, 24 Feb 2016 14:56:50 -0800 + +flex (2.6.0-9) unstable; urgency=low + + * Updated standards version to 3.9.7. No changes needed. + * Bug fix: "[src:flex] FTCBFS: runs host arch binaries during build", + thanks to Helmut Grohne. Make the tests use either the installed flex + or the newly built flex to generate test soureces, depending on + whether or not we are cross compiling. Also added a build depends flex + Hope this works. This has not broken the common case. (Closes: #762180). + + -- Manoj Srivastava Thu, 18 Feb 2016 12:26:17 -0800 + +flex (2.6.0-8) unstable; urgency=low + + * Bug fix: "flex FTCBFS: runs tests even when DEB_BUILD_OPTIONS contains + nocheck", thanks to Helmut Grohne. Added an AM_CONDITIONAL that tests + DEB_BUILD_OPTIONS in configure.ac, and use that in + tests/Makefile.am. Seems to work fine. (Closes: #812659). + * Bug fix: "runs host arch binaries during build via help2man", thanks + to Helmut Grohne. The change from the previous patch is that the flex + binary now is created in ./src/ (Closes: #762180). + + -- Manoj Srivastava Tue, 16 Feb 2016 21:55:51 -0800 + +flex (2.6.0-7) unstable; urgency=low + + * Bug fix: "C++ style comment in C output", thanks to Tim Rühsen + So, when we applied the upstream patch, it only fixed the skeleton + file, flex.skl, and not the generated files skel.c and scan.c;. Added + a feature branch that fixes the generated files, the need for this + will go away with the next upstream release. I hope. For what it is + worth, the diff in upstream seems to be the same one that was in the + NMU; and I have no explanations for why the -6 would behave diferently + from the NMU. (Closes: #813256). + + -- Manoj Srivastava Sat, 13 Feb 2016 19:21:11 -0800 + +flex (2.6.0-6) unstable; urgency=low + + * Back out the changes made to the experimental branch + * Set the libfl-dev package to be MA: same + + -- Manoj Srivastava Tue, 09 Feb 2016 19:46:02 -0800 + +flex (2.6.0-5) experimental; urgency=low + + * First cut at correcting multi-arch support. flex is MA: foreign, and + libfl-dev is MA: same. flex no longer automatically pulls in + libfl-dev, so at the very least packages using C++ lexers will need to + pull in libfl-dev in build depends. + + -- Manoj Srivastava Mon, 08 Feb 2016 08:26:24 -0800 + +flex (2.6.0-4) unstable; urgency=low + * Bug fix: "C++ style comment in C output", thanks to Tim Rühsen + There is a fix uploaded to deferred by Salvatore Bonaccorso + . I am uploading this fix instead, since this + variant has the same fix applied by a signed cherry pick from + upstream, which will make the upgrade to the next version somewhat + simpler. (Closes: #813256). + * Bug fix: "wrongly declares Multi-Arch:foreign", thanks to Helmut + Grohne. While we discuss the correct solution for this, I have removed + the MA package tags. I am not quite happy with the proposed solution + (swapping names of the packages seems icky, but I'll defer to the + experts if there is no better way) (Closes: #761449). + + -- Manoj Srivastava Fri, 05 Feb 2016 15:41:03 -0800 + +flex (2.6.0-3) unstable; urgency=high + * Revert the help2man fix; it was creating errors in the diff.gz + file. We are now back to being mostly in sync with upstream. + + -- Manoj Srivastava Mon, 25 Jan 2016 18:12:03 -0800 + +flex (2.6.0-2) unstable; urgency=low + + * Revert "[fix-off-by-one-error]: generatred line numbers are off by + one". This brings us in line with upstream; and our fix was not + working anyway. Unfortunately, this still does not resolve #729927. + * Bug fix: "runs host arch binaries during build via help2man", thanks + to Helmut Grohne (Closes: #762180). + + -- Manoj Srivastava Mon, 25 Jan 2016 16:49:34 -0800 + +flex (2.6.0-1) unstable; urgency=low + + * New upstream version i + * Updated Standards version to 3.9.6. No changes needed. + * Updated the VCS-Git field of the control file to use HTTPS transport + * Updated the copyright file to DEP-5 format. + * Reverted to source format 1.0 , and use dgit + + -- Manoj Srivastava Sat, 23 Jan 2016 20:11:32 -0800 + +flex (2.5.39-8) unstable; urgency=low + + * Added a missing build depends on vm-super-minimal, reuired fro + building the pdf documentation, (Closes: #752151). + * Move flex.pdf to the flex-doc package. This makes it possible for the + flex package's contents to not change if texinfo is not installed, + e.g. in the stage1 build profile. Thanks to Peter Pentchev + + * Move the flex-doc build dependencies to B-D-I. Move the TeX Live + dependencies to Build-Depends-Indep and only build the HTML and PDF + documentation if actually requested. This breaks a circular build + dependency by not requiring texlive for the build of the + arch-dependent flex binary packages. (Closes: #749344). + * Bug fix #752151: "pdfetex error about missing cm-super", thanks to + Helmut Grohne and Cyril Brulebois + * Bug fix: #749344" Allow bootstrapping without texlive and + dh-autoreconf", thanks to Peter Pentchev + + -- Manoj Srivastava Fri, 20 Jun 2014 20:58:31 -0700 + +flex (2.5.39-7) unstable; urgency=low + + * dh-autoreconf already depends on all the autotools that it will + attempt to use to rebuild the package's build framework, so remove the + direct (and redundant) dependencies on the autotools + packages. Suggestion by Peter Pentchev (Closes: #749341). + * The patch also cleaned up the creation of examples and links for man + pages. + * Bug fix #749341: "Drop the autotools build dependencies, dh-autoreconf + is sufficient", thanks to Peter Pentchev + + -- Manoj Srivastava Mon, 26 May 2014 18:12:36 -0700 + +flex (2.5.39-6) unstable; urgency=low + + * The code that is generated by flex has an off-by-one error in the + generated #line pragmas that occur after the second %% line in the + source file. Marcus Rausch supplied the patch that fixes it. + (Closes: #542482). + * Bug fix #542482: "Off-by-one error in line statements", thanks to + Wouter Verhelst + + -- Manoj Srivastava Tue, 06 May 2014 23:57:31 -0700 + +flex (2.5.39-5) unstable; urgency=low + + * Adapted patch from Matthias Klose to add pre-seeding of autoconf + values as paramaters, fixing cross builds. flex uses runtime checks + for configure tests, and preseeding allows cross build to succeed, + * Bug fix: "fix cross build", thanks to Matthias Klose. Applied fix + manually (Closes: #746172). + + -- Manoj Srivastava Sun, 27 Apr 2014 15:55:36 -0700 + +flex (2.5.39-4) unstable; urgency=low + + * Bug fix: "Flex 2.5.39-3 has a typo in installman", thanks to + Gianfranco Costamagna. over -> over (Closes: #745228). + + -- Manoj Srivastava Fri, 25 Apr 2014 23:37:29 -0700 + +flex (2.5.39-3) unstable; urgency=medium + + * Move libl.a from flex to libfl-dev, for real + * install link manually for libfl-dev alone, cleaning up the rules file + in the process. + + -- Manoj Srivastava Thu, 17 Apr 2014 12:45:38 -0700 + +flex (2.5.39-2) unstable; urgency=low + + * New bug fixing release + * Bug fix: "typo in README.Debian: libfla_pic.a -> libfl_pic.a", + thanks to Jakub Wilk (Closes: #744853). + * Bug fix: "libfl-dev and flex-old: error when trying to install + together", thanks to Ralf Treinen. The package libfl-dev needs to + replace and Break the flex-old package too, (Closes: #744833). + * Bug fix: "redundant redeclaration of ‘isatty’", thanks to Ludovic + Rousseau. This duplication was removed in the last upstream release. + (Closes: #488274). + * Bug fix: "flex-2.5.35 bug", thanks to Yuriy Z. scan.c now declares n + as size_t, in the new upstream version. (Closes: #633008). + * Bug fix: "make check failure", thanks to Sayre, Alan N. The new + version of flex does succeed in running make check (it would not build + otherwise) (Closes: #632095). + + -- Manoj Srivastava Thu, 17 Apr 2014 02:15:10 -0700 + + +flex (2.5.39-1) unstable; urgency=medium + + * New upstream release + * internationalization: added support for various languages. Fix make + install target to not fail when the flex++ program is already + installed. various portability fixes that quiet compiler warnings on + 64-bit hosts. numerous bug fixes. + * Moved to a new dh based build system. Also moved to a 3.0 source + format, using debcherry. + * Bug fix: "cross build support", thanks to Eleanor Chen. We have moved + to a standard dh based build, so we should not have this issue any more. + (Closes: #719955). + * Bug fix: "examples not included into binary packages", thanks to Carl + Fürstenberg. Examples are in this version. (Closes: #560387). + * Bug fix: "new upstream release 2.5.37", thanks to Peter Eisentraut + (Closes: #729759). + * Bug fix: "flex, new release available for download", thanks to + Gianfranco Costamagna (Closes: #736345). + * Bug fix: "please mark flex as Multi-Arch: allowed", thanks to Steve + Langasek. Redid the patch to work with dh. (Closes: #611230). + * Updating to a new build system means that the changes made to the + build system in the NMU are not needed, dh does the right thing. + * The new upstream release added the prototypes in re-entrant mode, so + we are no longer carrying those patches. + + -- Manoj Srivastava Thu, 10 Apr 2014 18:06:12 -0700 + +flex (2.5.35-10.1) unstable; urgency=low + + * Non-maintainer upload. + * Use dpkg-buildflags to enable hardened build flags. + Thanks to Moritz Muehlenhoff . (Closes: #655414) + * Add prototypes for yy_[gs]etcolumn in re-entrant mode, taken from Fedora. + Thanks to Daniel Stone . (Closes: #667027) + + -- Guillem Jover Sat, 30 Jun 2012 17:03:27 +0200 + +flex (2.5.35-10) unstable; urgency=low + + * Bug fix: "flex is not GNU flex", thanks to Santiago Vila + (Closes: #576413). + + -- Manoj Srivastava Mon, 19 Jul 2010 14:03:19 -0700 + +flex (2.5.35-9.1) unstable; urgency=low + + * Non-maintainer upload. + * debian/control: add autopoint to build-deps, drop cvs (Closes: #572468). + + -- Kees Cook Sun, 20 Jun 2010 14:17:14 -0700 + +flex (2.5.35-9) unstable; urgency=low + + * Update handling of lintian overrides. + + -- Manoj Srivastava Fri, 30 Oct 2009 14:52:46 -0500 + +flex (2.5.35-8) unstable; urgency=low + + * Update package to conform to policy. + * [56a9f0b]: [flex]: Info files are now installed using a trigger + Add dependencies to that is happens automatically. + + -- Manoj Srivastava Sun, 16 Aug 2009 15:51:33 -0500 + +flex (2.5.35-7) unstable; urgency=low + + * [e12dee9]: [topic--autoconf-files] Delete files create by autoconf + * [d32c587]: [debiandir]: Regenerate autoconf files during + configuration Upstream has versions of autoconf files that are stuck + at the time of release. As newer versions of autoconf come out, and + these nerw versions support more architectures, porting to them + becomes harder if the package uses the now obsolete versionsof the + files. Flex packaging now begins to reate autoconf and automake as + real toolchain components, and re-creates the autoconf files at + build time, and removes them while cleaning up. This should help out + peopole on newly supported platforms. + * [0999f25]: [gcc-4-4-include-fix] Add missing #include cstdio for gcc-4.4 + GCC 4.4 has cleaned up some more C++ headers. You always have to + include headers directly, and cannot depend on things to be included + indirectly. Bug fix: "produces c++ code with missing include cstdio", + thanks to Martin Michlmayr (Closes: #525812). + + -- Manoj Srivastava Tue, 28 Apr 2009 11:30:31 -0500 + +flex (2.5.35-6) unstable; urgency=high + + * [f0d7848]: Finish fixing the ia64 buffer issue. Previous commits + increased YY_READ_BUF_SIZE (where __ia64__ is defined) but left + YY_BUF_SIZE unchanged, so that didn't fix the problem in the end. In + the general case, the latter is twice the former. Therefore set it to + the same ratio in the ia64 case. Thanks to Cyril Brulebois + for the heavy lifting. + Bug fix: "flex scanner push-back overflow", thanks to Sergei Golovan. + (Closes: #505056) + + -- Manoj Srivastava Mon, 05 Jan 2009 12:10:01 -0600 + +flex (2.5.35-5) unstable; urgency=low + + * [debiandir:7eff632]: Fix race conditions in local.mk + [62a6595]: Correct a few dependencies in Makefiles + These fixes allow flex to be built using make -j3 + Bug fix: "FTBFS with parallel in DEB_BUILD_OPTIONS", thanks to Daniel + Schepler. The heavy lifting was done by Robert Millan (Closes: #507231). + + -- Manoj Srivastava Sat, 29 Nov 2008 20:46:28 -0600 + +flex (2.5.35-4) unstable; urgency=low + + * [f6cc9ae] Narrow buffer size changes to just IA64 + Increasing the buffer size on other architectures cause problems in + corner cases not caught by the test suite. So perhaps it is not better + to increase the buffer size unilatereally for all architectures, but + to just increase it for the architecture it is required on, namely, + IA64, and leave it unchanged on other architectures. This solution + should fix the new grave bugs, while not reopening the original but + that cause this change to be done in the first place. + Grave Bug fix: flex scanner push-back overflow, thanks to Sergei + Golovan (Closes: #505056, #504030) + * [debiandir:9a6d713] Fix VCS-Browser source field. + Bug fix: Useless VCS-Browser control field, thanks to Vincent Fourmond + (Closes: #503732) + * [d58780f] Wrap ECHO macro to avoid FORTIFY warnings + This change will enable flex scanners to be compiled with + -D_FORTIFY_SOURCE=2, which is a good thing security wise. + Bug Fix: flex causing warnings when compiled with FORTIFY_SOURCE, + thanks to Kees Cook. (Closes: #505233, #388438) + + + -- Manoj Srivastava Wed, 19 Nov 2008 23:52:09 -0600 + +flex (2.5.35-3) unstable; urgency=low + + * Bug fix: "debian dir contains *.so", thanks to Raphael Hertzog + This is a simple rname of a file used purely in packaging, and has low + risk, but would allow compiling the flex source package with squeeze's + packaging tools. (Closes: #485095). + * [88bb2fc] Fix generation of broken output on ia64 when input is piped in + + On ia64, flex appears to generate a completely different (and broken) + output depending on whether the input file is specified using shell + redirection or via a pipe. + + This was traced back commit 3971e1a917548977cff71418a7c3575ffbc9571f, + by Alex Nixon : VFS: increase pseudo-filesystem + block size to PAGE_SIZE. PAGE_SIZE on ia64 kernels is larger than most + architectures - 16K is what most distributions (including Debian) + use. An effect of the above changeset, as verified by strace, is that + the read() and write() system calls issued by flex on a pipe will use + this bigger size. fread() appears to be properly hiding the actual + read size and is returning 8192 byte buffers to flex upon request. I + verified by this by instrumenting YY_INPUT to compare the fread data + with the original input file. + + Its probably useful to note that the corruption happening here is that + the last 382 lines of the input file is being prefixed to the output + file. The only differences in the remainder of the file are the #line + numbers. I've also found that bumping YY_READ_BUF_SIZE up to 16384 + seems to workaround the problem - but that may just be putting it back + into hiding. + + The tradeoff here is between correct operation, by making flex's + buffer at least as big as the system buffer -- and not bigger, so that + we do not waste memory. At this point, fixing the isue seems more + important than worrying that flex consumes and additional 8KB of + memory. + + This fix unblocks RC bugs on other packages. + + Bug fix: "Generates broken output on ia64 when input is piped vs. shell + redirection", thanks to Chris Lamb. Fix based on comments by Dann + Frazier and Michael Casadevall. (Closes: #501960) + * [56ec97d] Fix doxygen comments to reflect actual argument name + Fix the comments to reflect the actual name of the function + arguments. This is a pure documentation fix. + Bug fix: "argument 'bytes' of command @param is not found in + the argument list of tp_scan_bytes(yyconst char *yybytes, int + _yybytes_len)", thanks to Ludovic Rousseau (Closes: #488272). + * [303084a] Merge branch 'topic--buffer-size-patch' [f6cc9ae] Narrow + buffer size changes to just IA64 + + -- Manoj Srivastava Wed, 19 Nov 2008 22:42:17 -0600 + +flex (2.5.35-2) unstable; urgency=low + + * Record the fact that this package has moved to a new git repository. + * Move to the new, make -j friendly targets in debian/rules. + * Bug fix: "/usr/share/doc/flex-doc/.dhelp spoils purge", thanks to Dan + Jacobson (Closes: #427524). + * Bug fix: "flex-doc: bad webpage reference", thanks to Elizabeth Barham + I could not find any references to lex.sf.net (Closes: #439172). + + -- Manoj Srivastava Mon, 02 Jun 2008 11:54:55 -0500 + +flex (2.5.35-1) unstable; urgency=low + + * New upstream release, Mostly fixes made in NMU in Debian, plus a few + translation updates. + * NEWS: add date of release + * NEWS, parse.y: fix bug that prevented comments from working + properly + * po/de.po: new de translation + * NEWS, po/vi.po: new vi translation + * NEWS, po/nl.po: new nl translation + * NEWS, po/pl.po: new pl translation + * NEWS, po/de.po, po/pt_BR.po: new de, pt_br translations + * NEWS, flex.skl: generate headers for all functions (resolves bug + #1628314) + * NEWS, flex.skl: change yy_size_t to be size_t (resolves bug + #1849812) + * configure.in: start work on version 2.5.35 + * NEWS, configure.in: revert NEWS and configure.in to version + * NEWS, configure.in: update version number to 2.5.35 + * tests/test-alloc-extra/scanner.l: Use %option extra-type. + * NEWS, flex.skl, flexdef.h, main.c, parse.y, scan.l, + doc/flex.texi: Introduce %option extra-type="your_type *" (resolves + bug #1744505). + * po/nl.po: new nl translations from the translation project + * Bug fix: "flex: new lint in YY_INPUT definition", thanks to Larry + Doolittle. Closes: #466793 + * Bug fix: "flex: limits of integral types are always defined", thanks + to Jean-Baptiste Note. It is true that the limits are defined by the + standard, and present in stdint.h, and so flex should not define them + on C99 systems, Closes: #443559 + + -- Manoj Srivastava Tue, 18 Mar 2008 21:05:33 -0500 + +flex (2.5.34-3) unstable; urgency=low + + * NMU ack. No changes since the last upload. Fix: "2.5.34-2.1 NMU diff", + thanks to Sergei Golovan. Closes: Bug#465071 + + -- Manoj Srivastava Mon, 18 Feb 2008 15:29:27 -0600 + +flex (2.5.34-2.1) unstable; urgency=low + + * Non-maintainer upload. + * Fixed a bug in parser with incorrectly added character to a ccl + (closes: #464659). + + -- Sergei Golovan Sun, 10 Feb 2008 13:47:32 +0300 + +flex (2.5.34-2) unstable; urgency=low + + * Flex set yy_size_t to unsigned int; and used it where size_t was + needed, which, or course, failed on amd64 architectures. Since ANSI C + has declared size_t to be available in standard C headers since 1989, + which is 19 _years_ ago, I suspect we can start depending on size_t to + be around and set correctly -- especially on Debian. + + -- Manoj Srivastava Thu, 07 Feb 2008 15:26:54 -0600 + +flex (2.5.34-1) unstable; urgency=low + + * New upstream release. This version has incorporated every single + feature and bug fix carried around by Debian, and thus all feature + branches are now sealed and merged back. Closes: #462196 + * Since the version from which flex asks the question about upgrades was + released in 2003, it is time to retire the debconf question. So, the + debconf question is now gone, which means that all the translations of + the debconf translations are not required. Closes: Bug#448106, Bug#445744 + Also closes: #448579, #448580, #448660, #449183, #449266, #449446, #450958 + Closes: #451184, #453412 + + -- Manoj Srivastava Thu, 07 Feb 2008 01:12:19 -0600 + +flex (2.5.33-12) unstable; urgency=low + + * Bug fix: "flex: FTBFS if built twice in a row", thanks to Bernd + Zeimetz (Closes: #424274). + + -- Manoj Srivastava Wed, 16 May 2007 15:09:59 -0500 + +flex (2.5.33-11) unstable; urgency=low + + * Bug fix: "flex: [INTL:es] Spanish po-debconf translation", thanks to + César Gómez Martín (Closes: #402235). + + -- Manoj Srivastava Thu, 18 Jan 2007 20:31:42 -0600 + +flex (2.5.33-10) unstable; urgency=low + + * Remove trailing ; from libfl.so script. + + -- Manoj Srivastava Mon, 23 Oct 2006 23:50:43 -0500 + +flex (2.5.33-9) unstable; urgency=low + + * Install a version of libfl.so that is recognixed as a ld script but ld. + + -- Manoj Srivastava Tue, 12 Sep 2006 03:35:33 -0500 + +flex (2.5.33-8) unstable; urgency=low + + * Also install libfl.so + + -- Manoj Srivastava Mon, 11 Sep 2006 13:30:07 -0500 + +flex (2.5.33-7) unstable; urgency=low + + * Typo fix in changelog. We started providing libfl_pic.a in the + previous upload, not sev3eral years ago, and the name of the static + library compiled with position independent code is libfl_pic.a. + + -- Manoj Srivastava Thu, 7 Sep 2006 20:10:40 -0500 + +flex (2.5.33-6) unstable; urgency=low + + * Starting with version 2.5.33-6 of flex we have started providing + a static library compiled with position independent code, namely, + libfl_pic.a. The problem is with packages that contain share + libraries with a flex scanner compiled in. Since flex generates code + that is not self contained, and the missing symbols live in + libfl.a. However, since linking a shared library with a object + containing non position independent code stopped working with gcc 4.1 + (apparently, it was sheer luck that it worked at all). So now we also + provide libfl_pic.a for shared library packages to link with. + + An alternative would have been to provide a full fledged + shared library, but that would have been a major break with upstream + and other distributions that also have flex, and would entail + creating new library and devel packages for flex, which is more work + that seems justified (considering that we would have to maintain the + fork, and keep track of any ABI changes, and all that). + + * Bug fix: "flex: [INTL:ru] Russian debconf templates translation", + thanks to Yuri Kozlov (Closes: #382402). + * Started adding md5sums of the package, since dpkg is not ever likely + to directly support this. + + -- Manoj Srivastava Tue, 5 Sep 2006 22:50:29 -0500 + +flex (2.5.33-5) unstable; urgency=low + + * Bug fix: "[INTL:lt] Lithuanian debconf translation", thanks to + Gintautas Miliauskas (Closes: #381235). + * Bug fix: "flex: warning in generated code", thanks to Martin + Michlmayr. Apply the patch from Bug#359127 to skel.c (Closes: #379763). + + -- Manoj Srivastava Sun, 6 Aug 2006 00:28:41 -0500 + +flex (2.5.33-4) unstable; urgency=low + + * Bug fix: "Spelling mistake in package description", thanks to Simon + Waters. reenterant -> reentrant (Closes: #363415). + * Bug fix: "flex [INTL:pt] Portuguese translation for debconf messages", + thanks to Miguel Figueiredo (Closes: #362984). + + -- Manoj Srivastava Wed, 3 May 2006 13:11:58 -0500 + +flex (2.5.33-3) unstable; urgency=low + + * Bug fix: "cannot purge", thanks to Sebastian Rittau. Fix the package + name var in doc.postrm (Closes: #357525). + * Bug fix: "flex: project web page location doesn't work", thanks to + Martin Dorey. The sourceforge project name was changed from lex to + flex recently. (Closes: #357515). + * Updated copyright file as well, and updated the years for the + copyright. + * Please note that the CVE-2006-0459 bug with buffer overflows in + parsers generated with REJECT rules and/or trailing contexts does not + apply to flex 2.5.33 + * Bug fix: "incorrect catalan translation", thanks to Carles Pina i + Estany (Closes: #359876). + * Bug fix: "flex: comparison between signed and unsigned in generated + scanner", thanks to Russ Allbery (Closes: #359127). + + -- Manoj Srivastava Tue, 11 Apr 2006 10:12:51 -0500 + +flex (2.5.33-2) unstable; urgency=low + + * Bug fix: "flex - FTBFS: /build/buildd/flex-2.5.33/missing: line 46: + flex: command not found", thanks to Bastian Blank. Hmm. Updatimg + md5sum, thanks to some analysis by Kurt Roeckx (Closes: #354552). + + -- Manoj Srivastava Sun, 5 Mar 2006 11:38:34 -0600 + +flex (2.5.33-1) unstable; urgency=low + + * New upstream release. + ** all flex resources are now to be found from the website at + http://flex.sourceforge.net/ + ** there was no release 2.5.32 published + ** numerous bug and security fixes + ** new nl, vi, sv, ro, po, ga, ca, fr, tr translations from the + translation project + ** upgrade to use gettext 0.12 (this now makes the "pdf" and "ps" + targets in the build system able to be run successfully) + + -- Manoj Srivastava Sun, 26 Feb 2006 20:53:27 -0600 + +flex (2.5.31-38) unstable; urgency=low + + * Bug fix: "flex_2.5.31-36(powerpc/unstable): FTBFS: ", thanks to Ryan + Murray. Since we already use MAINTAINER_MODE, there was no help there. + As a last resort, always touch scan.c if we do not find flex. + (Closes: #343355). + * Bug fix: "flex: [INTL:da] Danish debconf translation", thanks to Claus + Hindsgaul (Closes: #353900). + * Bug fix: "flex: Space leak in C++ scanner", thanks to Vincent Zweije + This may be a partial fix, but it seems to be good enough. + (Closes: #233215). + + -- Manoj Srivastava Sat, 25 Feb 2006 00:53:07 -0600 + +flex (2.5.31-37) unstable; urgency=low + + * the source code has an '#ifdef HAVE_LOCALE_H' but forgets to actually + check for locale.h in configure. The report and patch thanks to Mike + Frysinger. + + -- Manoj Srivastava Tue, 7 Feb 2006 21:23:54 -0600 + +flex (2.5.31-36) unstable; urgency=low + + * Bug fix: "flex: doxygen warning: argument `str' of command @param is + not found in the argumentlist", thanks to Ludovic Rousseau + (Closes: #320134). + * Bug fix: "flex generates a C file with improper macro defn; broke + Bison 2.1", thanks to Paul Eggert. Well, even though it is legal C99 + to have empty arguments in macros (so it is legal to call a macro + taking one argument with no arguments), it was not legal C89 -- + therefore, emit tqo different macros, with and without arguments -- to + cater to users running obsolete compilers. (Closes: #333231). + + -- Manoj Srivastava Sun, 23 Oct 2005 14:59:05 -0500 + +flex (2.5.31-35) unstable; urgency=low + + * Bug fix: "yy_init_globals in header file", thanks to Oskar Liljeblad + (Closes: #322628). + * Bug fix: "flex: [INTL:sv] Swedish debconf templates translation", + thanks to Daniel Nylander (Closes: #333321). + * Bug fix: "Please provide flex++ symlink", thanks to Will Newton + (Closes: #318347). + + -- Manoj Srivastava Thu, 20 Oct 2005 23:50:37 -0500 + +flex (2.5.31-34) unstable; urgency=low + + * Bug fix: "FTBFS: Cannot install HTML documentation", thanks to Matt + Kraai (Closes: #317856). + * Bug fix: "flex: doxygen warning: argument `str' of command @param is + not found in the argumentlist", thanks to Ludovic Rousseau + (Closes: #320134). + * Bug fix: "[INTL:nl] Upstream Dutch programs translation", thanks to + Luk Claes (Closes: #321080). + + -- Manoj Srivastava Mon, 8 Aug 2005 00:17:33 -0500 + +flex (2.5.31-33) unstable; urgency=low + + * Bug fix: "flex does not report errors to write", thanks to Bernhard + R. Link. Thanks for the patch (checks flcose and ferror return values) + (Closes: #317117). + + -- Manoj Srivastava Sun, 10 Jul 2005 02:06:29 -0500 + +flex (2.5.31-32) unstable; urgency=low + + * Bug fix: "INTL:vi", thanks to Clytie Siddall (Closes: #311651). + * Bug fix: "[l10n] Initial Czech translation of flex debconf messages", + thanks to Miroslav Kure (Closes: #308062). + * Bug fix: "flex: Some members that should be const aren't", thanks to + Frank B. Brokken Some members as defined in FlexLexer.h are + accessors, and should be defined as `const' members, since not doing + so causes problems when calling these member functions on a const + object. (Closes: #287256). + + -- Manoj Srivastava Thu, 7 Jul 2005 17:22:23 -0500 + +flex (2.5.31-31) unstable; urgency=low + + * New program translation. + * Bug fix: "[INTL:nl] new dutch program translations", thanks to Luk + Claes (Closes: #283979). + + -- Manoj Srivastava Thu, 2 Dec 2004 13:17:03 -0600 + +flex (2.5.31-30) unstable; urgency=medium + + * This is a couple of lines fixed, and does not actually touch any code + -- just build instructions -- and allows for cross building + * Bug fix: "flex: [PATCH] cross build", thanks to NIIBE Yutaka + (Closes: #283075). + + -- Manoj Srivastava Fri, 26 Nov 2004 21:22:59 -0600 + +flex (2.5.31-29) unstable; urgency=low + + * At popular request, error out if scan.l has been updated rather than + depend on ourselves. + + -- Manoj Srivastava Wed, 17 Nov 2004 17:42:16 -0600 + +flex (2.5.31-28) unstable; urgency=high + + * This is a FTBS bug, after all. This should probably flow through to + testing. + * Bug fix: "flex: FTBFS: scan.l needs rebuild?", thanks to Kurt Roeckx + Added a build depends on flex. (Closes: #256532). + * Bug fix: "XSI:ism `-o' in debian-scripts", thanks to David Weinehall + (Closes: #261478). + * Bug fix: "flex: documentation typo (`}' instead of `{')", thanks to + Dmitry Rutsky (Closes: #267496). + * Bug fix: "[INTL:nl] New Dutch po-debconf translation", thanks to Luk + Claes (Closes: #263726). + + -- Manoj Srivastava Fri, 12 Nov 2004 21:28:58 -0600 + +flex (2.5.31-27) unstable; urgency=low + + * Refreshed the auto-tools generated files + * Bug fix: "flex: scan.l needs rebuild?", thanks to Kurt Roeckx + (Closes: #256532). + + -- Manoj Srivastava Thu, 22 Jul 2004 10:20:38 -0500 + +flex (2.5.31-26) unstable; urgency=low + + * Removed the old dwww/menu entry. Now we use the preferred doc-base + registration method. + + -- Manoj Srivastava Wed, 23 Jun 2004 00:44:20 -0500 + +flex (2.5.31-25) unstable; urgency=low + + * Bug fix: "flex: Please add German translation of the debconf + templates", thanks to Erik Schanze (Closes: #252726). + * Bug fix: "flex: Suspicious texinfo markup tags in info manual", thanks + to Tommi Vainikainen (Closes: #254832). + + -- Manoj Srivastava Tue, 22 Jun 2004 19:37:32 -0500 + +flex (2.5.31-24) unstable; urgency=low + + * Bug fix: "flex: [INTL:fr] French translation of debconf templates", + thanks to Denis Barbier (Closes: #242636). + + -- Manoj Srivastava Sat, 10 Apr 2004 10:58:36 -0500 + +flex (2.5.31-23) unstable; urgency=low + + * Bug fix: This time, really really "flex: Typo in long description: + 'setrs' instead of 'sets'", thanks to Philip Miller (Closes: #226335). + + -- Manoj Srivastava Fri, 2 Apr 2004 10:42:09 -0600 + +flex (2.5.31-22) unstable; urgency=low + + * Moved over to po-debconf + * Bug fix: "flex: Typo in long description: 'setrs' instead of 'sets'", + thanks to Philip Miller (Closes: #226335). + + -- Manoj Srivastava Sun, 22 Feb 2004 00:13:35 -0600 + +flex (2.5.31-21) unstable; urgency=low + + * FTBFS: missing build-depends. Bah. The buildd's do not respect + Build-Depends-Indep. Duplicated the dependency into Build-Depends as a + workaround for this buildd flaw. (Closes: #224117). + + -- Manoj Srivastava Tue, 23 Dec 2003 14:52:43 -0600 + +flex (2.5.31-20) unstable; urgency=low + + * Bug fix: "flex.1.gz has disappeared, leaving dangling symlinks", + thanks to Aaron M. Ucko. This was a casualty of moving to the new + build system; the man page was being installed in + /usr/share/man/man1/man1/flex.1.gz (Closes: #223071). + + -- Manoj Srivastava Sat, 6 Dec 2003 11:28:18 -0600 + +flex (2.5.31-19) unstable; urgency=low + + * Thanks to a patch pointed out to me by Patrick Dreker, found on + http://sourceforge.net/tracker/index.php?func=detail&aid=829996&group_id=72099&atid=533379 + Bug fix: "flex: truncated output breaks wine build", thanks to Greg + Wooledge (Closes: #188872). + * Moved to the branch new build system, made possible by moving to arch + as a SCM. + + -- Manoj Srivastava Fri, 5 Dec 2003 00:16:54 -0600 + +flex (2.5.31-18) unstable; urgency=low + + * Bug fix: "flex: package issues invalid command to dpkg", thanks to + Jonathan Brandmeyer. The problem was in the config file; since it + assumed that $2 was always going to be installed version. Obviously, + on a fresh install, there is no installed version; and hence nothing + to send to dpkg --compare-versions. In this case, we refrain from + asking the question if "$2" is an empty string. (Closes: #219185). + + -- Manoj Srivastava Tue, 11 Nov 2003 01:31:06 -0600 + +flex (2.5.31-17) unstable; urgency=low + + * Thanks to a patch from Joey Hess, we now use debconf to ask the + preinst question. closes: Bug#216457 + + -- Manoj Srivastava Fri, 31 Oct 2003 21:53:16 -0600 + +flex (2.5.31-16) unstable; urgency=low + + * Flex used to reset LC_MESSAGES, but not LC_TYPE, which resulted in + output without any non ascii characters. Now reset LC_TYPE as well. + closes: Bug#212571 + * make sure that we strip as much as lintian wants, unless nostrip is + set. + + -- Manoj Srivastava Wed, 24 Sep 2003 09:53:23 -0500 + +flex (2.5.31-15) unstable; urgency=low + + * AAAArrgh. Set AM_MAINTAINER_MODE in configure.in and regenerated all + auto* files. hopefully things shall no longer break with every minor + version change in autoconf. closes: Bug# 212355 + + -- Manoj Srivastava Tue, 23 Sep 2003 11:21:06 -0500 + +flex (2.5.31-14) unstable; urgency=low + + * ISO C 1999 says that `inttypes.h' includes `stdint.h', so there's no + need to include `stdint.h' separately in a hosted environment. And, + in any case, whenever we used to include stdint.h, we also included + inttypes.h. closes: Bug#209197 + + -- Manoj Srivastava Mon, 8 Sep 2003 17:59:17 -0500 + +flex (2.5.31-13) unstable; urgency=low + + * Fixed usage of chown root.root in the rules files. + * Refreshed config.sub, config.guess. + * removed acinclude.m4, since it was ancient and rpevented autoconf from + running. + + -- Manoj Srivastava Mon, 1 Sep 2003 14:33:12 -0500 + +flex (2.5.31-12) unstable; urgency=low + + * changed the implementation of the yy_scan_string function to use + yy_str, as stated in the declaration, so as to allow users access to + the string "str" in #defines. I am not completely happy with this fix, + since there are other variables that may also pollute the #define name + space, but going through and modifying them all would be a significant + departure from upstream code; and I'm going to wait until someone + complains. closes: Bug#198200 + * Added a reference to flex-old in the package description, mentioning + the changes in this version of flex. + * Added a warning and a question in the preinst if upgrading from an old + version of flex. + + -- Manoj Srivastava Sun, 6 Jul 2003 03:41:58 -0500 + +flex (2.5.31-11) unstable; urgency=low + + * Added a build depends on help2man + + -- Manoj Srivastava Thu, 29 May 2003 23:31:57 -0500 + +flex (2.5.31-10) unstable; urgency=low + + * Fixed an extraneous #endif in main.c, which caused gcc to barf. + + -- Manoj Srivastava Thu, 29 May 2003 01:01:10 -0500 + +flex (2.5.31-9) unstable; urgency=low + + * Well, since removing stdint.h inclusion does not fix IA64 breakage, + and including the header since we need it does seem to be the right + thing to do, and it does closes: Bug#191168 + * In filter.c, after a fork, we try to reinit the standard stream + pointers stdin, stdout, and stderr -- which is a bug, since the macros + stdin, stdout, and sterr may not be modifiable lvalues (C99 says they + nmeed not be modifuable). This is also pointless, since POSIX + guarantees that the child inherits the streams from the parent. There + are no test failures from thie fix. closes: Bug#194844 + * Fixed the generation of non ansi function definiton macros to include + a \, so that the parameters do not default to int (they are actually + pointers to structs), which makes the test fail on machines where ints + and pointers are a different size. closes: Bug#191672 + + -- Manoj Srivastava Tue, 27 May 2003 13:44:37 -0500 + +flex (2.5.31-8) unstable; urgency=low + + * Added a patch from Bastian Kleineidam fixinf nounbistd option. + closes: Bug#193317 + + -- Manoj Srivastava Fri, 16 May 2003 15:43:46 -0500 + +flex (2.5.31-7) unstable; urgency=low + + * remove /* in a comment, since it creates warnings under -Wall, Hit a + lot of people. closes: Bug#192450, Bug#192763, Bug#192244 + + -- Manoj Srivastava Tue, 13 May 2003 00:55:40 -0500 + +flex (2.5.31-6) unstable; urgency=low + + * revert adding stdint.h to the 'standard C headers'since using stdint.h + macros on IA64, rather than our own, breaks things. closes: Bug#191672 + + -- Manoj Srivastava Fri, 2 May 2003 15:15:32 -0500 + +flex (2.5.31-5) unstable; urgency=low + + * Updated the new download location in the copyright file. closes: Bug#191157 + * add stdint.h to the 'standard C headers' to prevent warnings for + redefinitions ofUINTN_MAX macros. (Makes sense, since the standard + defines that these macros are defined in stdint.h closes: Bug#191168 + + -- Manoj Srivastava Fri, 2 May 2003 11:06:06 -0500 + +flex (2.5.31-4) unstable; urgency=low + + * Fix flex info files; closes: Bug#190903, Bug#189963 + + -- Manoj Srivastava Sun, 27 Apr 2003 19:01:29 -0500 + +flex (2.5.31-3) unstable; urgency=low + + * Fix the broken flex -l scanner generation. closes: Bug#188665 + + -- Manoj Srivastava Mon, 14 Apr 2003 03:27:05 -0500 + +flex (2.5.31-2) unstable; urgency=low + + * Ensure that the man page gets to the right location. + closes: Bug#188751, Bug#188505 + * Note that flex now requires m4 + * The behaviour of flex has changed in the latest release, yes. This is + part of the gcc migration process; flex has been updated (the buggy, + rickety set of patches required to make it work with gcc was dumped in + favour of a well engineered upstream migration) + * As you may see, flex scanners have become reentrant, the c++ versions + are compatible with recent c++ compilers (conform to ANSI C++, gcc + 3.2), supports bison variables yylval and yylloc. Some variables have + been renamed. Flex generates C99 defs now; see + YY_TRADITIONAL_FUNC_DEFS yylineno is present in all scanners. yylineno + is per-buffer in reentrant scanners. flex tries its best to output + only the relevant portions of the skeleton when generating a scanner, + thus avoiding as much conditional compilation as possible + * non ansi mode was broken (this only shows up on machines where + pointers and ints are not the same size). closes: Bug#188813 + + -- Manoj Srivastava Sun, 13 Apr 2003 14:29:47 -0500 + +flex (2.5.31-1) unstable; urgency=low + + * New upstream release. + + -- Manoj Srivastava Wed, 9 Apr 2003 14:12:18 -0500 + +flex (2.5.4a-33) unstable; urgency=low + + * Continuing the process of gcc 3.2.x compatribility. closes: Bug#185714 + + -- Manoj Srivastava Fri, 21 Mar 2003 13:00:19 -0600 + +flex (2.5.4a-32) unstable; urgency=low + + * There was a blank line in initscan.c that made it impossible to build + on buildds. closes: Bug#185772 + + -- Manoj Srivastava Fri, 21 Mar 2003 12:34:13 -0600 + +flex (2.5.4a-31) unstable; urgency=low + + * Make flexlexer have the std:: prefix closes: Bug#181670, Bug#180446 + * Fix flex.skl closes: Bug#184393 + + -- Manoj Srivastava Fri, 21 Mar 2003 00:57:21 -0600 + +flex (2.5.4a-30) unstable; urgency=low + + * FlexLexer.h now include iostream, not iostream.h. + closes: Bug#173943, Bug#180051 + * Fix broken printf format closes: Bug#174350 + * The behaviour of flex was different based on what order options were + specified: option nomain before option noyywrap caused one set of + behaviours, reversing the order changes the behavious, since nomain + seemed to reset noyywrap. This was fixed in scanl. and initscan.c. + closes: Bug#174259 + + -- Manoj Srivastava Sun, 9 Feb 2003 13:38:32 -0600 + +flex (2.5.4a-29) unstable; urgency=low + + * No longer provide /usr/doc link. Upgrade to latest policy version. + + -- Manoj Srivastava Mon, 11 Nov 2002 23:17:14 -0600 + +flex (2.5.4a-28) unstable; urgency=low + + * Anotrher patch from Alexander Klauer, this one fixes a print format + problem. closes: Bug#161101 + + -- Manoj Srivastava Tue, 29 Oct 2002 17:35:13 -0600 + +flex (2.5.4a-27) unstable; urgency=low + + * Fix a flex segfult on very long lines. Many thanks to Alexander + Klauer for detecting this bug and finding the + fix. closes: Bug#158518 + * The package seems to build from sources on i386. closes: Bug#159547 + + -- Manoj Srivastava Wed, 4 Sep 2002 19:24:56 -0500 + +flex (2.5.4a-26) unstable; urgency=low + + * use which instead of command -v + * Fixed a problem with locales in flex. Many thanks to + witchery@www.oz.or.kr and unichi Uekawa for + discovering the problem, and patiently leading me through to a point + that I could actually reproduce the proble, and test the patch + provided by witchery@www.oz.or.kr. closes: Bug#147627 + + -- Manoj Srivastava Mon, 27 May 2002 02:09:28 -0500 + +flex (2.5.4a-25) unstable; urgency=high + + * In this version of flex, the first YYPROTO usage appears before the + definition of YYPROTO if _WIN32 is defined. Not so good. One should be + able to generate portable lexers with flex. closes: Bug#145237 + + -- Manoj Srivastava Tue, 30 Apr 2002 12:53:45 -0500 + +flex (2.5.4a-24) unstable; urgency=low + + * Well, the symbol is really _WIN32. + * Added clarifications about %option stdin to the flex man page (some + wording taken from CVS). + + -- Manoj Srivastava Sun, 17 Mar 2002 10:32:13 -0600 + +flex (2.5.4a-23) unstable; urgency=low + + * Hmm. For non POSIX systems (well, where _Win32 is defined) where + unistd.h is not available, use the old isatty prototype. + + -- Manoj Srivastava Wed, 6 Feb 2002 16:33:39 -0600 + +flex (2.5.4a-22) unstable; urgency=low + + * Interactive lexers were broken by the fic to handle interrupted + reads. closes: Bug#131242 + + -- Manoj Srivastava Mon, 28 Jan 2002 12:21:40 -0600 + +flex (2.5.4a-21) unstable; urgency=low + + * Hmm. Run aclocal on the acinclude file first. + + -- Manoj Srivastava Fri, 25 Jan 2002 16:52:23 -0600 + +flex (2.5.4a-20) unstable; urgency=low + + * Add a build depends for autotconf, needed now that we make changes to + the script. closes: Bug#130703 + + -- Manoj Srivastava Thu, 24 Jan 2002 16:32:25 -0600 + +flex (2.5.4a-19) unstable; urgency=low + + * For machines that do not use the GNU libc (and thus, does not have + gettext as part of the libc), flex failed to compile. The grep package + has a macro to handle exactly this situation, elegantly, which is + labelled as available for public use, in it's aclocal.m4 file. This + version of flex uses that. Many thanks to Joel Baker + for discovering and testing this fix. + closes: Bug#130220 + + -- Manoj Srivastava Thu, 24 Jan 2002 10:07:16 -0600 + +flex (2.5.4a-18) unstable; urgency=low + + * Make sure that unistd.h is actually included, since we no longer + provide a prototype for isatty. closes: Bug#97131 + + -- Manoj Srivastava Sun, 13 Jan 2002 01:02:26 -0600 + +flex (2.5.4a-17) unstable; urgency=medium + + * AAArgggh. Fix a missing open brace in the generated YY_INPUT, Many + thanks to Bruce Stephens for catching these quickly. + + -- Manoj Srivastava Thu, 10 Jan 2002 13:14:35 -0600 + +flex (2.5.4a-16) unstable; urgency=medium + + * Fix a missing \ in the generated YY_INPUT macro. closes: Bug#128412 + * Fix buggy isatty prototype by not actually including a prototype (we + include the relevant header file, after all. closes: Bug#97131 + + -- Manoj Srivastava Wed, 9 Jan 2002 11:51:12 -0600 + +flex (2.5.4a-15) unstable; urgency=low + + * if a signal is delivered while the parser is in the read routine + (coded by flex), the result is flex reports and YY_FATAL_ERROR causing + plan to exit. The race condition appears much more frequently than + one might expect because plan spends a good deal of time in read + routine while gcc is preparing the input. I cleaned up another problem + case beyond what is given in the patch. closes: Bug#125611 + * flex -o "ddd" doesn't write to the file "ddd", instead it tries to + write to the file "" (yes, blank) and read from "ddd". I changed the + main.c to use the next arg as the output file name if the next arg + does not start with a -. closes: Bug#122581 + + -- Manoj Srivastava Sun, 6 Jan 2002 05:12:37 -0600 + +flex (2.5.4a-14) unstable; urgency=low + + * The flex-doc menu entry (/usr/lib/menu/flex-doc) contains some + unquoted double quotes in its extended description, and these needed + to be quoted so as not to confuse update menu. (why did it not + generate an error?) closes: Bug#105272 + * The version 2.5.4a-12 was duplicated work with the previous maintainer + (and I take the blame for the lack of communication). I have also + managed to mosplace the changelog entry ;-( + + -- Manoj Srivastava Tue, 17 Jul 2001 17:50:25 -0500 + +flex (2.5.4a-13) unstable; urgency=low + + * I took over flex, and have brought the rules and pre/post inst files + into line with my conventions. + * flex generates c++ that does not use istream and ostream from the + "std" namespace, so compilation of generated code fails. closes: Bug#104067 + Please note that this duplicates and replaces the work done in 2.5.4a-12 + + -- Manoj Srivastava Thu, 12 Jul 2001 15:48:24 -0500 + +flex (2.5.4a-12) unstable; urgency=low + + * Generate c++ which uses istream and ostream from the "std" namespace + for g++-3.0. Patch by Dale E. Martin (Closes: #104067). + * Registered HTML docs using doc-base. + + -- Santiago Vila Thu, 12 Jul 2001 14:21:18 +0200 + +flex (2.5.4a-11) unstable; urgency=low + + * Added i18n support. Build-Depends: gettext. Closes: #46838. + Thanks to Changwoo Ryu . + * Fixed formatting error in flex(1). Closes: #90284. + Thanks to Colin Watson . + + -- Santiago Vila Sun, 25 Mar 2001 14:07:51 +0200 + +flex (2.5.4a-10) unstable; urgency=low + + * Changed @section by @chapter to make texi2html happy. + Patch by Gordon Sadler . Closes: #84780. + * Build-Depends-Indep: texi2html. Closes: #87689. + * Build-Depends: texinfo, since .texi is now modified. + + -- Santiago Vila Mon, 26 Feb 2001 20:16:54 +0100 + +flex (2.5.4a-9) unstable; urgency=low + + * Fixed manpage again. Additional patch by the author. + + -- Santiago Vila Fri, 1 Dec 2000 19:58:41 +0100 + +flex (2.5.4a-8) unstable; urgency=low + + * Added missing bracket in flex manpage (Closes: Bug#68941). + + -- Santiago Vila Sat, 19 Aug 2000 16:56:22 +0200 + +flex (2.5.4a-7) unstable; urgency=low + + * Updated upstream source URL (Closes: Bug#67233). + * Standards-Version: 3.1.1. + * Build-Depends: bison. + + -- Santiago Vila Fri, 4 Aug 2000 13:04:28 +0200 + +flex (2.5.4a-6) unstable; urgency=low + + * Applied a patch by Kristoffer Rose for large flex tables. + + -- Santiago Vila Tue, 7 Dec 1999 17:52:01 +0100 + +flex (2.5.4a-5) unstable; urgency=low + + * Fixed Bug #47860: flex segfaults. Patch by the author. + + -- Santiago Vila Wed, 10 Nov 1999 11:44:06 +0100 + +flex (2.5.4a-4) unstable; urgency=low + + * Recommends: c-compiler, instead of gcc (Bug #33937). + * Info unregistering done in prerm, not in postrm. + + -- Santiago Vila Fri, 5 Mar 1999 17:20:30 +0100 + +flex (2.5.4a-3) unstable; urgency=low + + * Added HTML docs, in a separate package. + + -- Santiago Vila Tue, 13 Oct 1998 21:14:28 +0200 + +flex (2.5.4a-2) unstable; urgency=low + + * Added a man page for flex++ (actually, a symlink to flex). + * ftp.gnu.org is FSF's new FTP site name. + * Compressed changelog.Debian. + * Removed debstd dependency. + + -- Santiago Vila Thu, 12 Mar 1998 20:25:09 +0100 + +flex (2.5.4a-1) unstable; urgency=low + + * New upstream release, using pristine untouched source. + * Removed the modified debstd from the source package now that the + standard one is fixed. + * First libc6 release. + + -- Santiago Vila Thu, 7 Aug 1997 19:15:34 +0200 + +flex (2.5.4-2) unstable; urgency=low + + * libfl.a stripped using strip -g, using a modified debstd which + is included in the Debian source package. + + -- Santiago Vila Thu, 13 Mar 1997 09:44:28 +0100 + +flex (2.5.4-1) unstable; urgency=low + + * Converted to Standards 2.1.2.2. + * New upstream version. + * Compiled with -D_REENTRANT. + * Added MD5 sums. + * New maintainer. + + -- Santiago Vila Sat, 22 Feb 1997 18:00:09 +0100 diff --git a/debian/clean b/debian/clean new file mode 100644 index 0000000..4d50a7b --- /dev/null +++ b/debian/clean @@ -0,0 +1,42 @@ +INSTALL +Makefile.in +aclocal.m4 +autom4te.cache/ +build-aux/compile +build-aux/config.guess +build-aux/config.sub +build-aux/depcomp +build-aux/install-sh +build-aux/mdate-sh +build-aux/texinfo.tex +configure +debian/.debhelper/ +debian/autoreconf.after +debian/autoreconf.before +debian/files +debian/flex-doc.debhelper.log +debian/flex-doc.substvars +debian/flex-doc/ +debian/flex.debhelper.log +debian/flex.substvars +debian/flex/ +debian/libfl-dev.debhelper.log +debian/libfl-dev.substvars +debian/libfl-dev/ +debian/tmp/ +doc/flex.html/ +doc/flex.t2p/ +doc/Makefile.in +doc/flex.1 +doc/flex.info +doc/flex.info-1 +doc/flex.info-2 +doc/stamp-vti +doc/version.texi +examples/Makefile.in +examples/fastwc/Makefile.in +examples/manual/Makefile.in +src/config.h.in +src/.libs/ +tests/Makefile.in +tools/Makefile.in diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..b4de394 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +11 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..b50c08e --- /dev/null +++ b/debian/control @@ -0,0 +1,85 @@ +Source: flex +VCS-Git: https://anonscm.debian.org/git/users/srivasta/debian/flex.git +VCS-Browser: https://anonscm.debian.org/gitweb/?p=users/srivasta/debian/flex.git +Section: devel +Homepage: https://github.com/westes/flex +Priority: optional +Build-Depends: bison, gettext, texinfo, help2man, file, po-debconf, + debhelper (>= 11), dh-autoreconf, dpkg-dev (>= 1.17.14), + flex +Build-Depends-Indep: texlive-latex-base, texlive-fonts-recommended, cm-super-minimal +Maintainer: Manoj Srivastava +Standards-Version: 4.1.3 +Rules-Requires-Root: no + +Package: flex +Architecture: any +Pre-Depends: debconf | debconf-2.0 +Depends: ${shlibs:Depends}, m4, ${misc:Depends} +Recommends: gcc | c-compiler, libfl-dev +Suggests: bison, build-essential, flex-doc +Multi-Arch: foreign +Description: fast lexical analyzer generator + Flex is a tool for generating scanners: programs which recognized lexical + patterns in text. It reads the given input files for a description of a + scanner to generate. The description is in the form of pairs of regular + expressions and C code, called rules. Flex generates as output a C source + file, lex.yy.c, which defines a routine yylex(). This file is compiled + and linked with the -lfl library to produce an executable. When the + executable is run, it analyzes its input for occurrences of the regular + expressions. Whenever it finds one, it executes the corresponding C code. + +Package: flex-doc +Section: doc +Architecture: all +Depends: ${misc:Depends} +Description: Documentation for flex (a fast lexical analyzer generator) + Flex is a tool for generating scanners: programs which recognized lexical + patterns in text. It reads the given input files for a description of a + scanner to generate. The description is in the form of pairs of regular + expressions and C code, called rules. Flex generates as output a C source + file, lex.yy.c, which defines a routine yylex(). This file is compiled + and linked with the -lfl library to produce an executable. When the + executable is run, it analyzes its input for occurrences of the regular + expressions. Whenever it finds one, it executes the corresponding C code. + . + This package contains the HTML documentation for flex. + +Package: libfl2 +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends} +Replaces: flex (<< 2.5.39), libfl-dev (<= 2.6.4-4) +Breaks: flex (<< 2.5.39), libfl-dev (<= 2.6.4-4) +Description: SHARED library for flex (a fast lexical analyzer generator) + Flex is a tool for generating scanners: programs which recognized lexical + patterns in text. It reads the given input files for a description of a + scanner to generate. The description is in the form of pairs of regular + expressions and C code, called rules. Flex generates as output a C source + file, lex.yy.c, which defines a routine yylex(). This file is compiled + and linked with the -lfl library to produce an executable. When the + executable is run, it analyzes its input for occurrences of the regular + expressions. Whenever it finds one, it executes the corresponding C code. + . + This package contains the shared library for flex. + +Package: libfl-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Depends: ${misc:Depends}, flex (= ${binary:Version}), libfl2 (= ${binary:Version}) +Replaces: flex (<< 2.5.39), flex-old (<= 2.5.4a-10) +Breaks: flex (<< 2.5.39), flex-old (<= 2.5.4a-10) +Description: static library for flex (a fast lexical analyzer generator) + Flex is a tool for generating scanners: programs which recognized lexical + patterns in text. It reads the given input files for a description of a + scanner to generate. The description is in the form of pairs of regular + expressions and C code, called rules. Flex generates as output a C source + file, lex.yy.c, which defines a routine yylex(). This file is compiled + and linked with the -lfl library to produce an executable. When the + executable is run, it analyzes its input for occurrences of the regular + expressions. Whenever it finds one, it executes the corresponding C code. + . + This package contains the static library for flex. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..0925f09 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,582 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: flex +Upstream-Contact: flex-help@lists.sourceforge.net +Source: git://git.code.sf.net/p/flex/flex +Comment: This is the Debian prepackaged version of flex, the fast lexical + analyzer generator. This package was first put together by + Robert Leslie . It is currently maintained by + Manoj Srivastava , who took over from + Santiago Vila , and it is built from + sources obtained from: https://github.com/westes/flex + +Files: * +Copyright: 2001-2008 The Flex Project. + 1990, 1993, 1997 The Regents of the University of California. + All rights reserved. +License: FLEX + Flex carries the copyright used for BSD software, slightly modified + because it originated at the Lawrence Berkeley (not Livermore!) Laboratory, + which operates under a contract with the Department of Energy: + . + This code is derived from software contributed to Berkeley by + Vern Paxson. + . + The United States Government has rights in this work pursuant + to contract no. DE-AC03-76SF00098 between the United States + Department of Energy and the University of California. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. + . + This basically says "do whatever you please with this software except + remove this notice or take advantage of the University's (or the flex + authors') name". + . + Note that the "flex.skl" scanner skeleton carries no copyright notice. + You are free to do whatever you please with scanners generated using flex; + for them, you are not even bound by the above copyright. + +Files: debian/* +Copyright: 2003-2009, 2014-2016, Manoj Srivastava +License: GPL-3+ + +Files: m4/* +Copyright: 1994-2015, Free Software Foundation, Inc. +License: FLEX + Flex carries the copyright used for BSD software, slightly modified + because it originated at the Lawrence Berkeley (not Livermore!) Laboratory, + which operates under a contract with the Department of Energy: + . + This code is derived from software contributed to Berkeley by + Vern Paxson. + . + The United States Government has rights in this work pursuant + to contract no. DE-AC03-76SF00098 between the United States + Department of Energy and the University of California. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. + . + This basically says "do whatever you please with this software except + remove this notice or take advantage of the University's (or the flex + authors') name". + . + Note that the "flex.skl" scanner skeleton carries no copyright notice. + You are free to do whatever you please with scanners generated using flex; + for them, you are not even bound by the above copyright. + +Files: m4/ax_prog_cc_for_build.m4 +Copyright: 2008, Paolo Bonzini +License: FSFAP + Flex carries the copyright used for BSD software, slightly modified + because it originated at the Lawrence Berkeley (not Livermore!) Laboratory, + which operates under a contract with the Department of Energy: + . + This code is derived from software contributed to Berkeley by + Vern Paxson. + . + The United States Government has rights in this work pursuant + to contract no. DE-AC03-76SF00098 between the United States + Department of Energy and the University of California. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. + . + This basically says "do whatever you please with this software except + remove this notice or take advantage of the University's (or the flex + authors') name". + . + Note that the "flex.skl" scanner skeleton carries no copyright notice. + You are free to do whatever you please with scanners generated using flex; + for them, you are not even bound by the above copyright. + +Files: m4/libtool.m4 +Copyright: 1996-2001, 2003-2015, Free Software Foundation, Inc. +License: GPL + Flex carries the copyright used for BSD software, slightly modified + because it originated at the Lawrence Berkeley (not Livermore!) Laboratory, + which operates under a contract with the Department of Energy: + . + This code is derived from software contributed to Berkeley by + Vern Paxson. + . + The United States Government has rights in this work pursuant + to contract no. DE-AC03-76SF00098 between the United States + Department of Energy and the University of California. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. + . + This basically says "do whatever you please with this software except + remove this notice or take advantage of the University's (or the flex + authors') name". + . + Note that the "flex.skl" scanner skeleton carries no copyright notice. + You are free to do whatever you please with scanners generated using flex; + for them, you are not even bound by the above copyright. + +Files: m4/ltoptions.m4 + m4/ltsugar.m4 + m4/lt~obsolete.m4 +Copyright: 2004, 2005, 2007-2009, 2011-2015, Free Software +License: FLEX + Flex carries the copyright used for BSD software, slightly modified + because it originated at the Lawrence Berkeley (not Livermore!) Laboratory, + which operates under a contract with the Department of Energy: + . + This code is derived from software contributed to Berkeley by + Vern Paxson. + . + The United States Government has rights in this work pursuant + to contract no. DE-AC03-76SF00098 between the United States + Department of Energy and the University of California. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. + . + This basically says "do whatever you please with this software except + remove this notice or take advantage of the University's (or the flex + authors') name". + . + Note that the "flex.skl" scanner skeleton carries no copyright notice. + You are free to do whatever you please with scanners generated using flex; + for them, you are not even bound by the above copyright. + +Files: m4/nls.m4 +Copyright: 1995-2003, 2005, 2006, 2008-2010, Free Software Foundation +License: FLEX + Flex carries the copyright used for BSD software, slightly modified + because it originated at the Lawrence Berkeley (not Livermore!) Laboratory, + which operates under a contract with the Department of Energy: + . + This code is derived from software contributed to Berkeley by + Vern Paxson. + . + The United States Government has rights in this work pursuant + to contract no. DE-AC03-76SF00098 between the United States + Department of Energy and the University of California. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. + . + This basically says "do whatever you please with this software except + remove this notice or take advantage of the University's (or the flex + authors') name". + . + Note that the "flex.skl" scanner skeleton carries no copyright notice. + You are free to do whatever you please with scanners generated using flex; + for them, you are not even bound by the above copyright. + +Files: po/Makefile.in.in +Copyright: 1995-1997, 2000-2007, 2009, 2010, Ulrich Drepper +License: GPL + Flex carries the copyright used for BSD software, slightly modified + because it originated at the Lawrence Berkeley (not Livermore!) Laboratory, + which operates under a contract with the Department of Energy: + . + This code is derived from software contributed to Berkeley by + Vern Paxson. + . + The United States Government has rights in this work pursuant + to contract no. DE-AC03-76SF00098 between the United States + Department of Energy and the University of California. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. + . + This basically says "do whatever you please with this software except + remove this notice or take advantage of the University's (or the flex + authors') name". + . + Note that the "flex.skl" scanner skeleton carries no copyright notice. + You are free to do whatever you please with scanners generated using flex; + for them, you are not even bound by the above copyright. + +Files: po/Makevars +Copyright: for their translations to this person +License: FLEX + Flex carries the copyright used for BSD software, slightly modified + because it originated at the Lawrence Berkeley (not Livermore!) Laboratory, + which operates under a contract with the Department of Energy: + . + This code is derived from software contributed to Berkeley by + Vern Paxson. + . + The United States Government has rights in this work pursuant + to contract no. DE-AC03-76SF00098 between the United States + Department of Energy and the University of California. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. + . + This basically says "do whatever you please with this software except + remove this notice or take advantage of the University's (or the flex + authors') name". + . + Note that the "flex.skl" scanner skeleton carries no copyright notice. + You are free to do whatever you please with scanners generated using flex; + for them, you are not even bound by the above copyright. + +Files: src/* +Copyright: 1990, 1993, The Regents of the University of California. +License: FLEX + Flex carries the copyright used for BSD software, slightly modified + because it originated at the Lawrence Berkeley (not Livermore!) Laboratory, + which operates under a contract with the Department of Energy: + . + This code is derived from software contributed to Berkeley by + Vern Paxson. + . + The United States Government has rights in this work pursuant + to contract no. DE-AC03-76SF00098 between the United States + Department of Energy and the University of California. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. + . + This basically says "do whatever you please with this software except + remove this notice or take advantage of the University's (or the flex + authors') name". + . + Note that the "flex.skl" scanner skeleton carries no copyright notice. + You are free to do whatever you please with scanners generated using flex; + for them, you are not even bound by the above copyright. + +Files: src/Makefile.am + src/filter.c + src/flexint.h + src/libfl.pc.in + src/libmain.c + src/libyywrap.c + src/mkskel.sh + src/regex.c + src/scan.c + src/skel.c + src/version.h +Copyright: 2001-2008 The Flex Project. + 1990, 1993, 1997 The Regents of the University of California. + All rights reserved. +License: FLEX + Flex carries the copyright used for BSD software, slightly modified + because it originated at the Lawrence Berkeley (not Livermore!) Laboratory, + which operates under a contract with the Department of Energy: + . + This code is derived from software contributed to Berkeley by + Vern Paxson. + . + The United States Government has rights in this work pursuant + to contract no. DE-AC03-76SF00098 between the United States + Department of Energy and the University of California. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. + . + This basically says "do whatever you please with this software except + remove this notice or take advantage of the University's (or the flex + authors') name". + . + Note that the "flex.skl" scanner skeleton carries no copyright notice. + You are free to do whatever you please with scanners generated using flex; + for them, you are not even bound by the above copyright. + +Files: src/gettext.h +Copyright: 1995-1998, 2000-2002, Free Software Foundation, Inc. +License: LGPL-2+ + Flex carries the copyright used for BSD software, slightly modified + because it originated at the Lawrence Berkeley (not Livermore!) Laboratory, + which operates under a contract with the Department of Energy: + . + This code is derived from software contributed to Berkeley by + Vern Paxson. + . + The United States Government has rights in this work pursuant + to contract no. DE-AC03-76SF00098 between the United States + Department of Energy and the University of California. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. + . + This basically says "do whatever you please with this software except + remove this notice or take advantage of the University's (or the flex + authors') name". + . + Note that the "flex.skl" scanner skeleton carries no copyright notice. + You are free to do whatever you please with scanners generated using flex; + for them, you are not even bound by the above copyright. + +Files: src/parse.c + src/parse.h +Copyright: 1984, 1989, 1990, 2000-2015, Free Software Foundation, Inc. +License: GPL-3+ + Flex carries the copyright used for BSD software, slightly modified + because it originated at the Lawrence Berkeley (not Livermore!) Laboratory, + which operates under a contract with the Department of Energy: + . + This code is derived from software contributed to Berkeley by + Vern Paxson. + . + The United States Government has rights in this work pursuant + to contract no. DE-AC03-76SF00098 between the United States + Department of Energy and the University of California. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. + . + This basically says "do whatever you please with this software except + remove this notice or take advantage of the University's (or the flex + authors') name". + . + Note that the "flex.skl" scanner skeleton carries no copyright notice. + You are free to do whatever you please with scanners generated using flex; + for them, you are not even bound by the above copyright. + +Files: tools/git2cl +Copyright: 2007, Luis Mondesi + 2007, 2008, Simon Josefsson +License: GPL-2+ + Flex carries the copyright used for BSD software, slightly modified + because it originated at the Lawrence Berkeley (not Livermore!) Laboratory, + which operates under a contract with the Department of Energy: + . + This code is derived from software contributed to Berkeley by + Vern Paxson. + . + The United States Government has rights in this work pursuant + to contract no. DE-AC03-76SF00098 between the United States + Department of Energy and the University of California. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. + . + This basically says "do whatever you please with this software except + remove this notice or take advantage of the University's (or the flex + authors') name". + . + Note that the "flex.skl" scanner skeleton carries no copyright notice. + You are free to do whatever you please with scanners generated using flex; + for them, you are not even bound by the above copyright. + +License: GPL-3+ + This package is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + . + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see . + . + On Debian systems, the complete text of the GNU General + Public License can be found in "/usr/share/common-licenses/GPL-3". diff --git a/debian/flex-doc.doc-base b/debian/flex-doc.doc-base new file mode 100644 index 0000000..e05bcbc --- /dev/null +++ b/debian/flex-doc.doc-base @@ -0,0 +1,23 @@ +Document: flex-doc +Title: flex +Author: various +Abstract: Fast LEXical analyzer generator + Flex is a tool for generating programs that perform pattern-matching on + text. It generates "scanners": programs which recognized lexical + patterns in text. `flex' reads the given input files, or its + standard input if no file names are given, for a description of a + scanner to generate. The description is in the form of pairs of + regular expressions and C code, called "rules". `flex' generates as + output a C source file, `lex.yy.c', which defines a routine + `yylex()'. This file is compiled and linked with the `-lfl' library + to produce an executable. When the executable is run, it analyzes + its input for occurrences of the regular expressions. Whenever it + finds one, it executes the corresponding C code. +Section: Programming + +Format: HTML +Index: /usr/share/doc/flex-doc/html/index.html +Files: /usr/share/doc/flex-doc/html/*.html + +Format: PDF +Files: /usr/share/doc/flex-doc/flex.pdf.gz diff --git a/debian/flex-doc.docs b/debian/flex-doc.docs new file mode 100644 index 0000000..9f1cde0 --- /dev/null +++ b/debian/flex-doc.docs @@ -0,0 +1,3 @@ +README.md +doc/flex.html/ +doc/flex.pdf diff --git a/debian/flex-doc.postinst b/debian/flex-doc.postinst new file mode 100644 index 0000000..4ef68d2 --- /dev/null +++ b/debian/flex-doc.postinst @@ -0,0 +1,208 @@ +#! /bin/sh +# -*- Mode: Sh -*- +# postinst --- +# Author : Manoj Srivastava ( srivasta@glaurung.green-gryphon.com ) +# Created On : Fri Nov 14 11:25:07 2003 +# Created On Node : glaurung.green-gryphon.com +# Last Modified By : Manoj Srivastava +# Last Modified On : Thu Dec 4 02:35:13 2003 +# Last Machine Used: glaurung.green-gryphon.com +# Update Count : 14 +# Status : Unknown, Use with caution! +# HISTORY : +# Description : +# +# arch-tag: b5b8f5a7-813f-494e-8aa0-f51e8986f9ee +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# + +# Abort if any command returns an error value +set -e + +package_name=flex-doc + +if [ -z "$package_name" ]; then + print >&2 "Internal Error. Please report a bug." + exit 1; +fi + +# This script is called as the last step of the installation of the +# package. All the package's files are in place, dpkg has already done +# its automatic conffile handling, and all the packages we depend of +# are already fully installed and configured. +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +# The following idempotent stuff doesn't generally need protecting +# against being run in the abort-* cases. + +# Create stub directories under /usr/local +##: if test ! -d /usr/local/lib/${package_name}; then +##: if test ! -d /usr/local/lib; then +##: if mkdir /usr/local/lib; then +##: chown root.staff /usr/local/lib || true +##: chmod 2775 /usr/local/lib || true +##: fi +##: fi +##: if mkdir /usr/local/lib/${package_name}; then +##: chown root.staff /usr/local/lib/${package_name} || true +##: chmod 2775 /usr/local/lib/${package_name} || true +##: fi +##: fi + +# Ensure the menu system is updated +## [ ! -x /usr/bin/update-menus ] || /usr/bin/update-menus + +# Arrange for a daemon to be started at system boot time +##: update-rc.d ${package_name} default >/dev/null + +case "$1" in + configure) + # Configure this package. If the package must prompt the user for + # information, do it here. + # Install emacs lisp files + ##:if [ -x /usr/lib/emacsen-common/emacs-package-install ]; then + ##: /usr/lib/emacsen-common/emacs-package-install $package_name + ##:fi + + + # Activate menu-methods script + ##: chmod a+x /etc/menu-methods/${package_name} + + # Update ld.so cache + ##: ldconfig + + # Make our version of a program available + ##: update-alternatives \ + ##: --install /usr/bin/program program /usr/bin/alternative 50 \ + ##: --slave /usr/man/man1/program.1.gz program.1.gz \ + ##: /usr/man/man1/alternative.1.gz + + # Tell ucf that the file in /usr/share/foo is the latest + # maintainer version, and let it handle how to manage the real + # confuguration file in /etc. This is how a static configuration + # file can be handled: + ##:if which ucf >/dev/null 2>&1; then + ##: ucf /usr/share/${package_name}/configuration /etc/${package_name}.conf + ##:fi + + ### We could also do this on the fly. The following is from Tore + ### Anderson: + + #. /usr/share/debconf/confmodule + + ### find out what the user answered. + # db_get foo/run_on_boot + # run_on_boot=$RET + # db_stop + + ### safely create a temporary file to generate our suggested + ### configuration file. + # tempfile=`tempfile` + # cat << _eof > $tempfile + ### Configuration file for Foo. + + ### this was answered by you, the user in a debconf dialogue + # RUNONBOOT=$run_on_boot + + ### this was not, as it has a sane default value. + # COLOUROFSKY=blue + + #_eof + + ### Note that some versions of debconf do not release stdin, so + ### the following invocation of ucf may not work, since the stdin + ### is never coneected to ucfr. + + ### now, invoke ucf, which will take care of the rest, and ask + ### the user if he wants to update his file, if it is modified. + #ucf $tempfile /etc/foo.conf + + ### done! now we'll just clear up our cruft. + #rm -f $tempfile + + + + # There are three sub-cases: + if test "${2+set}" != set; then + # We're being installed by an ancient dpkg which doesn't remember + # which version was most recently configured, or even whether + # there is a most recently configured version. + : + + elif test -z "$2" || test "$2" = ""; then + # The package has not ever been configured on this system, or was + # purged since it was last configured. + : + + else + # Version $2 is the most recently configured version of this + # package. + : + + fi ;; + abort-upgrade) + # Back out of an attempt to upgrade this package FROM THIS VERSION + # to version $2. Undo the effects of "prerm upgrade $2". + : + + ;; + abort-remove) + if test "$2" != in-favour; then + echo "$0: undocumented call to \`postinst $*'" 1>&2 + exit 0 + fi + # Back out of an attempt to remove this package, which was due to + # a conflict with package $3 (version $4). Undo the effects of + # "prerm remove in-favour $3 $4". + : + + ;; + abort-deconfigure) + if test "$2" != in-favour || test "$5" != removing; then + echo "$0: undocumented call to \`postinst $*'" 1>&2 + exit 0 + fi + # Back out of an attempt to deconfigure this package, which was + # due to package $6 (version $7) which we depend on being removed + # to make way for package $3 (version $4). Undo the effects of + # "prerm deconfigure in-favour $3 $4 removing $6 $7". + : + + ;; + *) echo "$0: didn't understand being called with \`$1'" 1>&2 + exit 0;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/flex-doc.postrm b/debian/flex-doc.postrm new file mode 100644 index 0000000..4d37c96 --- /dev/null +++ b/debian/flex-doc.postrm @@ -0,0 +1,180 @@ +#! /bin/sh +# -*- Mode: Sh -*- +# postrm --- +# Author : Manoj Srivastava ( srivasta@glaurung.green-gryphon.com ) +# Created On : Fri Nov 14 12:22:20 2003 +# Created On Node : glaurung.green-gryphon.com +# Last Modified By : Manoj Srivastava +# Last Modified On : Tue Apr 11 13:20:24 2006 +# Last Machine Used: glaurung.internal.golden-gryphon.com +# Update Count : 12 +# Status : Unknown, Use with caution! +# HISTORY : +# Description : +# +# arch-tag: 56802d51-d980-4822-85c0-28fce19ed430 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + + +# Abort if any command returns an error value +set -e + +package_name=flex-doc + +if [ -z "$package_name" ]; then + print >&2 "Internal Error. Please report a bug." + exit 1; +fi + +# This script is called twice during the removal of the package; once +# after the removal of the package's files from the system, and as +# the final step in the removal of this package, after the package's +# conffiles have been removed. +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' overwrit>r> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +# Ensure the menu system is updated +# [ ! -x /usr/bin/update-menus ] || /usr/bin/update-menus + +case "$1" in + remove) + # This package is being removed, but its configuration has not yet + # been purged. + : + test ! -e /usr/share/doc/$package_name/.dhelp || \ + rm -f /usr/share/doc/$package_name/.dhelp + test ! -d /usr/share/doc/$package_name || \ + rmdir --ignore-fail-on-non-empty /usr/share/doc/$package_name + + # Remove diversion + # dpkg-divert --package ${package_name} --remove --rename \ + # --divert /usr/bin/other.real /usr/bin/other + + # ldconfig is NOT needed during removal of a library, only during + # installation + + ;; + purge) + # This package has previously been removed and is now having + # its configuration purged from the system. + + # we mimic dpkg as closely as possible, so we remove configuration + # files with dpkg backup extensions too: + ### Some of the following is from Tore Anderson: + # for ext in '~' '%' .bak .dpkg-tmp .dpkg-new .dpkg-old .dpkg-dist; do + # rm -f /etc/${package_name}.conf$ext + # done + + # remove the configuration file itself + # rm -f /etc/${package_name}.conf + test ! -e /usr/share/doc/$package_name/.dhelp || \ + rm -f /usr/share/doc/$package_name/.dhelp + test ! -d /usr/share/doc/$package_name || \ + rmdir --ignore-fail-on-non-empty /usr/share/doc/$package_name + + # and finally clear it out from the ucf database + # ucf --purge /etc/${package_name}.conf + + # Remove symlinks from /etc/rc?.d + # update-rc.d ${package_name} remove >/dev/null + + #if [ -e /usr/share/debconf/confmodule ]; then + # # Purge this package's data from the debconf database. + # . /usr/share/debconf/confmodule + # db_purge + #fi + + # This package has previously been removed and is now having + # its configuration purged from the system. + # for flavour in emacs20 emacs21; do + # STARTDIR=/etc/$flavour/site-start.d; + # STARTFILE="${package_name}-init.el"; + # if [ -e "$STARTDIR/20$STARTFILE" ]; then + # rm -f "$STARTDIR/20$STARTFILE" + # fi + # done + + ;; + disappear) + if test "$2" != overwriter; then + echo "$0: undocumented call to \`postrm $*'" 1>&2 + exit 0 + fi + # This package has been completely overwritten by package $3 + # (version $4). All our files are already gone from the system. + # This is a special case: neither "prerm remove" nor "postrm remove" + # have been called, because dpkg didn't know that this package would + # disappear until this stage. + : + + ;; + upgrade) + # About to upgrade FROM THIS VERSION to version $2 of this package. + # "prerm upgrade" has been called for this version, and "preinst + # upgrade" has been called for the new version. Last chance to + # clean up. + : + + ;; + failed-upgrade) + # About to upgrade from version $2 of this package TO THIS VERSION. + # "prerm upgrade" has been called for the old version, and "preinst + # upgrade" has been called for this version. This is only used if + # the previous version's "postrm upgrade" couldn't handle it and + # returned non-zero. (Fix old postrm bugs here.) + : + + ;; + abort-install) + # Back out of an attempt to install this package. Undo the effects of + # "preinst install...". There are two sub-cases. + : + + if test "${2+set}" = set; then + # When the install was attempted, version $2's configuration + # files were still on the system. Undo the effects of "preinst + # install $2". + : + + else + # We were being installed from scratch. Undo the effects of + # "preinst install". + : + + fi ;; + abort-upgrade) + # Back out of an attempt to upgrade this package from version $2 + # TO THIS VERSION. Undo the effects of "preinst upgrade $2". + : + + ;; + *) echo "$0: didn't understand being called with \`$1'" 1>&2 + exit 0;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/flex-doc.prerm b/debian/flex-doc.prerm new file mode 100644 index 0000000..fbf4c6c --- /dev/null +++ b/debian/flex-doc.prerm @@ -0,0 +1,123 @@ +#! /bin/sh +# -*- Mode: Sh -*- +# prerm --- +# Author : Manoj Srivastava ( srivasta@glaurung.green-gryphon.com ) +# Created On : Fri Nov 14 12:16:39 2003 +# Created On Node : glaurung.green-gryphon.com +# Last Modified By : Manoj Srivastava +# Last Modified On : Wed Dec 3 21:16:22 2003 +# Last Machine Used: glaurung.green-gryphon.com +# Update Count : 11 +# Status : Unknown, Use with caution! +# HISTORY : +# Description : +# +# arch-tag: db831a44-6be7-472f-b41c-a10de13e2f47 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# + +# Abort if any command returns an error value +set -e + +package_name=flex-doc + +if [ -z "$package_name" ]; then + print >&2 "Internal Error. Please report a bug." + exit 1; +fi + + +# This script is called as the first step in removing the package from +# the system. This includes cases where the user explicitly asked for +# the package to be removed, upgrade, automatic removal due to conflicts, +# and deconfiguration due to temporary removal of a depended-on package. + +case "$1" in + remove) + # This package about to be removed. + : + + # Remove package-specific directories from /usr/local. Don't try + # to remove standard directories such as /usr/local/lib. + ##: if test -d /usr/local/lib/${package_name}; then + ##: rmdir /usr/local/lib/${package_name} || true + ##: fi + + # Deactivate menu-methods script. + ##: chmod a-x /etc/menu-methods/${package_name} + + # Withdraw our version of a program. + ##: update-alternatives --remove program /usr/bin/alternative + + # Get rid of the byte compiled files + ##: if [ -x /usr/lib/emacsen-common/emacs-package-remove ]; then + ##: /usr/lib/emacsen-common/emacs-package-remove $package_name + ##: fi + + if [ -L /usr/doc/$package_name ]; then + rm -f /usr/doc/$package_name + fi + + # There are two sub-cases: + if test "${2+set}" = set; then + if test "$2" != in-favour; then + echo "$0: undocumented call to \`prerm $*'" 1>&2 + exit 0 + fi + # We are being removed because of a conflict with package $3 + # (version $4), which is now being installed. + : + + else + # The package is being removed in its own right. + : + + fi ;; + deconfigure) + if test "$2" != in-favour || test "$5" != removing; then + echo "$0: undocumented call to \`prerm $*'" 1>&2 + exit 0 + fi + # Package $6 (version $7) which we depend on is being removed due + # to a conflict with package $3 (version $4), and this package is + # being deconfigured until $6 can be reinstalled. + : + + ;; + upgrade) + # Prepare to upgrade FROM THIS VERSION of this package to version $2. + : + + if [ -L /usr/doc/$package_name ]; then + rm -f /usr/doc/$package_name + fi + + ;; + failed-upgrade) + # Prepare to upgrade from version $2 of this package TO THIS VERSION. + # This is only used if the old version's prerm couldn't handle it, + # and returned non-zero. (Fix old prerm bugs here.) + : + + ;; + *) echo "$0: didn't understand being called with \`$1'" 1>&2 + exit 0;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/flex.doc-base b/debian/flex.doc-base new file mode 100644 index 0000000..89e9529 --- /dev/null +++ b/debian/flex.doc-base @@ -0,0 +1,20 @@ +Document: flex +Title: flex +Author: various +Abstract: Fast LEXical analyzer generator + Flex is a tool for generating programs that perform pattern-matching on + text. It generates "scanners": programs which recognized lexical + patterns in text. `flex' reads the given input files, or its + standard input if no file names are given, for a description of a + scanner to generate. The description is in the form of pairs of + regular expressions and C code, called "rules". `flex' generates as + output a C source file, `lex.yy.c', which defines a routine + `yylex()'. This file is compiled and linked with the `-lfl' library + to produce an executable. When the executable is run, it analyzes + its input for occurrences of the regular expressions. Whenever it + finds one, it executes the corresponding C code. +Section: Programming + +Format: info +Index: /usr/share/info/flex.info.gz +Files: /usr/share/info/flex.info-1.gz /usr/share/info/flex.info-2.gz diff --git a/debian/flex.docs b/debian/flex.docs new file mode 100644 index 0000000..1f1b949 --- /dev/null +++ b/debian/flex.docs @@ -0,0 +1,7 @@ +ABOUT-NLS +AUTHORS +NEWS +ONEWS +README.md +THANKS +debian/NEWS.Debian diff --git a/debian/flex.examples b/debian/flex.examples new file mode 100644 index 0000000..e07855f --- /dev/null +++ b/debian/flex.examples @@ -0,0 +1,6 @@ +examples/debflex.awk +examples/fastwc/ +examples/Makefile.am +examples/manual/ +examples/README +examples/testxxLexer.l diff --git a/debian/flex.info b/debian/flex.info new file mode 100644 index 0000000..cb4869b --- /dev/null +++ b/debian/flex.info @@ -0,0 +1,3 @@ +doc/flex.info +doc/flex.info-1 +doc/flex.info-2 diff --git a/debian/flex.install b/debian/flex.install new file mode 100644 index 0000000..3f33f1a --- /dev/null +++ b/debian/flex.install @@ -0,0 +1,2 @@ +debian/tmp/share usr +debian/tmp/bin usr diff --git a/debian/flex.links b/debian/flex.links new file mode 100644 index 0000000..2f02305 --- /dev/null +++ b/debian/flex.links @@ -0,0 +1,3 @@ +usr/bin/flex usr/bin/lex +usr/share/man/man1/flex.1.gz usr/share/man/man1/flex++.1.gz +usr/share/man/man1/flex.1.gz usr/share/man/man1/lex.1.gz diff --git a/debian/flex.manpages b/debian/flex.manpages new file mode 100644 index 0000000..20764ce --- /dev/null +++ b/debian/flex.manpages @@ -0,0 +1 @@ +doc/flex.1 diff --git a/debian/flex.postinst b/debian/flex.postinst new file mode 100644 index 0000000..362562e --- /dev/null +++ b/debian/flex.postinst @@ -0,0 +1,226 @@ +#! /bin/sh +# -*- Mode: Sh -*- +# postinst --- +# Author : Manoj Srivastava ( srivasta@glaurung.green-gryphon.com ) +# Created On : Fri Nov 14 11:25:07 2003 +# Created On Node : glaurung.green-gryphon.com +# Last Modified By : Manoj Srivastava +# Last Modified On : Thu Dec 4 02:36:10 2003 +# Last Machine Used: glaurung.green-gryphon.com +# Update Count : 13 +# Status : Unknown, Use with caution! +# HISTORY : +# Description : +# +# arch-tag: 5401e9ef-39cc-4aee-96a4-61dfb8f32cf7 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# + +# Abort if any command returns an error value +set -e + +package_name=flex + +if [ -z "$package_name" ]; then + print >&2 "Internal Error. Please report a bug." + exit 1; +fi + +# This script is called as the last step of the installation of the +# package. All the package's files are in place, dpkg has already done +# its automatic conffile handling, and all the packages we depend of +# are already fully installed and configured. +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +# The following idempotent stuff doesn't generally need protecting +# against being run in the abort-* cases. + +# Create stub directories under /usr/local +##: if test ! -d /usr/local/lib/${package_name}; then +##: if test ! -d /usr/local/lib; then +##: if mkdir /usr/local/lib; then +##: chown root.staff /usr/local/lib || true +##: chmod 2775 /usr/local/lib || true +##: fi +##: fi +##: if mkdir /usr/local/lib/${package_name}; then +##: chown root.staff /usr/local/lib/${package_name} || true +##: chmod 2775 /usr/local/lib/${package_name} || true +##: fi +##: fi + +# Ensure the menu system is updated +##: [ ! -x /usr/bin/update-menus ] || /usr/bin/update-menus + +# Arrange for a daemon to be started at system boot time +##: update-rc.d ${package_name} default >/dev/null + +# This package uses debconf to ask a question, so source the debconf +# confmodule as early as possible. However, it does not depend on debconf, +# so debconf may not be installed. +################################################# +# if [ -e /usr/share/debconf/confmodule ]; then # +# . /usr/share/debconf/confmodule # +# db_capb # +# fi # +################################################# + +case "$1" in + configure) + # Configure this package. If the package must prompt the user for + # information, do it here. + # Install emacs lisp files + ##:if [ -x /usr/lib/emacsen-common/emacs-package-install ]; then + ##: /usr/lib/emacsen-common/emacs-package-install $package_name + ##:fi + + + # Activate menu-methods script + ##: chmod a+x /etc/menu-methods/${package_name} + + # Update ld.so cache + ##: ldconfig + + # Make our version of a program available + ##: update-alternatives \ + ##: --install /usr/bin/program program /usr/bin/alternative 50 \ + ##: --slave /usr/man/man1/program.1.gz program.1.gz \ + ##: /usr/man/man1/alternative.1.gz + + # Tell ucf that the file in /usr/share/foo is the latest + # maintainer version, and let it handle how to manage the real + # confuguration file in /etc. This is how a static configuration + # file can be handled: + ##:if which ucf >/dev/null 2>&1; then + ##: ucf /usr/share/${package_name}/configuration /etc/${package_name}.conf + ##:fi + + ### We could also do this on the fly. The following is from Tore + ### Anderson: + + #. /usr/share/debconf/confmodule + + ### find out what the user answered. + # db_get foo/run_on_boot + # run_on_boot=$RET + # db_stop + + ### safely create a temporary file to generate our suggested + ### configuration file. + # tempfile=`tempfile` + # cat << _eof > $tempfile + ### Configuration file for Foo. + + ### this was answered by you, the user in a debconf dialogue + # RUNONBOOT=$run_on_boot + + ### this was not, as it has a sane default value. + # COLOUROFSKY=blue + + #_eof + + ### Note that some versions of debconf do not release stdin, so + ### the following invocation of ucf may not work, since the stdin + ### is never coneected to ucfr. + + ### now, invoke ucf, which will take care of the rest, and ask + ### the user if he wants to update his file, if it is modified. + #ucf $tempfile /etc/foo.conf + + ### done! now we'll just clear up our cruft. + #rm -f $tempfile + + + + # There are three sub-cases: + if test "${2+set}" != set; then + # We're being installed by an ancient dpkg which doesn't remember + # which version was most recently configured, or even whether + # there is a most recently configured version. + : + + elif test -z "$2" || test "$2" = ""; then + # The package has not ever been configured on this system, or was + # purged since it was last configured. + : + + else + # Version $2 is the most recently configured version of this + # package. + : + + fi ;; + abort-upgrade) + # Back out of an attempt to upgrade this package FROM THIS VERSION + # to version $2. Undo the effects of "prerm upgrade $2". + : + + ;; + abort-remove) + if test "$2" != in-favour; then + echo "$0: undocumented call to \`postinst $*'" 1>&2 + exit 0 + fi + # Back out of an attempt to remove this package, which was due to + # a conflict with package $3 (version $4). Undo the effects of + # "prerm remove in-favour $3 $4". + : + + ;; + abort-deconfigure) + if test "$2" != in-favour || test "$5" != removing; then + echo "$0: undocumented call to \`postinst $*'" 1>&2 + exit 0 + fi + # Back out of an attempt to deconfigure this package, which was + # due to package $6 (version $7) which we depend on being removed + # to make way for package $3 (version $4). Undo the effects of + # "prerm deconfigure in-favour $3 $4 removing $6 $7". + : + + ;; + *) echo "$0: didn't understand being called with \`$1'" 1>&2 + exit 0;; +esac + +# Install doc base documentation +##:if which install-docs >/dev/null 2>&1; then +##: if [ -e /usr/share/doc-base/${package_name} ]; then +##: install-docs -i /usr/share/doc-base/${package_name} +##: fi +##:fi + +#DEBHELPER# + + +exit 0 diff --git a/debian/flex.prerm b/debian/flex.prerm new file mode 100644 index 0000000..927cc3e --- /dev/null +++ b/debian/flex.prerm @@ -0,0 +1,128 @@ +#! /bin/sh +# -*- Mode: Sh -*- +# prerm --- +# Author : Manoj Srivastava ( srivasta@glaurung.green-gryphon.com ) +# Created On : Fri Nov 14 12:16:39 2003 +# Created On Node : glaurung.green-gryphon.com +# Last Modified By : Manoj Srivastava +# Last Modified On : Thu Dec 4 02:36:25 2003 +# Last Machine Used: glaurung.green-gryphon.com +# Update Count : 10 +# Status : Unknown, Use with caution! +# HISTORY : +# Description : +# +# arch-tag: a4c1a888-137d-4800-98f8-93d0365422d8 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# + +# Abort if any command returns an error value +set -e + +package_name=flex + +if [ -z "$package_name" ]; then + print >&2 "Internal Error. Please report a bug." + exit 1; +fi + + +# This script is called as the first step in removing the package from +# the system. This includes cases where the user explicitly asked for +# the package to be removed, upgrade, automatic removal due to conflicts, +# and deconfiguration due to temporary removal of a depended-on package. + +case "$1" in + remove) + # This package about to be removed. + : + + # Remove package-specific directories from /usr/local. Don't try + # to remove standard directories such as /usr/local/lib. + ##: if test -d /usr/local/lib/${package_name}; then + ##: rmdir /usr/local/lib/${package_name} || true + ##: fi + + # Deactivate menu-methods script. + ##: chmod a-x /etc/menu-methods/${package_name} + + # Withdraw our version of a program. + ##: update-alternatives --remove program /usr/bin/alternative + + # Get rid of the installed docs + ##: if which install-docs >/dev/null 2>&1; then + ##: install-docs -r $package_name + ##: fi + + # Get rid of the byte compiled files + ##: if [ -x /usr/lib/emacsen-common/emacs-package-remove ]; then + ##: /usr/lib/emacsen-common/emacs-package-remove $package_name + ##: fi + + if [ -L /usr/doc/$package_name ]; then + rm -f /usr/doc/$package_name + fi + + # There are two sub-cases: + if test "${2+set}" = set; then + if test "$2" != in-favour; then + echo "$0: undocumented call to \`prerm $*'" 1>&2 + exit 0 + fi + # We are being removed because of a conflict with package $3 + # (version $4), which is now being installed. + : + + else + # The package is being removed in its own right. + : + + fi ;; + deconfigure) + if test "$2" != in-favour || test "$5" != removing; then + echo "$0: undocumented call to \`prerm $*'" 1>&2 + exit 0 + fi + # Package $6 (version $7) which we depend on is being removed due + # to a conflict with package $3 (version $4), and this package is + # being deconfigured until $6 can be reinstalled. + : + + ;; + upgrade) + # Prepare to upgrade FROM THIS VERSION of this package to version $2. + : + + if [ -L /usr/doc/$package_name ]; then + rm -f /usr/doc/$package_name + fi + + ;; + failed-upgrade) + # Prepare to upgrade from version $2 of this package TO THIS VERSION. + # This is only used if the old version's prerm couldn't handle it, + # and returned non-zero. (Fix old prerm bugs here.) + : + + ;; + *) echo "$0: didn't understand being called with \`$1'" 1>&2 + exit 0;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/libfl-dev.docs b/debian/libfl-dev.docs new file mode 100644 index 0000000..50fba66 --- /dev/null +++ b/debian/libfl-dev.docs @@ -0,0 +1,2 @@ +README.md +debian/NEWS.Debian diff --git a/debian/libfl-dev.install b/debian/libfl-dev.install new file mode 100644 index 0000000..c79ed74 --- /dev/null +++ b/debian/libfl-dev.install @@ -0,0 +1,2 @@ +debian/tmp/include usr +debian/tmp/lib usr diff --git a/debian/libfl2.docs b/debian/libfl2.docs new file mode 100644 index 0000000..50fba66 --- /dev/null +++ b/debian/libfl2.docs @@ -0,0 +1,2 @@ +README.md +debian/NEWS.Debian diff --git a/debian/libfl2.install b/debian/libfl2.install new file mode 100644 index 0000000..4023fe8 --- /dev/null +++ b/debian/libfl2.install @@ -0,0 +1 @@ +debian/tmp/lib/ usr diff --git a/debian/libfl2.symbols b/debian/libfl2.symbols new file mode 100644 index 0000000..0925e0a --- /dev/null +++ b/debian/libfl2.symbols @@ -0,0 +1,3 @@ +libfl.so.2 libfl2 #MINVER# + main@Base 2.5.33 + yywrap@Base 2.5.33 diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..f8ee94e --- /dev/null +++ b/debian/rules @@ -0,0 +1,113 @@ +#!/usr/bin/make -f +# Uncomment this to turn on verbose mode. +# export DH_VERBOSE=1 +package:=flex +SRCTOP:= $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi) +INSTALL = install +ifeq (,$(filter nostrip,$(DEB_BUILD_OPTIONS))) + INSTALL_PROGRAM += -s +endif + +export DEB_BUILD_MAINT_OPTIONS = hardening=+all +DPKG_EXPORT_BUILDFLAGS = 1 +include /usr/share/dpkg/buildflags.mk + +install_file = $(INSTALL) -p -o root -g root -m 644 +install_program = $(INSTALL) -p -o root -g root -m 755 +install_script = $(INSTALL) -p -o root -g root -m 755 +make_directory = $(INSTALL) -p -d -o root -g root -m 755 + +DPKG_ARCH := dpkg-architecture +export DEB_HOST_MULTIARCH := $(shell $(DPKG_ARCH) $(ha) -qDEB_HOST_MULTIARCH) +export DEB_BUILD_MULTIARCH := $(shell $(DPKG_ARCH) $(ha) -qDEB_BUILD_MULTIARCH) + +# Common useful variables +DEB_SOURCE_PACKAGE := $(strip $(shell egrep '^Source: ' $(SRCTOP)/debian/control | \ + cut -f 2 -d ':')) +DEB_VERSION := $(strip $(shell LC_ALL=C dpkg-parsechangelog | \ + egrep '^Version:' | cut -f 2 -d ' ')) +DEB_NOEPOCH_VERSION := $(shell echo $(DEB_VERSION) | cut -d: -f2-) +DEB_REVISION := $(strip $(shell echo $(DEB_NOEPOCH_VERSION) | \ + perl -ple 's/.+\-(.+)$$/$$1/msxg')) +DEB_UPSTREAM_VERSION := $(shell echo $(DEB_NOEPOCH_VERSION) | sed 's/-[^-]*$$//') + +confflags = ac_cv_lib_util_getloadavg=no +ifneq ($(DEB_BUILD_MULTIARCH),$(DEB_HOST_MULTIARCH)) + confflags += ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes +endif + + +%: + dh $@ --with autoreconf + +override_dh_auto_configure: + if ! which flex >/dev/null 2>&1; then \ + if [ -e debian/scan.l.md5sum ] && \ + [ "`md5sum scan.l`" = "`cat debian/scan.l.md5sum`" ]; then \ + if [ scan.l -nt scan.c ]; then \ + echo "scan.l newer than scan.c"; \ + fi; \ + touch scan.c; \ + fi; \ + fi + dh_auto_configure -- --prefix=$(PREFIX) $(confflags) + sed -i -e 's/^dist_doc_DATA[[:space:]]*=.*/dist_doc_DATA=/' doc/Makefile + +override_dh_install: + test ! -d debian/tmp/lib/$(DEB_HOST_MULTIARCH) || \ + find debian/tmp/lib/$(DEB_HOST_MULTIARCH) -type f \ + -name \*.la -exec rm {} \; + dh_install + test ! -f debian/libfl2/usr/lib/$(DEB_HOST_MULTIARCH)/libfl.so || \ + rm -f debian/libfl2/usr/lib/$(DEB_HOST_MULTIARCH)/libfl.so + test ! -f debian/libfl2/usr/lib/$(DEB_HOST_MULTIARCH)/libfl.a || \ + rm -f debian/libfl2/usr/lib/$(DEB_HOST_MULTIARCH)/libfl.a + test ! -d debian/libfl2/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig || \ + rm -rf debian/libfl2/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig + test ! -d debian/libfl-dev/usr/lib/$(DEB_HOST_MULTIARCH) || \ + find debian/libfl-dev/usr/lib/$(DEB_HOST_MULTIARCH) \ + -name libfl.so.\* -exec rm {} \; + test ! -f debian/libfl-dev/usr/lib/$(DEB_HOST_MULTIARCH)/libfl.a || \ + ln -s libfl.a \ + debian/libfl-dev/usr/lib/$(DEB_HOST_MULTIARCH)/libl.a + rm -f debian/flex/usr/share/doc/flex/flex.pdf + test ! -f debian/flex/usr/share/doc/flex/COPYING || \ + rm -f debian/flex/usr/share/doc/flex/COPYING + if [ -d debian/flex/usr/share/locale ] ; then \ + find debian/flex/usr/share/locale -type d -empty -delete ; \ + fi + dh_link + + +override_dh_installdocs: + dh_installdocs +ifneq (,$(filter flex-doc, $(shell dh_listpackages))) + mv debian/flex-doc/usr/share/doc/flex/flex.html/ \ + debian/flex-doc/usr/share/doc/flex-doc/html + mv debian/flex-doc/usr/share/doc/flex/flex.pdf \ + debian/flex-doc/usr/share/doc/flex-doc/ + mv debian/flex-doc/usr/share/doc/flex/README.md \ + debian/flex-doc/usr/share/doc/flex-doc/ +endif + +override_dh_auto_build: + dh_auto_build +ifneq (,$(filter flex-doc, $(shell dh_listpackages))) + $(MAKE) -C doc flex.html flex.pdf +endif + bash -n debian/flex-doc.postinst + bash -n debian/flex-doc.prerm + bash -n debian/flex.postinst + bash -n debian/flex.prerm + +.PHONY: get-orig-source +## http://wiki.debian.org/onlyjob/get-orig-source +get-orig-source: $(info I: $(package)_$(DEB_UPSTREAM_VERSION)) + @echo "Downloading $(package) $(DEB_UPSTREAM_VERSION)" + uscan --noconf --verbose --rename --destdir=$(CURDIR) \ + --check-dirname-level=0 --force-download \ + --download-version $(DEB_UPSTREAM_VERSION) $(SRCTOP) + +#Local variables: +#mode: makefile +#End: diff --git a/debian/scan.l.md5sum b/debian/scan.l.md5sum new file mode 100644 index 0000000..d920050 --- /dev/null +++ b/debian/scan.l.md5sum @@ -0,0 +1 @@ +f44ac89c7b3395bc923204e728f80047 scan.l diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..d3827e7 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +1.0 diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides new file mode 100644 index 0000000..3beb7e0 --- /dev/null +++ b/debian/source/lintian-overrides @@ -0,0 +1 @@ +flex source: debian-watch-may-check-gpg-signature diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc new file mode 100644 index 0000000..634139c --- /dev/null +++ b/debian/upstream/signing-key.asc @@ -0,0 +1,29 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQENBFgOn9QBCADZ9CRkdha3rhcVvCNJkWC/qAEapo4HOW1LrtOx9qL83XRXx5uW +GKaPJrAoKojWjVk4bslPmzG40dbMBvCe5L1/xklncM0do+54cQhny7G9O6EeZJ+R +9wPoaKEiu49NQLbISYp3rL5onaIucZ+3z7ZWJw0RBc0vHC4UNPw00DPTPPUFUm8/ +C+IrLB6gVErzjAwHerHm0mwlJSpE1OfaQnhANzO2++epbdaw3P9SZz1u0Ci2oh4b +qM+7tWGiLdK5AeOSvj3Bv4M+MgKdVAd+ghmdlxsgIzXkvEsjyIigD+j9YRm1UMTt +JxVtQ4QuI4WahBQoWeGUcKpwF3Jfh2rd9YFLABEBAAG0IFdpbGwgRXN0ZXMgPHdl +c3RlczU3NUBnbWFpbC5jb20+iQE3BBMBCAAhBQJYDp/UAhsDBQsJCAcCBhUICQoL +AgQWAgMBAh4BAheAAAoJEOSynI1kiFMHMJkH/0hcQxQlWMwfFx2xW9xqTphmq94y +SLsnCvlj+4JN7EefN1MZaF/bu2QhH+R8EIEkr+YToSheYPw01eAjy/1M60Pb57Ue +tW3R4NywwjK5RWbhGQMtVI5feQZ2rYTcjOWzZyfZsypCwjWds5nRs+nv9lhf7/iF +02IOIUGOt2RBif9wU9IEdvC0Ri4kUMtlhAc/VyiSgKwRott411TTPqi9maJZS/8I +Xe74Nba2AGx74UoJ9OT/wUIpiUhqHUSt6HjtYz9YAuvCvtenMStomjxOm8LsibTb +XslmE474byhofPH872rGAt12hTo67i0DGF+IohNWPInZCpR0ARdRn4huoPS5AQ0E +WA6f1AEIAM9UTG3KMZ2VwNn60OCqi7HOQahtbf9TSBdxQjtyPaRIwSU+xNTC84Y5 +iTjQV3hksWKNlYUZy+il+Fl3EXDEZMzY1R7lRWZ87s9AhYf/eBVadELceDW7Wn41 +od5O8D7U0A8/UnSjwOuy/0bmi835d9kd2mqjWScxQJ4ZozzdJ2HseihDG6LrdT3b +fIii5UoVlbFUF+HNQ7fwHR2zRYHA9MiEmgAtRMiEIIAshU9wmZKr5kJ1ItVW0yqk +rmIIOWT6m6BydSoXpnxwh5hGiJtJ2pZtCvn8SzY6ExWPnXBp35oYqkRZOeNiOuMe +L0NZe3pROsj2MESuc0WSbDGyoLaWft8AEQEAAYkBHwQYAQgACQUCWA6f1AIbDAAK +CRDkspyNZIhTB4TaCACjUCbag/zB7t/IsiFW051Vtwu1hy1q6rqaFKExMMzFcR2T +0ipbW/ajhpaY4bid0N9GXahoe6EZSZ5yo7kvXDr3ZYKE2WxcLZR5YJkfYdfTv5Bu +ltFVXKZvMgkgyBS3mUH7q4kxnZ/1IXZ9VobttbV9NvP2XykzpdZAnIqYXTw3Ijq1 +Q+QFfLc3RRQIc+vKNcGuwlJS6Y5tlZWyU1krGNeQgZig+19Uyco0nmFEtEQuia03 +oyqLbzE5jxydbT++1yDKzIEj4Icr1cS0tySj+N7ldojE0riHvPZrXxWN/nrq2F6f +yfhTmQ5JoGQXbLli52HReeTxHc05I0LlFYTS2Gba +=nWYe +-----END PGP PUBLIC KEY BLOCK----- diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..d0905a4 --- /dev/null +++ b/debian/watch @@ -0,0 +1,6 @@ +# format version number, currently 2; this line is compulsory! +version=4 + +opts=pgpsigurlmangle=s/(\d\S+)\.tar\.gz/$1\.tar\.gz\.sig/ \ +https://github.com/westes/@PACKAGE@/releases \ + /westes/@PACKAGE@/releases/download/v[\d\.]*/@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@ debian diff --git a/doc/Makefile.am b/doc/Makefile.am index 523aa97..e0ff498 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -10,5 +10,5 @@ CLEANFILES = *.aux *.cp *.cps *.fn *.fns *.hk *.hks *.ky *.log \ flex.1: $(top_srcdir)/configure.ac $(top_srcdir)/src/flex.skl $(top_srcdir)/src/options.c $(top_srcdir)/src/options.h | $(FLEX) $(HELP2MAN) --name='$(PACKAGE_NAME)' --section=1 \ --source='The Flex Project' --manual='Programming' \ - --output=$@ $(FLEX) \ + --output=$@ $(FLEXexe) \ || rm -f $@ diff --git a/po/LINGUAS b/po/LINGUAS index 4c51e38..ab7f200 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -1,23 +1,2 @@ -ca -da -de -en@quot -en@boldquot -eo -es -fi -fr -ga -hr -ko -nl -pl -pt_BR -ro -ru -sr -sv -tr -vi -zh_CN -zh_TW +# List of available languages. +ca da de en@boldquot en@quot eo es fi fr ga hr ko nl pl pt_BR ro ru sr sv tr uk vi zh_CN zh_TW diff --git a/po/uk.po b/po/uk.po new file mode 100644 index 0000000..e047fda --- /dev/null +++ b/po/uk.po @@ -0,0 +1,975 @@ +# Ukrainian translations for flex. +# Copyright (C) 2017 The Flex Project (msgids) +# This file is distributed under the same license as the flex package. +# +# Viktor Shepel , 2017. +# Yuri Chornoivan , 2017. +msgid "" +msgstr "" +"Project-Id-Version: flex 2.5.38\n" +"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" +"POT-Creation-Date: 2017-05-24 18:00-0400\n" +"PO-Revision-Date: 2017-06-17 09:26+0300\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Lokalize 1.5\n" + +#: src/buf.c:79 +msgid "Allocation of buffer to print string failed" +msgstr "Не вдалось виділити буфер для рядка, що виводиться" + +#: src/buf.c:107 +msgid "Allocation of buffer for line directive failed" +msgstr "Не вдалось виділити буфер для рядкової директиви" + +#: src/buf.c:177 +msgid "Allocation of buffer for m4 def failed" +msgstr "Не вдалось виділити буфер для m4 def" + +#: src/buf.c:198 +msgid "Allocation of buffer for m4 undef failed" +msgstr "Не вдалось виділити буфер для m4 undef" + +#: src/dfa.c:59 +#, c-format +msgid "State #%d is non-accepting -\n" +msgstr "Стан #%d не є допустимим -\n" + +#: src/dfa.c:119 +msgid "dangerous trailing context" +msgstr "небезпечний замикаючий контекст" + +#: src/dfa.c:159 +#, c-format +msgid " associated rule line numbers:" +msgstr " номера рядків асоційованого правила:" + +#: src/dfa.c:193 +#, c-format +msgid " out-transitions: " +msgstr " out-переходи: " + +#: src/dfa.c:201 +#, c-format +msgid "" +"\n" +" jam-transitions: EOF " +msgstr "" +"\n" +" jam-переходи: EOF " + +#: src/dfa.c:331 +msgid "consistency check failed in epsclosure()" +msgstr "помилка при перевірці на цілісність у epsclosure()" + +#: src/dfa.c:419 +msgid "" +"\n" +"\n" +"DFA Dump:\n" +"\n" +msgstr "" +"\n" +"\n" +"Дамп ДСА:\n" +"\n" + +#: src/dfa.c:587 +msgid "could not create unique end-of-buffer state" +msgstr "неможливо створити унікальний стан end_of_buffer" + +#: src/dfa.c:608 +#, c-format +msgid "state # %d:\n" +msgstr "стан # %d:\n" + +#: src/dfa.c:768 +msgid "Could not write yynxt_tbl[][]" +msgstr "Неможливо записати yynxt_tbl[][]" + +#: src/dfa.c:1028 +msgid "bad transition character detected in sympartition()" +msgstr "виявлено невірний символ переходу в sympartition()" + +#: src/gen.c:480 +msgid "" +"\n" +"\n" +"Equivalence Classes:\n" +"\n" +msgstr "" +"\n" +"\n" +"Класи еквівалентності:\n" +"\n" + +#: src/gen.c:669 src/gen.c:698 src/gen.c:1218 +#, c-format +msgid "state # %d accepts: [%d]\n" +msgstr "стан # %d приймає: [%d]\n" + +#: src/gen.c:1115 +#, c-format +msgid "state # %d accepts: " +msgstr "стан # %d приймає: " + +#: src/gen.c:1162 +msgid "Could not write yyacclist_tbl" +msgstr "Неможливо записати yyacclist_tbl" + +#: src/gen.c:1236 +msgid "Could not write yyacc_tbl" +msgstr "Неможливо записати yyacc_tbl" + +#: src/gen.c:1251 src/gen.c:1623 src/gen.c:1646 +msgid "Could not write ecstbl" +msgstr "Неможливо записати ecstbl" + +#: src/gen.c:1271 +msgid "" +"\n" +"\n" +"Meta-Equivalence Classes:\n" +msgstr "" +"\n" +"\n" +"Мета-Еквівалентні Класи:\n" + +#: src/gen.c:1293 +msgid "Could not write yymeta_tbl" +msgstr "Неможливо записати yymeta_tbl" + +#: src/gen.c:1352 +msgid "Could not write yybase_tbl" +msgstr "Неможливо записати yybase_tbl" + +#: src/gen.c:1384 +msgid "Could not write yydef_tbl" +msgstr "Неможливо записати yydef_tbl" + +#: src/gen.c:1422 +msgid "Could not write yynxt_tbl" +msgstr "Неможливо записати yynxt_tbl" + +#: src/gen.c:1456 +msgid "Could not write yychk_tbl" +msgstr "Неможливо записати yychk_tbl" + +#: src/gen.c:1608 src/gen.c:1637 +msgid "Could not write ftbl" +msgstr "Неможливо записати ftbl" + +#: src/gen.c:1614 +msgid "Could not write ssltbl" +msgstr "Неможливо записати ssltbl" + +#: src/gen.c:1665 +msgid "Could not write eoltbl" +msgstr "Неможливо записати eoltbl" + +#: src/gen.c:1722 +msgid "Could not write yynultrans_tbl" +msgstr "Неможливо записати yynultrans_tbl" + +#: src/main.c:178 +msgid "rule cannot be matched" +msgstr "неможливо застосувати правило" + +#: src/main.c:183 +msgid "-s option given but default rule can be matched" +msgstr "" +"вказано параметр -s, але правило за замовчуванням може бути застосоване" + +#: src/main.c:221 +msgid "Can't use -+ with -l option" +msgstr "Неможливо використовувати -+ з параметром -l" + +#: src/main.c:224 +msgid "Can't use -f or -F with -l option" +msgstr "Неможливо використовувати -f або -F з параметром -l" + +#: src/main.c:228 +msgid "Can't use --reentrant or --bison-bridge with -l option" +msgstr "" +"Неможливо використовувати --reentrant або --bison-bridge з параметром -l" + +#: src/main.c:260 +msgid "-Cf/-CF and -Cm don't make sense together" +msgstr "Параметри -Cf/-CF і -Cm разом не мають сенсу" + +#: src/main.c:263 +msgid "-Cf/-CF and -I are incompatible" +msgstr "Параметри -Cf/-CF і -I несумісні" + +#: src/main.c:267 +msgid "-Cf/-CF are incompatible with lex-compatibility mode" +msgstr "Параметри -Cf/-CF несумісні з режимом lex-compatibility" + +#: src/main.c:272 +msgid "-Cf and -CF are mutually exclusive" +msgstr "Параметри -Cf і -CF є взаємовиключними" + +#: src/main.c:276 +msgid "Can't use -+ with -CF option" +msgstr "Неможливо використовувати -+ з параметром -CF" + +#: src/main.c:279 +#, c-format +msgid "%array incompatible with -+ option" +msgstr "%array несумісний з параметром -+" + +#: src/main.c:284 +msgid "Options -+ and --reentrant are mutually exclusive." +msgstr "Параметри -+ і --reentrant є взаємовиключними." + +#: src/main.c:287 +msgid "bison bridge not supported for the C++ scanner." +msgstr "bison bridge не підтримується для сканера C++." + +#: src/main.c:336 src/main.c:419 +#, c-format +msgid "could not create %s" +msgstr "неможливо створити %s" + +#: src/main.c:431 +msgid "could not write tables header" +msgstr "Неможливо записати заголовок таблиць" + +#: src/main.c:435 +#, c-format +msgid "can't open skeleton file %s" +msgstr "Неможливо відкрити файл-каркас %s" + +#: src/main.c:450 +msgid "Prefix cannot include '[' or ']'" +msgstr "Префікс не може містити «[» або «]»" + +#: src/main.c:474 +msgid "allocation of macro definition failed" +msgstr "Не вдалось розмістити визначення макросу" + +#: src/main.c:521 +#, c-format +msgid "input error reading skeleton file %s" +msgstr "помилка читання файла-каркаса %s" + +#: src/main.c:525 +#, c-format +msgid "error closing skeleton file %s" +msgstr "помилка при закритті файла-каркаса %s" + +#: src/main.c:711 +#, c-format +msgid "error creating header file %s" +msgstr "помилка створення файла-заголовку %s" + +#: src/main.c:719 +#, c-format +msgid "error writing output file %s" +msgstr "помилка запису у вихідний файл %s" + +#: src/main.c:723 +#, c-format +msgid "error closing output file %s" +msgstr "помилка закриття вихідного файла %s" + +#: src/main.c:727 +#, c-format +msgid "error deleting output file %s" +msgstr "помилка видалення вихідного файла %s" + +#: src/main.c:734 +#, c-format +msgid "No backing up.\n" +msgstr "Резервне копіювання вимкнено.\n" + +#: src/main.c:738 +#, c-format +msgid "%d backing up (non-accepting) states.\n" +msgstr "резервне копіювання %d (недопустимих) станів.\n" + +#: src/main.c:742 +#, c-format +msgid "Compressed tables always back up.\n" +msgstr "Створення резервних копій стислих таблиць виконується завжди.\n" + +#: src/main.c:745 +#, c-format +msgid "error writing backup file %s" +msgstr "помилка запису резервної копії файла %s" + +#: src/main.c:749 +#, c-format +msgid "error closing backup file %s" +msgstr "помилка закриття резервної копії файла %s" + +#: src/main.c:754 +#, c-format +msgid "%s version %s usage statistics:\n" +msgstr "статистика використання %s версії %s:\n" + +#: src/main.c:757 +#, c-format +msgid " scanner options: -" +msgstr " параметри сканера: -" + +#: src/main.c:836 +#, c-format +msgid " %d/%d NFA states\n" +msgstr " %d/%d станів НСА\n" + +#: src/main.c:838 +#, c-format +msgid " %d/%d DFA states (%d words)\n" +msgstr " %d/%d станів ДСА (%d слів)\n" + +#: src/main.c:840 +#, c-format +msgid " %d rules\n" +msgstr " %d правил\n" + +#: src/main.c:845 +#, c-format +msgid " No backing up\n" +msgstr " Резервне копіювання вимкнено\n" + +#: src/main.c:849 +#, c-format +msgid " %d backing-up (non-accepting) states\n" +msgstr " резервне копіювання %d (недопустимих) станів\n" + +#: src/main.c:854 +#, c-format +msgid " Compressed tables always back-up\n" +msgstr " Створення резервних копій стислих таблиць виконується завжди\n" + +#: src/main.c:858 +#, c-format +msgid " Beginning-of-line patterns used\n" +msgstr " Використовуються шаблони початку рядка\n" + +#: src/main.c:860 +#, c-format +msgid " %d/%d start conditions\n" +msgstr " %d/%d початкових умов\n" + +#: src/main.c:864 +#, c-format +msgid " %d epsilon states, %d double epsilon states\n" +msgstr " %d епсилон-станів, %d подвійних епсилон-станів\n" + +#: src/main.c:868 +#, c-format +msgid " no character classes\n" +msgstr " відсутні класи символів\n" + +#: src/main.c:872 +#, c-format +msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" +msgstr "" +" %d/%d символьних класів потребують %d/%d слів для зберігання, %d " +"використано вдруге\n" + +#: src/main.c:877 +#, c-format +msgid " %d state/nextstate pairs created\n" +msgstr " створено %d пар стан/наступний-стан\n" + +#: src/main.c:880 +#, c-format +msgid " %d/%d unique/duplicate transitions\n" +msgstr " %d/%d унікальних/повторюваних переходів\n" + +#: src/main.c:885 +#, c-format +msgid " %d table entries\n" +msgstr " %d елементів таблиці\n" + +#: src/main.c:893 +#, c-format +msgid " %d/%d base-def entries created\n" +msgstr " створено %d/%d base-def елементів\n" + +#: src/main.c:897 +#, c-format +msgid " %d/%d (peak %d) nxt-chk entries created\n" +msgstr " створено %d/%d (пік %d) записів nxt-chk\n" + +#: src/main.c:901 +#, c-format +msgid " %d/%d (peak %d) template nxt-chk entries created\n" +msgstr " створено %d/%d (пік %d) шаблонних записів nxt-chk\n" + +#: src/main.c:905 +#, c-format +msgid " %d empty table entries\n" +msgstr " %d порожніх елементів таблиці\n" + +#: src/main.c:907 +#, c-format +msgid " %d protos created\n" +msgstr " створено %d прототипів\n" + +#: src/main.c:910 +#, c-format +msgid " %d templates created, %d uses\n" +msgstr " створено %d шаблонів, %d використовується\n" + +#: src/main.c:918 +#, c-format +msgid " %d/%d equivalence classes created\n" +msgstr " створено класів еквівалентності %d/%d\n" + +#: src/main.c:926 +#, c-format +msgid " %d/%d meta-equivalence classes created\n" +msgstr " створено класів мета-еквівалентності %d/%d\n" + +#: src/main.c:932 +#, c-format +msgid " %d (%d saved) hash collisions, %d DFAs equal\n" +msgstr " %d (%d записано) колізій хеш-таблиці, %d еквівалентних ДСА\n" + +#: src/main.c:934 +#, c-format +msgid " %d sets of reallocations needed\n" +msgstr " потрібно %d наборів повторних розміщень\n" + +#: src/main.c:936 +#, c-format +msgid " %d total table entries needed\n" +msgstr " всього потрібно %d елементів таблиці\n" + +#: src/main.c:1010 +#, c-format +msgid "Internal error. flexopts are malformed.\n" +msgstr "Внутрішня помилка. Неправильне значення flexopts.\n" + +#: src/main.c:1020 +#, c-format +msgid "Try `%s --help' for more information.\n" +msgstr "Спробуйте «%s --help» для отримання більш докладного опису.\n" + +#: src/main.c:1077 +#, c-format +msgid "unknown -C option '%c'" +msgstr "невідоме значення «%c» для параметру -C" + +#: src/main.c:1206 +#, c-format +msgid "%s %s\n" +msgstr "%s %s\n" + +#: src/main.c:1486 +msgid "fatal parse error" +msgstr "фатальна помилка розбору" + +#: src/main.c:1518 +#, c-format +msgid "could not create backing-up info file %s" +msgstr "неможливо створити резервну копію інформаційного файла %s" + +#: src/main.c:1539 +#, c-format +msgid "-l AT&T lex compatibility option entails a large performance penalty\n" +msgstr "" +"Параметр -l сумісності з AT&T lex спричиняє значне зниження продуктивності\n" + +#: src/main.c:1542 +#, c-format +msgid " and may be the actual source of other reported performance penalties\n" +msgstr "і також може бути істинним джерелом проблем з продуктивністю\n" + +#: src/main.c:1548 +#, c-format +msgid "" +"%%option yylineno entails a performance penalty ONLY on rules that can match " +"newline characters\n" +msgstr "" +"%%option yylineno спричиняе значне зниження продуктивності ТІЛЬКИ для " +"правил, котрі описують символи нового рядка\n" + +#: src/main.c:1555 +#, c-format +msgid "-I (interactive) entails a minor performance penalty\n" +msgstr "-I (інтерактивний) спричиняе незначне зниження продуктивності\n" + +#: src/main.c:1560 +#, c-format +msgid "yymore() entails a minor performance penalty\n" +msgstr "yymore() спричиняе незначне зниження продуктивності\n" + +#: src/main.c:1566 +#, c-format +msgid "REJECT entails a large performance penalty\n" +msgstr "REJECT спричиняе значне зниження продуктивності\n" + +#: src/main.c:1571 +#, c-format +msgid "Variable trailing context rules entail a large performance penalty\n" +msgstr "" +"Правила котрі мають замикаючий контекст змінної довжини значно знижують " +"продуктивність\n" + +#: src/main.c:1583 +msgid "REJECT cannot be used with -f or -F" +msgstr "REJECT не може бути використано разом з -f або -F" + +#: src/main.c:1586 +#, c-format +msgid "%option yylineno cannot be used with REJECT" +msgstr "%option yylineno не може бути використано з REJECT" + +#: src/main.c:1589 +msgid "variable trailing context rules cannot be used with -f or -F" +msgstr "" +"Правила котрі мають замикаючий контекст змінної довжини не можуть бути " +"використані з -f or -F" + +#: src/main.c:1714 +#, c-format +msgid "%option yyclass only meaningful for C++ scanners" +msgstr "%option yyclass має сенс тільки для сканерів C++" + +#: src/main.c:1801 +#, c-format +msgid "Usage: %s [OPTIONS] [FILE]...\n" +msgstr "Використання: %s [ПАРАМЕТРИ] [ФАЙЛ]…\n" + +#: src/main.c:1804 +#, fuzzy, c-format +msgid "" +"Generates programs that perform pattern-matching on text.\n" +"\n" +"Table Compression:\n" +" -Ca, --align trade off larger tables for better memory alignment\n" +" -Ce, --ecs construct equivalence classes\n" +" -Cf do not compress tables; use -f representation\n" +" -CF do not compress tables; use -F representation\n" +" -Cm, --meta-ecs construct meta-equivalence classes\n" +" -Cr, --read use read() instead of stdio for scanner input\n" +" -f, --full generate fast, large scanner. Same as -Cfr\n" +" -F, --fast use alternate table representation. Same as -CFr\n" +" -Cem default compression (same as --ecs --meta-ecs)\n" +"\n" +"Debugging:\n" +" -d, --debug enable debug mode in scanner\n" +" -b, --backup write backing-up information to %s\n" +" -p, --perf-report write performance report to stderr\n" +" -s, --nodefault suppress default rule to ECHO unmatched text\n" +" -T, --trace %s should run in trace mode\n" +" -w, --nowarn do not generate warnings\n" +" -v, --verbose write summary of scanner statistics to stdout\n" +" --hex use hexadecimal numbers instead of octal in debug " +"outputs\n" +"\n" +"Files:\n" +" -o, --outfile=FILE specify output filename\n" +" -S, --skel=FILE specify skeleton file\n" +" -t, --stdout write scanner on stdout instead of %s\n" +" --yyclass=NAME name of C++ class\n" +" --header-file=FILE create a C header file in addition to the " +"scanner\n" +" --tables-file[=FILE] write tables to FILE\n" +"\n" +"Scanner behavior:\n" +" -7, --7bit generate 7-bit scanner\n" +" -8, --8bit generate 8-bit scanner\n" +" -B, --batch generate batch scanner (opposite of -I)\n" +" -i, --case-insensitive ignore case in patterns\n" +" -l, --lex-compat maximal compatibility with original lex\n" +" -X, --posix-compat maximal compatibility with POSIX lex\n" +" -I, --interactive generate interactive scanner (opposite of -B)\n" +" --yylineno track line count in yylineno\n" +"\n" +"Generated code:\n" +" -+, --c++ generate C++ scanner class\n" +" -Dmacro[=defn] #define macro defn (default defn is '1')\n" +" -L, --noline suppress #line directives in scanner\n" +" -P, --prefix=STRING use STRING as prefix instead of \"yy\"\n" +" -R, --reentrant generate a reentrant C scanner\n" +" --bison-bridge scanner for bison pure parser.\n" +" --bison-locations include yylloc support.\n" +" --stdinit initialize yyin/yyout to stdin/stdout\n" +" --nounistd do not include \n" +" --noFUNCTION do not generate a particular FUNCTION\n" +"\n" +"Miscellaneous:\n" +" -c do-nothing POSIX option\n" +" -n do-nothing POSIX option\n" +" -?\n" +" -h, --help produce this help message\n" +" -V, --version report %s version\n" +msgstr "" +"Генерує програми, що знаходять шаблони у тексті.\n" +"\n" +"Стиснення таблиць:\n" +" -Ca, --align вирівняти таблиці у пам'яті збільшивши розмір\n" +" їх елементів\n" +" -Ce, --ecs створювати класи еквівалентності\n" +" -Cf не стискати таблиці; використовувати -f представлення\n" +" -CF не стискати таблиці; використовувати -F представлення\n" +" -Cm, --meta-ecs створювати класи мета-еквівалентності\n" +" -Cr, --read використати read() замість stdio як\n" +" вхідні дані сканера\n" +" -f, --full створити швидкий, великий сканер. Теж саме, що -Cfr\n" +" -F, --fast застосувати альтернативний опис таблиць.\n" +" Теж саме, що -CFr\n" +" -Cem степінь стиснення за замовчуванням\n" +" (теж саме, що --ecs --meta-ecs)\n" +"\n" +"Налагодження:\n" +" -d, --debug увімкнути режим налагодження сканера\n" +" -b, --backup записати резервну копію до %s\n" +" -p, --perf-report записати звіт про продуктивність до stderr\n" +" -s, --nodefault припинити вивід тексту (ECHO до stdout)\n" +" що не збігається з жодним правилом\n" +" -T, --trace %s повинен запускатися у режимі трасування\n" +" -w, --nowarn не видавати попереджень\n" +" -v, --verbose записати підсумкову статистику сканера до stdout\n" +"\n" +"Файли:\n" +" -o, --outfile=ФАЙЛ вказати ім'я вихідного файла\n" +" -S, --skel=ФАЙЛ вказати файл каркасу\n" +" -t, --stdout записати сканер до stdout замість %s\n" +" --yyclass=ІМ'Я ім'я класу C++\n" +" --header-file=ФАЙЛ створити C файл заголовок сканера\n" +" --tables-file[=ФАЙЛ] записати таблиці у ФАЙЛ\n" +"\n" +"Поведінка сканера:\n" +" -7, --7bit створити 7-бітний сканер\n" +" -8, --8bit створити 8-бітний сканер\n" +" -B, --batch створити пакетний сканер\n" +" (протилежна за властивостями до опції -I)\n" +" -i, --case-insensitive ігнорувати регістр символів у шаблонах\n" +" -l, --lex-compat максимальна сумісність з оригінальним lex\n" +" -X, --posix-compat максимальна сумісність з POSIX lex\n" +" -I, --interactive створити інтерактивний сканер\n" +" (протилежна за властивостями до опції -B)\n" +" --yylineno відслідковувати число рядків у yylineno\n" +"\n" +"Генерація коду:\n" +" -+, --c++ створити C++ клас сканера\n" +" -Dmacro[=defn] #define macro defn (за замовчуванням defn='1')\n" +" -L, --noline не створювати #line директиви для сканера\n" +" -P, --prefix=РЯДОК використати РЯДОК як префікс замість «yy»\n" +" -R, --reentrant генерувати реентерабельний C-сканер\n" +" --bison-bridge сканер тільки для bison аналізатору\n" +" --bison-locations додати підтримку yylloc\n" +" --stdinit ініціалізувати yyin/yyout до stdin/stdout\n" +" --noansi-definitions визначення функцій у застарілому стилі\n" +" --noansi-prototypes порожній список параметрів у прототипах\n" +" --nounistd не додавати \n" +" --noФУНКЦІЯ не генерувати задану функцію ФУНКЦІЯ\n" +"\n" +"Інше:\n" +" -с недіючий POSIX параметр\n" +" -n недіючий POSIX параметр\n" +" -?\n" +" -h, --help показати цю довідку\n" +" -V, --version показати версію %s\n" + +#: src/misc.c:64 +msgid "allocation of sko_stack failed" +msgstr "не вдалось отримати пам’ять під sko_stack" + +#: src/misc.c:100 +#, c-format +msgid "name \"%s\" ridiculously long" +msgstr "ім'я «%s» занадто довге" + +#: src/misc.c:149 src/misc.c:162 +msgid "memory allocation failed in allocate_array()" +msgstr "помилка виділення пам'яті у allocate_array()" + +#: src/misc.c:212 +#, c-format +msgid "bad character '%s' detected in check_char()" +msgstr "check_char() виявив недопустимий символ «%s»" + +#: src/misc.c:217 +#, c-format +msgid "scanner requires -8 flag to use the character %s" +msgstr "для використання символу %s сканер потребує опцію -8" + +#: src/misc.c:236 +msgid "memory allocation failure in xstrdup()" +msgstr "помилка виділення пам'яті у xstrdup()" + +#: src/misc.c:310 +#, c-format +msgid "%s: fatal internal error, %s\n" +msgstr "%s: фатальна внутрішня помилка, %s\n" + +#: src/misc.c:671 src/misc.c:683 +msgid "attempt to increase array size failed" +msgstr "помилка при спробі збільшити розмір масиву" + +#: src/misc.c:807 +msgid "bad line in skeleton file" +msgstr "невідомий рядок у файлі-каркасі" + +#: src/misc.c:857 +msgid "memory allocation failed in yy_flex_xmalloc()" +msgstr "помилка виділення пам'яті у yy_flex_xmalloc()" + +#: src/nfa.c:100 +#, c-format +msgid "" +"\n" +"\n" +"********** beginning dump of nfa with start state %d\n" +msgstr "" +"\n" +"\n" +"********** початок дампу НСА з початковим станом %d\n" + +#: src/nfa.c:111 +#, c-format +msgid "state # %4d\t" +msgstr "стан # %4d\t" + +#: src/nfa.c:126 +#, c-format +msgid "********** end of dump\n" +msgstr "********** кінець дампу\n" + +#: src/nfa.c:169 +msgid "empty machine in dupmachine()" +msgstr "порожній автомат у dupmachine()" + +#: src/nfa.c:234 +#, c-format +msgid "Variable trailing context rule at line %d\n" +msgstr "Правило із замикаючим контекстом змінної довжини у стрічці %d\n" + +#: src/nfa.c:357 +msgid "bad state type in mark_beginning_as_normal()" +msgstr "невідомий тип стану у mark_beginning_as_normal()" + +#: src/nfa.c:595 +#, c-format +msgid "input rules are too complicated (>= %d NFA states)" +msgstr "вхідні правила занадто складні (>= %d станів НСА)" + +#: src/nfa.c:673 +msgid "found too many transitions in mkxtion()" +msgstr "знайдено занадто багато переходів у mkxtion()" + +#: src/nfa.c:699 +#, c-format +msgid "too many rules (> %d)!" +msgstr "занадто багато правил (> %d)!" + +#: src/parse.y:159 +msgid "unknown error processing section 1" +msgstr "невідома помилка при обробці розділу 1" + +#: src/parse.y:184 src/parse.y:353 +msgid "bad start condition list" +msgstr "невірний список початкових умов" + +#: src/parse.y:204 +msgid "Prefix must not contain [ or ]" +msgstr "Префікс не може містити символи «[» або «]»" + +#: src/parse.y:317 +msgid "unrecognized rule" +msgstr "нерозпізнане правило" + +#: src/parse.y:436 src/parse.y:449 src/parse.y:518 +msgid "trailing context used twice" +msgstr "замикаючий контекст використано двічі" + +#: src/parse.y:554 src/parse.y:564 src/parse.y:637 src/parse.y:647 +msgid "bad iteration values" +msgstr "невірно сформований діапазон ітерацій" + +#: src/parse.y:582 src/parse.y:600 src/parse.y:665 src/parse.y:683 +msgid "iteration value must be positive" +msgstr "кількість ітерацій повинна бути додатнім числом" + +#: src/parse.y:806 src/parse.y:816 +#, c-format +msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" +msgstr "" +"використання діапазону символів [%c-%c] є двозначним для сканера, що не " +"чутливий до регістру символів" + +#: src/parse.y:821 +msgid "negative range in character class" +msgstr "" +"символьний клас описано діапазоном, перший елемент котрого більший за " +"останній" + +#: src/parse.y:918 +msgid "[:^lower:] is ambiguous in case insensitive scanner" +msgstr "" +"використання [:^lower:] є невизначеним для сканера, що не чутливий до " +"регістру символів" + +#: src/parse.y:924 +msgid "[:^upper:] ambiguous in case insensitive scanner" +msgstr "" +"використання [:^upper:] є невизначеним для сканера, що не чутливий до " +"регістру символів" + +#: src/scan.l:82 src/scan.l:646 src/scan.l:704 +msgid "Input line too long\n" +msgstr "Занадто довгий вхідний рядок\n" + +#: src/scan.l:183 +#, c-format +msgid "malformed '%top' directive" +msgstr "нерозпізнана директива «%top»" + +#: src/scan.l:205 +#, no-c-format +msgid "unrecognized '%' directive" +msgstr "нерозпізнана директива «%»" + +#: src/scan.l:214 +msgid "Definition name too long\n" +msgstr "Визначення має занадто довге ім'я\n" + +#: src/scan.l:309 +msgid "Unmatched '{'" +msgstr "Непарна «{»" + +#: src/scan.l:325 +#, c-format +msgid "Definition value for {%s} too long\n" +msgstr "Визначення {%s} має занадто довге значення\n" + +#: src/scan.l:342 +msgid "incomplete name definition" +msgstr "неповне визначення імені" + +#: src/scan.l:469 +msgid "Option line too long\n" +msgstr "Занадто довгий параметр\n" + +#: src/scan.l:477 +#, c-format +msgid "unrecognized %%option: %s" +msgstr "нерозпізнаний %%option: %s" + +#: src/scan.l:661 src/scan.l:834 +msgid "bad character class" +msgstr "помилковий символьний клас" + +#: src/scan.l:711 +#, c-format +msgid "undefined definition {%s}" +msgstr "нерозпізнане визначення {%s}" + +#: src/scan.l:774 +msgid "unbalanced parenthesis" +msgstr "незбалансовані круглі дужки" + +#: src/scan.l:789 +#, c-format +msgid "bad : %s" +msgstr "невірно сформованана <умова, що активує правило>: %s" + +#: src/scan.l:802 +msgid "missing quote" +msgstr "відсутні лапки" + +#: src/scan.l:868 +#, c-format +msgid "bad character class expression: %s" +msgstr "символьний клас заданий некоректним виразом: %s" + +#: src/scan.l:890 +msgid "bad character inside {}'s" +msgstr "неприйнятний символ всередині {}" + +#: src/scan.l:896 +msgid "missing }" +msgstr "відсутній }" + +#: src/scan.l:974 +msgid "EOF encountered inside an action" +msgstr "знайдено EOF всередині коду котрий асоційований з правилом" + +#: src/scan.l:979 +msgid "EOF encountered inside pattern" +msgstr "знайдено EOF всередині шаблону, що задає правило" + +#: src/scan.l:1012 +#, c-format +msgid "bad character: %s" +msgstr "неочікуваний символ: %s" + +#: src/scan.l:1040 +#, c-format +msgid "can't open %s" +msgstr "неможливо відкрити %s" + +#: src/scanopt.c:259 +#, c-format +msgid "Usage: %s [OPTIONS]...\n" +msgstr "Використання: %s [ПАРАМЕТРИ]…\n" + +#: src/scanopt.c:524 +#, c-format +msgid "option `%s' doesn't allow an argument\n" +msgstr "параметр «%s» повинен використовуватись без аргументу\n" + +#: src/scanopt.c:529 +#, c-format +msgid "option `%s' requires an argument\n" +msgstr "параметр «% s» повинен використовуватись з аргументом\n" + +#: src/scanopt.c:533 +#, c-format +msgid "option `%s' is ambiguous\n" +msgstr "параметр «%s» є двозначним\n" + +#: src/scanopt.c:537 +#, c-format +msgid "Unrecognized option `%s'\n" +msgstr "Нерозпізнаний параметр «%s»\n" + +#: src/scanopt.c:541 +#, c-format +msgid "Unknown error=(%d)\n" +msgstr "Невідома помилка=(%d)\n" + +#: src/sym.c:92 +msgid "symbol table memory allocation failed" +msgstr "помилка виділення пам'яті для таблиці символів" + +#: src/sym.c:183 +msgid "name defined twice" +msgstr "ім'я визначено двічі" + +#: src/sym.c:231 +#, c-format +msgid "start condition %s declared twice" +msgstr "початкова умова %s описана двічі" + +#: src/yylex.c:57 +msgid "premature EOF" +msgstr "неочікуваний EOF" + +#: src/yylex.c:200 +#, c-format +msgid "End Marker\n" +msgstr "Мітка кінця\n" + +#: src/yylex.c:206 +#, c-format +msgid "*Something Weird* - tok: %d val: %d\n" +msgstr "*Щось не так* — tok: %d val: %d\n" + +#~ msgid "dynamic memory failure in copy_string()" +#~ msgstr "помилка під час роботи з динамічною пам’яттю у copy_string()" diff --git a/src/Makefile.am b/src/Makefile.am index e379692..6e71893 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,6 +1,7 @@ AM_YFLAGS = -d AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" LIBS = @LIBS@ +pkgconfigdir = @pkgconfigdir@ m4 = @M4@ @@ -11,6 +12,7 @@ endif if ENABLE_LIBFL lib_LTLIBRARIES = libfl.la +pkgconfig_DATA = libfl.pc endif libfl_la_SOURCES = \ libmain.c \ @@ -79,6 +81,8 @@ COMMON_SOURCES = \ LDADD = $(LIBOBJS) @LIBINTL@ +$(LIBOBJS): $(LIBOBJDIR)$(am__dirstamp) + include_HEADERS = \ FlexLexer.h diff --git a/src/buf.c b/src/buf.c index 185083c..e9931bc 100644 --- a/src/buf.c +++ b/src/buf.c @@ -36,13 +36,13 @@ /* Take note: The buffer object is sometimes used as a String buffer (one * continuous string), and sometimes used as a list of strings, usually line by * line. - * + * * The type is specified in buf_init by the elt_size. If the elt_size is * sizeof(char), then the buffer should be treated as string buffer. If the * elt_size is sizeof(char*), then the buffer should be treated as a list of * strings. * - * Certain functions are only appropriate for one type or the other. + * Certain functions are only appropriate for one type or the other. */ /* global buffers. */ diff --git a/src/ccl.c b/src/ccl.c index ff9a213..5c5af13 100644 --- a/src/ccl.c +++ b/src/ccl.c @@ -73,6 +73,13 @@ void ccladd (int cclp, int ch) newpos = ind + len; + /* For a non-last cclp, expanding the set will overflow and overwrite a + * char in the next cclp. + * FIXME: Need another allocation scheme for ccl's. */ + if (cclp != lastccl) { + flexfatal(_("internal error: trying to add a char to a non-last ccl.\n")); + } + if (newpos >= current_max_ccl_tbl_size) { current_max_ccl_tbl_size += MAX_CCL_TBL_SIZE_INCREMENT; diff --git a/src/filter.c b/src/filter.c index 71f3635..a7e69ec 100644 --- a/src/filter.c +++ b/src/filter.c @@ -47,10 +47,9 @@ struct filter *filter_create_ext (struct filter *chain, const char *cmd, va_list ap; /* allocate and initialize new filter */ - f = malloc(sizeof(struct filter)); + f = calloc(sizeof(struct filter), 1); if (!f) - flexerror(_("malloc failed (f) in filter_create_ext")); - memset (f, 0, sizeof (*f)); + flexerror(_("calloc failed (f) in filter_create_ext")); f->filter_func = NULL; f->extra = NULL; f->next = NULL; @@ -100,10 +99,9 @@ struct filter *filter_create_int (struct filter *chain, struct filter *f; /* allocate and initialize new filter */ - f = malloc(sizeof(struct filter)); + f = calloc(sizeof(struct filter), 1); if (!f) - flexerror(_("malloc failed in filter_create_int")); - memset (f, 0, sizeof (*f)); + flexerror(_("calloc failed in filter_create_int")); f->next = NULL; f->argc = 0; f->argv = NULL; @@ -230,8 +228,7 @@ int filter_tee_header (struct filter *chain) * header file at the same time. */ - const int readsz = 512; - char *buf; + char buf[512]; int to_cfd = -1; FILE *to_c = NULL, *to_h = NULL; bool write_header; @@ -283,10 +280,7 @@ int filter_tee_header (struct filter *chain) fprintf (to_c, "m4_define( [[M4_YY_OUTFILE_NAME]],[[%s]])m4_dnl\n", outfilename ? outfilename : ""); - buf = malloc((size_t) readsz); - if (!buf) - flexerror(_("malloc failed in filter_tee_header")); - while (fgets (buf, readsz, stdin)) { + while (fgets (buf, sizeof buf, stdin)) { fputs (buf, to_c); if (write_header) fputs (buf, to_h); @@ -328,6 +322,13 @@ int filter_tee_header (struct filter *chain) return 0; } +static bool is_blank_line (const char *str) +{ + while (isspace(*str)) + str++; + return (*str == '\0'); +} + /** Adjust the line numbers in the #line directives of the generated scanner. * After the m4 expansion, the line numbers are incorrect since the m4 macros * can add or remove lines. This only adjusts line numbers for generated code, @@ -336,8 +337,8 @@ int filter_tee_header (struct filter *chain) */ int filter_fix_linedirs (struct filter *chain) { - char *buf; - const size_t readsz = 512; + char buf[512]; + const size_t readsz = sizeof buf; int lineno = 1; bool in_gen = true; /* in generated code */ bool last_was_blank = false; @@ -345,10 +346,6 @@ int filter_fix_linedirs (struct filter *chain) if (!chain) return 0; - buf = malloc(readsz); - if (!buf) - flexerror(_("malloc failed in filter_fix_linedirs")); - while (fgets (buf, (int) readsz, stdin)) { regmatch_t m[10]; @@ -391,7 +388,7 @@ int filter_fix_linedirs (struct filter *chain) /* Adjust the line directives. */ in_gen = true; snprintf (buf, readsz, "#line %d \"%s\"\n", - lineno, filename); + lineno + 1, filename); } else { /* it's a #line directive for code we didn't write */ @@ -403,9 +400,7 @@ int filter_fix_linedirs (struct filter *chain) } /* squeeze blank lines from generated code */ - else if (in_gen - && regexec (®ex_blank_line, buf, 0, NULL, - 0) == 0) { + else if (in_gen && is_blank_line(buf)) { if (last_was_blank) continue; else diff --git a/src/flex.skl b/src/flex.skl index 786c977..ba194a2 100644 --- a/src/flex.skl +++ b/src/flex.skl @@ -15,7 +15,7 @@ %# The quoting is "[[" and "]]" so we don't interfere with %# user code. %# -%# All generate macros for the m4 stage contain the text "m4" or "M4" +%# All generated macros for the m4 stage contain the text "m4" or "M4" %# in them. This is to distinguish them from CPP macros. %# The exception to this rule is YY_G, which is an m4 macro, %# but it needs to be remain short because it is used everywhere. @@ -3292,9 +3292,7 @@ static int yytbl_data_load YYFARGS2(struct yytbl_dmap *, dmap, struct yytbl_read /* Now eat padding. */ { - int pad; - pad = yypad64(rd->bread); - while(--pad >= 0){ + while (rd->bread % (8 * sizeof(flex_uint8_t)) > 0) { flex_int8_t t8; if(yytbl_read8(&t8,rd) != 0) return -1; diff --git a/src/flexdef.h b/src/flexdef.h index 9dac654..a48c64d 100644 --- a/src/flexdef.h +++ b/src/flexdef.h @@ -44,7 +44,6 @@ #include #include #include -#include /* for XPG version of basename(3) */ #include #include @@ -77,8 +76,10 @@ #include #include "flexint.h" -/* We use gettext. So, when we write strings which should be translated, we mark them with _() */ -#ifdef ENABLE_NLS +/* We use gettext. So, when we write strings which should be translated, we + * mark them with _() + */ +#if defined(ENABLE_NLS) && ENABLE_NLS #ifdef HAVE_LOCALE_H #include #endif /* HAVE_LOCALE_H */ @@ -631,10 +632,6 @@ extern int sectnum, nummt, hshcol, dfaeql, numeps, eps2, num_reallocs; extern int tmpuses, totnst, peakpairs, numuniq, numdup, hshsave; extern int num_backing_up, bol_needed; -#ifndef HAVE_REALLOCARRAY -void *reallocarray(void *, size_t, size_t); -#endif - void *allocate_array(int, size_t); void *reallocate_array(void *, int, size_t); @@ -1131,7 +1128,7 @@ extern int filter_fix_linedirs(struct filter *chain); * From "regex.c" */ -extern regex_t regex_linedir, regex_blank_line; +extern regex_t regex_linedir; bool flex_init_regex(void); void flex_regcomp(regex_t *preg, const char *regex, int cflags); char *regmatch_dup (regmatch_t * m, const char *src); diff --git a/src/gen.c b/src/gen.c index 590e5d8..c959f75 100644 --- a/src/gen.c +++ b/src/gen.c @@ -464,14 +464,14 @@ static struct yytbl_data *mkecstbl (void) void genecs (void) { - int i, j; + int ch, row; int numrows; out_str_dec (get_yy_char_decl (), "yy_ec", csize); - for (i = 1; i < csize; ++i) { - ecgroup[i] = ABS (ecgroup[i]); - mkdata (ecgroup[i]); + for (ch = 1; ch < csize; ++ch) { + ecgroup[ch] = ABS (ecgroup[ch]); + mkdata (ecgroup[ch]); } dataend (); @@ -479,12 +479,13 @@ void genecs (void) if (trace) { fputs (_("\n\nEquivalence Classes:\n\n"), stderr); + /* Print in 8 columns */ numrows = csize / 8; - for (j = 0; j < numrows; ++j) { - for (i = j; i < csize; i = i + numrows) { + for (row = 0; row < numrows; ++row) { + for (ch = row; ch < csize; ch += numrows) { fprintf (stderr, "%4s = %-2d", - readable_form (i), ecgroup[i]); + readable_form (ch), ecgroup[ch]); putc (' ', stderr); } @@ -1234,9 +1235,9 @@ void gentabs (void) yytbl_data_compress (yyacc_tbl); if (yytbl_data_fwrite (&tableswr, yyacc_tbl) < 0) flexerror (_("Could not write yyacc_tbl")); - yytbl_data_destroy (yyacc_tbl); - yyacc_tbl = NULL; } + yytbl_data_destroy (yyacc_tbl); + yyacc_tbl = NULL; /* End generating yy_accept */ if (useecs) { @@ -1289,11 +1290,10 @@ void gentabs (void) if (tablesext) { yytbl_data_compress (yymeta_tbl); if (yytbl_data_fwrite (&tableswr, yymeta_tbl) < 0) - flexerror (_ - ("Could not write yymeta_tbl")); - yytbl_data_destroy (yymeta_tbl); - yymeta_tbl = NULL; + flexerror (_("Could not write yymeta_tbl")); } + yytbl_data_destroy (yymeta_tbl); + yymeta_tbl = NULL; /* End generating yy_meta */ } @@ -1350,9 +1350,9 @@ void gentabs (void) yytbl_data_compress (yybase_tbl); if (yytbl_data_fwrite (&tableswr, yybase_tbl) < 0) flexerror (_("Could not write yybase_tbl")); - yytbl_data_destroy (yybase_tbl); - yybase_tbl = NULL; } + yytbl_data_destroy (yybase_tbl); + yybase_tbl = NULL; /* End generating yy_base */ @@ -1382,9 +1382,9 @@ void gentabs (void) yytbl_data_compress (yydef_tbl); if (yytbl_data_fwrite (&tableswr, yydef_tbl) < 0) flexerror (_("Could not write yydef_tbl")); - yytbl_data_destroy (yydef_tbl); - yydef_tbl = NULL; } + yytbl_data_destroy (yydef_tbl); + yydef_tbl = NULL; /* End generating yy_def */ @@ -1420,9 +1420,9 @@ void gentabs (void) yytbl_data_compress (yynxt_tbl); if (yytbl_data_fwrite (&tableswr, yynxt_tbl) < 0) flexerror (_("Could not write yynxt_tbl")); - yytbl_data_destroy (yynxt_tbl); - yynxt_tbl = NULL; } + yytbl_data_destroy (yynxt_tbl); + yynxt_tbl = NULL; /* End generating yy_nxt */ /* Begin generating yy_chk */ @@ -1454,9 +1454,9 @@ void gentabs (void) yytbl_data_compress (yychk_tbl); if (yytbl_data_fwrite (&tableswr, yychk_tbl) < 0) flexerror (_("Could not write yychk_tbl")); - yytbl_data_destroy (yychk_tbl); - yychk_tbl = NULL; } + yytbl_data_destroy (yychk_tbl); + yychk_tbl = NULL; /* End generating yy_chk */ free(acc_array); diff --git a/src/gettext.h b/src/gettext.h index ea67f30..3f62961 100644 --- a/src/gettext.h +++ b/src/gettext.h @@ -20,7 +20,7 @@ #define _LIBGETTEXT_H 1 /* NLS can be disabled through the configure --disable-nls option. */ -#if ENABLE_NLS +#ifdef ENABLE_NLS /* Get declarations of GNU message catalog functions. */ # include diff --git a/src/libfl.pc.in b/src/libfl.pc.in new file mode 100644 index 0000000..8d4240c --- /dev/null +++ b/src/libfl.pc.in @@ -0,0 +1,8 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ + +Name: libfl +Description: Flex (the fast lexical analyzer) support library +Version: @PACKAGE_VERSION@ +Libs: -L${libdir} -lfl diff --git a/src/main.c b/src/main.c index e5eac44..a4047d7 100644 --- a/src/main.c +++ b/src/main.c @@ -117,7 +117,7 @@ struct yytbl_writer tableswr; char *program_name = "flex"; static const char outfile_template[] = "lex.%s.%s"; -static const char backing_name[] = "lex.backup"; +static const char *backing_name = "lex.backup"; static const char tablesfile_template[] = "lex.%s.tables"; /* From scan.l */ @@ -197,7 +197,7 @@ int flex_main (int argc, char *argv[]) /* Wrapper around flex_main, so flex_main can be built as a library. */ int main (int argc, char *argv[]) { -#if ENABLE_NLS +#if defined(ENABLE_NLS) && ENABLE_NLS #if HAVE_LOCALE_H setlocale (LC_MESSAGES, ""); setlocale (LC_CTYPE, ""); @@ -648,6 +648,7 @@ void flexend (int exit_status) "yyget_extra", "yyget_in", "yyget_leng", + "yyget_column", "yyget_lineno", "yyget_lloc", "yyget_lval", @@ -670,6 +671,7 @@ void flexend (int exit_status) "yyset_debug", "yyset_extra", "yyset_in", + "yyset_column", "yyset_lineno", "yyset_lloc", "yyset_lval", @@ -994,7 +996,7 @@ void flexinit (int argc, char **argv) flex_init_regex(); /* Enable C++ if program name ends with '+'. */ - program_name = basename (argv[0]); + program_name = argv[0]; if (program_name != NULL && program_name[strlen (program_name) - 1] == '+') @@ -1033,6 +1035,11 @@ void flexinit (int argc, char **argv) backing_up_report = true; break; + case OPT_BACKUP_FILE: + backing_up_report = true; + backing_name = arg; + break; + case OPT_DONOTHING: break; @@ -1201,7 +1208,7 @@ void flexinit (int argc, char **argv) break; case OPT_VERSION: - printf (_("%s %s\n"), program_name, flex_version); + printf ("%s %s\n", (C_plus_plus ? "flex++" : "flex"), flex_version); FLEX_EXIT (0); case OPT_WARN: @@ -1394,6 +1401,14 @@ void flexinit (int argc, char **argv) //buf_strdefine (&userdef_buf, "YY_NO_SET_LINENO", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_SET_LINENO",0); break; + case OPT_NO_YYGET_COLUMN: + //buf_strdefine (&userdef_buf, "YY_NO_GET_COLUMN", "1"); + buf_m4_define( &m4defs_buf, "M4_YY_NO_GET_COLUMN",0); + break; + case OPT_NO_YYSET_COLUMN: + //buf_strdefine (&userdef_buf, "YY_NO_SET_COLUMN", "1"); + buf_m4_define( &m4defs_buf, "M4_YY_NO_SET_COLUMN",0); + break; case OPT_NO_YYGET_IN: //buf_strdefine (&userdef_buf, "YY_NO_GET_IN", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_GET_IN",0); @@ -1817,7 +1832,8 @@ void usage (void) " -t, --stdout write scanner on stdout instead of %s\n" " --yyclass=NAME name of C++ class\n" " --header-file=FILE create a C header file in addition to the scanner\n" - " --tables-file[=FILE] write tables to FILE\n" "\n" + " --tables-file[=FILE] write tables to FILE\n" + " --backup-file=FILE write backing-up information to FILE\n" "\n" "Scanner behavior:\n" " -7, --7bit generate 7-bit scanner\n" " -8, --8bit generate 8-bit scanner\n" @@ -1844,6 +1860,6 @@ void usage (void) " -?\n" " -h, --help produce this help message\n" " -V, --version report %s version\n"), - backing_name, program_name, outfile_path, program_name); + backing_name, "flex", outfile_path, "flex"); } diff --git a/src/misc.c b/src/misc.c index ef27833..745e6a8 100644 --- a/src/misc.c +++ b/src/misc.c @@ -116,15 +116,14 @@ void add_action (const char *new_text) int len = (int) strlen (new_text); while (len + action_index >= action_size - 10 /* slop */ ) { - int new_size = action_size * 2; - if (new_size <= 0) + if (action_size > INT_MAX / 2) /* Increase just a little, to try to avoid overflow * on 16-bit machines. */ action_size += action_size / 8; else - action_size = new_size; + action_size = action_size * 2; action_array = reallocate_character_array (action_array, @@ -141,20 +140,24 @@ void add_action (const char *new_text) void *allocate_array (int size, size_t element_size) { - void *mem; -#if HAVE_REALLOCARRAY - /* reallocarray has built-in overflow detection */ - mem = reallocarray(NULL, (size_t) size, element_size); + void *new_array; +#if HAVE_REALLOCARR + new_array = NULL; + if (reallocarr(&new_array, (size_t) size, element_size)) + flexfatal (_("memory allocation failed in allocate_array()")); #else +# if HAVE_REALLOCARRAY + new_array = reallocarray(NULL, (size_t) size, element_size); +# else + /* Do manual overflow detection */ size_t num_bytes = (size_t) size * element_size; - mem = (size && SIZE_MAX / (size_t) size < element_size) ? NULL : + new_array = (size && SIZE_MAX / (size_t) size < element_size) ? NULL : malloc(num_bytes); +# endif + if (!new_array) + flexfatal (_("memory allocation failed in allocate_array()")); #endif - if (!mem) - flexfatal (_ - ("memory allocation failed in allocate_array()")); - - return mem; + return new_array; } @@ -659,17 +662,22 @@ char *readable_form (int c) void *reallocate_array (void *array, int size, size_t element_size) { void *new_array; -#if HAVE_REALLOCARRAY - /* reallocarray has built-in overflow detection */ - new_array = reallocarray(array, (size_t) size, element_size); +#if HAVE_REALLOCARR + new_array = array; + if (reallocarr(&new_array, (size_t) size, element_size)) + flexfatal (_("attempt to increase array size failed")); #else +# if HAVE_REALLOCARRAY + new_array = reallocarray(array, (size_t) size, element_size); +# else + /* Do manual overflow detection */ size_t num_bytes = (size_t) size * element_size; new_array = (size && SIZE_MAX / (size_t) size < element_size) ? NULL : realloc(array, num_bytes); -#endif +# endif if (!new_array) flexfatal (_("attempt to increase array size failed")); - +#endif return new_array; } @@ -720,7 +728,10 @@ void skelout (void) */ #define cmd_match(s) (strncmp(buf,(s),strlen(s))==0) - if (buf[1] == '%') { + if (buf[1] == '#') { + /* %# indicates comment line to be ignored */ + } + else if (buf[1] == '%') { /* %% is a break point for skelout() */ return; } diff --git a/src/mkskel.sh b/src/mkskel.sh index 1aa59e1..2d6ae9f 100755 --- a/src/mkskel.sh +++ b/src/mkskel.sh @@ -48,7 +48,7 @@ sed '/^%#/d s/m4_/m4preproc_/g s/a4_/4_/g s/[\\"]/\\&/g -s/.*/ "&",/' +s/[^\r]*/ "&",/' echo ' 0 };' diff --git a/src/nfa.c b/src/nfa.c index 9143cf6..3d9bf24 100644 --- a/src/nfa.c +++ b/src/nfa.c @@ -499,6 +499,8 @@ int mkor (int first, int second) } } + firstst[first] = MIN(firstst[first], firstst[second]); + finalst[first] = orend; return first; } diff --git a/src/options.c b/src/options.c index 366bc2e..e98159c 100644 --- a/src/options.c +++ b/src/options.c @@ -62,6 +62,8 @@ optspec_t flexopts[] = { , {"--backup", OPT_BACKUP, 0} , /* Generate backing-up information to lex.backup. */ + {"--backup-file=FILE", OPT_BACKUP_FILE, 0} + , /* Generate backing-up information to FILE. */ {"-B", OPT_BATCH, 0} , {"--batch", OPT_BATCH, 0} @@ -255,6 +257,10 @@ optspec_t flexopts[] = { , {"--noyyset_lineno", OPT_NO_YYSET_LINENO, 0} , + {"--noyyget_column", OPT_NO_YYGET_COLUMN, 0} + , + {"--noyyset_column", OPT_NO_YYSET_COLUMN, 0} + , {"--noyyget_in", OPT_NO_YYGET_IN, 0} , {"--noyyset_in", OPT_NO_YYSET_IN, 0} diff --git a/src/options.h b/src/options.h index 5b51c23..acee275 100644 --- a/src/options.h +++ b/src/options.h @@ -46,6 +46,7 @@ enum flexopt_flag_t { OPT_ALWAYS_INTERACTIVE, OPT_ARRAY, OPT_BACKUP, + OPT_BACKUP_FILE, OPT_BATCH, OPT_BISON_BRIDGE, OPT_BISON_BRIDGE_LOCATIONS, @@ -83,6 +84,7 @@ enum flexopt_flag_t { OPT_NO_YYGET_IN, OPT_NO_YYGET_LENG, OPT_NO_YYGET_LINENO, + OPT_NO_YYGET_COLUMN, OPT_NO_YYGET_LLOC, OPT_NO_YYGET_LVAL, OPT_NO_YYGET_OUT, @@ -92,6 +94,7 @@ enum flexopt_flag_t { OPT_NO_YYSET_EXTRA, OPT_NO_YYSET_IN, OPT_NO_YYSET_LINENO, + OPT_NO_YYSET_COLUMN, OPT_NO_YYSET_LLOC, OPT_NO_YYSET_LVAL, OPT_NO_YYSET_OUT, diff --git a/src/regex.c b/src/regex.c index 38e658b..f4c4163 100644 --- a/src/regex.c +++ b/src/regex.c @@ -25,10 +25,8 @@ static const char* REGEXP_LINEDIR = "^#line ([[:digit:]]+) \"(.*)\""; -static const char* REGEXP_BLANK_LINE = "^[[:space:]]*$"; regex_t regex_linedir; /**< matches line directives */ -regex_t regex_blank_line; /**< matches blank lines */ /** Initialize the regular expressions. @@ -37,8 +35,6 @@ regex_t regex_blank_line; /**< matches blank lines */ bool flex_init_regex(void) { flex_regcomp(®ex_linedir, REGEXP_LINEDIR, REG_EXTENDED); - flex_regcomp(®ex_blank_line, REGEXP_BLANK_LINE, REG_EXTENDED); - return true; } diff --git a/src/scan.c b/src/scan.c index 619c998..4d84434 100644 --- a/src/scan.c +++ b/src/scan.c @@ -34,7 +34,7 @@ #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, - * if you want the limit (max/min) macros for int types. + * if you want the limit (max/min) macros for int types. */ #ifndef __STDC_LIMIT_MACROS #define __STDC_LIMIT_MACROS 1 @@ -51,7 +51,7 @@ typedef uint32_t flex_uint32_t; typedef signed char flex_int8_t; typedef short int flex_int16_t; typedef int flex_int32_t; -typedef unsigned char flex_uint8_t; +typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; @@ -162,10 +162,10 @@ extern FILE *yyin, *yyout; #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 - + #define YY_LESS_LINENO(n) #define YY_LINENO_REWIND_TO(ptr) - + /* Return all but the first "n" matched characters back to the input stream. */ #define yyless(n) \ do \ @@ -2051,9 +2051,9 @@ extern int yywrap ( void ); #endif #ifndef YY_NO_UNPUT - + static void yyunput ( int c, char *buf_ptr ); - + #endif #ifndef yytext_ptr @@ -2076,11 +2076,11 @@ static int input ( void ); static int yy_start_stack_ptr = 0; static int yy_start_stack_depth = 0; static int *yy_start_stack = NULL; - + static void yy_push_state ( int _new_state ); - + static void yy_pop_state ( void ); - + /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE #ifdef __ia64__ @@ -2191,7 +2191,7 @@ YY_DECL yy_state_type yy_current_state; char *yy_cp, *yy_bp; int yy_act; - + if ( !(yy_init) ) { (yy_init) = 1; @@ -3475,7 +3475,7 @@ YY_RULE_SETUP if (lex_compat || posix_compat){ /* Push back the "?#" and treat it like a normal parens. */ yyless(1); - sf_push(); + sf_push(); return '('; } else @@ -4428,7 +4428,7 @@ static int yy_get_next_buffer (void) { yy_state_type yy_current_state; char *yy_cp; - + yy_current_state = (yy_start); yy_current_state += YY_AT_BOL(); @@ -4485,7 +4485,7 @@ static int yy_get_next_buffer (void) static void yyunput (int c, char * yy_bp ) { char *yy_cp; - + yy_cp = (yy_c_buf_p); /* undo effects of setting up yytext */ @@ -4530,7 +4530,7 @@ static int yy_get_next_buffer (void) { int c; - + *(yy_c_buf_p) = (yy_hold_char); if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) @@ -4599,12 +4599,12 @@ static int yy_get_next_buffer (void) /** Immediately switch to a different input stream. * @param input_file A readable stream. - * + * * @note This function does not reset the start condition to @c INITIAL . */ void yyrestart (FILE * input_file ) { - + if ( ! YY_CURRENT_BUFFER ){ yyensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = @@ -4617,11 +4617,11 @@ static int yy_get_next_buffer (void) /** Switch to a different input buffer. * @param new_buffer The new input buffer. - * + * */ void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) { - + /* TODO. We should be able to replace this entire function body * with * yypop_buffer_state(); @@ -4661,13 +4661,13 @@ static void yy_load_buffer_state (void) /** Allocate and initialize an input buffer state. * @param file A readable stream. * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. - * + * * @return the allocated buffer state. */ YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) { YY_BUFFER_STATE b; - + b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); @@ -4690,11 +4690,11 @@ static void yy_load_buffer_state (void) /** Destroy the buffer. * @param b a buffer created with yy_create_buffer() - * + * */ void yy_delete_buffer (YY_BUFFER_STATE b ) { - + if ( ! b ) return; @@ -4715,7 +4715,7 @@ static void yy_load_buffer_state (void) { int oerrno = errno; - + yy_flush_buffer( b ); b->yy_input_file = file; @@ -4731,13 +4731,13 @@ static void yy_load_buffer_state (void) } b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; - + errno = oerrno; } /** Discard all buffered characters. On the next scan, YY_INPUT will be called. * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. - * + * */ void yy_flush_buffer (YY_BUFFER_STATE b ) { @@ -4766,7 +4766,7 @@ static void yy_load_buffer_state (void) * the current state. This function will allocate the stack * if necessary. * @param new_buffer The new state. - * + * */ void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) { @@ -4796,7 +4796,7 @@ void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) /** Removes and deletes the top of the stack, if present. * The next element becomes the new top. - * + * */ void yypop_buffer_state (void) { @@ -4820,7 +4820,7 @@ void yypop_buffer_state (void) static void yyensure_buffer_stack (void) { yy_size_t num_to_alloc; - + if (!(yy_buffer_stack)) { /* First allocation is just for 2 elements, since we don't know if this @@ -4863,13 +4863,13 @@ static void yyensure_buffer_stack (void) /** Setup the input buffer state to scan directly from a user-specified character buffer. * @param base the character buffer * @param size the size in bytes of the character buffer - * + * * @return the newly allocated buffer state object. */ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) { YY_BUFFER_STATE b; - + if ( size < 2 || base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) @@ -4898,14 +4898,14 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) /** Setup the input buffer state to scan a string. The next call to yylex() will * scan from a @e copy of @a str. * @param yystr a NUL-terminated string to scan - * + * * @return the newly allocated buffer state object. * @note If you want to scan bytes that may contain NUL values, then use * yy_scan_bytes() instead. */ YY_BUFFER_STATE yy_scan_string (const char * yystr ) { - + return yy_scan_bytes( yystr, (int) strlen(yystr) ); } @@ -4913,7 +4913,7 @@ YY_BUFFER_STATE yy_scan_string (const char * yystr ) * scan from a @e copy of @a bytes. * @param yybytes the byte buffer to scan * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. - * + * * @return the newly allocated buffer state object. */ YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len ) @@ -4922,7 +4922,7 @@ YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len ) char *buf; yy_size_t n; int i; - + /* Get memory for full buffer, including space for trailing EOB's. */ n = (yy_size_t) (_yybytes_len + 2); buf = (char *) yyalloc( n ); @@ -5009,16 +5009,16 @@ static void yynoreturn yy_fatal_error (const char* msg ) /* Accessor methods (get/set functions) to struct members. */ /** Get the current line number. - * + * */ int yyget_lineno (void) { - + return yylineno; } /** Get the input stream. - * + * */ FILE *yyget_in (void) { @@ -5026,7 +5026,7 @@ FILE *yyget_in (void) } /** Get the output stream. - * + * */ FILE *yyget_out (void) { @@ -5034,7 +5034,7 @@ FILE *yyget_out (void) } /** Get the length of the current token. - * + * */ int yyget_leng (void) { @@ -5042,7 +5042,7 @@ int yyget_leng (void) } /** Get the current token. - * + * */ char *yyget_text (void) @@ -5052,18 +5052,18 @@ char *yyget_text (void) /** Set the current line number. * @param _line_number line number - * + * */ void yyset_lineno (int _line_number ) { - + yylineno = _line_number; } /** Set the input stream. This does not discard the current * input buffer. * @param _in_str A readable stream. - * + * * @see yy_switch_to_buffer */ void yyset_in (FILE * _in_str ) @@ -5121,7 +5121,7 @@ static int yy_init_globals (void) /* yylex_destroy is for both reentrant and non-reentrant scanners. */ int yylex_destroy (void) { - + /* Pop the buffer stack, destroying each element. */ while(YY_CURRENT_BUFFER){ yy_delete_buffer( YY_CURRENT_BUFFER ); @@ -5151,7 +5151,7 @@ int yylex_destroy (void) #ifndef yytext_ptr static void yy_flex_strncpy (char* s1, const char * s2, int n ) { - + int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; @@ -5176,7 +5176,7 @@ void *yyalloc (yy_size_t size ) void *yyrealloc (void * ptr, yy_size_t size ) { - + /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter @@ -5232,4 +5232,3 @@ void set_input_file( char *file ) linenum = 1; } - diff --git a/src/scan.l b/src/scan.l index 66db864..4f497ac 100644 --- a/src/scan.l +++ b/src/scan.l @@ -1,5 +1,11 @@ /* scan.l - scanner for flex input -*-C-*- */ +%top{ +/* flexdef.h includes config.h, which may contain macros that alter the API */ +/* of libc functions. Must include first before any libc header. */ +#include "flexdef.h" +} + %{ /* Copyright (c) 1990 The Regents of the University of California. */ /* All rights reserved. */ @@ -32,7 +38,6 @@ /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ /* PURPOSE. */ -#include "flexdef.h" #include "parse.h" extern bool tablesverify, tablesext; extern int trlcontxt; /* Set in parse.y for each rule. */ @@ -433,6 +438,8 @@ M4QEND "]""]" yyset_extra ACTION_M4_IFDEF("M4""_YY_NO_SET_EXTRA", ! option_sense); yyget_leng ACTION_M4_IFDEF("M4""_YY_NO_GET_LENG", ! option_sense); yyget_text ACTION_M4_IFDEF("M4""_YY_NO_GET_TEXT", ! option_sense); + yyget_column ACTION_M4_IFDEF("M4""_YY_NO_GET_COLUMN", ! option_sense); + yyset_column ACTION_M4_IFDEF("M4""_YY_NO_SET_COLUMN", ! option_sense); yyget_lineno ACTION_M4_IFDEF("M4""_YY_NO_GET_LINENO", ! option_sense); yyset_lineno ACTION_M4_IFDEF("M4""_YY_NO_SET_LINENO", ! option_sense); yyget_in ACTION_M4_IFDEF("M4""_YY_NO_GET_IN", ! option_sense); diff --git a/src/scanopt.c b/src/scanopt.c index a475b6f..7a91178 100644 --- a/src/scanopt.c +++ b/src/scanopt.c @@ -68,7 +68,7 @@ static int PRINTLEN(struct _scanopt_t *, int); static int RVAL(struct _scanopt_t *, int); static int FLAGS(struct _scanopt_t *, int); static const char *DESC(struct _scanopt_t *, int); -static int scanopt_err(struct _scanopt_t *, int, int); +static void scanopt_err(struct _scanopt_t *, int, int); static int matchlongopt(char *, char **, int *, char **, int *); static int find_opt(struct _scanopt_t *, int, char *, int, int *, int *opt_offset); @@ -229,34 +229,23 @@ typedef struct usg_elem usg_elem; int scanopt_usage (scanopt_t *scanner, FILE *fp, const char *usage) { struct _scanopt_t *s; - int i, columns, indent = 2; + int i, columns; + const int indent = 2; usg_elem *byr_val = NULL; /* option indices sorted by r_val */ usg_elem *store; /* array of preallocated elements. */ int store_idx = 0; usg_elem *ue; - int maxlen[2]; - int desccol = 0; + int opt_col_width = 0, desc_col_width = 0; + int desccol; int print_run = 0; - maxlen[0] = 0; - maxlen[1] = 0; - s = (struct _scanopt_t *) scanner; if (usage) { fprintf (fp, "%s\n", usage); } else { - /* Find the basename of argv[0] */ - const char *p; - - p = s->argv[0] + strlen (s->argv[0]); - while (p != s->argv[0] && *p != '/') - --p; - if (*p == '/') - p++; - - fprintf (fp, _("Usage: %s [OPTIONS]...\n"), p); + fprintf (fp, _("Usage: %s [OPTIONS]...\n"), s->argv[0]); } fprintf (fp, "\n"); @@ -324,65 +313,36 @@ int scanopt_usage (scanopt_t *scanner, FILE *fp, const char *usage) /* first pass calculate how much room we need. */ for (ue = byr_val; ue; ue = ue->next) { usg_elem *ap; - int len = 0; - int nshort = 0, nlong = 0; - + int len; -#define CALC_LEN(i) do {\ - if(FLAGS(s,i) & IS_LONG) \ - len += (nlong++||nshort) ? 2+PRINTLEN(s,i) : PRINTLEN(s,i);\ - else\ - len += (nshort++||nlong)? 2+PRINTLEN(s,i) : PRINTLEN(s,i);\ - }while(0) + len = PRINTLEN(s, ue->idx); - if (!(FLAGS (s, ue->idx) & IS_LONG)) - CALC_LEN (ue->idx); - - /* do short aliases first. */ for (ap = ue->alias; ap; ap = ap->next) { - if (FLAGS (s, ap->idx) & IS_LONG) - continue; - CALC_LEN (ap->idx); + len += PRINTLEN(s, ap->idx) + (int) strlen(", "); } - if (FLAGS (s, ue->idx) & IS_LONG) - CALC_LEN (ue->idx); - - /* repeat the above loop, this time for long aliases. */ - for (ap = ue->alias; ap; ap = ap->next) { - if (!(FLAGS (s, ap->idx) & IS_LONG)) - continue; - CALC_LEN (ap->idx); - } - - if (len > maxlen[0]) - maxlen[0] = len; + if (len > opt_col_width) + opt_col_width = len; /* It's much easier to calculate length for description column! */ len = (int) strlen (DESC (s, ue->idx)); - if (len > maxlen[1]) - maxlen[1] = len; + if (len > desc_col_width) + desc_col_width = len; } /* Determine how much room we have, and how much we will allocate to each col. * Do not address pathological cases. Output will just be ugly. */ columns = get_cols () - 1; - if (maxlen[0] + maxlen[1] + indent * 2 > columns) { - /* col 0 gets whatever it wants. we'll wrap the desc col. */ - maxlen[1] = columns - (maxlen[0] + indent * 2); - if (maxlen[1] < 14) /* 14 is arbitrary lower limit on desc width. */ - maxlen[1] = INT_MAX; + if (opt_col_width + desc_col_width + indent * 2 > columns) { + /* opt col gets whatever it wants. we'll wrap the desc col. */ + desc_col_width = columns - (opt_col_width + indent * 2); + if (desc_col_width < 14) /* 14 is arbitrary lower limit on desc width. */ + desc_col_width = INT_MAX; } - desccol = maxlen[0] + indent * 2; - -#define PRINT_SPACES(fp,n)\ - do{\ - int _n;\ - _n=(n);\ - while(_n-- > 0)\ - fputc(' ',(fp));\ - }while(0) + desccol = opt_col_width + indent * 2; +#define PRINT_SPACES(fp,n) \ + fprintf((fp), "%*s", (n), "") /* Second pass (same as above loop), this time we print. */ /* Sloppy hack: We iterate twice. The first time we print short and long options. @@ -436,7 +396,7 @@ int scanopt_usage (scanopt_t *scanner, FILE *fp, const char *usage) /* pad to desccol */ PRINT_SPACES (fp, desccol - nchars); - /* Print description, wrapped to maxlen[1] columns. */ + /* Print description, wrapped to desc_col_width columns. */ if (1) { const char *pstart; @@ -447,7 +407,7 @@ int scanopt_usage (scanopt_t *scanner, FILE *fp, const char *usage) p = pstart; - while (*p && n < maxlen[1] + while (*p && n < desc_col_width && *p != '\n') { if (isspace ((unsigned char)(*p)) || *p == '-') lastws = @@ -497,7 +457,7 @@ int scanopt_usage (scanopt_t *scanner, FILE *fp, const char *usage) #endif /* no scanopt_usage */ -static int scanopt_err (struct _scanopt_t *s, int is_short, int err) +static void scanopt_err(struct _scanopt_t *s, int is_short, int err) { const char *optname = ""; char optchar[2]; @@ -542,7 +502,6 @@ static int scanopt_err (struct _scanopt_t *s, int is_short, int err) break; } } - return err; } @@ -729,7 +688,8 @@ int scanopt (scanopt_t *svoid, char **arg, int *optindex) if (!find_opt (s, 0, pstart, namelen, &errcode, &opt_offset)) { - return scanopt_err (s, 1, errcode); + scanopt_err(s, 1, errcode); + return errcode; } optarg = pstart + 1; @@ -748,8 +708,7 @@ int scanopt (scanopt_t *svoid, char **arg, int *optindex) /* Look ahead in argv[] to see if there is something * that we can use as an argument (if needed). */ - has_next = s->index + 1 < s->argc - && strcmp ("--", s->argv[s->index + 1]) != 0; + has_next = s->index + 1 < s->argc; optp = s->options + opt_offset; auxp = s->aux + opt_offset; @@ -757,9 +716,9 @@ int scanopt (scanopt_t *svoid, char **arg, int *optindex) /* case: no args allowed */ if (auxp->flags & ARG_NONE) { if (optarg && !is_short) { - scanopt_err (s, is_short, errcode = SCANOPT_ERR_ARG_NOT_ALLOWED); + scanopt_err(s, is_short, SCANOPT_ERR_ARG_NOT_ALLOWED); INC_INDEX (s, 1); - return errcode; + return SCANOPT_ERR_ARG_NOT_ALLOWED; } else if (!optarg) INC_INDEX (s, 1); @@ -770,8 +729,10 @@ int scanopt (scanopt_t *svoid, char **arg, int *optindex) /* case: required */ if (auxp->flags & ARG_REQ) { - if (!optarg && !has_next) - return scanopt_err (s, is_short, SCANOPT_ERR_ARG_NOT_FOUND); + if (!optarg && !has_next) { + scanopt_err(s, is_short, SCANOPT_ERR_ARG_NOT_FOUND); + return SCANOPT_ERR_ARG_NOT_FOUND; + } if (!optarg) { /* Let the next argv element become the argument. */ diff --git a/src/tables.c b/src/tables.c index 980d2e9..182ab63 100644 --- a/src/tables.c +++ b/src/tables.c @@ -87,7 +87,7 @@ int yytbl_hdr_init (struct yytbl_hdr *th, const char *version_str, th->th_magic = YYTBL_MAGIC; th->th_hsize = (flex_uint32_t) (14 + strlen (version_str) + 1 + strlen (name) + 1); - th->th_hsize += yypad64 (th->th_hsize); + th->th_hsize += (8 - (th->th_hsize % 8)) % 8; // Pad to 64-bit boundary th->th_ssize = 0; // Not known at this point. th->th_flags = 0; th->th_version = xstrdup(version_str); @@ -124,14 +124,14 @@ int yytbl_data_destroy (struct yytbl_data *td) /** Write enough padding to bring the file pointer to a 64-bit boundary. */ static int yytbl_write_pad64 (struct yytbl_writer *wr) { - int pad, bwritten = 0; + int bwritten = 0; - pad = yypad64 (wr->total_written); - while (pad-- > 0) + while (wr->total_written % (8 * sizeof(flex_uint8_t)) > 0) { if (yytbl_write8 (wr, 0) < 0) return -1; else bwritten++; + } return bwritten; } diff --git a/src/tables_shared.h b/src/tables_shared.h index bbf9910..feca251 100644 --- a/src/tables_shared.h +++ b/src/tables_shared.h @@ -63,12 +63,6 @@ dnl flex code (hence the name "_shared"). #define YYTBL_MAGIC 0xF13C57B1 #endif -/** Calculate (0-7) = number bytes needed to pad n to next 64-bit boundary. */ -#ifndef yypad64 -#define yypad64(n) ((8-((n)%8))%8) -#endif - - #ifndef YYTABLES_TYPES #define YYTABLES_TYPES /** Possible values for td_id field. Each one corresponds to a diff --git a/tests/Makefile.am b/tests/Makefile.am index 2cb51df..f5a5ad0 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -333,7 +333,7 @@ pthread_pthread_LDADD = @LIBPTHREAD@ # specify how to process .l files in order to test the flex built by make all -FLEX = $(top_builddir)/src/flex +FLEX = $(FLEXexe) .l.c: $(FLEX) $(AM_V_LEX)$(FLEX) -o $@ $< @@ -445,7 +445,7 @@ top.h: top.c # things) and the resultant list is both long an unenlightening. And # it can be / is generated by a shell script, tableopts.sh. -tableopts.am: tableopts.sh +$(srcdir)/tableopts.am: tableopts.sh $(SHELL) $(srcdir)/tableopts.sh > $(srcdir)/tableopts.am include $(srcdir)/tableopts.am @@ -462,28 +462,28 @@ OPT_LOG_COMPILER = $(SHELL) $(srcdir)/testwrapper.sh AM_OPT_LOG_FLAGS = -d $(srcdir) -i $(srcdir)/tableopts.txt -r tableopts_opt_nr%.c: tableopts.l4 $(FLEX) - $(AM_V_LEX)$(FLEX) --unsafe-no-m4-sect3-escape -P $(subst -,_,$(basename $(*F))) $* -o $@ $< + $(AM_V_LEX)$(FLEX) --unsafe-no-m4-sect3-escape -P $(subst -,_,$(basename $(*F))) $(*:_F=F) -o $@ $< -tableopts_opt_nr%.$(OBJEXT): tableopts_opt_nr%.c +tableopts_opt_nr%.$(OBJEXT): tableopts_opt_nr%.c $(AM_V_CC)$(COMPILE) -c -o $@ $< tableopts_opt_r%.c: tableopts.l4 $(FLEX) - $(AM_V_LEX)$(FLEX) --unsafe-no-m4-sect3-escape -P $(subst -,_,$(basename $(*F))) --reentrant $* -o $@ $< + $(AM_V_LEX)$(FLEX) --unsafe-no-m4-sect3-escape -P $(subst -,_,$(basename $(*F))) --reentrant $(subst _F,F,$*) -o $@ $< -tableopts_opt_r%.$(OBJEXT): tableopts_opt_r%.c +tableopts_opt_r%.$(OBJEXT): tableopts_opt_r%.c $(AM_V_CC)$(COMPILE) -DTEST_IS_REENTRANT -c -o $@ $< SER_LOG_COMPILER = $(SHELL) $(srcdir)/testwrapper.sh AM_SER_LOG_FLAGS = -d $(builddir) -i $(srcdir)/tableopts.txt -r -t tableopts_ser_nr%.c: tableopts.l4 $(FLEX) - $(AM_V_LEX)$(FLEX) --unsafe-no-m4-sect3-escape -P $(subst -,_,$(basename $(*F))) --tables-file="tableopts_ser_nr$*.ser.tables" $* -o $@ $< + $(AM_V_LEX)$(FLEX) --unsafe-no-m4-sect3-escape -P $(subst -,_,$(basename $(*F))) --tables-file="tableopts_ser_nr$*.ser.tables" $(subst _F,F,$*) -o $@ $< -tableopts_ser_nr%.$(OBJEXT): tableopts_ser_nr%.c +tableopts_ser_nr%.$(OBJEXT): tableopts_ser_nr%.c $(AM_V_CC)$(COMPILE) -DTEST_HAS_TABLES_EXTERNAL -c -o $@ $< tableopts_ser_r%.c: tableopts.l4 $(FLEX) - $(AM_V_LEX)$(FLEX) --unsafe-no-m4-sect3-escape -P $(subst -,_,$(basename $(*F))) -R --tables-file="tableopts_ser_r$*.ser.tables" $* -o $@ $< + $(AM_V_LEX)$(FLEX) --unsafe-no-m4-sect3-escape -P $(subst -,_,$(basename $(*F))) -R --tables-file="tableopts_ser_r$*.ser.tables" $(subst _F,F,$*) -o $@ $< tableopts_ser_r%.$(OBJEXT): tableopts_ser_r%.c $(AM_V_CC)$(COMPILE) -DTEST_HAS_TABLES_EXTERNAL -DTEST_IS_REENTRANT -c -o $@ $< @@ -492,16 +492,16 @@ VER_LOG_COMPILER = $(SHELL) $(srcdir)/testwrapper.sh AM_VER_LOG_FLAGS = -d $(builddir) -i $(srcdir)/tableopts.txt -r -t tableopts_ver_nr%.c: tableopts.l4 $(FLEX) - $(AM_V_LEX)$(FLEX) --unsafe-no-m4-sect3-escape -P $(subst -,_,$(basename $(*F))) --tables-file="tableopts_ver_nr$*.ver.tables" --tables-verify $* -o $@ $< + $(AM_V_LEX)$(FLEX) --unsafe-no-m4-sect3-escape -P $(subst -,_,$(basename $(*F))) --tables-file="tableopts_ver_nr$*.ver.tables" --tables-verify $(subst _F,F,$*) -o $@ $< -tableopts_ver_nr%.$(OBJEXT): tableopts_ver_nr%.c +tableopts_ver_nr%.$(OBJEXT): tableopts_ver_nr%.c $(AM_V_CC)$(COMPILE) -DTEST_HAS_TABLES_EXTERNAL -c -o $@ $< tableopts_ver_nr%.ver$(EXEEXT): tableopts_ver_nr%.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $^ tableopts_ver_r%.c: tableopts.l4 $(FLEX) - $(AM_V_LEX)$(FLEX) --unsafe-no-m4-sect3-escape -P $(subst -,_,$(basename $(*F))) -R --tables-file="tableopts_ver_r$*.ver.tables" --tables-verify $* -o $@ $< + $(AM_V_LEX)$(FLEX) --unsafe-no-m4-sect3-escape -P $(subst -,_,$(basename $(*F))) -R --tables-file="tableopts_ver_r$*.ver.tables" --tables-verify $(subst _F,F,$*) -o $@ $< -tableopts_ver_r%.$(OBJEXT): tableopts_ver_r%.c +tableopts_ver_r%.$(OBJEXT): tableopts_ver_r%.c $(AM_V_CC)$(COMPILE) -DTEST_HAS_TABLES_EXTERNAL -DTEST_IS_REENTRANT -c -o $@ $< diff --git a/tests/tableopts.am b/tests/tableopts.am index 099870b..4952303 100644 --- a/tests/tableopts.am +++ b/tests/tableopts.am @@ -13,9 +13,9 @@ tableopts_opt_nr_Cf_opt_SOURCES = tableopts.l4 tableopts_opt_nr-Cf.opt$(EXEEXT): tableopts_opt_nr-Cf.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< -tableopts_opt_nr_CF_opt_SOURCES = tableopts.l4 +tableopts_opt_nr_C_F_opt_SOURCES = tableopts.l4 -tableopts_opt_nr-CF.opt$(EXEEXT): tableopts_opt_nr-CF.$(OBJEXT) +tableopts_opt_nr-C_F.opt$(EXEEXT): tableopts_opt_nr-C_F.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< tableopts_opt_nr_Cm_opt_SOURCES = tableopts.l4 @@ -38,9 +38,9 @@ tableopts_opt_nr_Caef_opt_SOURCES = tableopts.l4 tableopts_opt_nr-Caef.opt$(EXEEXT): tableopts_opt_nr-Caef.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< -tableopts_opt_nr_CaeF_opt_SOURCES = tableopts.l4 +tableopts_opt_nr_Cae_F_opt_SOURCES = tableopts.l4 -tableopts_opt_nr-CaeF.opt$(EXEEXT): tableopts_opt_nr-CaeF.$(OBJEXT) +tableopts_opt_nr-Cae_F.opt$(EXEEXT): tableopts_opt_nr-Cae_F.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< tableopts_opt_nr_Cam_opt_SOURCES = tableopts.l4 @@ -68,9 +68,9 @@ tableopts_opt_r_Cf_opt_SOURCES = tableopts.l4 tableopts_opt_r-Cf.opt$(EXEEXT): tableopts_opt_r-Cf.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< -tableopts_opt_r_CF_opt_SOURCES = tableopts.l4 +tableopts_opt_r_C_F_opt_SOURCES = tableopts.l4 -tableopts_opt_r-CF.opt$(EXEEXT): tableopts_opt_r-CF.$(OBJEXT) +tableopts_opt_r-C_F.opt$(EXEEXT): tableopts_opt_r-C_F.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< tableopts_opt_r_Cm_opt_SOURCES = tableopts.l4 @@ -93,9 +93,9 @@ tableopts_opt_r_Caef_opt_SOURCES = tableopts.l4 tableopts_opt_r-Caef.opt$(EXEEXT): tableopts_opt_r-Caef.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< -tableopts_opt_r_CaeF_opt_SOURCES = tableopts.l4 +tableopts_opt_r_Cae_F_opt_SOURCES = tableopts.l4 -tableopts_opt_r-CaeF.opt$(EXEEXT): tableopts_opt_r-CaeF.$(OBJEXT) +tableopts_opt_r-Cae_F.opt$(EXEEXT): tableopts_opt_r-Cae_F.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< tableopts_opt_r_Cam_opt_SOURCES = tableopts.l4 @@ -123,9 +123,9 @@ tableopts_ser_nr_Cf_ser_SOURCES = tableopts.l4 tableopts_ser_nr-Cf.ser$(EXEEXT): tableopts_ser_nr-Cf.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< -tableopts_ser_nr_CF_ser_SOURCES = tableopts.l4 +tableopts_ser_nr_C_F_ser_SOURCES = tableopts.l4 -tableopts_ser_nr-CF.ser$(EXEEXT): tableopts_ser_nr-CF.$(OBJEXT) +tableopts_ser_nr-C_F.ser$(EXEEXT): tableopts_ser_nr-C_F.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< tableopts_ser_nr_Cm_ser_SOURCES = tableopts.l4 @@ -148,9 +148,9 @@ tableopts_ser_nr_Caef_ser_SOURCES = tableopts.l4 tableopts_ser_nr-Caef.ser$(EXEEXT): tableopts_ser_nr-Caef.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< -tableopts_ser_nr_CaeF_ser_SOURCES = tableopts.l4 +tableopts_ser_nr_Cae_F_ser_SOURCES = tableopts.l4 -tableopts_ser_nr-CaeF.ser$(EXEEXT): tableopts_ser_nr-CaeF.$(OBJEXT) +tableopts_ser_nr-Cae_F.ser$(EXEEXT): tableopts_ser_nr-Cae_F.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< tableopts_ser_nr_Cam_ser_SOURCES = tableopts.l4 @@ -178,9 +178,9 @@ tableopts_ser_r_Cf_ser_SOURCES = tableopts.l4 tableopts_ser_r-Cf.ser$(EXEEXT): tableopts_ser_r-Cf.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< -tableopts_ser_r_CF_ser_SOURCES = tableopts.l4 +tableopts_ser_r_C_F_ser_SOURCES = tableopts.l4 -tableopts_ser_r-CF.ser$(EXEEXT): tableopts_ser_r-CF.$(OBJEXT) +tableopts_ser_r-C_F.ser$(EXEEXT): tableopts_ser_r-C_F.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< tableopts_ser_r_Cm_ser_SOURCES = tableopts.l4 @@ -203,9 +203,9 @@ tableopts_ser_r_Caef_ser_SOURCES = tableopts.l4 tableopts_ser_r-Caef.ser$(EXEEXT): tableopts_ser_r-Caef.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< -tableopts_ser_r_CaeF_ser_SOURCES = tableopts.l4 +tableopts_ser_r_Cae_F_ser_SOURCES = tableopts.l4 -tableopts_ser_r-CaeF.ser$(EXEEXT): tableopts_ser_r-CaeF.$(OBJEXT) +tableopts_ser_r-Cae_F.ser$(EXEEXT): tableopts_ser_r-Cae_F.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< tableopts_ser_r_Cam_ser_SOURCES = tableopts.l4 @@ -233,9 +233,9 @@ tableopts_ver_nr_Cf_ver_SOURCES = tableopts.l4 tableopts_ver_nr-Cf.ver$(EXEEXT): tableopts_ver_nr-Cf.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< -tableopts_ver_nr_CF_ver_SOURCES = tableopts.l4 +tableopts_ver_nr_C_F_ver_SOURCES = tableopts.l4 -tableopts_ver_nr-CF.ver$(EXEEXT): tableopts_ver_nr-CF.$(OBJEXT) +tableopts_ver_nr-C_F.ver$(EXEEXT): tableopts_ver_nr-C_F.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< tableopts_ver_nr_Cm_ver_SOURCES = tableopts.l4 @@ -258,9 +258,9 @@ tableopts_ver_nr_Caef_ver_SOURCES = tableopts.l4 tableopts_ver_nr-Caef.ver$(EXEEXT): tableopts_ver_nr-Caef.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< -tableopts_ver_nr_CaeF_ver_SOURCES = tableopts.l4 +tableopts_ver_nr_Cae_F_ver_SOURCES = tableopts.l4 -tableopts_ver_nr-CaeF.ver$(EXEEXT): tableopts_ver_nr-CaeF.$(OBJEXT) +tableopts_ver_nr-Cae_F.ver$(EXEEXT): tableopts_ver_nr-Cae_F.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< tableopts_ver_nr_Cam_ver_SOURCES = tableopts.l4 @@ -288,9 +288,9 @@ tableopts_ver_r_Cf_ver_SOURCES = tableopts.l4 tableopts_ver_r-Cf.ver$(EXEEXT): tableopts_ver_r-Cf.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< -tableopts_ver_r_CF_ver_SOURCES = tableopts.l4 +tableopts_ver_r_C_F_ver_SOURCES = tableopts.l4 -tableopts_ver_r-CF.ver$(EXEEXT): tableopts_ver_r-CF.$(OBJEXT) +tableopts_ver_r-C_F.ver$(EXEEXT): tableopts_ver_r-C_F.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< tableopts_ver_r_Cm_ver_SOURCES = tableopts.l4 @@ -313,9 +313,9 @@ tableopts_ver_r_Caef_ver_SOURCES = tableopts.l4 tableopts_ver_r-Caef.ver$(EXEEXT): tableopts_ver_r-Caef.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< -tableopts_ver_r_CaeF_ver_SOURCES = tableopts.l4 +tableopts_ver_r_Cae_F_ver_SOURCES = tableopts.l4 -tableopts_ver_r-CaeF.ver$(EXEEXT): tableopts_ver_r-CaeF.$(OBJEXT) +tableopts_ver_r-Cae_F.ver$(EXEEXT): tableopts_ver_r-Cae_F.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< tableopts_ver_r_Cam_ver_SOURCES = tableopts.l4 @@ -328,6 +328,6 @@ tableopts_ver_r_Caem_ver_SOURCES = tableopts.l4 tableopts_ver_r-Caem.ver$(EXEEXT): tableopts_ver_r-Caem.$(OBJEXT) $(AM_V_CCLD)$(LINK) -o $@ $< -TABLEOPTS_TESTS = tableopts_opt_nr-Ca.opt tableopts_opt_nr-Ce.opt tableopts_opt_nr-Cf.opt tableopts_opt_nr-CF.opt tableopts_opt_nr-Cm.opt tableopts_opt_nr-Cem.opt tableopts_opt_nr-Cae.opt tableopts_opt_nr-Caef.opt tableopts_opt_nr-CaeF.opt tableopts_opt_nr-Cam.opt tableopts_opt_nr-Caem.opt tableopts_opt_r-Ca.opt tableopts_opt_r-Ce.opt tableopts_opt_r-Cf.opt tableopts_opt_r-CF.opt tableopts_opt_r-Cm.opt tableopts_opt_r-Cem.opt tableopts_opt_r-Cae.opt tableopts_opt_r-Caef.opt tableopts_opt_r-CaeF.opt tableopts_opt_r-Cam.opt tableopts_opt_r-Caem.opt tableopts_ser_nr-Ca.ser tableopts_ser_nr-Ce.ser tableopts_ser_nr-Cf.ser tableopts_ser_nr-CF.ser tableopts_ser_nr-Cm.ser tableopts_ser_nr-Cem.ser tableopts_ser_nr-Cae.ser tableopts_ser_nr-Caef.ser tableopts_ser_nr-CaeF.ser tableopts_ser_nr-Cam.ser tableopts_ser_nr-Caem.ser tableopts_ser_r-Ca.ser tableopts_ser_r-Ce.ser tableopts_ser_r-Cf.ser tableopts_ser_r-CF.ser tableopts_ser_r-Cm.ser tableopts_ser_r-Cem.ser tableopts_ser_r-Cae.ser tableopts_ser_r-Caef.ser tableopts_ser_r-CaeF.ser tableopts_ser_r-Cam.ser tableopts_ser_r-Caem.ser tableopts_ver_nr-Ca.ver tableopts_ver_nr-Ce.ver tableopts_ver_nr-Cf.ver tableopts_ver_nr-CF.ver tableopts_ver_nr-Cm.ver tableopts_ver_nr-Cem.ver tableopts_ver_nr-Cae.ver tableopts_ver_nr-Caef.ver tableopts_ver_nr-CaeF.ver tableopts_ver_nr-Cam.ver tableopts_ver_nr-Caem.ver tableopts_ver_r-Ca.ver tableopts_ver_r-Ce.ver tableopts_ver_r-Cf.ver tableopts_ver_r-CF.ver tableopts_ver_r-Cm.ver tableopts_ver_r-Cem.ver tableopts_ver_r-Cae.ver tableopts_ver_r-Caef.ver tableopts_ver_r-CaeF.ver tableopts_ver_r-Cam.ver tableopts_ver_r-Caem.ver +TABLEOPTS_TESTS = tableopts_opt_nr-Ca.opt tableopts_opt_nr-Ce.opt tableopts_opt_nr-Cf.opt tableopts_opt_nr-C_F.opt tableopts_opt_nr-Cm.opt tableopts_opt_nr-Cem.opt tableopts_opt_nr-Cae.opt tableopts_opt_nr-Caef.opt tableopts_opt_nr-Cae_F.opt tableopts_opt_nr-Cam.opt tableopts_opt_nr-Caem.opt tableopts_opt_r-Ca.opt tableopts_opt_r-Ce.opt tableopts_opt_r-Cf.opt tableopts_opt_r-C_F.opt tableopts_opt_r-Cm.opt tableopts_opt_r-Cem.opt tableopts_opt_r-Cae.opt tableopts_opt_r-Caef.opt tableopts_opt_r-Cae_F.opt tableopts_opt_r-Cam.opt tableopts_opt_r-Caem.opt tableopts_ser_nr-Ca.ser tableopts_ser_nr-Ce.ser tableopts_ser_nr-Cf.ser tableopts_ser_nr-C_F.ser tableopts_ser_nr-Cm.ser tableopts_ser_nr-Cem.ser tableopts_ser_nr-Cae.ser tableopts_ser_nr-Caef.ser tableopts_ser_nr-Cae_F.ser tableopts_ser_nr-Cam.ser tableopts_ser_nr-Caem.ser tableopts_ser_r-Ca.ser tableopts_ser_r-Ce.ser tableopts_ser_r-Cf.ser tableopts_ser_r-C_F.ser tableopts_ser_r-Cm.ser tableopts_ser_r-Cem.ser tableopts_ser_r-Cae.ser tableopts_ser_r-Caef.ser tableopts_ser_r-Cae_F.ser tableopts_ser_r-Cam.ser tableopts_ser_r-Caem.ser tableopts_ver_nr-Ca.ver tableopts_ver_nr-Ce.ver tableopts_ver_nr-Cf.ver tableopts_ver_nr-C_F.ver tableopts_ver_nr-Cm.ver tableopts_ver_nr-Cem.ver tableopts_ver_nr-Cae.ver tableopts_ver_nr-Caef.ver tableopts_ver_nr-Cae_F.ver tableopts_ver_nr-Cam.ver tableopts_ver_nr-Caem.ver tableopts_ver_r-Ca.ver tableopts_ver_r-Ce.ver tableopts_ver_r-Cf.ver tableopts_ver_r-C_F.ver tableopts_ver_r-Cm.ver tableopts_ver_r-Cem.ver tableopts_ver_r-Cae.ver tableopts_ver_r-Caef.ver tableopts_ver_r-Cae_F.ver tableopts_ver_r-Cam.ver tableopts_ver_r-Caem.ver -tableopts_tables = tableopts_ser_nr-Ca.ser.tables tableopts_ser_nr-Ce.ser.tables tableopts_ser_nr-Cf.ser.tables tableopts_ser_nr-CF.ser.tables tableopts_ser_nr-Cm.ser.tables tableopts_ser_nr-Cem.ser.tables tableopts_ser_nr-Cae.ser.tables tableopts_ser_nr-Caef.ser.tables tableopts_ser_nr-CaeF.ser.tables tableopts_ser_nr-Cam.ser.tables tableopts_ser_nr-Caem.ser.tables tableopts_ser_r-Ca.ser.tables tableopts_ser_r-Ce.ser.tables tableopts_ser_r-Cf.ser.tables tableopts_ser_r-CF.ser.tables tableopts_ser_r-Cm.ser.tables tableopts_ser_r-Cem.ser.tables tableopts_ser_r-Cae.ser.tables tableopts_ser_r-Caef.ser.tables tableopts_ser_r-CaeF.ser.tables tableopts_ser_r-Cam.ser.tables tableopts_ser_r-Caem.ser.tables tableopts_ver_nr-Ca.ver.tables tableopts_ver_nr-Ce.ver.tables tableopts_ver_nr-Cf.ver.tables tableopts_ver_nr-CF.ver.tables tableopts_ver_nr-Cm.ver.tables tableopts_ver_nr-Cem.ver.tables tableopts_ver_nr-Cae.ver.tables tableopts_ver_nr-Caef.ver.tables tableopts_ver_nr-CaeF.ver.tables tableopts_ver_nr-Cam.ver.tables tableopts_ver_nr-Caem.ver.tables tableopts_ver_r-Ca.ver.tables tableopts_ver_r-Ce.ver.tables tableopts_ver_r-Cf.ver.tables tableopts_ver_r-CF.ver.tables tableopts_ver_r-Cm.ver.tables tableopts_ver_r-Cem.ver.tables tableopts_ver_r-Cae.ver.tables tableopts_ver_r-Caef.ver.tables tableopts_ver_r-CaeF.ver.tables tableopts_ver_r-Cam.ver.tables tableopts_ver_r-Caem.ver.tables +tableopts_tables = tableopts_ser_nr-Ca.ser.tables tableopts_ser_nr-Ce.ser.tables tableopts_ser_nr-Cf.ser.tables tableopts_ser_nr-C_F.ser.tables tableopts_ser_nr-Cm.ser.tables tableopts_ser_nr-Cem.ser.tables tableopts_ser_nr-Cae.ser.tables tableopts_ser_nr-Caef.ser.tables tableopts_ser_nr-Cae_F.ser.tables tableopts_ser_nr-Cam.ser.tables tableopts_ser_nr-Caem.ser.tables tableopts_ser_r-Ca.ser.tables tableopts_ser_r-Ce.ser.tables tableopts_ser_r-Cf.ser.tables tableopts_ser_r-C_F.ser.tables tableopts_ser_r-Cm.ser.tables tableopts_ser_r-Cem.ser.tables tableopts_ser_r-Cae.ser.tables tableopts_ser_r-Caef.ser.tables tableopts_ser_r-Cae_F.ser.tables tableopts_ser_r-Cam.ser.tables tableopts_ser_r-Caem.ser.tables tableopts_ver_nr-Ca.ver.tables tableopts_ver_nr-Ce.ver.tables tableopts_ver_nr-Cf.ver.tables tableopts_ver_nr-C_F.ver.tables tableopts_ver_nr-Cm.ver.tables tableopts_ver_nr-Cem.ver.tables tableopts_ver_nr-Cae.ver.tables tableopts_ver_nr-Caef.ver.tables tableopts_ver_nr-Cae_F.ver.tables tableopts_ver_nr-Cam.ver.tables tableopts_ver_nr-Caem.ver.tables tableopts_ver_r-Ca.ver.tables tableopts_ver_r-Ce.ver.tables tableopts_ver_r-Cf.ver.tables tableopts_ver_r-C_F.ver.tables tableopts_ver_r-Cm.ver.tables tableopts_ver_r-Cem.ver.tables tableopts_ver_r-Cae.ver.tables tableopts_ver_r-Caef.ver.tables tableopts_ver_r-Cae_F.ver.tables tableopts_ver_r-Cam.ver.tables tableopts_ver_r-Caem.ver.tables diff --git a/tests/tableopts.sh b/tests/tableopts.sh index c1ac19e..497829e 100755 --- a/tests/tableopts.sh +++ b/tests/tableopts.sh @@ -17,7 +17,11 @@ tableopts_tables="" for kind in opt ser ver ; do for threading in nr r ; do for opt in -Ca -Ce -Cf -CF -Cm -Cem -Cae -Caef -CaeF -Cam -Caem ; do - testname=tableopts_${kind}_${threading}${opt}.${kind} + bare_opt=${opt#-} + # The filenames must work on case-insensitive filesystems. + bare_opt=`echo ${bare_opt}| sed 's/F$/_F/'` + + testname=tableopts_${kind}_${threading}-${bare_opt}.${kind} if [ "${TABLEOPTS_TESTS}" = "" ] ;then TABLEOPTS_TESTS=${testname} if [ "$kind" = "ser" ] || [ "$kind" = "ver" ] ; then @@ -30,11 +34,10 @@ for kind in opt ser ver ; do fi fi - bare_opt=${opt#-} cat << EOF tableopts_${kind}_${threading}_${bare_opt}_${kind}_SOURCES = tableopts.l4 -${testname}\$(EXEEXT): tableopts_${kind}_${threading}${opt}.\$(OBJEXT) +${testname}\$(EXEEXT): tableopts_${kind}_${threading}-${bare_opt}.\$(OBJEXT) \$(AM_V_CCLD)\$(LINK) -o \$@ \$< EOF diff --git a/tests/testwrapper-direct.sh b/tests/testwrapper-direct.sh index 589ad33..9160501 100755 --- a/tests/testwrapper-direct.sh +++ b/tests/testwrapper-direct.sh @@ -1,5 +1,5 @@ #!/bin/sh -set -vx +echo 'set -euvx' set -euvx # testwrapper-direct.sh: run some specialized flex tests that care where diff --git a/tests/testwrapper.sh b/tests/testwrapper.sh index 6a7e666..293f8cc 100755 --- a/tests/testwrapper.sh +++ b/tests/testwrapper.sh @@ -1,5 +1,5 @@ #!/bin/sh -set -vx +echo 'set -euvx' set -euvx # testwrapper.sh: run a flex test, typically called by a Makefile -- cgit v1.2.3