On 3 March 2017 at 11:50, Tapani Pälli <tapani.pa...@intel.com> wrote: > > > On 03/03/2017 01:30 PM, Tapani Pälli wrote: >> >> >> >> On 03/03/2017 01:21 PM, Tapani Pälli wrote: >>> >>> >>> >>> On 03/02/2017 03:41 PM, Emil Velikov wrote: >>>> >>>> Cc: Mauro Rossi <issor.or...@gmail.com> >>>> Cc: Tapani Pälli <tapani.pa...@intel.com> >>>> Cc: Jason Ekstrand <jason.ekstr...@intel.com> >>>> --- >>>> All, here is a 5min attempt to fix the Android build. Tapani, Mauro do >>>> give it a test since I've done an educated guess here. >>>> >>>> Pull Jason's branch and apply on top. >>>> https://cgit.freedesktop.org/~jekstrand/mesa/log/?h=wip/move-compiler >>> >>> >>> when compiling blorp and isl it says: >>> >>> fatal error: 'brw_compiler.h' file not found >>> >>> this can be fixed by putting 'src/intel/compiler' include path for blorp >>> and isl libraries: >>> >>> >>> https://github.com/tpalli/external-mesa/commit/4ffef80a45bd93731b2d2af0cb532687f11ae8d3 >>> >>> >>> >>> but when linking i965_dri library then there is quite a big explosion of >>> missing symbols, I can take a look at this but a bit later. >> >> >> doh sorry, it looks like I did not apply your patch after all in that >> tree ... ignore the noise, will try again > > > ok .. now I got some fixes for this here: > > https://github.com/tpalli/external-mesa/commits/move_compiler > > but yeah .. more work required :/ I don't understand why adding > MESA_GEN_GLSL_H to LOCAL_GENERATED_SOURCES does not help. > Thanks for the fixup, but I think my earlier suggestion is coming to bite us.
We really want to stop the stop the copy/pasta of the existing rules - just move them to a common place add use them. See below for an explicit example. One at a time of course. To resolve the dependency tracking one can use a) libmesa_genxml approach or b) have a short parser in the top-level Android.mk that goes through the BUILT_SOURCES and runs the generation rule(s). -Emil With the risk of sounding like a knob I'll repeat the plan, one more time. - move the Makefile.am rule, [as-is] to separate file - where applicable/needed add $srcdir and define that for Android - avoid adding path prefix for the generated files - - above might lead to files being generated in a non !$intermediates path, if so cd/update instructions to ensure they don't end all over the place. - update CleanSpec.mk if needed - throw the includes into Makefile.sources/other file - ... - profit Here is roughly how things might look - do use better better names as you see fit. $ cat src/util/Android.mk LOCAL_PATH := $(call my-dir) # We'll need to use srcdir/top_srcdir/others in the next file # If doing that in MESA_COMMON_MK does not work, because it's too late - use another file and include it here. PYTHON_GEN = $(hide)$(MESA_PYTHON2) include $(LOCAL_PATH)/Makefile.gen // has generation rule(s) include $(LOCAL_PATH)/Makefile.sources // has sources list(s) and C/CPP/CXXFLAGS include $(CLEAR_VARS) LOCAL_SRC_FILES := $(MESA_UTIL_FILES) LOCAL_CFLAGS := $(MESA_CPP_FLAGS) LOCAL_MODULE := libmesa_util LOCAL_MODULE_CLASS := STATIC_LIBRARIES # Generated sources # Files are implicitly added the to LOCAL_SRC_FILES by the Android build system # Generation rules are in Makefile.gen LOCAL_GENERATED_SOURCES := $(MESA_UTIL_GENERATED_FILES) include $(MESA_COMMON_MK) include $(BUILD_STATIC_LIBRARY) $ cat src/util/Makefile.am PYTHON_GEN = $(AM_V_GEN)$(PYTHON2) $(PYTHON_FLAGS) include Makefile.gen include Makefile.sources noinst_LTLIBRARIES = libmesautil.la libmesautil_la_CPPFLAGS = $(MESA_CPP_FLAGS) libmesautil_la_SOURCES = \ $(MESA_UTIL_FILES) \ $(MESA_UTIL_GENERATED_FILES) # test/automake specific bits ... $ cat src/util/Makefile.sources MESA_CPP_FLAGS := \ $(DEFINES) \ -I$(top_srcdir)/include \ -I$(top_srcdir)/src \ -I$(top_srcdir)/src/mapi \ -I$(top_srcdir)/src/mesa \ -I$(top_srcdir)/src/gallium/include \ -I$(top_srcdir)/src/gallium/auxiliary \ $(VISIBILITY_CFLAGS) \ $(MSVC2013_COMPAT_CFLAGS) # existing SOURCES lists ... $cat src/util/Makefile.gen format_srgb.c: $(srcdir)/format_srgb.py $(PYTHON_GEN) $(srcdir)/format_srgb.py > $@ _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev