History log of /freebsd-current/usr.bin/gh-bc/Makefile
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# d0b2dbfa 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line sh pattern

Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/


# 382af2f8 29-Jul-2023 Stefan Eßer <se@FreeBSD.org>

usr.bin/gh-bc: fix Makefile for WITHOUT_NLS_CATALOGS case

Some macro definitions had been moved into a Makefile section
that depends on MK_NLS_CATALOGS != "no", leading to LTO and the
installation of tests being disabled in the WITHOUT_NLS_CATALOGS
case.

Reported by: Yuri <yuri@aetern.org>


# 1b003348 27-Feb-2023 Ed Maste <emaste@FreeBSD.org>

bc: remove MIPS Makefile case

MIPS support has been removed from FreeBSD.

Sponsored by: The FreeBSD Foundation


# 6ae90f59 24-Feb-2023 Piotr Kubaj <pkubaj@FreeBSD.org>

gh-bc: don't disable LTO on powerpc64

Summary:
The LTO issue has been fixed. While -flto for some reason is commented out,
since it wasn't completely removed, it may be expected to be reenabled.

Reviewers: se
Approved by: se
MFC after: 3 days
Subscribers: imp
Differential Revision: https://reviews.freebsd.org/D38755


# 77606d5a 24-Feb-2023 Stefan Eßer <se@FreeBSD.org>

usr.bin/gh-bc: clean-up Makefile

Remove commented out debug options and re-enable LTO for most
architectures.


# 4fca8e0f 06-Feb-2023 Stefan Eßer <se@FreeBSD.org>

contrib/bc: uodate to version 6.2.4

This update contains only documentation changes (new main repository
URL and changed mail address of the program author) and changes to
the build system that do not affect the FreeBSD base system build.

MFC after: 3 days


# a9e06297 02-Feb-2023 Dimitry Andric <dim@FreeBSD.org>

gh-bc: don't force CFLAGS to -O0 -g

Otherwise, CFLAGS passed in via bsd.sys.mk or the user's environment are
not respected, and this leads to link errors on riscv64sf.


# bcad3f96 30-Jan-2023 Gleb Smirnoff <glebius@FreeBSD.org>

gh-bc: fix build with WITHOUT_NLS_CATALOGS=YES


# fdd4c358 28-Jan-2023 Stefan Eßer <se@FreeBSD.org>

usr.bin/gh-bc: update Makefiles for version 6.2.2

The sources of this program are in contrib/bc, but built using the
Makefiles touched in this commit, which had to be adapted to comply
with changed made to the build system of this software, which is
not used when building in the base system.


# 78bc019d 11-Jun-2022 Stefan Eßer <se@FreeBSD.org>

usr.bin/bc: update to version 5.3.1

This version adds support for command line editing and history using
the libedit or readline libraries in addition to the line editing
features available in previous versions.

The version in the base system is configured to use libedit.

This allows to choose between emacs and vi line editing commands and
to use command overrides via a ~/.editrc file.

Merge commit 'bd54318046bfee055b140705a5cfd4148e78da07'

PR: 264010

MFC after: 2 weeks


# d677d4be 16-Nov-2021 Warner Losh <imp@FreeBSD.org>

Skip -flto for all MIPS ports

There likely should be a macro for the ports that support lto, but I'm
making sure that all the mips things build before decommissioning it and
this is the only thing that's broken...

Sponsored by: Netflix

# b8d895fa 04-Oct-2021 Stefan Eßer <se@FreeBSD.org>

contrib/bc: re-enable tests after the import of version 5.1.0

The tests have been fixed to not write any data outside of the
temporary work directory provided by the test framework.

MFC after: 3 days

# f774652b 04-Oct-2021 Stefan Eßer <se@FreeBSD.org>

contrib/bc: temporarily disconnect the tests for 5.0.2

The tests that come with version 5.0.2 have been extended to cover the
line editing functions. It has been found that these tests generate
false negative results in FreeBSD, most likely due to an issue in the
pexpect functionality used.

These history tests are skipped on systems that do not have python and
py-pexpect installed (and thus are unlikely to cause CI test failures),
but in order to not cause irritating failures on systems were these
packages are in fact installed, I temporarily disconnect them.

I had planned to skip this version due to the issue with the history
tests, but some committer has asked me to go ahead since the currently
used version 5.0.0 contains a macro name that collides with a project
he is working on.

No MFC of this version is planned. A version 5.0.3 is expected to be
released soon, and that version will allow to reconnect the tests and
will be MFCed.

# 44d4804d 10-Aug-2021 Stefan Eßer <se@FreeBSD.org>

usr.bin/ghä-bc, contrib/bc: update to version 5.0.0

Merge commit 2f57ecae4b98e76e5d675563785a7e6c59c868c4

This is a new major release with a number of changes and extensions:

- Limited the number of temporary numbers and made the space for them
static so that allocating more space for them cannot fail.
- Allowed integers with non-zero scale to be used with power, places,
and shift operators.
- Added greatest common divisor and least common multiple to lib2.bc.
- Made bc and dc UTF-8 capable.
- Added the ability for users to have bc and dc quit on SIGINT.
- Added the ability for users to disable prompt and TTY mode by
environment variables.
- Added the ability for users to redefine keywords.
- Added dc's modular exponentiation and divmod to bc.
- Added the ability to assign strings to variables and array elements
and pass them to functions in bc.
- Added dc's asciify command and stream printing to bc.
- Added bitwise and, or, xor, left shift, right shift, reverse,
left rotate, right rotate, and mod functions to lib2.bc.
- Added the functions s2u(x) and s2un(x,n), to lib2.bc.

MFC after: 1 week

# b55a927b 06-Apr-2021 Stefan Eßer <se@FreeBSD.org>

[bc] Update to version 4.0.0

This version fixes an issue (missing pop of top-of-stack value in the
"P" command of the dc program).

This issue did not affect the bc program, since it does not use dc as
an back-end to actually perform the calculations as was the case with
the traditional bc and dc programs.

The major number has been bumped due to Windows support that has been
added to this version. It does not correspond to a major change that
might affect FreeBSD.

MFC after: 3 days

# 76810a95 27-Nov-2020 Stefan Eßer <se@FreeBSD.org>

Make generated C files depend on this Makefile

The contents of lib.c, lib2.c, bc_help.c, and dc_help.c depends on the
parameters passed to strgen.sh in this Makefile. A change to the number
of parameters of strgen.sh has been applied to the invocation of this
command, but this did not cause a rebuild of the generated files.

Reported by: Cy.Schubert@cschubert.com

# 891bc22d 26-Nov-2020 Stefan Eßer <se@FreeBSD.org>

Update Makefile for new version 3.2.0

# f022d2cd 03-Aug-2020 Stefan Eßer <se@FreeBSD.org>

Connect the tests provided with the new bc and dc

The tests compare the command output (including of error cases) with the
expected output and exit code.

Not all tests are executed, since some expect to have a known good bc and
dc binary installed and compare results of large amounts of generated data
being processed by both versions to test for regressions.

# 2ead2969 03-Aug-2020 Stefan Eßer <se@FreeBSD.org>

Upgrade to version 3.1.4

This version omits the printing of a copyright header in interactive mode
and the dc command now exits after execution of the commands passed via -e
or -f instead of switching to interactive mode. To pass further commands
via STDIN when dc has been invoked with -e or -f, add "-f -" to the
parameter list.

# 3aa99676 07-Jul-2020 Stefan Eßer <se@FreeBSD.org>

Update to version 3.1.1

This version fixes a regression with regard to tradtional behavior of the
non-standard FreeBSD option "-e". In the previous version "-e quit" caused
bc to exit before any computations had been performed, since all -e option
parameters were concatenated and parsed as a whole, with quit causing the
program to exit as soon as it was parsed. This version parses and executes
commands passed with -e one by one and only exits after all prior commands
have been executed.

This commit is not a SVN merge, since the vendor import had been performed
after the import to contrib. Instead the contents of contrib/bc has been
removed and the new version is copied over unchanged from vendor/bc/dist.


# 957a8d7e 03-Jul-2020 Ed Maste <emaste@FreeBSD.org>

bc: disable -flto on powerpc64

Previously bc segfaulted at start, on powerpc64.

PR: 247738
Submitted by: luporl
Reported by: pkubaj
MFC after: 1 week

# 252884ae 26-Jun-2020 Stefan Eßer <se@FreeBSD.org>

Import new 2-clause BSD licenced implementation of the bc and dc commands

These implementations of the bc and dc programs offer a number of advantages
compared to the current implementations in the FreeBSD base system:

- They do not depend on external large number functions (i.e. no dependency
on OpenSSL or any other large number library)

- They implements all features found in GNU bc/dc (with the exception of
the forking of sub-processes, which the author of this version considers
as a security issue).

- They are significantly faster than the current code in base (more than
2 orders of magnitude in some of my tests, e.g. for 12345^100000).

- They should be fully compatible with all features and the behavior of the
current implementations in FreeBSD (not formally verified).

- They support POSIX message catalogs and come with localized messages in
Chinese, Dutch, English, French, German, Japanese, Polish, Portugueze,
and Russian.

- They offer very detailed man-pages that provide far more information than
the current ones.

The upstream sources contain a large number of tests, which are not
imported with this commit. They could be integrated into our test
framework at a latter time.

Installation of this version is controlled by the option "MK_GH_BC=yes".
This option will be set to yes by default in 13-CURRENT, but will be off
by default in 12-STABLE.

Approved by: imp
Obtained from: https://git.yzena.com/gavin/bc
MFC after: 4 weeks
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D19982

# d677d4be 16-Nov-2021 Warner Losh <imp@FreeBSD.org>

Skip -flto for all MIPS ports

There likely should be a macro for the ports that support lto, but I'm
making sure that all the mips things build before decommissioning it and
this is the only thing that's broken...

Sponsored by: Netflix


# b8d895fa 04-Oct-2021 Stefan Eßer <se@FreeBSD.org>

contrib/bc: re-enable tests after the import of version 5.1.0

The tests have been fixed to not write any data outside of the
temporary work directory provided by the test framework.

MFC after: 3 days


# f774652b 04-Oct-2021 Stefan Eßer <se@FreeBSD.org>

contrib/bc: temporarily disconnect the tests for 5.0.2

The tests that come with version 5.0.2 have been extended to cover the
line editing functions. It has been found that these tests generate
false negative results in FreeBSD, most likely due to an issue in the
pexpect functionality used.

These history tests are skipped on systems that do not have python and
py-pexpect installed (and thus are unlikely to cause CI test failures),
but in order to not cause irritating failures on systems were these
packages are in fact installed, I temporarily disconnect them.

I had planned to skip this version due to the issue with the history
tests, but some committer has asked me to go ahead since the currently
used version 5.0.0 contains a macro name that collides with a project
he is working on.

No MFC of this version is planned. A version 5.0.3 is expected to be
released soon, and that version will allow to reconnect the tests and
will be MFCed.


# 44d4804d 10-Aug-2021 Stefan Eßer <se@FreeBSD.org>

usr.bin/ghä-bc, contrib/bc: update to version 5.0.0

Merge commit 2f57ecae4b98e76e5d675563785a7e6c59c868c4

This is a new major release with a number of changes and extensions:

- Limited the number of temporary numbers and made the space for them
static so that allocating more space for them cannot fail.
- Allowed integers with non-zero scale to be used with power, places,
and shift operators.
- Added greatest common divisor and least common multiple to lib2.bc.
- Made bc and dc UTF-8 capable.
- Added the ability for users to have bc and dc quit on SIGINT.
- Added the ability for users to disable prompt and TTY mode by
environment variables.
- Added the ability for users to redefine keywords.
- Added dc's modular exponentiation and divmod to bc.
- Added the ability to assign strings to variables and array elements
and pass them to functions in bc.
- Added dc's asciify command and stream printing to bc.
- Added bitwise and, or, xor, left shift, right shift, reverse,
left rotate, right rotate, and mod functions to lib2.bc.
- Added the functions s2u(x) and s2un(x,n), to lib2.bc.

MFC after: 1 week


# b55a927b 06-Apr-2021 Stefan Eßer <se@FreeBSD.org>

[bc] Update to version 4.0.0

This version fixes an issue (missing pop of top-of-stack value in the
"P" command of the dc program).

This issue did not affect the bc program, since it does not use dc as
an back-end to actually perform the calculations as was the case with
the traditional bc and dc programs.

The major number has been bumped due to Windows support that has been
added to this version. It does not correspond to a major change that
might affect FreeBSD.

MFC after: 3 days


# 76810a95 27-Nov-2020 Stefan Eßer <se@FreeBSD.org>

Make generated C files depend on this Makefile

The contents of lib.c, lib2.c, bc_help.c, and dc_help.c depends on the
parameters passed to strgen.sh in this Makefile. A change to the number
of parameters of strgen.sh has been applied to the invocation of this
command, but this did not cause a rebuild of the generated files.

Reported by: Cy.Schubert@cschubert.com


# 891bc22d 26-Nov-2020 Stefan Eßer <se@FreeBSD.org>

Update Makefile for new version 3.2.0


# f022d2cd 03-Aug-2020 Stefan Eßer <se@FreeBSD.org>

Connect the tests provided with the new bc and dc

The tests compare the command output (including of error cases) with the
expected output and exit code.

Not all tests are executed, since some expect to have a known good bc and
dc binary installed and compare results of large amounts of generated data
being processed by both versions to test for regressions.


# 2ead2969 03-Aug-2020 Stefan Eßer <se@FreeBSD.org>

Upgrade to version 3.1.4

This version omits the printing of a copyright header in interactive mode
and the dc command now exits after execution of the commands passed via -e
or -f instead of switching to interactive mode. To pass further commands
via STDIN when dc has been invoked with -e or -f, add "-f -" to the
parameter list.


# 957a8d7e 03-Jul-2020 Ed Maste <emaste@FreeBSD.org>

bc: disable -flto on powerpc64

Previously bc segfaulted at start, on powerpc64.

PR: 247738
Submitted by: luporl
Reported by: pkubaj
MFC after: 1 week


# 252884ae 26-Jun-2020 Stefan Eßer <se@FreeBSD.org>

Import new 2-clause BSD licenced implementation of the bc and dc commands

These implementations of the bc and dc programs offer a number of advantages
compared to the current implementations in the FreeBSD base system:

- They do not depend on external large number functions (i.e. no dependency
on OpenSSL or any other large number library)

- They implements all features found in GNU bc/dc (with the exception of
the forking of sub-processes, which the author of this version considers
as a security issue).

- They are significantly faster than the current code in base (more than
2 orders of magnitude in some of my tests, e.g. for 12345^100000).

- They should be fully compatible with all features and the behavior of the
current implementations in FreeBSD (not formally verified).

- They support POSIX message catalogs and come with localized messages in
Chinese, Dutch, English, French, German, Japanese, Polish, Portugueze,
and Russian.

- They offer very detailed man-pages that provide far more information than
the current ones.

The upstream sources contain a large number of tests, which are not
imported with this commit. They could be integrated into our test
framework at a latter time.

Installation of this version is controlled by the option "MK_GH_BC=yes".
This option will be set to yes by default in 13-CURRENT, but will be off
by default in 12-STABLE.

Approved by: imp
Obtained from: https://git.yzena.com/gavin/bc
MFC after: 4 weeks
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D19982