On 07.10.2016 10:30, Iain Sandoe wrote: > >> On 7 Oct 2016, at 00:58, Matthias Klose <d...@ubuntu.com> wrote: >> >> On 06.10.2016 20:00, Mike Stump wrote: >>> On Oct 6, 2016, at 9:56 AM, Rainer Orth <r...@cebitec.uni-bielefeld.de> >>> wrote: >>>> I wouldn't hard-fail, but completely disable objc-gc with an appropriate >>>> warning. The Objective-C maintainers may have other preferences, though. >> >> I think I can't do that in the top level make file very well (currently I >> only >> have the pkg-config check there for an early failure, but that check doesn't >> tell me if the library is present for all multilib variants). And I can't >> check >> for multilibs because I don't know if the bootstrap compiler is multilib >> aware. > > hrm, so perhaps we need a —with-target-boehm-gc= type arrangement, and it’s > the configurer’s responsibility to provide a path with appropriate > headers/libs for the multi-lib configuration being attempted.
I don't understand what you are proposing here. >>> gcc historically is fairly weak at complex configurations. I need the 32 >>> bit libraries to support -m32, but, those libraries might not be present, >>> but do I build all the rest of my libraries, and if i do, do I test them >>> once build, but what is other dependent external libraries are missing. Do >>> I turn off the multilib, or do I not? >>> >>> I used to manage some of this by passing in configure flags to control >>> multilibbing based upon what libraries were install and then run testing >>> based upon that. Of course, that's all external to gcc proper. Doesn't >>> really make gcc any easier to configure and build or advance gcc. >>> >>> We could smell the system at configure time, and turn on and off multilib >>> variants and things like objc gc. Target specific, but I think it helps to >>> ponder this in a target independent way. This can then turn on and off >>> objc gc support directly. To get it on, one would need to install the >>> needed libraries, and reconfigure and rebuild gcc. I think I might like >>> that the best. Has a nice easy of use about it, and then everything gcc >>> does is rather sane (no funny build errors when a needed library isn't >>> present). >>> >>> >>> So, I think, if I understand what you propose, I'm fine with that. >> >> So your proposal is to replace the ": dnl ..." line in libobjc/configure.ac >> with >> a hard error message and leave it to the user to correctly configure GCC? >> That >> would rely on the compiler to find the library in a system wide multilib >> aware >> directory (e.g. /usr/lib/i386-linux-gnu, or /usr/lib32). Is this the case >> for >> Solaris and Darwin? > > for Darwin, it’s not a default install (but then neither are the host deps > such as gmp & friends) - so the toolchain builder on Darwin already needs to > make some provisions outside the system. It’s just that the only target > provisions to date have been the sysroot (we haven’t yet made use of add-on > target libs). > >> I'm fine with that, it wouldn't affect configurations like x86_64-linux-gnu >> where multilib is the default (but objc-gc is not). >> >> Looking back at libjava, I think everybody disabled multilibs for libjava, >> because nobody had a complete gtk2 stack for multilibs, however that was a >> complete subdir, not just a certain configuration in that subdir. Looking >> back >> at libffi and separate released libffi's I first built multilib'ed libffi >> libraries from the libffi source for Debian/Ubuntu, then dropped these >> because >> they were not used, and until today GCC internal and external libffi are >> hopelessly out of sync, so you couldn't use an external libffi to build >> libjava. > > Becase Darwin’s libjava does not depend on the gtk2 stack, actually normally > libjava (and libffi, gc) were generally built and tested (by those who cared > to do it) as multilibs [the default]. >> >> In the past I looked at updating boehm-gc to recent sources but never >> finished >> because libjava relied on internals. Afaics this is not the case for >> objc-gc, >> so maybe you could update boehm-gc. But I don't want to go this road myself … > > .. and I don’t have cycles to volunteer to try this at present either. > Iain > > >> >> Matthias >