[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: libposix - is it done yet?

From: Bruce Korb
Subject: Re: libposix - is it done yet?
Date: Sun, 10 Oct 2010 17:59:04 -0700
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20100714 SUSE/3.0.6 Thunderbird/3.0.6

Hi Bruno,

On Sun, Oct 10, 2010 at 3:34 PM, Bruno Haible <address@hidden> wrote:
> Bruce Korb wrote:
>> > nobase_nodist_pkginclude_HEADERS = $(FNMATCH_H) $(FLOAT_H) $(STDDEF_H) ...
>> so the script must first determine the full list of headers
>> that might be provided, convert them to $(XXX_H) names and
>> stuff the list into the *_HEADERS thing.
> Yes.
>> Having looked
>> through the module sources, there is no clear way of
>> deriving the list of header macro names.

> So you can recognize it through BUILT_SOURCES.
> $ for module in `./posix-modules`; do grep '^BUILT_SOURCES += \$(.*_H)$' 
> modules/$module; done

Just to be completely clear, the BUILT_SOURCES in Makefile.am is now overloaded.
Not only does it mean (to automake anyway) that the source gets built first, but
also that it defines a header that is to be installed for libposix.  The list 
derived via:

    local headerlist=$(
        \cd ${sdir}/modules
        egrep -h 'BUILT_SOURCES *\+=.*(_H\)|\.h)' ${mod_list} | \
            sed 's/.*+= *//' | tr ' ' '\n')

This is considerably shorter than the list of all header files used to
build libposix.la:

nobase_nodist_pkginclude_HEADERS = \
    $(ERRNO_H)           $(FLOAT_H)           $(FNMATCH_H) \
    $(GETOPT_H)          $(GLOB_H)            $(NETINET_IN_H) \
    $(SCHED_H)           $(STDARG_H)          $(STDBOOL_H) \
    $(STDDEF_H)          $(STDINT_H)          arpa/inet.h \
    ctype.h              dirent.h             fcntl.h \
    iconv_open-aix.h     iconv_open-hpux.h    iconv_open-irix.h \
    iconv_open-osf.h     iconv_open-solaris.h inttypes.h \
    langinfo.h           locale.h             math.h \
    netdb.h              poll.h               search.h \
    signal.h             spawn.h              stdio.h \
    stdlib.h             string.h             sys/select.h \
    sys/socket.h         sys/stat.h           sys/time.h \
    sys/times.h          sys/utsname.h        sys/wait.h \
    termios.h            time.h               unistd.h \
    wchar.h              wctype.h

I also confess to also being puzzled by the iconv_open-*.h files.
Your grep missed 'em but were they one per line, you'd have
picked them up.  That is a fairly nuanced distinction -- if it is intended.
I suspect they should not get installed, but I don't think "more than
one on a BUILT_SOURCES line means do not install" is a good

Perhaps the correct thing is to add a "libposix-install:" section?
That is, make completely explicit what ought to be done.

Thank you again.  - Bruce

reply via email to

[Prev in Thread] Current Thread [Next in Thread]