HomeFreeBSD

- When I introduce wide character enabled ncurses into base, all headers
rS169971Unpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

  • When I introduce wide character enabled ncurses into base, all headers are installed twice (once in non-widec version, onec in widec version). Headers with widec enabled are compatible with non-widec version for libraries. However, if you do a repeat build/install, the curses.h is always overwritten. The reason is that headers and statics libraries are installed with -S option to preserve their mtime if no actual changes, which saves time when doing incremental builds. The curses.h is installed by non-widec ncurses first, then by widec ncurses. So next time, it happens again. You see something like this:
    1. pwd /usr/src/lib/ncurses
    2. make -s installincludes INSTALL="install -v" ===> ncurses (installincludes) install: curses.h -> /usr/include/curses.h ===> ncursesw (installincludes) install: curses.h -> /usr/include/curses.h
    3. make -s installincludes INSTALL="install -v" ===> ncurses (installincludes) install: curses.h -> /usr/include/curses.h ===> ncursesw (installincludes) install: curses.h -> /usr/include/curses.h

      The solution is to disable installing headers in non-widec version. Now you see this:
    4. pwd /usr/src/lib/ncurses
    5. make -s installincludes INSTALL="install -v" ===> ncurses (installincludes) ===> ncursesw (installincludes)
    6. make -s installincludes INSTALL="install -v" ===> ncurses (installincludes) ===> ncursesw (installincludes)

      For form/panel/menu libraries, the headers are the same for both version. To be consistent with ncurses, I also disable the installation in non-widec version.

Reported by: des
Reviewed by: ru
Thanks to: ru
Approved by: delphij (mentor)
MFC after: 2 weeks

Details

Provenance
rafanAuthored on
Parents
rS169970: remove unneccessary curcpu reference in setting mmfsa
Branches
Unknown
Tags
Unknown

Event Timeline