X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Futil%2FAndroid.mk;h=6d770ca95756aebe52b1116ab0c97923cefe1f69;hb=752367b76640fe4fbd6dbb98c1d9bff53c0db993;hp=a139e68d5147d61bf6b9975caf7f6ab936b2e715;hpb=85a9b1b562b6a73b9494b3fad25172da3dc90fc2;p=mesa.git diff --git a/src/util/Android.mk b/src/util/Android.mk index a139e68d514..6d770ca9575 100644 --- a/src/util/Android.mk +++ b/src/util/Android.mk @@ -31,14 +31,25 @@ 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/gallium/include \ $(MESA_TOP)/src/gallium/auxiliary +# 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 + LOCAL_MODULE := libmesa_util # Generated sources @@ -46,51 +57,63 @@ LOCAL_MODULE := libmesa_util LOCAL_MODULE_CLASS := STATIC_LIBRARIES intermediates := $(call local-generated-sources-dir) -LOCAL_GENERATED_SOURCES := $(addprefix $(intermediates)/,$(MESA_UTIL_GENERATED_FILES)) - -$(LOCAL_GENERATED_SOURCES): PRIVATE_PYTHON := $(MESA_PYTHON2) -$(LOCAL_GENERATED_SOURCES): PRIVATE_CUSTOM_TOOL = $(PRIVATE_PYTHON) $^ > $@ -$(LOCAL_GENERATED_SOURCES): $(intermediates)/%.c: $(LOCAL_PATH)/%.py - $(transform-generated-source) -LOCAL_SHARED_LIBRARIES := libz +LOCAL_EXPORT_C_INCLUDE_DIRS := $(intermediates) -include $(MESA_COMMON_MK) -include $(BUILD_STATIC_LIBRARY) +UTIL_GENERATED_SOURCES := $(addprefix $(intermediates)/,$(MESA_UTIL_GENERATED_FILES)) +LOCAL_GENERATED_SOURCES := $(UTIL_GENERATED_SOURCES) -# --------------------------------------- -# Build host libmesa_util -# --------------------------------------- +MESA_DRI_OPTIONS_H := $(intermediates)/xmlpool/options.h +LOCAL_GENERATED_SOURCES += $(MESA_DRI_OPTIONS_H) -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/gallium/include \ - $(MESA_TOP)/src/gallium/auxiliary - -LOCAL_MODULE := libmesa_util +# +# Generate options.h from gettext translations. +# -# Generated sources +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_MODULE_CLASS := STATIC_LIBRARIES +$(LOCAL_GENERATED_SOURCES): PRIVATE_PYTHON := $(MESA_PYTHON2) -intermediates := $(call local-generated-sources-dir) -LOCAL_GENERATED_SOURCES := $(addprefix $(intermediates)/,$(MESA_UTIL_GENERATED_FILES)) +$(PRIVATE_MO_FILES): $(intermediates)/xmlpool/%.gmo: $(intermediates)/xmlpool/%.po + mkdir -p $(dir $@) + msgfmt -o $@ $< -$(LOCAL_GENERATED_SOURCES): PRIVATE_PYTHON := $(MESA_PYTHON2) -$(LOCAL_GENERATED_SOURCES): PRIVATE_CUSTOM_TOOL = $(PRIVATE_PYTHON) $^ > $@ -$(LOCAL_GENERATED_SOURCES): $(intermediates)/%.c: $(LOCAL_PATH)/%.py +$(UTIL_GENERATED_SOURCES): PRIVATE_CUSTOM_TOOL = $(PRIVATE_PYTHON) $^ > $@ +$(UTIL_GENERATED_SOURCES): $(intermediates)/%.c: $(LOCAL_PATH)/%.py $(transform-generated-source) -LOCAL_SHARED_LIBRARIES := libz +$(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)