Commit graph

8 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
f9cbf56250 TERMCAP_TYPE isn't really a variable that you can set, so add it to
BUILD_DEFS_EFFECTS instead of BUILD_DEFS.
2008-03-05 17:38:58 +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
cfc5bf4458 If the TERMCAP_TYPE isn't "curses", then also remove "-lncurses" from
the command line so we don't find any system ncurses library.

XXX This currently causes problems with packages using both termcap
XXX (usually via readline) and curses.  This will be fixed in time.
2008-03-05 03:58:20 +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