This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

multilib related question


Hi,

If I want libraries to be built with -A by default and dirb to contain
libraries built with -B, I can simply write makefile fragment

MULTILIB_OPTIONS     = A/B
MULTILIB_DIRNAMES    = dira dirb

And inside machine description:

#define MULTILIB_DEFAULTS { "A" }

But what if I want little more tricky:

default with -A
dirb -- with -B
dirc -- with -A -C

I carefully read
https://gcc.gnu.org/onlinedocs/gccint/Target-Fragment.html but I can
not understand correct way to do it.

Also I found genmultilib script to play with it. What am I getting is:

/bin/bash ./gcc/genmultilib "A/B C" "dira dirb dirc" "" "B/C C" "" ""
"" "" "" "" "yes"

static const char *const multilib_raw[] = {
". !A !B !C;",
"dira A !B !C;",
"dirb !A B !C;",
"dira/dirc A !B C;",
NULL
};

Now I think, things should look like that:

MULTILIB_OPTIONS     = A/B C
MULTILIB_DIRNAMES    = dira dirb dirc
MULTILIB_EXCEPTIONS  = B/C C

Also in machine description I do have:

#define MULTILIB_DEFAULTS { "A" }

So I expecting:

dirb with -B
dira/dirc with -A -C

in final output.

But when I am trying actual build, it builds only dirb.

What am I doing wrong?

---
With best regards, Konstantin


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