[Mesa-dev] [android-x86-devel] [PATCH 3/3] isl: add support for Android libmesa_isl static library

Emil Velikov emil.l.velikov at gmail.com
Wed Jun 1 17:02:05 UTC 2016


On 1 June 2016 at 01:25, Mauro Rossi <issor.oruam at gmail.com> wrote:
> 2016-06-01 2:22 GMT+02:00 Mauro Rossi <issor.oruam at gmail.com>:
>> 2016-05-31 16:33 GMT+02:00 Emil Velikov <emil.l.velikov at gmail.com>:
>>>
>>> Hi Mauro,
>>>
>>> A couple of questions, nothing serious imho.
>>>
>>> On 30 May 2016 at 23:20, Mauro Rossi <issor.oruam at gmail.com> wrote:
>>> > isl library is needed to build i965, libmesa_isl static library is
>>> > added
>>> > to fix related Android building errors.
>>> >
>>> > Any attempt to build libmesa_genxml as phony package module failed to
>>> > deliver
>>> > gen{7,75,8,9}_pack.h autogenerated headers, needed to build
>>> > libmesa_isl_gen{7,75,8,9}
>>> >
>>> > Due to constraints in the Android Build System, libmesa_genxml is built
>>> > as static library
>>> > and at least one source file needs to be compiled, so dummy.c is
>>> > autogenerated for this scope.
>>> >
>>> > libmesa_isl_gen{7,75,8,9} dependencies on libmesa_genxml are declared
>>> > using LOCAL_WHOLE_STATIC_LIBRARIES,
>>> > in order to avoid building errors due to missing
>>> > genxml/gen{7,75,8,9}_pack.h headers
>>> >
>>> > Cc: <mesa-stable at lists.freedesktop.org>
>>> > ---
>>> >  Android.mk                           |   3 +
>>> >  src/intel/genxml/Android.mk          |  82 ++++++++++++++++++
>>> >  src/intel/isl/Android.mk             | 157
>>> > +++++++++++++++++++++++++++++++++++
>>> >  src/mesa/drivers/dri/i965/Android.mk |   3 +-
>>> >  4 files changed, 244 insertions(+), 1 deletion(-)
>>> >  create mode 100644 src/intel/genxml/Android.mk
>>> >  create mode 100644 src/intel/isl/Android.mk
>>> >
>>> > diff --git a/Android.mk b/Android.mk
>>> > index 6a5596b..8ab80f3 100644
>>> > --- a/Android.mk
>>> > +++ b/Android.mk
>>> > @@ -48,6 +48,7 @@ MESA_DRI_MODULE_UNSTRIPPED_PATH :=
>>> > $(TARGET_OUT_SHARED_LIBRARIES_UNSTRIPPED)/$(M
>>> >
>>> >  MESA_COMMON_MK := $(MESA_TOP)/Android.common.mk
>>> >  MESA_PYTHON2 := python
>>> > +MESA_PYTHON3 := python3
>>
>>
>> I've just seen that while a few days ago python3 was necessary to build
>> gen%_pack.h headers,
>> now the .py scripts just require python2, so this MESA_PYTHON3 definition
>> is not needed anymore.
>>
>>>
>>> > new file mode 100644
>>> > index 0000000..e0137d5
>>> > --- /dev/null
>>> > +++ b/src/intel/genxml/Android.mk
>>> > @@ -0,0 +1,82 @@
>>> > +# Copyright © 2016 Intel Corporation
>>> > +# Copyright © 2016 Mauro Rossi <issor.oruam at gmail.com>
>>> > +#
>>> > +# Permission is hereby granted, free of charge, to any person
>>> > obtaining a
>>> > +# copy of this software and associated documentation files (the
>>> > "Software"),
>>> > +# to deal in the Software without restriction, including without
>>> > limitation
>>> > +# the rights to use, copy, modify, merge, publish, distribute,
>>> > sublicense,
>>> > +# and/or sell copies of the Software, and to permit persons to whom
>>> > the
>>> > +# Software is furnished to do so, subject to the following conditions:
>>> > +#
>>> > +# The above copyright notice and this permission notice shall be
>>> > included
>>> > +# in all copies or substantial portions of the Software.
>>> > +#
>>> > +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
>>> > EXPRESS OR
>>> > +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
>>> > MERCHANTABILITY,
>>> > +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT
>>> > SHALL
>>> > +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
>>> > OTHER
>>> > +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
>>> > ARISING
>>> > +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>>> > +# DEALINGS IN THE SOFTWARE.
>>> > +
>>> > +LOCAL_PATH := $(call my-dir)
>>> > +
>>> > +# Import variable GENERATED_FILES.
>>> > +include $(LOCAL_PATH)/Makefile.sources
>>> > +
>>> > +include $(CLEAR_VARS)
>>> > +
>>> > +LOCAL_MODULE := libmesa_genxml
>>> > +
>>> > +LOCAL_MODULE_CLASS := STATIC_LIBRARIES
>>> > +
>>> > +intermediates := $(call local-generated-sources-dir)
>>> > +
>>> > +# dummy.c source file is generated to meet the build system's rules.
>>> > +LOCAL_GENERATED_SOURCES += $(intermediates)/dummy.c
>>> > +
>>> > +$(intermediates)/dummy.c:
>>> > +       @mkdir -p $(dir $@)
>>> > +       @echo "Gen Dummy: $(PRIVATE_MODULE) <= $(notdir $(@))"
>>> > +       $(hide) touch $@
>>> > +
>>> > +# This is the list of auto-generated files headers
>>> > +LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/genxml/,
>>> > $(GENXML_GENERATED_FILES))
>>> > +
>>> > +define header-gen
>>> > +       @mkdir -p $(dir $@)
>>> > +       @echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))"
>>> > +       $(hide) $(PRIVATE_SCRIPT) $(PRIVATE_XML) > $@
>>> > +endef
>>> > +
>>> > +$(intermediates)/genxml/gen6_pack.h: PRIVATE_SCRIPT := $(MESA_PYTHON3)
>>> > $(LOCAL_PATH)/gen_pack_header.py
>>> > +$(intermediates)/genxml/gen6_pack.h: PRIVATE_XML :=
>>> > $(LOCAL_PATH)/gen6.xml
>>> > +$(intermediates)/genxml/gen6_pack.h: $(LOCAL_PATH)/gen6.xml
>>> > $(LOCAL_PATH)/gen_pack_header.py
>>> > +       $(call header-gen)
>>> > +
>>> > +$(intermediates)/genxml/gen7_pack.h: PRIVATE_SCRIPT := $(MESA_PYTHON3)
>>> > $(LOCAL_PATH)/gen_pack_header.py
>>> > +$(intermediates)/genxml/gen7_pack.h: PRIVATE_XML :=
>>> > $(LOCAL_PATH)/gen7.xml
>>> > +$(intermediates)/genxml/gen7_pack.h: $(LOCAL_PATH)/gen7.xml
>>> > $(LOCAL_PATH)/gen_pack_header.py
>>> > +       $(call header-gen)
>>> > +
>>> > +$(intermediates)/genxml/gen75_pack.h: PRIVATE_SCRIPT :=
>>> > $(MESA_PYTHON3) $(LOCAL_PATH)/gen_pack_header.py
>>> > +$(intermediates)/genxml/gen75_pack.h: PRIVATE_XML :=
>>> > $(LOCAL_PATH)/gen75.xml
>>> > +$(intermediates)/genxml/gen75_pack.h: $(LOCAL_PATH)/gen75.xml
>>> > $(LOCAL_PATH)/gen_pack_header.py
>>> > +       $(call header-gen)
>>> > +
>>> > +$(intermediates)/genxml/gen8_pack.h: PRIVATE_SCRIPT := $(MESA_PYTHON3)
>>> > $(LOCAL_PATH)/gen_pack_header.py
>>> > +$(intermediates)/genxml/gen8_pack.h: PRIVATE_XML :=
>>> > $(LOCAL_PATH)/gen8.xml
>>> > +$(intermediates)/genxml/gen8_pack.h: $(LOCAL_PATH)/gen8.xml
>>> > $(LOCAL_PATH)/gen_pack_header.py
>>> > +       $(call header-gen)
>>> > +
>>> > +$(intermediates)/genxml/gen9_pack.h: PRIVATE_SCRIPT := $(MESA_PYTHON3)
>>> > $(LOCAL_PATH)/gen_pack_header.py
>>> > +$(intermediates)/genxml/gen9_pack.h: PRIVATE_XML :=
>>> > $(LOCAL_PATH)/gen9.xml
>>> > +$(intermediates)/genxml/gen9_pack.h: $(LOCAL_PATH)/gen9.xml
>>> > $(LOCAL_PATH)/gen_pack_header.py
>>> > +       $(call header-gen)
>>
>>
> ...and these PRIVATE SCRIPTS will use use $(MESA_PYTHON) as $(MESA_PYTHON3)
> not needed anymore
>
Indeed. Care to respin the patch with the python/don't filter-out
changes in mind ?
Barring any objections I will be pushing the Makefile.sources
change(s) in a few hours.

Thanks
Emil


More information about the mesa-dev mailing list