[gxml/serialization] Fixes on Win32/64 build



commit 4a34996804a9163ff61f1a24847d2b0f1a7c312a
Author: Daniel Espinosa <esodan gmail com>
Date:   Fri Mar 28 11:24:48 2014 -0600

    Fixes on Win32/64 build

 configure.ac      |   40 ++++++-
 gxml/Makefile.am  |  102 ++++++++++++-----
 gxml/gxml.symbols |  326 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 gxml/symbols.py   |   26 +++++
 4 files changed, 462 insertions(+), 32 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 88365ad..0fd0243 100644
--- a/configure.ac
+++ b/configure.ac
@@ -155,6 +155,39 @@ fi
 # Check for GObject Introspection
 GOBJECT_INTROSPECTION_CHECK([1.32.0])
 
+dnl Check Cross Compile
+dnl ******************************
+dnl Check for Operating System
+dnl ******************************
+dnl linklibext is the shared link library extension, which varies by platform
+
+#EXPORT_SYM_REGEX='-export-symbols-regex "^(gxml_|fnYM49765777344607__gxml).*"'
+#AC_MSG_CHECKING([for platform])
+#platform_win32=no
+#linklibext=".so"
+case "$host" in
+*-mingw*)
+#    AC_MSG_RESULT([Win32 - MinGW])
+    platform_win32=yes
+#    AC_DEFINE([USING_MINGW],[],[Using MinGW])
+#    NO_UNDEFINED='-no-undefined'
+#    LIBTOOL_EXPORT_OPTIONS=
+#    linklibext=".dll"
+#    AC_CHECK_TOOL(WINDRES, windres, windres)
+#    AC_SUBST(WINDRES)
+#    AC_CHECK_TOOL(DLLTOOL, dlltool, dlltool)
+#    AC_SUBST(DLLTOOL)
+    ;;
+*)
+#    AC_MSG_RESULT([Unix])
+#    NO_UNDEFINED=''
+#    LIBTOOL_EXPORT_OPTIONS=$EXPORT_SYM_REGEX
+#    ;;
+esac
+AM_CONDITIONAL(PLATFORM_WIN32, [test $platform_win32 = yes])
+#AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
+#AC_SUBST(NO_UNDEFINED)
+
 ### Autoconf generating Makefiles
 AC_CONFIG_FILES([
 Makefile
@@ -177,7 +210,8 @@ AC_OUTPUT
 # Print configuration summary
 echo ""
 echo " Configuration summary for GXml-$GXML_VERSION"
-echo "   Installation prefix:                          $prefix"
-echo "   Enable GObject Introspection (--enable-instrospection):  `if test x$have_instrospection != xno; 
then echo yes; else echo no; fi`"
-echo "   Documentation:                                ${have_valadoc}"
+echo "   Installation prefix:   $prefix"
+echo "   GObject Introspection: $found_introspection"
+echo "   Vala Documentation:    ${have_valadoc}"
+echo "   Platform:              $host"
 echo ""
diff --git a/gxml/Makefile.am b/gxml/Makefile.am
index 8dd9cbb..499dc83 100644
--- a/gxml/Makefile.am
+++ b/gxml/Makefile.am
@@ -3,25 +3,6 @@
 
 # Empty variable to be added elements later
 CLEANFILES=
-### General Compilation flags
-AM_CPPFLAGS = \
-       -include $(CONFIG_HEADER) \
-       -DPACKAGE_DATA_DIR=\""$(datadir)"\" \
-       -DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
-       -DPACKAGE_SRC_DIR=\""$(srcdir)"\" \
-       -DG_LOG_DOMAIN=\"gxml\" \
-       $(NULL)
-
-AM_CFLAGS = \
-       -g \
-       $(GLIB_CFLAGS) \
-       $(LIBXML_CFLAGS) \
-       $(GIO_CFLAGS) \
-       $(GEE_CFLAGS) \
-       $(VALA_CFLAGS) \
-       $(NULL)
-
-# -Wall   # TODO: add this back when we can properly handle more libxml2/vala warnings
 
 
 ### Library
@@ -29,10 +10,8 @@ AM_CFLAGS = \
 # Library to create
 lib_LTLIBRARIES = libgxml-0.4.la
 
-VALAC=valac
-
 # Vala source code
-libgxml_0_4_la_SOURCES = \
+sources = \
        namespace-info.vala \
        Attr.vala \
        BackedNode.vala \
@@ -69,11 +48,30 @@ libgxml_0_4_la_SOURCES = \
        SerializableGeeArrayList.vala \
        SerializableContainer.vala
 
-gxml_0_4_la_vala.stamp: $(libgxml_0_4_la_SOURCES)
+
+### General Compilation flags
+AM_CPPFLAGS = \
+       -include $(CONFIG_HEADER) \
+       -DPACKAGE_DATA_DIR=\""$(datadir)"\" \
+       -DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
+       -DPACKAGE_SRC_DIR=\""$(srcdir)"\" \
+       -DG_LOG_DOMAIN=\"gxml\" \
+       $(NULL)
+
+AM_CFLAGS = \
+       -g \
+       $(GLIB_CFLAGS) \
+       $(LIBXML_CFLAGS) \
+       $(GIO_CFLAGS) \
+       $(GEE_CFLAGS) \
+       $(VALA_CFLAGS) \
+       $(NULL)
+
+# -Wall   # TODO: add this back when we can properly handle more libxml2/vala warnings
+
 
 # library flags
-VALAFLAGS = \
-       $(AM_VALAFLAGS) \
+AM_VALAFLAGS = \
        $(ERROR_VALAFLAGS) \
        --gir=GXml-$(API_VERSION).gir \
        --library=gxml-0.4 \
@@ -87,10 +85,10 @@ VALAFLAGS = \
        --includedir gxml \
        --vapi gxml-0.4.vapi \
        -H gxml.h \
+       -C \
        $(NULL)
 
 libgxml_0_4_la_LIBADD = \
-       $(AM_LDADD) \
        $(GEE_LIBS) \
        $(GIO_LIBS) \
        $(GLIB_LIBS) \
@@ -99,15 +97,20 @@ libgxml_0_4_la_LIBADD = \
        $(NULL)
 
 libgxml_0_4_la_LDFLAGS = \
-       $(AM_LDFLAGS) \
        -version-info "$(LT_CURRENT)":"$(LT_REVISION)":"$(LT_AGE)"
 
+gxml_0_4_la_vala.stamp: $(sources)
+       $(VALAC) $(AM_VALAFLAGS) $(sources)
+
+libgxml_0_4_la_SOURCES=$(sources:.vala=.c)
+
 # .h header file
-gxml.h: libgxml-0.4.la
+gxml.h: gxml_0_4_la_vala.stamp
 gxmldir= $(includedir)/gxml-$(API_VERSION)/gxml
 gxml_HEADERS = gxml.h
 
 # .vapi Vala API file
+gxml-0.4.vapi: gxml_0_4_la_vala.stamp
 vapidir = $(datadir)/vala/vapi
 dist_vapi_DATA = \
        gxml-0.4.vapi \
@@ -153,6 +156,45 @@ typelibdir = $(INTROSPECTION_TYPELIBDIR)
 typelib_DATA = GXml-0.4.typelib
 CLEANFILES += $(gir_DATA) $(typelibs_DATA)
 endif
+
+if PLATFORM_WIN32
+libgxml_0_4_la_LDFLAGS += -export-symbols $(builddir)/libgxml-0.4.def
+#libgxml_0_4_la_LDFLAGS += -export-all-symbols -out-implib libgxml-0.4.lib --out-def libgxml-0.4.def
+libgxml_0_4_la_DEPENDENCIES = libgxml-0.4.def
+#libgxml_0_4_la_CFLAGS += -o libgxml-0.4.dll
+
+libgxml-0.4.def: gxml.symbols
+       (echo -e EXPORTS; $(CPP) -P $(DEF_FLAGS) - <$(srcdir)/gxml.symbols | sed -e '/^$$/d' -e 's/^/ /' -e 
's/G_GNUC_[^ ]*//g' | sort) > gxml.def.tmp && mv gxml.def.tmp libgxml-0.4.def
+
+libgxml-0.4.lib: libgxml-0.4.def
+       $(DLLTOOL) --dllname libgxml-0.4.a --def libgxml-0.4.def --output-lib libgxml-0.4.lib
+
+#libgxml-0.4.dll: libgxml-0.4.la
+#      $(CC) -shared -o libgxml-0.4.dll $(libgxml_0_4_la_SOURCES) $(libgxml_0_4_la_CFLAGS) \
+#      -Wl,-export-symbols,$(builddir)/gxml.def,-export-lib,libgxml-0.4.lib,$(libgxml_0_4_la_LDFLAGS)
+
+#install-data-local: install-def-files
+#uninstall-local: uninstall-def-files
+
+#install-def-files: gxml.def libgxml-0.4.lib
+#      $(INSTALL) $(builddir)/gxml.def $(DESTDIR)$(libdir)/libgxml-0.4.def
+#      $(INSTALL) $(builddir)/libgxml-0.4.lib $(DESTDIR)$(libdir)/
+
+#uninstall-def-files:
+#      -rm $(DESTDIR)$(libdir)/libgxml-0.4.def
+#      -rm $(DESTDIR)$(libdir)/libgxml-0.4.lib
+libgxml-0.4.lib: libgxml-0.4.la
+libgxmllibdir=$(libdir)
+libgxmllib_DATA=libgxml-0.4.lib
+
+libgxml-0.4.def: libgxml-0.4.la
+libgxmldefdir=$(libdir)
+libgxmldef_DATA=libgxml-0.4.def
+
+endif
+
+
+
 ### Files to clean
 BUILT_SOURCES = \
        gxml_0_4_la_vala.stamp \
@@ -163,7 +205,9 @@ BUILT_SOURCES = \
 CLEANFILES += \
        $(BUILT_SOURCES) \
        namespace-info.vala \
-       $(libgxml_0_4_la_SOURCES:.vala=.c)
+       $(libgxml_0_4_la_SOURCES:.vala=.c) \
+       $(gir_DATA) \
+       $(typelib_DATA)
 
 MAINTAINERCLEANFILES = $(BUILT_SOURCES)
 
diff --git a/gxml/gxml.symbols b/gxml/gxml.symbols
new file mode 100644
index 0000000..9c8bcaa
--- /dev/null
+++ b/gxml/gxml.symbols
@@ -0,0 +1,326 @@
+gxml_attr_get_name
+gxml_attr_get_specified
+gxml_attr_get_type
+gxml_attr_get_value
+gxml_attr_set_value
+gxml_backed_node_get_type
+gxml_cdata_section_get_type
+gxml_character_data_append_data
+gxml_character_data_delete_data
+gxml_character_data_get_data
+gxml_character_data_get_length
+gxml_character_data_get_type
+gxml_character_data_insert_data
+gxml_character_data_replace_data
+gxml_character_data_set_data
+gxml_character_data_substring_data
+gxml_comment_get_type
+gxml_document_construct
+gxml_document_construct_from_gfile
+gxml_document_construct_from_libxml2
+gxml_document_construct_from_path
+gxml_document_construct_from_stream
+gxml_document_construct_from_string
+gxml_document_construct_from_string_with_options
+gxml_document_create_attribute
+gxml_document_create_cdata_section
+gxml_document_create_comment
+gxml_document_create_document_fragment
+gxml_document_create_element
+gxml_document_create_entity_reference
+gxml_document_create_processing_instruction
+gxml_document_create_text_node
+gxml_document_fragment_get_type
+gxml_document_get_doctype
+gxml_document_get_document_element
+gxml_document_get_elements_by_tag_name
+gxml_document_get_implementation
+gxml_document_get_type
+gxml_document_new
+gxml_document_new_from_gfile
+gxml_document_new_from_libxml2
+gxml_document_new_from_path
+gxml_document_new_from_stream
+gxml_document_new_from_string
+gxml_document_new_from_string_with_options
+gxml_document_save_to_path
+gxml_document_save_to_stream
+gxml_document_type_get_entities
+gxml_document_type_get_name
+gxml_document_type_get_notations
+gxml_document_type_get_type
+gxml_dom_exception_get_type
+gxml_element_get_attribute
+gxml_element_get_attribute_node
+gxml_element_get_content
+gxml_element_get_elements_by_tag_name
+gxml_element_get_tag_name
+gxml_element_get_type
+gxml_element_normalize
+gxml_element_remove_attribute
+gxml_element_remove_attribute_node
+gxml_element_set_attribute
+gxml_element_set_attribute_node
+gxml_element_set_content
+gxml_entity_get_notation_name
+gxml_entity_get_public_id
+gxml_entity_get_system_id
+gxml_entity_get_type
+gxml_entity_reference_get_type
+gxml_enumeration_construct
+gxml_enumeration_get_nick
+gxml_enumeration_get_nick_camelcase
+gxml_enumeration_get_string
+gxml_enumeration_get_type
+gxml_enumeration_new
+gxml_enumeration_parse
+gxml_enumeration_ref
+gxml_enumeration_to_array
+gxml_enumeration_unref
+gxml_implementation_create_document
+gxml_implementation_get_type
+gxml_implementation_has_feature
+gxml_named_attr_map_get_type
+gxml_named_attr_map_get_values
+gxml_named_node_map_get_length
+gxml_named_node_map_get_named_item
+gxml_named_node_map_get_type
+gxml_named_node_map_item
+gxml_named_node_map_remove_named_item
+gxml_named_node_map_set_named_item
+gxml_namespace_attr_get_defined_namespace_uri
+gxml_namespace_attr_get_defined_prefix
+gxml_namespace_attr_get_type
+gxml_node_add_namespace_attr
+gxml_node_append_child
+gxml_node_clone_node
+gxml_node_copy
+gxml_node_get_attributes
+gxml_node_get_child_nodes
+gxml_node_get_first_child
+gxml_node_get_last_child
+gxml_node_get_local_name
+gxml_node_get_namespace_definitions
+gxml_node_get_namespace_uri
+gxml_node_get_next_sibling
+gxml_node_get_node_name
+gxml_node_get_node_type
+gxml_node_get_node_value
+gxml_node_get_owner_document
+gxml_node_get_parent_node
+gxml_node_get_prefix
+gxml_node_get_previous_sibling
+gxml_node_get_type
+gxml_node_has_child_nodes
+gxml_node_insert_before
+gxml_node_list_append_child
+gxml_node_list_first
+gxml_node_list_get
+gxml_node_list_get_length
+gxml_node_list_get_type
+gxml_node_list_insert_before
+gxml_node_list_item
+gxml_node_list_last
+gxml_node_list_remove_child
+gxml_node_list_replace_child
+gxml_node_list_to_string
+gxml_node_remove_child
+gxml_node_replace_child
+gxml_node_to_string
+gxml_node_type_get_type
+gxml_notation_get_public_id
+gxml_notation_get_system_id
+gxml_notation_get_type
+gxml_param_spec_enumeration
+gxml_processing_instruction_get_data
+gxml_processing_instruction_get_target
+gxml_processing_instruction_get_type
+gxml_processing_instruction_set_data
+gxml_serializable_array_list_construct
+gxml_serializable_array_list_default_deserialize
+gxml_serializable_array_list_default_deserialize_property
+gxml_serializable_array_list_default_serialize
+gxml_serializable_array_list_default_serialize_property
+gxml_serializable_array_list_deserialize
+gxml_serializable_array_list_deserialize_property
+gxml_serializable_array_list_find_property_spec
+gxml_serializable_array_list_get_property_value
+gxml_serializable_array_list_get_type
+gxml_serializable_array_list_init_properties
+gxml_serializable_array_list_list_serializable_properties
+gxml_serializable_array_list_new
+gxml_serializable_array_list_node_name
+gxml_serializable_array_list_property_use_nick
+gxml_serializable_array_list_serialize
+gxml_serializable_array_list_serialize_property
+gxml_serializable_array_list_serialize_use_xml_node_value
+gxml_serializable_array_list_set_property_value
+gxml_serializable_array_list_transform_from_string
+gxml_serializable_array_list_transform_to_string
+gxml_serializable_collection_get_type
+gxml_serializable_collection_is_collection
+gxml_serializable_container_construct
+gxml_serializable_container_get_type
+gxml_serializable_container_init_containers
+gxml_serializable_default_find_property_spec
+gxml_serializable_default_get_property_value
+gxml_serializable_default_init_properties
+gxml_serializable_default_list_serializable_properties
+gxml_serializable_default_set_property_value
+gxml_serializable_deserialize
+gxml_serializable_deserialize_property
+gxml_serializable_dual_key_map_construct
+gxml_serializable_dual_key_map_default_deserialize
+gxml_serializable_dual_key_map_default_deserialize_property
+gxml_serializable_dual_key_map_default_serialize
+gxml_serializable_dual_key_map_default_serialize_property
+gxml_serializable_dual_key_map_deserialize
+gxml_serializable_dual_key_map_deserialize_property
+gxml_serializable_dual_key_map_find_property_spec
+gxml_serializable_dual_key_map_get
+gxml_serializable_dual_key_map_get_enable_unknown_serializable_property
+gxml_serializable_dual_key_map_get_primary_key_type
+gxml_serializable_dual_key_map_get_primary_keys
+gxml_serializable_dual_key_map_get_property_value
+gxml_serializable_dual_key_map_get_secondary_key_type
+gxml_serializable_dual_key_map_get_size
+gxml_serializable_dual_key_map_get_type
+gxml_serializable_dual_key_map_get_value_type
+gxml_serializable_dual_key_map_init_properties
+gxml_serializable_dual_key_map_list_serializable_properties
+gxml_serializable_dual_key_map_new
+gxml_serializable_dual_key_map_node_name
+gxml_serializable_dual_key_map_property_use_nick
+gxml_serializable_dual_key_map_secondary_keys
+gxml_serializable_dual_key_map_serialize
+gxml_serializable_dual_key_map_serialize_property
+gxml_serializable_dual_key_map_serialize_use_xml_node_value
+gxml_serializable_dual_key_map_set
+gxml_serializable_dual_key_map_set_property_value
+gxml_serializable_dual_key_map_transform_from_string
+gxml_serializable_dual_key_map_transform_to_string
+gxml_serializable_dual_key_map_values
+gxml_serializable_dual_key_map_values_for_key
+gxml_serializable_find_property_spec
+gxml_serializable_get_enable_unknown_serializable_property
+gxml_serializable_get_ignored_serializable_properties
+gxml_serializable_get_properties
+gxml_serializable_get_property_value
+gxml_serializable_get_serialized_xml_node_value
+gxml_serializable_get_type
+gxml_serializable_get_unknown_serializable_property
+gxml_serializable_gvalue_to_string
+gxml_serializable_hash_map_construct
+gxml_serializable_hash_map_default_deserialize
+gxml_serializable_hash_map_default_deserialize_property
+gxml_serializable_hash_map_default_serialize
+gxml_serializable_hash_map_default_serialize_property
+gxml_serializable_hash_map_deserialize
+gxml_serializable_hash_map_deserialize_property
+gxml_serializable_hash_map_find_property_spec
+gxml_serializable_hash_map_get_enable_unknown_serializable_property
+gxml_serializable_hash_map_get_property_value
+gxml_serializable_hash_map_get_type
+gxml_serializable_hash_map_init_properties
+gxml_serializable_hash_map_list_serializable_properties
+gxml_serializable_hash_map_new
+gxml_serializable_hash_map_node_name
+gxml_serializable_hash_map_property_use_nick
+gxml_serializable_hash_map_serialize
+gxml_serializable_hash_map_serialize_property
+gxml_serializable_hash_map_serialize_use_xml_node_value
+gxml_serializable_hash_map_set_property_value
+gxml_serializable_hash_map_transform_from_string
+gxml_serializable_hash_map_transform_to_string
+gxml_serializable_init_properties
+gxml_serializable_json_construct
+gxml_serializable_json_deserialize_property
+gxml_serializable_json_find_property_spec
+gxml_serializable_json_get_enable_unknown_serializable_property
+gxml_serializable_json_get_property_value
+gxml_serializable_json_get_type
+gxml_serializable_json_init_properties
+gxml_serializable_json_list_serializable_properties
+gxml_serializable_json_new
+gxml_serializable_json_node_name
+gxml_serializable_json_property_use_nick
+gxml_serializable_json_serialize_property
+gxml_serializable_json_serialize_use_xml_node_value
+gxml_serializable_json_set_property_value
+gxml_serializable_json_transform_from_string
+gxml_serializable_json_transform_to_string
+gxml_serializable_list_serializable_properties
+gxml_serializable_map_dual_key_get_map_primary_key
+gxml_serializable_map_dual_key_get_map_secondary_key
+gxml_serializable_map_dual_key_get_type
+gxml_serializable_map_key_get_map_key
+gxml_serializable_map_key_get_type
+gxml_serializable_node_name
+gxml_serializable_object_model_construct
+gxml_serializable_object_model_default_deserialize
+gxml_serializable_object_model_default_deserialize_property
+gxml_serializable_object_model_default_node_name
+gxml_serializable_object_model_default_serialize
+gxml_serializable_object_model_default_serialize_property
+gxml_serializable_object_model_deserialize
+gxml_serializable_object_model_deserialize_property
+gxml_serializable_object_model_equals
+gxml_serializable_object_model_find_property_spec
+gxml_serializable_object_model_get_enable_unknown_serializable_property
+gxml_serializable_object_model_get_property_value
+gxml_serializable_object_model_get_type
+gxml_serializable_object_model_init_properties
+gxml_serializable_object_model_list_serializable_properties
+gxml_serializable_object_model_node_name
+gxml_serializable_object_model_property_use_nick
+gxml_serializable_object_model_serialize
+gxml_serializable_object_model_serialize_property
+gxml_serializable_object_model_serialize_use_xml_node_value
+gxml_serializable_object_model_set_property_value
+gxml_serializable_object_model_to_string
+gxml_serializable_object_model_transform_from_string
+gxml_serializable_object_model_transform_to_string
+gxml_serializable_property_use_nick
+gxml_serializable_serialize
+gxml_serializable_serialize_property
+gxml_serializable_serialize_use_xml_node_value
+gxml_serializable_set_ignored_serializable_properties
+gxml_serializable_set_properties
+gxml_serializable_set_property_value
+gxml_serializable_set_serialized_xml_node_value
+gxml_serializable_set_unknown_serializable_property
+gxml_serializable_string_to_gvalue
+gxml_serializable_transform_from_string
+gxml_serializable_transform_to_string
+gxml_serializable_tree_map_construct
+gxml_serializable_tree_map_default_deserialize
+gxml_serializable_tree_map_default_deserialize_property
+gxml_serializable_tree_map_default_serialize
+gxml_serializable_tree_map_default_serialize_property
+gxml_serializable_tree_map_deserialize
+gxml_serializable_tree_map_deserialize_property
+gxml_serializable_tree_map_find_property_spec
+gxml_serializable_tree_map_get_property_value
+gxml_serializable_tree_map_get_type
+gxml_serializable_tree_map_init_properties
+gxml_serializable_tree_map_list_serializable_properties
+gxml_serializable_tree_map_new
+gxml_serializable_tree_map_node_name
+gxml_serializable_tree_map_property_use_nick
+gxml_serializable_tree_map_serialize
+gxml_serializable_tree_map_serialize_property
+gxml_serializable_tree_map_serialize_use_xml_node_value
+gxml_serializable_tree_map_set_property_value
+gxml_serializable_tree_map_transform_from_string
+gxml_serializable_tree_map_transform_to_string
+gxml_serialization_clear_cache
+gxml_serialization_construct
+gxml_serialization_deserialize_object
+gxml_serialization_get_type
+gxml_serialization_new
+gxml_serialization_serialize_object
+gxml_text_get_type
+gxml_text_split_text
+gxml_value_get_enumeration
+gxml_value_set_enumeration
+gxml_value_take_enumeration
diff --git a/gxml/symbols.py b/gxml/symbols.py
new file mode 100755
index 0000000..d816e31
--- /dev/null
+++ b/gxml/symbols.py
@@ -0,0 +1,26 @@
+#!/usr/bin/python3
+# You must specify the file to parse as command line argument
+import fileinput
+import re, os
+p = re.compile ('gxml_')
+f = open ("gxml.symbols", 'w')
+d = {'':''}
+blacklist = ("error_quark", "gxml_last_error;", "gxml_warning")
+for line in fileinput.input():
+  bl = False
+  for b in blacklist:
+    if b in line:
+      bl = True
+      print ("found blacklist" + line)
+  if ('gxml_' in line and not ('(gxml_' in line) and not bl):
+    sp = line.split (" ")
+    for s in sp:
+      if ('gxml_' in s):
+        print("FOUND:" + s)
+        d[s] = s
+ds = sorted (d)
+for t in ds:
+  if t == '':
+    continue
+  print ("ADDING: " + t)
+  f.write (str(t)+'\n')


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]