This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
multilib related question
- From: Konstantin Vladimirov <konstantin dot vladimirov at gmail dot com>
- To: gcc at gnu dot org
- Date: Wed, 14 Jan 2015 13:50:44 +0300
- Subject: multilib related question
- Authentication-results: sourceware.org; auth=none
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