[Mesa-dev] [PATCH v3 02/25] configure.ac: Add helper function for targets/components
Tobias Droste
tdroste at gmx.de
Wed Oct 12 18:44:09 UTC 2016
Am Mittwoch, 12. Oktober 2016, 19:38:56 CEST schrieb Emil Velikov:
> On 12 October 2016 at 19:01, Tobias Droste <tdroste at gmx.de> wrote:
> > Am Mittwoch, 12. Oktober 2016, 09:52:51 CEST schrieb Emil Velikov:
> >> On 12 October 2016 at 00:02, Tobias Droste <tdroste at gmx.de> wrote:
> >> > Add functions to add and check targets/components.
> >> > Not used in this patch.
> >> >
> >> > The error message in llvm_add_component is disabled until it doesn't
> >> > break
> >> > the build anymore. This is the same functionality as before where the
> >> > components were added without a check.
> >> >
> >> > Signed-off-by: Tobias Droste <tdroste at gmx.de>
> >> > ---
> >> >
> >> > configure.ac | 35 +++++++++++++++++++++++++++++++++++
> >> > 1 file changed, 35 insertions(+)
> >> >
> >> > diff --git a/configure.ac b/configure.ac
> >> > index bdd46bc..69421ff 100644
> >> > --- a/configure.ac
> >> > +++ b/configure.ac
> >> > @@ -2196,7 +2196,42 @@ llvm_check_version_for() {
> >> >
> >> > fi
> >> >
> >> > }
> >> >
> >> > +llvm_add_default_components() {
> >> > + driver_name=$1
> >> >
> >> > + # Required default components
> >> > + llvm_add_component "engine" $driver_name
> >> > + llvm_add_component "bitwriter" $driver_name
> >> > + llvm_add_component "mcjit" $driver_name
> >> > + llvm_add_component "mcdisassembler" $driver_name
> >> > +
> >> > + # Optional default components
> >> > + if $LLVM_CONFIG --components | grep -iqw inteljitevents ; then
> >> > + LLVM_COMPONENTS="${LLVM_COMPONENTS} inteljitevents"
> >> > + fi
> >> > +}
> >> > +
> >> > +llvm_add_component() {
> >>
> >> Nit: move this function before its user (llvm_add_default_components)
> >> Idea: call this ...components (plural) and feed the all components at
> >> once.
> >
> > Ok.
>
> Just realised that you're adding these only to move them further up
> with later patch. What's the obstacle for doing so in the first place
> ?
Nothing, but I was already on path 20 when I realised it and was to lazy to
switch the ordering of the patches ;-)
>
> >> > + new_llvm_component=$1
> >> > + driver_name=$2
> >> > +
> >> > + if $LLVM_CONFIG --components | grep -iqw $new_llvm_component ;
> >> > then
> >> > + LLVM_COMPONENTS="${LLVM_COMPONENTS} ${new_llvm_component}"
> >> > + #else
> >> > + # AC_MSG_ERROR([LLVM component '$new_llvm_component' not
> >> > enabled
> >> > in your LLVM build. Required by $driver_name.])
> >>
> >> This function adds required components, correct ? Then the above two
> >> lines should not be commented out.
> >
> > I can't enable this until later in the series as mentioned in the commit
> > message.
> > This is how it worked before (there were no errors for the components).
> >
> > At this point llvm_add_default_components will be added even if we don't
> > need LLVM. This way someone without LLVM installed will get error
> > messages even though he might just want to build the intel or softpipe
> > driver.
> > It will be enabled in Patch 24.
>
> If things error out here, that means that one should finish the other
> refactoring before using these helpers ?
> If that's getting too hairy, just add keep the function a simple
> wrapper around LLVM_COMPONENTS (no LLVM_CONFIG or AC_MSG_ERROR) and
> add those when it's safe.
Right now this is just a wrapper around LLVM_COMPONENTS.
If a component does not exist it will later not generate any LLVM_LIBS that's
why it also doesn't need to be in LLVM_COMPONENTS.
If it actually is missing, you will only notice during linking / building
(depending on wether headers are missing or not).
>
> -Emil
More information about the mesa-dev
mailing list