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

Re: Simplifying bootstrap on circular-dependent packages



Daniel Ruoso <daniel@ruoso.com> writes:

> I have been thinking about the bootstrapping of pakages lately. I am
> involved in bootstrapping a partial system -- no kernel and no libc --
> for some architectures for internal use. And I just thought that we
> could use one trick to help in the bootstrap of packages that depend
> on other shared libraries, this is something we use internally for
> other reasons but I guess it could fit here as well.
>
> The basic idea is creating "dummy libraries" that would serve for the
> linking but that had no code on it. This would allow the linking to
> happen -- of course this only helps in the case where the build
> process doesn't run anything from the build-dependency.
>
> Later the other package in the cycle would be built, and the actual
> library would be made available instead of the "dummy", and the linker
> would find the actual library.
>
> We already extract all that information for dpkg-shlibdeps to work, we
> could just build a fake shared library automatically based on that.
>
> What do you think?
>
> daniel

How do you intend to build that fake lib?

I guess it comes down to getting a list of symbols on an existing
architecture (or from the symbols file?), creating a "void symbol;" stub
for each and then building a fake lib for the target arch.

What about C++ where symbols are architecture dependent? I guess you
could detect which symbols are C and which C++, demangle them, insert
extern "C" {} as needed and build using g++.

MfG
        Goswin


Reply to: