Home | History | Annotate | Download | only in libedit
History log of /src/lib/libedit/Makefile
RevisionDateAuthorComments
 1.70  03-Aug-2023  rin Revert CC_WNO_USE_AFTER_FREE from Makefile's (thanks uwe@)
 1.69  03-Aug-2023  rin Sprinkle CC_WNO_USE_AFTER_FREE for GCC 12

All of them are blamed for idiom equivalent to:
newbuf = realloc(buf, size);
p = newbuf + (p - buf);
 1.68  20-Jun-2023  wiz install pkg-config file for libedit

version number matches portable libedit
--cflags output matches portable libedit, since users probably want the
readline interface
 1.67  03-Jun-2023  lukem bsd.own.mk: rename GCC_NO_* to CC_WNO_*

Rename compiler-warning-disable variables from
GCC_NO_warning
to
CC_WNO_warning
where warning is the full warning name as used by the compiler.

GCC_NO_IMPLICIT_FALLTHRU is CC_WNO_IMPLICIT_FALLTHROUGH

Using the convention CC_compilerflag, where compilerflag
is based on the full compiler flag name.
 1.66  13-Oct-2019  mrg introduce some common variables for use in GCC warning disables:

GCC_NO_FORMAT_TRUNCATION -Wno-format-truncation (GCC 7/8)
GCC_NO_STRINGOP_TRUNCATION -Wno-stringop-truncation (GCC 8)
GCC_NO_STRINGOP_OVERFLOW -Wno-stringop-overflow (GCC 8)
GCC_NO_CAST_FUNCTION_TYPE -Wno-cast-function-type (GCC 8)

use these to turn off warnings for most GCC-8 complaints. many
of these are false positives, most of the real bugs are already
commited, or are yet to come.


we plan to introduce versions of (some?) of these that use the
"-Wno-error=" form, which still displays the warnings but does
not make it an error, and all of the above will be re-considered
as either being "fix me" (warning still displayed) or "warning
is wrong."
 1.65  30-Jun-2017  kre branches: 1.65.6;

Allow wide characters (properly encoded as byte strings according to LC_CTYPE)
to be (perhaps part of) the "invisible" characters in a prompt, or the
required prompt character which follows the literal sequence (this character
must be one with a printing column width >= 1). The literal indicator
character (which is just a marker, and not printed anywhere) (the PSlit
parameter in sh(1)) can also be a wide char (passed to libedit as a wchar_t,
encoded as that by sh(1) or other applications that support this.)

Note: this has currently only been tested with everything ascii (C locale).
 1.64  27-Jun-2017  christos add literal escape sequence support, patterned after the tcsh ones.
 1.63  24-May-2016  christos branches: 1.63.8;
remove debug read (Ingo Schwarze)
 1.62  09-May-2016  christos Instead of compiling all the source files together in one big file, use
protected visibility to achieve the same effect.
 1.61  02-May-2016  wiz Add missing backslash that broke build.
 1.60  02-May-2016  christos Add more MLINKS, sort
 1.59  28-Apr-2016  christos new man page from Ingo Schwarze.
 1.58  18-Apr-2016  christos From Ingo Schwarze:
* Replace fcns.c by a shorter and simpler func.h
and include it only in the one file needing it, map.c.
* Combine help.h and help.c into a simplified help.h
and include it only in the one file needing it, map.c.
* Check the very simple, static files editline.c, historyn.c, and
tokenizern.c into CVS rather than needlessly generating them.
* So we no longer autogenerate any C files. :-)
* Shorten and simplify makelist by deleting the options -n, -e, -bc,
and -m; the latter was unused and useless in the first place.
* Move the declaration of el_func_t from fcns.h to the header
actually needing it, map.h. Since that header is already
included by el.h for unrelated reasons, that makes el_func_t
just as globally available as before.
* No longer include the simplified fcns.h into el.h,
include it directly into the *.c files needing it.
 1.57  23-Mar-2016  christos Start removing the WIDECHAR ifdefs; building without it has stopped working
anyway. (Ingo Schwarze)
 1.56  02-Mar-2016  christos PR/50880: David Binderman: Remove redundant code.
While here, fix all debugging formats.
 1.55  24-Feb-2016  christos Get split el_getc and el_wgetc completely and call el_wgetc internally.
Change some character constants to they wide versions. (Ingo Schwarze)
 1.54  17-Feb-2016  christos whitespace and header sorting changes (Ingo Schwarze). No functional changes.
 1.53  29-Jan-2015  joerg Disable -Wcast-qual for clang for now.
 1.52  14-Jun-2014  mrg branches: 1.52.2;
remove remaining makefile support for GCC < 45 that i found.
 1.51  10-Aug-2012  joerg branches: 1.51.2; 1.51.8;
Don't depend on HAVE_GCC being always defined.
 1.50  21-Mar-2012  matt These directories default to WARNS?=5
 1.49  16-Aug-2011  christos branches: 1.49.2;
re-enable -Wconversion
 1.48  02-Aug-2011  joerg Only use -Wconversion if GCC is actually the active compiler.
 1.47  30-Jul-2011  tron Don't use "-Wconversion" with GCC 4.5 which will complain about all the
expressions where signed variables are converted to unsigned in an
expression e.g. "size_t foo = sizeof(something) * int_var;".
 1.46  29-Jul-2011  christos pass -Wconversion
 1.45  29-Jul-2011  christos add -Wunused-parameter
Is that the right way? Perhaps WARNS=5?
 1.44  28-Jul-2011  christos Rename key to keymacro to avoid conflicts with term.h. The renaming of term
to terminal was again to avoid conflicts with term.h. term.h is a moving
namespace violation.
 1.43  28-Jul-2011  christos term -> terminal
XXX: need to rename key_ too.
 1.42  21-Jun-2011  mrg add some XXX'd -Wno-foo if HAVE_GCC >= 45.

XXX: someone should look at these.
 1.41  03-Feb-2010  roy branches: 1.41.4;
Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.40  31-Dec-2009  christos - Document and enable wide character support.
- Fix read function compatibility.
 1.39  30-Dec-2009  christos Fix wide build, test it, but don't turn it on yet.
 1.38  30-Dec-2009  christos Wide character support (UTF-8) from Johny Mattsson; currently disabled.
 1.37  18-Jan-2009  lukem WARNS=4
 1.36  28-May-2007  tls Add new Makefile knob, USE_FORT, which extends USE_SSP by turning on the
FORTIFY_SOURCE feature of libssp, thus checking the size of arguments to
various string and memory copy and set functions (as well as a few system
calls and other miscellany) where known at function entry. RedHat has
evidently built all "core system packages" with this option for some time.

This option should be used at the top of Makefiles (or Makefile.inc where
this is used for subdirectories) but after any setting of LIB.

This is only useful for userland code, and cannot be used in libc or in
any code which includes the libc internals, because it overrides certain
libc functions with macros. Some effort has been made to make USE_FORT=yes
work correctly for a full-system build by having the bsd.sys.mk logic
disable the feature where it should not be used (libc, libssp iteself,
the kernel) but no attempt has been made to build the entire system with
USE_FORT and doing so will doubtless expose numerous bugs and misfeatures.

Adjust the system build so that all programs and libraries that are setuid,
directly handle network data (including serial comm data), perform
authentication, or appear likely to have (or have a history of having)
data-driven bugs (e.g. file(1)) are built with USE_FORT=yes by default,
with the exception of libc, which cannot use USE_FORT and thus uses
only USE_SSP by default. Tested on i386 with no ill results; USE_FORT=no
per-directory or in a system build will disable if desired.
 1.35  31-Aug-2006  rpaulo Rename TEST/test.c to avoid problems when doing a cleandir on case-insensitive
file systems.
ok'ed christos.
 1.34  28-May-2005  lukem clean up build of "test"
 1.33  28-May-2005  lukem MAKEVERBOSE support
 1.32  18-May-2005  christos Libedit depends on libterm. From Patrick Welche
 1.31  07-May-2005  dsl Make everything that uses makelist depend on Makefile - that way the
created files pick up new entries.
 1.30  07-May-2005  dsl Separate out the filename completion functions from the readline() code.
Pass in loads of parameters instead of relying on shed-loads of global
variables to modify the behaviour.
The filename completion code can now be enabled by code that uses el_gets().
(eg /bin/sh)
 1.29  05-Dec-2003  lukem Tokenization function enhancements:
* Make tok_init(), tok_end(), tok_reset(), tok_line() and tok_str()
publically available in <histedit.h>
* Documented the public functions in editline(3)
* Renamed tok_line() -> tok_str()
* Added new tok_line() which takes a "const LineInfo *" instead of
"const char *" (the former has "cursor" information), and optionally
return the argv index ("int *cursorc") and offset within that index
("int *cursorv"). This means that completion routines can use the
tokenization code to crack the line and easily find which word the
cursor is at. (mmm, context sensitive completion :)
* Fixed TEST/test.c when using "continuation" lines (unmatched quote
or \ at EOL), and added some more DEBUG messages including highlighting
where the cursor is (with a `_').
 1.28  01-Aug-2003  lukem Rework how dependency generation is performed:

* DPSRCS contains extra dependencies, but is _NOT_ added to CLEANFILES.
This is a change of behaviour. If a Makefile wants the clean semantics
it must specifically append to CLEANFILES.
Resolves PR toolchain/5204.

* To recap: .d (depend) files are generated for all files in SRCS and DPSRCS
that have a suffix of: .c .m .s .S .C .cc .cpp .cxx

* If YHEADER is set, automatically add the .y->.h to DPSRCS & CLEANFILES

* Ensure that ${OBJS} ${POBJS} ${LOBJS} ${SOBJS} *.d depend upon ${DPSRCS}

* Deprecate the (short lived) DEPENDSRCS


Update the various Makefiles to these new semantics; generally either
adding to CLEANFILES (because DPSRCS doesn't do that anymore), or replacing
specific .o dependencies with DPSRCS entries.

Tested with "make -j 8 distribution" and "make distribution".
 1.27  31-Jul-2003  lukem tweak this unconventional (some might say "baroque") Makefile to work
with the new <bsd.dep.mk> *.d semantics.
fixes problems highlighted by Martin Husemann <martin@>
 1.26  08-May-2003  christos add a missing dependency (John Gordon)
 1.25  08-May-2003  christos Use ${HOST_SH}
 1.24  27-Oct-2002  christos vi mode and memory fixes from david laight.
 1.23  19-Aug-2002  lukem Explicitly move setting of NOxxx and USE_SHLIBDIR to the top of the
Makefile (before including <bsd.own.mk>)
 1.22  18-Mar-2002  christos Add a couple linted comment and enable WARNS=3
 1.21  28-Dec-2001  lukem * Add user-controlled mk.conf variables
- SHLIBDIR Location to install shared libraries if ${USE_SHLIBDIR}
is "yes". Defaults to "/usr/lib".

- USE_SHLIBDIR If "yes", install shared libraries in ${SHLIBDIR}
instead of ${LIBDIR}. Defaults to "no".
Sets ${_LIBSODIR} to the appropriate value.
This may be set by individual Makefiles as well.

- SHLINKDIR Location of shared linker. Defaults to "/usr/libexec".
If != "/usr/libexec", change the dynamic-linker
encoded in shared programs

* Set USE_SHLIBDIR for libraries used by /bin and /sbin:
libc libcrypt libcrypto libedit libipsec libkvm libm libmi387
libtermcap libutil libz

* If ${_LIBSODIR} != ${LIBDIR}, add symlinks from ${LIBDIR}/${LIB}.so*
to ${_LIBSODIR}/${LIB}.so* for compatibility.

* Always install /sbin/init statically (for now)


The net effect of these changes depends on how the variables are set:

1.) If nothing is set or changed, there is no change from the
current behaviour:
- Static /bin, /sbin, and bits of /usr/*
- Dynamic rest
- Shared linker is /usr/libexec/ld*so

2.) If the following make variables are set:
LDSTATIC=
SHLINKDIR=/lib
SHLIBDIR=/lib
Then the behaviour becomes:
- Dynamic tools
- .so libraries used by /bin and /sbin are installed to /lib,
with symlinks from /usr/lib/lib*so to -> /lib/lib*so
where appropriate
- Shared linker is /lib/ld*so

3.) As per 2.), but add the following variable:
USE_SHLIBDIR=yes
This forces all .so's to be instaleld in /lib (with compat
symlinks), not just those tagged by their Makefiles to be.
Again, compat symlinks are installed
 1.20  05-Jan-2001  jdolecek Standard location of readline headers is /usr/include/readline/, so install
them there.
readline.h of libedit had to move to subdirectory 'readline', due to the way
BSD makefiles work; this is better than potentially fragile Makefile hacks
 1.19  15-Aug-2000  mrg use .tmp temporaries for generated files, to avoid having failed generated
output being used.
 1.18  06-Jul-1999  christos Use LIBEDITDIR instead of CURDIR so we can use that Makefile to compile
libedit from another directory.
 1.17  02-Jul-1999  simonb More trailing white space.
 1.16  04-Mar-1999  itohy Add minimal dependency to make "make depend" optional
after cleandir.
 1.15  29-Jul-1998  lukem * add more checks for NULL pointers in passed arguments
* implement el_get(EditLine *, int op, void *result), which does the
inverse of el_set()
* add EL_EDITMODE operation to el_set and el_get; if non zero editing
is enabled (the default).
* add "edit on | off" editrc command, which modifies EL_EDITMODE.
users can now add '*:edit off' in ~/.editrc as an advisory to
disable editing.

NOTE: at this time EL_EDITMODE is just an indication of the
state of the 'edit' command. It's up to the application to check
this after el_source() or el_parse() to determine if editing is still
required.
 1.14  13-Nov-1997  thorpej Build readline.o into debugging versions of libedit, too.
 1.13  26-Oct-1997  christos Make a link for history.h -> readline.h
 1.12  23-Oct-1997  christos PR/4301: Jaromir Dolecek. Add gnu-readline wrapper for editline.
 1.11  23-Oct-1997  lukem use CPPFLAGS instead of CFLAGS, fix building of test
 1.10  09-Oct-1997  lukem branches: 1.10.2;
- define WARNS?=1 in the top-level Makefile.inc, and don't define
anywhere else.
- for now, override WARNS=0 in librpcsvc and libwrap, until they're
cleaned up
- rcsid police

lib is now clean (except for librpcsvc and libwrap) on the i386, and
this should motivate the other ports to fix any other minor problems
that their compilers pick up that the i386 version doesn't.
 1.9  06-Jul-1997  christos Fix compiler warnings.
 1.8  09-May-1997  mycroft Eliminate bogus redefinitions of standard targets.
 1.7  24-Mar-1997  christos Makefile cleanups:
use INCS variable to install includes and FILES to install objects.
 1.6  11-Jan-1997  lukem RCSid police
editline first appeared in 4.4BSD not NetBSD1.0
 1.5  09-Jan-1997  lukem * add a man page for the editline routines
* add a man page describing editrc
* fix bugs in el_parse():
* didn't execute command when program name matched (test reversed)
* was checking against empty string instead of program name
* after checks, command to run also pointed to empty string

[christos - the author of libedit - ok-ed the man pages in general (which I
wrote from scratch by RTFS) as well as the bugfix]
 1.4  18-Oct-1996  thorpej Use ${INSTALL}.
 1.3  01-Jun-1996  jtk merge bugfix from 1.2 branch: use includes target for include files
 1.2  06-May-1994  cgd branches: 1.2.8;
local
 1.1  06-May-1994  cgd branches: 1.1.1;
Initial revision
 1.1.1.1  06-May-1994  cgd libedit!
 1.2.8.1  01-Jun-1996  jtk use includes target to install include files
 1.10.2.1  09-Nov-1997  lukem sync trunk's CPPFLAGS fix (approved by thorpej)
 1.41.4.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.49.2.2  30-Oct-2012  yamt sync with head
 1.49.2.1  17-Apr-2012  yamt sync with head
 1.51.8.1  10-Aug-2014  tls Rebase.
 1.51.2.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.52.2.1  13-May-2015  martin Sync lib/libedit with head, requested by christos in #753:

lib/libedit/Makefile 1.53
lib/libedit/chartype.h 1.13
lib/libedit/editline.3 1.83-1.84
lib/libedit/editrc.5 1.28-1.29
lib/libedit/eln.c 1.18
lib/libedit/filecomplete.c 1.33-1.34
lib/libedit/readline.c 1.112-1.115

Man page improvements, fix overlapping strcpy, improve readline
compatibility, clang build fix.
 1.63.8.1  23-Jul-2017  snj Pull up following revision(s) (requested by kre in ticket #102):
lib/libedit/Makefile: 1.64-1.65
lib/libedit/editline.3: 1.94-1.96
lib/libedit/editrc.5: 1.33
lib/libedit/el.c: 1.93-1.94
lib/libedit/el.h: 1.42
lib/libedit/literal.c: 1.1-1.3
lib/libedit/literal.h: 1.1-1.2
lib/libedit/prompt.c: 1.27
lib/libedit/read.c: 1.103
lib/libedit/refresh.c: 1.52-1.54
lib/libedit/refresh.h: 1.11
lib/libedit/terminal.c: 1.33
Make the default editrc file be $EDITRC (from env) if set, falling back
to $HOME/.editrc otherwise. Better support for this in sh coming.
--
Include EDITRC in doc.
--
mention the limitation of the literal sequence delimiter.
--
- handle literal escape sequence printing.
- factor out common code in allocation and freeing of the display.
--
- add literal sequence handling.
--
remove unused variable
--
add literal escape sequence support, patterned after the tcsh ones.
--
fix comment
--
Fix an obvious, but almost invisible typo (avoid some core dumps).
--
Allow wide characters (properly encoded as byte strings according to LC_CTYPE)
to be (perhaps part of) the "invisible" characters in a prompt, or the
required prompt character which follows the literal sequence (this character
must be one with a printing column width >= 1). The literal indicator
character (which is just a marker, and not printed anywhere) (the PSlit
parameter in sh(1)) can also be a wide char (passed to libedit as a wchar_t,
encoded as that by sh(1) or other applications that support this.)
Note: this has currently only been tested with everything ascii (C locale).
--
Remove workaround for ancient HTML generation code.
 1.65.6.1  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411

RSS XML Feed