Commit graph

7 commits

Author SHA1 Message Date
roy
21a2919170 Add builtin for working out if we have terminfo installed natively. 2010-02-07 09:46:13 +00:00
joerg
2d1ba244e9 Simply and speed up buildlink3.mk files and processing.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
2009-03-20 19:23:50 +00:00
jlam
be38a2caa6 Improve the detection of the library that contains the built-in termcap.
Instead of just looking at the libraries, we check for the headers as
well, and if multiple implementations exist (usually because of symlinks
to shared libraries), then we order the search as:

	tinfo, curses, termcap, termlib, c
2008-03-11 15:39:16 +00:00
jlam
3a9a5fdff8 + Fix error in previous commit -- too much of the termcap buildlink
code was moved to the builtin.mk file.  The buildlink3.mk file should
  contain the bits that always apply to all packages that include it.
  The builtin.mk file should include the bits that only apply if
  "termcap" is listed in ${BUILDLINK_PACKAGES} (this isn't the case
  if we use curses to replace termcap).  As such, redistribute the
  code as follows:

    + Move the parts that remove -l options for terminal libraries we
      don't support, as well as for transforming "-ltermcap" into the
      appropriate libraries, from the builtin.mk back into the
      buildlink3.mk.

    + Leave the parts the remove -lcurses and -lncurses in the
      builtin.mk.  We can remove the ${TERMCAP_TYPE} == "curses" check
      since that part of the file is protected by CHECK_BUILTIN.termcap,
      so it should only be triggered if "termcap" is in BUILDLINK_PACKAGES,
      which only happens if ${TERMCAP_TYPE} isn't "curses".
2008-03-05 16:23:52 +00:00
jlam
5d2fb1d62c + Only remove -lcurses and -lncurses in BUILDLINK_TRANSFORM if the
package does not use either curses or ncurses.  We determine this
  by inspecting BUILDLINK_PACKAGES and looking for "curses" and
  "ncurses".

+ Because the above logic uses BUILDLINK_PACKAGES, the code must be
  moved from termcap.buildlink3.mk into termcap.builtin.mk where it
  is safe to inspect BUILDLINK_PACKAGES.
2008-03-05 07:10:26 +00:00
jlam
9b49134ee1 + Teach buildlink3.mk to cause GNU configure script to not find any other
terminal library other than the one we specify.

+ Also look for "termlib" as some systems have that.  Note that we need to
  make the library search more sophisticated to work correctly on more
  exotic platforms.
2008-03-02 07:05:28 +00:00
jlam
9d8755394f Rename termlib.* to termcap.* to better document exactly what packages
are trying to use (the termcap t*() API).
2008-02-29 22:41:13 +00:00
Renamed from mk/termlib.builtin.mk (Browse further)