xmlconfig: move into src/util
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Fri, 30 Jun 2017 09:57:06 +0000 (11:57 +0200)
committerNicolai Hähnle <nicolai.haehnle@amd.com>
Mon, 31 Jul 2017 13:38:41 +0000 (15:38 +0200)
v2: attempt to fix Android build (Emil)

v3: add missing include path

Reviewed-by: Marek Olšák <marek.olsak@amd.com> (v1)
54 files changed:
configure.ac
src/gallium/state_trackers/dri/Makefile.am
src/gallium/state_trackers/dri/dri_screen.c
src/gallium/state_trackers/dri/dri_screen.h
src/gallium/targets/d3dadapter9/Makefile.am
src/gallium/targets/d3dadapter9/drm.c
src/loader/Makefile.am
src/loader/loader.c
src/mesa/drivers/SConscript
src/mesa/drivers/dri/Makefile.am
src/mesa/drivers/dri/common/Android.mk
src/mesa/drivers/dri/common/Makefile.am
src/mesa/drivers/dri/common/Makefile.sources
src/mesa/drivers/dri/common/SConscript
src/mesa/drivers/dri/common/dri_util.c
src/mesa/drivers/dri/common/dri_util.h
src/mesa/drivers/dri/i915/Makefile.am
src/mesa/drivers/dri/i915/intel_screen.c
src/mesa/drivers/dri/i915/intel_screen.h
src/mesa/drivers/dri/i965/Makefile.am
src/mesa/drivers/dri/i965/intel_screen.c
src/mesa/drivers/dri/i965/intel_screen.h
src/mesa/drivers/dri/r200/Makefile.am
src/mesa/drivers/dri/r200/r200_context.c
src/mesa/drivers/dri/r200/r200_state_init.c
src/mesa/drivers/dri/r200/r200_tex.c
src/mesa/drivers/dri/radeon/Makefile.am
src/mesa/drivers/dri/radeon/radeon_common_context.c
src/mesa/drivers/dri/radeon/radeon_context.c
src/mesa/drivers/dri/radeon/radeon_screen.c
src/mesa/drivers/dri/radeon/radeon_screen.h
src/mesa/drivers/dri/radeon/radeon_state_init.c
src/mesa/drivers/dri/radeon/radeon_tex.c
src/mesa/drivers/dri/radeon/radeon_texture.c
src/mesa/drivers/dri/swrast/Makefile.am
src/util/Android.mk
src/util/Makefile.am
src/util/Makefile.sources
src/util/SConscript
src/util/drirc [moved from src/mesa/drivers/dri/common/drirc with 100% similarity]
src/util/xmlconfig.c [moved from src/mesa/drivers/dri/common/xmlconfig.c with 100% similarity]
src/util/xmlconfig.h [moved from src/mesa/drivers/dri/common/xmlconfig.h with 100% similarity]
src/util/xmlpool.h [moved from src/mesa/drivers/dri/common/xmlpool.h with 100% similarity]
src/util/xmlpool/.gitignore [moved from src/mesa/drivers/dri/common/xmlpool/.gitignore with 100% similarity]
src/util/xmlpool/Makefile.am [moved from src/mesa/drivers/dri/common/xmlpool/Makefile.am with 100% similarity]
src/util/xmlpool/SConscript [moved from src/mesa/drivers/dri/common/xmlpool/SConscript with 100% similarity]
src/util/xmlpool/ca.po [moved from src/mesa/drivers/dri/common/xmlpool/ca.po with 100% similarity]
src/util/xmlpool/de.po [moved from src/mesa/drivers/dri/common/xmlpool/de.po with 100% similarity]
src/util/xmlpool/es.po [moved from src/mesa/drivers/dri/common/xmlpool/es.po with 100% similarity]
src/util/xmlpool/fr.po [moved from src/mesa/drivers/dri/common/xmlpool/fr.po with 100% similarity]
src/util/xmlpool/gen_xmlpool.py [moved from src/mesa/drivers/dri/common/xmlpool/gen_xmlpool.py with 100% similarity]
src/util/xmlpool/nl.po [moved from src/mesa/drivers/dri/common/xmlpool/nl.po with 100% similarity]
src/util/xmlpool/sv.po [moved from src/mesa/drivers/dri/common/xmlpool/sv.po with 100% similarity]
src/util/xmlpool/t_options.h [moved from src/mesa/drivers/dri/common/xmlpool/t_options.h with 100% similarity]

index 2736fbf..6302aa2 100644 (file)
@@ -2898,7 +2898,6 @@ AC_CONFIG_FILES([Makefile
                  src/mesa/gl.pc
                  src/mesa/drivers/dri/dri.pc
                  src/mesa/drivers/dri/common/Makefile
-                 src/mesa/drivers/dri/common/xmlpool/Makefile
                  src/mesa/drivers/dri/i915/Makefile
                  src/mesa/drivers/dri/i965/Makefile
                  src/mesa/drivers/dri/Makefile
@@ -2912,6 +2911,7 @@ AC_CONFIG_FILES([Makefile
                  src/mesa/main/tests/Makefile
                  src/util/Makefile
                  src/util/tests/hash_table/Makefile
+                 src/util/xmlpool/Makefile
                  src/vulkan/Makefile])
 
 AC_OUTPUT
index 61a1cab..8b427f9 100644 (file)
@@ -28,7 +28,7 @@ AM_CPPFLAGS = \
        -I$(top_srcdir)/include \
        -I$(top_srcdir)/src/mapi \
        -I$(top_srcdir)/src/mesa \
-       -I$(top_builddir)/src/mesa/drivers/dri/common \
+       -I$(top_builddir)/src/util \
        -I$(top_srcdir)/src/mesa/drivers/dri/common \
        $(GALLIUM_CFLAGS) \
        $(LIBDRM_CFLAGS) \
index 890a8bf..43e67b6 100644 (file)
@@ -30,7 +30,7 @@
  */
 
 #include "utils.h"
-#include "xmlpool.h"
+#include "util/xmlpool.h"
 
 #include "dri_screen.h"
 #include "dri_context.h"
index 550bc51..383e762 100644 (file)
@@ -33,7 +33,7 @@
 #define DRI_SCREEN_H
 
 #include "dri_util.h"
-#include "xmlconfig.h"
+#include "util/xmlconfig.h"
 
 #include "pipe/p_compiler.h"
 #include "pipe/p_context.h"
index 8f2a6f5..824e8d6 100644 (file)
@@ -27,7 +27,6 @@ AM_CFLAGS = \
        -I$(top_srcdir)/src/loader \
        -I$(top_srcdir)/src/mapi/ \
        -I$(top_srcdir)/src/mesa/ \
-       -I$(top_builddir)/src/mesa/drivers/dri/common/ \
        -I$(top_srcdir)/src/mesa/drivers/dri/common/ \
        -I$(top_srcdir)/src/gallium/winsys \
        -I$(top_srcdir)/src/gallium/state_trackers/nine \
index 27c3fb1..c0ed97a 100644 (file)
@@ -37,8 +37,8 @@
 #include "d3dadapter/d3dadapter9.h"
 #include "d3dadapter/drm.h"
 
-#include "xmlconfig.h"
-#include "xmlpool.h"
+#include "util/xmlconfig.h"
+#include "util/xmlpool.h"
 
 #include <drm.h>
 #include <sys/ioctl.h>
index 340b335..8b197f2 100644 (file)
@@ -39,14 +39,14 @@ libloader_la_LIBADD =
 
 if HAVE_DRICOMMON
 libloader_la_CPPFLAGS += \
-       -I$(top_builddir)/src/mesa/drivers/dri/common/ \
+       -I$(top_builddir)/src/util/ \
        -I$(top_srcdir)/src/mesa/drivers/dri/common/ \
        -I$(top_srcdir)/src/mesa/ \
        -I$(top_srcdir)/src/mapi/ \
        -DUSE_DRICONF
 
 libloader_la_LIBADD += \
-       $(top_builddir)/src/mesa/drivers/dri/common/libxmlconfig.la
+       $(top_builddir)/src/util/libxmlconfig.la
 
 endif
 
index c3fc961..182ba90 100644 (file)
@@ -46,8 +46,8 @@
 #ifdef HAVE_LIBDRM
 #include <xf86drm.h>
 #ifdef USE_DRICONF
-#include "xmlconfig.h"
-#include "xmlpool.h"
+#include "util/xmlconfig.h"
+#include "util/xmlpool.h"
 #endif
 #endif
 
index 476425b..f549910 100644 (file)
@@ -7,6 +7,5 @@ if env['x11']:
 
 if env['dri']:
     SConscript([
-        'dri/common/xmlpool/SConscript',
         'dri/common/SConscript',
     ])
index 381c6a2..95c637d 100644 (file)
@@ -65,7 +65,7 @@ mesa_dri_drivers_la_LIBADD = \
         ../../libmesa.la \
         common/libmegadriver_stub.la \
         common/libdricommon.la \
-        common/libxmlconfig.la \
+        $(top_builddir)/src/util/libxmlconfig.la \
         $(top_builddir)/src/mapi/shared-glapi/libglapi.la \
         $(MEGADRIVERS_DEPS) \
         $(DRI_LIB_DEPS) \
index 8a21e63..573189d 100644 (file)
@@ -44,53 +44,7 @@ LOCAL_EXPORT_C_INCLUDE_DIRS := \
     $(intermediates)
 
 LOCAL_SRC_FILES := \
-       $(DRI_COMMON_FILES) \
-       $(XMLCONFIG_FILES)
-
-MESA_DRI_OPTIONS_H := $(intermediates)/xmlpool/options.h
-LOCAL_GENERATED_SOURCES := $(MESA_DRI_OPTIONS_H)
-
-#
-# 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 $@ $<
-
-$(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/%/LC_MESSAGES/options.mo)
-
-LOCAL_GENERATED_SOURCES += $(PRIVATE_MO_FILES)
-
-$(PRIVATE_MO_FILES): $(intermediates)/xmlpool/%/LC_MESSAGES/options.mo: $(intermediates)/xmlpool/%.po
-       mkdir -p $(dir $@)
-       msgfmt -o $@ $<
-
-$(LOCAL_GENERATED_SOURCES): PRIVATE_PYTHON := $(MESA_PYTHON2)
-$(LOCAL_GENERATED_SOURCES): PRIVATE_CUSTOM_TOOL = $(PRIVATE_PYTHON) $^ $(PRIVATE_TEMPLATE_HEADER) \
-               $(PRIVATE_LOCALEDIR) $(MESA_DRI_OPTIONS_LANGS) > $@
-
-$(MESA_DRI_OPTIONS_H): $(PRIVATE_SCRIPT) $(PRIVATE_TEMPLATE_HEADER) $(PRIVATE_MO_FILES)
-       $(transform-generated-source)
+       $(DRI_COMMON_FILES)
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
index c85c470..f26cc06 100644 (file)
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 # IN THE SOFTWARE.
 
-SUBDIRS = xmlpool
-
 include Makefile.sources
 
-EXTRA_DIST = drirc xmlpool.h SConscript
+EXTRA_DIST = SConscript
 
 AM_CFLAGS = \
        -I$(top_srcdir)/include \
@@ -32,22 +30,15 @@ AM_CFLAGS = \
        -I$(top_srcdir)/src/mesa/ \
        -I$(top_srcdir)/src/gallium/include \
        -I$(top_srcdir)/src/gallium/auxiliary \
+       -I$(top_builddir)/src/util/ \
        $(LIBDRM_CFLAGS) \
        $(DEFINES) \
-       -DSYSCONFDIR=\"$(sysconfdir)\" \
        $(VISIBILITY_CFLAGS)
 
 noinst_LTLIBRARIES = \
        libdricommon.la \
-       libxmlconfig.la \
        libmegadriver_stub.la
 
 libdricommon_la_SOURCES = $(DRI_COMMON_FILES)
 
-libxmlconfig_la_SOURCES = $(XMLCONFIG_FILES)
-libxmlconfig_la_CFLAGS = $(AM_CFLAGS) $(EXPAT_CFLAGS)
-libxmlconfig_la_LIBADD = $(EXPAT_LIBS) -lm
-
 libmegadriver_stub_la_SOURCES = $(megadriver_stub_FILES)
-
-sysconf_DATA = drirc
index 9d3cdd3..d592e99 100644 (file)
@@ -4,10 +4,6 @@ DRI_COMMON_FILES := \
        dri_util.c \
        dri_util.h
 
-XMLCONFIG_FILES := \
-       xmlconfig.c \
-       xmlconfig.h
-
 # Paths are relative to MESA_TOP.
 mesa_dri_common_INCLUDES := \
        include \
@@ -15,7 +11,8 @@ mesa_dri_common_INCLUDES := \
        src/egl/main \
        src/mapi \
        src/mesa \
-       src/mesa/drivers/dri/common
+       src/mesa/drivers/dri/common \
+       src/util
 
 megadriver_stub_FILES := \
        megadriver_stub.c
index 52d201f..06afece 100644 (file)
@@ -7,7 +7,6 @@ drienv = env.Clone()
 
 drienv.Replace(CPPPATH = [
     '#src/mesa/drivers/dri/common',
-    xmlpool_options.dir.dir, # Dir to generated xmlpool/options.h
     '#include',
     '#include/GL/internal',
     '#src',
@@ -26,13 +25,10 @@ drienv.Replace(CPPPATH = [
     '#src/mesa/swrast_setup',
     '#src/egl/main',
     '#src/egl/drivers/dri',
+    '#src/util',
 ])
 
-drienv.AppendUnique(LIBS = [
-    'expat',
-])
-
-sources = drienv.ParseSourceList('Makefile.sources', ['DRI_COMMON_FILES', 'XMLCONFIG_FILES' ])
+sources = drienv.ParseSourceList('Makefile.sources', ['DRI_COMMON_FILES'])
 
 dri_common = drienv.ConvenienceLibrary(
        target = 'dri_common',
index bfae020..39ecaf0 100644 (file)
@@ -42,7 +42,7 @@
 #include <stdbool.h>
 #include "dri_util.h"
 #include "utils.h"
-#include "xmlpool.h"
+#include "util/xmlpool.h"
 #include "main/mtypes.h"
 #include "main/framebuffer.h"
 #include "main/version.h"
index 3e1ce62..25a3ae4 100644 (file)
@@ -56,7 +56,7 @@
 #include <GL/gl.h>
 #include <GL/internal/dri_interface.h>
 #include "main/mtypes.h"
-#include "xmlconfig.h"
+#include "util/xmlconfig.h"
 #include <stdbool.h>
 
 /**
index feead3e..70ca049 100644 (file)
@@ -30,7 +30,7 @@ AM_CFLAGS = \
        -I$(top_srcdir)/src/mesa/ \
        -I$(top_srcdir)/src/gallium/include \
        -I$(top_srcdir)/src/gallium/auxiliary \
-       -I$(top_builddir)/src/mesa/drivers/dri/common \
+       -I$(top_builddir)/src/util \
        -I$(top_srcdir)/src/mesa/drivers/dri/common \
        $(DEFINES) \
        $(VISIBILITY_CFLAGS) \
index 863f6ef..367a734 100644 (file)
@@ -39,7 +39,7 @@
 #include "swrast/s_renderbuffer.h"
 
 #include "utils.h"
-#include "xmlpool.h"
+#include "util/xmlpool.h"
 
 static const __DRIconfigOptionsExtension i915_config_options = {
    .base = { __DRI_CONFIG_OPTIONS, 1 },
index 11e1a3f..a22888b 100644 (file)
@@ -33,7 +33,7 @@
 #include "dri_util.h"
 #include "intel_bufmgr.h"
 #include "i915_drm.h"
-#include "xmlconfig.h"
+#include "util/xmlconfig.h"
 
 struct intel_screen
 {
index 7ef4e79..f884a53 100644 (file)
@@ -30,7 +30,7 @@ AM_CFLAGS = \
        -I$(top_srcdir)/src/mesa/ \
        -I$(top_srcdir)/src/gallium/include \
        -I$(top_srcdir)/src/gallium/auxiliary \
-       -I$(top_builddir)/src/mesa/drivers/dri/common \
+       -I$(top_builddir)/src/util \
        -I$(top_srcdir)/src/mesa/drivers/dri/common \
        -I$(top_srcdir)/src/gtest/include \
        -I$(top_builddir)/src/compiler/glsl \
index 5adb8ef..ced80cb 100644 (file)
@@ -41,7 +41,7 @@
 #include "compiler/nir/nir.h"
 
 #include "utils.h"
-#include "xmlpool.h"
+#include "util/xmlpool.h"
 
 #ifndef DRM_FORMAT_MOD_INVALID
 #define DRM_FORMAT_MOD_INVALID ((1ULL<<56) - 1)
index 0980c8f..0c750be 100644 (file)
@@ -36,7 +36,7 @@
 #include "brw_bufmgr.h"
 #include "common/gen_device_info.h"
 #include "i915_drm.h"
-#include "xmlconfig.h"
+#include "util/xmlconfig.h"
 
 #include "isl/isl.h"
 
index 1094343..110c02e 100644 (file)
@@ -34,7 +34,7 @@ AM_CFLAGS = \
        -I$(top_srcdir)/src/mesa/ \
        -I$(top_srcdir)/src/gallium/include \
        -I$(top_srcdir)/src/gallium/auxiliary \
-       -I$(top_builddir)/src/mesa/drivers/dri/common \
+       -I$(top_builddir)/src/util \
        -I$(top_srcdir)/src/mesa/drivers/dri/common \
        -I$(top_srcdir)/src/mesa/drivers/dri/r200/server \
        $(DEFINES) \
index 5a7f334..ca1023c 100644 (file)
@@ -65,7 +65,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "radeon_span.h"
 
 #include "utils.h"
-#include "xmlpool.h" /* for symbolic values of enum-type options */
+#include "util/xmlpool.h" /* for symbolic values of enum-type options */
 
 /* Return various strings for glGetString().
  */
index 4f584d3..4b589cd 100644 (file)
@@ -49,7 +49,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "r200_state.h"
 #include "radeon_queryobj.h"
 
-#include "xmlpool.h"
+#include "util/xmlpool.h"
 
 /* New (1.3) state mechanism.  3 commands (packet, scalar, vector) in
  * 1.3 cmdbuffers allow all previous state to be updated as well as
index 0ddb686..0696c0d 100644 (file)
@@ -45,7 +45,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "r200_ioctl.h"
 #include "r200_tex.h"
 
-#include "xmlpool.h"
+#include "util/xmlpool.h"
 
 
 
index 176ec79..aa89864 100644 (file)
@@ -35,7 +35,7 @@ AM_CFLAGS = \
        -I$(top_srcdir)/src/mesa/ \
        -I$(top_srcdir)/src/gallium/include \
        -I$(top_srcdir)/src/gallium/auxiliary \
-       -I$(top_builddir)/src/mesa/drivers/dri/common \
+       -I$(top_builddir)/src/util \
        -I$(top_srcdir)/src/mesa/drivers/dri/common \
        -I$(top_srcdir)/src/mesa/drivers/dri/radeon/server \
        $(DEFINES) \
index 7789435..7e24f6d 100644 (file)
@@ -33,7 +33,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 **************************************************************************/
 
 #include "radeon_common.h"
-#include "xmlpool.h"           /* for symbolic values of enum-type options */
+#include "util/xmlpool.h"              /* for symbolic values of enum-type options */
 #include "utils.h"
 #include "drivers/common/meta.h"
 #include "main/context.h"
index 5ef3467..0c016b4 100644 (file)
@@ -67,7 +67,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "radeon_fog.h"
 
 #include "utils.h"
-#include "xmlpool.h" /* for symbolic values of enum-type options */
+#include "util/xmlpool.h" /* for symbolic values of enum-type options */
 
 extern const struct tnl_pipeline_stage _radeon_render_stage;
 extern const struct tnl_pipeline_stage _radeon_tcl_stage;
index 0f072af..a2061e5 100644 (file)
@@ -62,7 +62,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 /* Radeon configuration
  */
-#include "xmlpool.h"
+#include "util/xmlpool.h"
 
 #define DRI_CONF_COMMAND_BUFFER_SIZE(def,min,max) \
 DRI_CONF_OPT_BEGIN_V(command_buffer_size,int,def, # min ":" # max ) \
index b3e9267..e70e334 100644 (file)
@@ -45,7 +45,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "dri_util.h"
 #include "radeon_chipset.h"
 #include "radeon_reg.h"
-#include "xmlconfig.h"
+#include "util/xmlconfig.h"
 
 
 typedef struct {
index 5e2f41f..99c535a 100644 (file)
@@ -44,7 +44,7 @@
 
 #include "../r200/r200_reg.h"
 
-#include "xmlpool.h"
+#include "util/xmlpool.h"
 
 /* New (1.3) state mechanism.  3 commands (packet, scalar, vector) in
  * 1.3 cmdbuffers allow all previous state to be updated as well as
index c3b83fa..b4964f1 100644 (file)
@@ -44,7 +44,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "radeon_ioctl.h"
 #include "radeon_tex.h"
 
-#include "xmlpool.h"
+#include "util/xmlpool.h"
 
 
 
index 4794dda..f2d435a 100644 (file)
@@ -41,7 +41,7 @@
 #include "main/texobj.h"
 #include "drivers/common/meta.h"
 
-#include "xmlpool.h"           /* for symbolic values of enum-type options */
+#include "util/xmlpool.h"              /* for symbolic values of enum-type options */
 
 #include "radeon_common.h"
 
index a82e580..7e1ea59 100644 (file)
@@ -30,7 +30,7 @@ AM_CFLAGS = \
        -I$(top_srcdir)/src/mesa/ \
        -I$(top_srcdir)/src/gallium/include \
        -I$(top_srcdir)/src/gallium/auxiliary \
-       -I$(top_builddir)/src/mesa/drivers/dri/common \
+       -I$(top_builddir)/src/util \
        -I$(top_srcdir)/src/mesa/drivers/dri/common \
        $(LIBDRM_CFLAGS) \
        $(DEFINES) \
index facdcf8..9015b59 100644 (file)
@@ -31,7 +31,8 @@ include $(LOCAL_PATH)/Makefile.sources
 include $(CLEAR_VARS)
 
 LOCAL_SRC_FILES := \
-       $(MESA_UTIL_FILES)
+       $(MESA_UTIL_FILES) \
+       $(XMLCONFIG_FILES)
 
 LOCAL_C_INCLUDES := \
        external/zlib \
@@ -47,11 +48,56 @@ LOCAL_MODULE := libmesa_util
 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
 
 intermediates := $(call local-generated-sources-dir)
-LOCAL_GENERATED_SOURCES := $(addprefix $(intermediates)/,$(MESA_UTIL_GENERATED_FILES))
+UTIL_GENERATED_SOURCES := $(addprefix $(intermediates)/,$(MESA_UTIL_GENERATED_FILES))
+LOCAL_GENERATED_SOURCES := $(UTIL_GENERATED_SOURCES)
+
+MESA_DRI_OPTIONS_H := $(intermediates)/xmlpool/options.h
+LOCAL_GENERATED_SOURCES += $(MESA_DRI_OPTIONS_H)
+
+#
+# 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 $@ $<
+
+$(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/%/LC_MESSAGES/options.mo)
+
+LOCAL_GENERATED_SOURCES += $(PRIVATE_MO_FILES)
 
 $(LOCAL_GENERATED_SOURCES): PRIVATE_PYTHON := $(MESA_PYTHON2)
-$(LOCAL_GENERATED_SOURCES): PRIVATE_CUSTOM_TOOL = $(PRIVATE_PYTHON) $^ > $@
-$(LOCAL_GENERATED_SOURCES): $(intermediates)/%.c: $(LOCAL_PATH)/%.py
+
+$(PRIVATE_MO_FILES): $(intermediates)/xmlpool/%/LC_MESSAGES/options.mo: $(intermediates)/xmlpool/%.po
+       mkdir -p $(dir $@)
+       msgfmt -o $@ $<
+
+$(UTIL_GENERATED_SOURCES): PRIVATE_CUSTOM_TOOL = $(PRIVATE_PYTHON) $^ > $@
+$(UTIL_GENERATED_SOURCES): $(intermediates)/%.c: $(LOCAL_PATH)/%.py
+       $(transform-generated-source)
+
+$(MESA_DRI_OPTIONS_H): PRIVATE_CUSTOM_TOOL = $(PRIVATE_PYTHON) $^ $(PRIVATE_TEMPLATE_HEADER) \
+               $(PRIVATE_LOCALEDIR) $(MESA_DRI_OPTIONS_LANGS) > $@
+$(MESA_DRI_OPTIONS_H): $(PRIVATE_SCRIPT) $(PRIVATE_TEMPLATE_HEADER) $(PRIVATE_MO_FILES)
        $(transform-generated-source)
 
 include $(MESA_COMMON_MK)
index f094eb4..fa6551e 100644 (file)
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 # IN THE SOFTWARE.
 
-SUBDIRS = . tests/hash_table
+SUBDIRS = xmlpool . tests/hash_table
 
 include Makefile.sources
 
-noinst_LTLIBRARIES = libmesautil.la
+noinst_LTLIBRARIES = \
+       libmesautil.la \
+       libxmlconfig.la
 
 AM_CPPFLAGS = \
        -I$(top_srcdir)/include
@@ -46,6 +48,18 @@ libmesautil_la_SOURCES = \
 
 libmesautil_la_LIBADD = $(ZLIB_LIBS)
 
+libxmlconfig_la_SOURCES = $(XMLCONFIG_FILES)
+libxmlconfig_la_CFLAGS = \
+       $(DEFINES) \
+       -I$(top_srcdir)/include \
+       -I$(top_srcdir)/src \
+       -DSYSCONFDIR=\"$(sysconfdir)\" \
+       $(VISIBILITY_CFLAGS) \
+       $(EXPAT_CFLAGS)
+libxmlconfig_la_LIBADD = $(EXPAT_LIBS) -lm
+
+sysconf_DATA = drirc
+
 roundeven_test_LDADD = -lm
 
 check_PROGRAMS = u_atomic_test roundeven_test
@@ -54,8 +68,10 @@ TESTS = $(check_PROGRAMS)
 BUILT_SOURCES = $(MESA_UTIL_GENERATED_FILES)
 CLEANFILES = $(BUILT_SOURCES)
 EXTRA_DIST = \
+       drirc \
        format_srgb.py \
        SConscript \
+       xmlpool.h \
        sha1/README
 
 PYTHON_GEN = $(AM_V_GEN)$(PYTHON2) $(PYTHON_FLAGS)
index 8ea5f29..3315285 100644 (file)
@@ -56,3 +56,7 @@ MESA_UTIL_FILES := \
 
 MESA_UTIL_GENERATED_FILES = \
        format_srgb.c
+
+XMLCONFIG_FILES := \
+       xmlconfig.c \
+       xmlconfig.h
index 7e447f6..582592c 100644 (file)
@@ -2,6 +2,10 @@ import common
 
 Import('*')
 
+SConscript([
+   'xmlpool',
+])
+
 from sys import executable as python_cmd
 
 env = env.Clone()
@@ -10,6 +14,7 @@ env.MSVC2013Compat()
 
 env.Prepend(CPPPATH = [
     '#include',
+    xmlpool_options.dir.dir, # Dir to generated xmlpool/options.h
     '#src',
     '#src/mapi',
     '#src/mesa',
@@ -30,10 +35,17 @@ source_lists = env.ParseSourceList('Makefile.sources')
 
 mesautil_sources = (
     source_lists['MESA_UTIL_FILES'] +
-    source_lists['MESA_UTIL_GENERATED_FILES']
+    source_lists['MESA_UTIL_GENERATED_FILES'] +
+    source_lists['XMLCONFIG_FILES']
 )
 
-mesautil = env.ConvenienceLibrary(
+mesautilenv = env.Clone()
+
+mesautilenv.AppendUnique(LIBS = [
+    'expat',
+])
+
+mesautil = mesautilenv.ConvenienceLibrary(
     target = 'mesautil',
     source = mesautil_sources,
 )