On 1/28/07, Rong-en Fan <[EMAIL PROTECTED]> wrote:
I'm working on wide character support in base's ncurses. For some
reason, I have to make lib/ncurses/ncursesw to include ncurses.h from
its object directory. However, current lib32 uses something like

cc ... -I${LIB32TMP}/usr/includes ... -IFROM_NCURSES_MAKEFILE ...

Right now, I have the following:

.if ${.TARGET} == "installincludes" && !empty(${DESTDIR:M*/lib32/*})
 INCS=          ${HEADERS} ${SRCHDRS}
 INCSLINKS=     curses.h ${INCLUDEDIR}/ncurses.h
.endif

It works, but it's really ugly. Is there any other way to do this?

Oops, it's wrong. Now I have "-DWORLD32" in LIB32MAKE and
the following lines in lib/ncurses/Makefile

.if !defined(WORLD32)
INCS=           ${HEADERS} ${SRCHDRS}
INCSLINKS=      curses.h ${INCLUDEDIR}/ncurses.h
.endif

While make universe is still running, but I have amd64, i386, pc98
work and on my -current i386 box. The resulting world works well
(tested by mutt).

I'm not sure if this is the best way to handle this. I noticed that
Dragonfly has something like

# include files are not installed when building bootstrap programs
.if !defined(BOOTSTRAPPING)
realinstall: installincludes
.ORDER: beforeinstall installincludes
.endif

in bsd.incs.mk.

For ncurses, since the include path for 32-bit includes are specified
in LIB32POSTFLAGS, which is part of ${CC}. When building ncurses +
ncursesw, I need different versions of ncurses.h (for runtime, it is not
the case).The only way to get them build in lib32 is NOT to install ncurses.h
in lib32/usr/include.

Any comments or suggestions are welcome :)

Regards,
Rong-En Fan
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to