X-Git-Url: https://git.libre-soc.org/?p=mesa.git;a=blobdiff_plain;f=src%2Futil%2FAndroid.mk;h=22f6342365dfdec68bcd2c0100d05a48c7be4570;hp=6b38cf9afb259f9847d14a9ca9186998bfc652af;hb=b00e1d9ea77a409cc15e57568284d48bdb9443c2;hpb=d703abf735bc2fe27af893d07e44598b8601b172 diff --git a/src/util/Android.mk b/src/util/Android.mk index 6b38cf9afb2..22f6342365d 100644 --- a/src/util/Android.mk +++ b/src/util/Android.mk @@ -31,72 +31,93 @@ include $(LOCAL_PATH)/Makefile.sources include $(CLEAR_VARS) LOCAL_SRC_FILES := \ - $(MESA_UTIL_FILES) + $(MESA_UTIL_FILES) \ + $(XMLCONFIG_FILES) LOCAL_C_INCLUDES := \ + external/zlib \ $(MESA_TOP)/src/mesa \ $(MESA_TOP)/src/mapi \ - $(MESA_TOP)/src - -LOCAL_MODULE := libmesa_util - -# Generated sources - -ifeq ($(LOCAL_MODULE_CLASS),) -LOCAL_MODULE_CLASS := STATIC_LIBRARIES + $(MESA_TOP)/src/gallium/include \ + $(MESA_TOP)/src/gallium/auxiliary \ + $(MESA_TOP)/src/util/format + +# If Android version >=8 MESA should static link libexpat else should dynamic link +ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27; echo $$?), 0) +LOCAL_STATIC_LIBRARIES := \ + libexpat +else +LOCAL_SHARED_LIBRARIES := \ + libexpat endif -intermediates := $(call local-intermediates-dir) - -# This is the list of auto-generated files: sources and headers -sources := $(addprefix $(intermediates)/, $(MESA_UTIL_GENERATED_FILES)) - -LOCAL_GENERATED_SOURCES += $(sources) - -FORMAT_SRGB := $(LOCAL_PATH)/format_srgb.py - -$(intermediates)/format_srgb.c: $(FORMAT_SRGB) - @$(MESA_PYTHON2) $(FORMAT_SRGB) $< > $@ - -include $(MESA_COMMON_MK) -include $(BUILD_STATIC_LIBRARY) - -# --------------------------------------- -# Build host libmesa_util -# --------------------------------------- - -include $(CLEAR_VARS) - -LOCAL_IS_HOST_MODULE := true -LOCAL_CFLAGS := -D_POSIX_C_SOURCE=199309L - -LOCAL_SRC_FILES := \ - $(MESA_UTIL_FILES) - -LOCAL_C_INCLUDES := \ - $(MESA_TOP)/src/mesa \ - $(MESA_TOP)/src/mapi \ - $(MESA_TOP)/src +LOCAL_SHARED_LIBRARIES += liblog LOCAL_MODULE := libmesa_util # Generated sources -ifeq ($(LOCAL_MODULE_CLASS),) LOCAL_MODULE_CLASS := STATIC_LIBRARIES -endif -intermediates := $(call local-intermediates-dir) +intermediates := $(call local-generated-sources-dir) -# This is the list of auto-generated files: sources and headers -sources := $(addprefix $(intermediates)/, $(MESA_UTIL_GENERATED_FILES)) +LOCAL_EXPORT_C_INCLUDE_DIRS := $(intermediates) -LOCAL_GENERATED_SOURCES += $(sources) +UTIL_GENERATED_SOURCES := $(addprefix $(intermediates)/,$(MESA_UTIL_GENERATED_FILES)) +LOCAL_GENERATED_SOURCES := $(UTIL_GENERATED_SOURCES) -FORMAT_SRGB := $(LOCAL_PATH)/format_srgb.py +MESA_DRI_OPTIONS_H := $(intermediates)/xmlpool/options.h +LOCAL_GENERATED_SOURCES += $(MESA_DRI_OPTIONS_H) -$(intermediates)/format_srgb.c: $(FORMAT_SRGB) - @$(MESA_PYTHON2) $(FORMAT_SRGB) $< > $@ + +# +# Generate options.h from gettext translations. +# + +MESA_DRI_OPTIONS_LANGS := de es nl fr sv +POT := $(intermediates)/xmlpool.pot + +$(POT): $(LOCAL_PATH)/xmlpool/t_options.h + @mkdir -p $(dir $@) + xgettext -L C --from-code utf-8 -o $@ $< + +$(MESA_DRI_OPTIONS_LANGS:%=$(intermediates)/xmlpool/%.po): $(intermediates)/xmlpool/%.po: $(LOCAL_PATH)/xmlpool/%.po $(POT) + lang=$(basename $(notdir $@)); \ + mkdir -p $(dir $@); \ + if [ -f $< ]; then \ + msgmerge -o $@ $^; \ + else \ + msginit -i $(POT) \ + -o $@ \ + --locale=$$lang \ + --no-translator; \ + sed -i -e 's/charset=.*\\n/charset=UTF-8\\n/' $@; \ + fi + +PRIVATE_SCRIPT := $(LOCAL_PATH)/xmlpool/gen_xmlpool.py +PRIVATE_LOCALEDIR := $(intermediates)/xmlpool +PRIVATE_TEMPLATE_HEADER := $(LOCAL_PATH)/xmlpool/t_options.h +PRIVATE_MO_FILES := $(MESA_DRI_OPTIONS_LANGS:%=$(intermediates)/xmlpool/%.gmo) + +LOCAL_GENERATED_SOURCES += $(PRIVATE_MO_FILES) + +$(LOCAL_GENERATED_SOURCES): PRIVATE_PYTHON := $(MESA_PYTHON2) + +$(PRIVATE_MO_FILES): $(intermediates)/xmlpool/%.gmo: $(intermediates)/xmlpool/%.po + mkdir -p $(dir $@) + msgfmt -o $@ $< + +$(UTIL_GENERATED_SOURCES): PRIVATE_CUSTOM_TOOL = $(PRIVATE_PYTHON) $^ > $@ +$(UTIL_GENERATED_SOURCES): $(intermediates)/%.c: $(LOCAL_PATH)/%.py $(LOCAL_PATH)/format/u_format.csv + $(transform-generated-source) + +$(MESA_DRI_OPTIONS_H): PRIVATE_CUSTOM_TOOL = $(PRIVATE_PYTHON) $< \ + --template $(PRIVATE_TEMPLATE_HEADER) \ + --output $@ \ + --localedir $(PRIVATE_LOCALEDIR) \ + --languages $(MESA_DRI_OPTIONS_LANGS) +$(MESA_DRI_OPTIONS_H): $(PRIVATE_SCRIPT) $(PRIVATE_TEMPLATE_HEADER) $(PRIVATE_MO_FILES) + $(transform-generated-source) include $(MESA_COMMON_MK) -include $(BUILD_HOST_STATIC_LIBRARY) +include $(BUILD_STATIC_LIBRARY)