This is the mail archive of the libstdc++@sources.redhat.com mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

need_the_occasional_chunk_of_libio=yes



Crumbs.  My LIBIO_WSRCS/LIBIO_XTRASRCS change involving iofwide.c doesn't
work as cleanly on other systems.  (Make might be smart enough, but libtool
apparently doesn't do that...?)

What's happening is that iofwide.c (an XTRA file) contains wide-char
functions that are referenced when WSRCS are built, causing a linker
failure.  My patch duplicates iofwide.c in both lists, but when both
groups are active the duplication doesn't get flattened early enough,
leading to duplicate symbols in the linker on other systems.

I'm wanting to make the acinclude.m4 enable_libio logic a bit smarter.
But I need a little explanation.  Right now it's

    if <libio.h> exists
        if glibc 2.2 is satisfactory
            need_libio = no
            need_xtra_libio = no
            need_wlibio = no
        else
            need_libio = yes
            need_xtra_libio = yes
            need_wlibio = maybe
    else
        need_libio = yes
        need_xtra_libio = no      ??
        need_wlibio = maybe

where "maybe" == "conditional on the user's configure flags" and defaults
to yes.  Also note that right now we force the satisfactory test to false.

I'm usually in that last branch, where glibc/libio isn't installed at all, so
we need to build most of it.  Shouldn't need_xtra_libio be yes in that case?

For that matter, what's the distinction between the files in 'libio' and
the ones in 'xtra_libio'?  I'd be glad to rework it to bring it closer
to reality.

-- 
pedwards at disaster dot jaj dot com  |  pme at sources dot redhat dot com
devphil at several other less interesting addresses in various dot domains
The gods do not protect fools.  Fools are protected by more capable fools.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]