[Mesa-dev] [PATCH 1/3] targets/omx: create symlink to aux/vl/vl_winsys_dri.cat at build time

Ilia Mirkin imirkin at alum.mit.edu
Fri Sep 19 17:31:14 PDT 2014


On Fri, Sep 19, 2014 at 8:14 PM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
> On 20/09/14 00:56, Ilia Mirkin wrote:
>> On Fri, Sep 19, 2014 at 7:45 PM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
>>> On 20/09/14 00:13, Ilia Mirkin wrote:
>>>> Do we do that anywhere else? Seems really hacky, and windows doesn't
>>>> support symlinks among other things... I'd just as soon force a
>>>> non-broken version of automake :)
>>>>
>>> Hmm just noticed that we should put the generated source(s) into the
>>> nodist_*
>>>
>>> Please define "anywhere else". It does seem hacky but it's less hacky
>>> than the current approach afaics. Cannot really parse "I'd just as soon
>>> force a non-broken version of autmake". Can you elaborate ?
>>
>> You said that automake 2.0 is broken (in that it's not backwards
>> compatible and doesn't support our setup). To resolve it, you're
>> introducing a (IMO) horrible hack of adding a symlink. My suggested
>> alternative is to just force a lower version of automake...
>>
> Hmm I feel that you hate autohell a bit too much... or is it the case of

I hate pandering to broken tools, auto or otherwise.

> "people fear what they don't understand" ? Not that I like/know autoslow
> too much but I'm willing to (still) give it a chance.
>
> Automake 2.0 is not out, yet putting tape over our eyes and pleading
> ignorance against it's (future) existence is a bit silly. I realise that
> this does not look good but it's the most reasonable choice.

I can't imagine that the intended way to resolve the issue is to add
symlinks at build time. This sort of solution points to a severe
mismatch between what the tool expects and what we want (or at least
are currently doing, which may be dirty to begin with, for all I
know).

> Additionally I'd like to acknowledge OpenBSD people's existence, and
> help them stop rolling their own build for every mesa release.
>
>>>
>>> Have a sneaky feeling that we may get away with just creating a single
>>> blob in aux/vl, rather than one per target, yet I would prefer to save
>>> people (myself?) the headaches at things go pair-shape :)
>>
>> Yes, building the files where they are is the more common thing than
>> referencing them from all over...
>>
> I fear that our current split (the gallium way) mandates it. And even if
> it works(tm) now I _really_ want to prevent the headaches as it breaks.

symlinks in builds cause headaches. Building files where they live is
almost always the right answer.

>
> -Emil
>
>>>
>>> -Emil
>>>
>>>> On Fri, Sep 19, 2014 at 7:01 PM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
>>>>> Ensure that the object is build in the target folder, as automake 2.0
>>>>> will mandate subdir-objects. Pointed out by automake 1.14.
>>>>>
>>>>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=69874
>>>>> Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
>>>>> ---
>>>>>  src/gallium/targets/omx/.gitignore  |  1 +
>>>>>  src/gallium/targets/omx/Makefile.am | 10 ++++++++--
>>>>>  2 files changed, 9 insertions(+), 2 deletions(-)
>>>>>  create mode 100644 src/gallium/targets/omx/.gitignore
>>>>>
>>>>> diff --git a/src/gallium/targets/omx/.gitignore b/src/gallium/targets/omx/.gitignore
>>>>> new file mode 100644
>>>>> index 0000000..4fd1800
>>>>> --- /dev/null
>>>>> +++ b/src/gallium/targets/omx/.gitignore
>>>>> @@ -0,0 +1 @@
>>>>> +vl_winsys_dri.c
>>>>> diff --git a/src/gallium/targets/omx/Makefile.am b/src/gallium/targets/omx/Makefile.am
>>>>> index 4045548..f41719f 100644
>>>>> --- a/src/gallium/targets/omx/Makefile.am
>>>>> +++ b/src/gallium/targets/omx/Makefile.am
>>>>> @@ -7,8 +7,7 @@ omxdir = $(OMX_LIB_INSTALL_DIR)
>>>>>  omx_LTLIBRARIES = libomx_mesa.la
>>>>>
>>>>>  nodist_EXTRA_libomx_mesa_la_SOURCES = dummy.cpp
>>>>> -libomx_mesa_la_SOURCES = \
>>>>> -       $(top_srcdir)/src/gallium/auxiliary/vl/vl_winsys_dri.c
>>>>> +libomx_mesa_la_SOURCES = vl_winsys_dri.c
>>>>>
>>>>>  libomx_mesa_la_LDFLAGS = \
>>>>>         -shared \
>>>>> @@ -30,6 +29,13 @@ libomx_mesa_la_LIBADD = \
>>>>>         $(OMX_LIBS) \
>>>>>         $(GALLIUM_COMMON_LIB_DEPS)
>>>>>
>>>>> +BUILT_SOURCES = vl_winsys_dri.c
>>>>> +CLEANFILES = vl_winsys_dri.c
>>>>> +
>>>>> +vl_winsys_dri.c:
>>>>> +       $(AM_V_GEN)$(LN_S) $(top_srcdir)/src/gallium/auxiliary/vl/vl_winsys_dri.c
>>>>> +
>>>>> +
>>>>>  if HAVE_GALLIUM_STATIC_TARGETS
>>>>>
>>>>>  STATIC_TARGET_CPPFLAGS = -DGALLIUM_STATIC_TARGETS=1
>>>>> --
>>>>> 2.1.0
>>>>>
>>>>> _______________________________________________
>>>>> mesa-dev mailing list
>>>>> mesa-dev at lists.freedesktop.org
>>>>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>>
>


More information about the mesa-dev mailing list