Skip to content
Snippets Groups Projects
Commit 4a349968 authored by Daniel Espinosa's avatar Daniel Espinosa
Browse files

Fixes on Win32/64 build

parent d748b263
Branches
Tags
No related merge requests found
...@@ -155,6 +155,39 @@ fi ...@@ -155,6 +155,39 @@ fi
# Check for GObject Introspection # Check for GObject Introspection
GOBJECT_INTROSPECTION_CHECK([1.32.0]) 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 ### Autoconf generating Makefiles
AC_CONFIG_FILES([ AC_CONFIG_FILES([
Makefile Makefile
...@@ -178,6 +211,7 @@ AC_OUTPUT ...@@ -178,6 +211,7 @@ AC_OUTPUT
echo "" echo ""
echo " Configuration summary for GXml-$GXML_VERSION" echo " Configuration summary for GXml-$GXML_VERSION"
echo " Installation prefix: $prefix" echo " Installation prefix: $prefix"
echo " Enable GObject Introspection (--enable-instrospection): `if test x$have_instrospection != xno; then echo yes; else echo no; fi`" echo " GObject Introspection: $found_introspection"
echo " Documentation: ${have_valadoc}" echo " Vala Documentation: ${have_valadoc}"
echo " Platform: $host"
echo "" echo ""
...@@ -3,25 +3,6 @@ ...@@ -3,25 +3,6 @@
# Empty variable to be added elements later # Empty variable to be added elements later
CLEANFILES= 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 ### Library
...@@ -29,10 +10,8 @@ AM_CFLAGS = \ ...@@ -29,10 +10,8 @@ AM_CFLAGS = \
# Library to create # Library to create
lib_LTLIBRARIES = libgxml-0.4.la lib_LTLIBRARIES = libgxml-0.4.la
VALAC=valac
# Vala source code # Vala source code
libgxml_0_4_la_SOURCES = \ sources = \
namespace-info.vala \ namespace-info.vala \
Attr.vala \ Attr.vala \
BackedNode.vala \ BackedNode.vala \
...@@ -69,11 +48,30 @@ libgxml_0_4_la_SOURCES = \ ...@@ -69,11 +48,30 @@ libgxml_0_4_la_SOURCES = \
SerializableGeeArrayList.vala \ SerializableGeeArrayList.vala \
SerializableContainer.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 # library flags
VALAFLAGS = \ AM_VALAFLAGS = \
$(AM_VALAFLAGS) \
$(ERROR_VALAFLAGS) \ $(ERROR_VALAFLAGS) \
--gir=GXml-$(API_VERSION).gir \ --gir=GXml-$(API_VERSION).gir \
--library=gxml-0.4 \ --library=gxml-0.4 \
...@@ -87,10 +85,10 @@ VALAFLAGS = \ ...@@ -87,10 +85,10 @@ VALAFLAGS = \
--includedir gxml \ --includedir gxml \
--vapi gxml-0.4.vapi \ --vapi gxml-0.4.vapi \
-H gxml.h \ -H gxml.h \
-C \
$(NULL) $(NULL)
libgxml_0_4_la_LIBADD = \ libgxml_0_4_la_LIBADD = \
$(AM_LDADD) \
$(GEE_LIBS) \ $(GEE_LIBS) \
$(GIO_LIBS) \ $(GIO_LIBS) \
$(GLIB_LIBS) \ $(GLIB_LIBS) \
...@@ -99,15 +97,20 @@ libgxml_0_4_la_LIBADD = \ ...@@ -99,15 +97,20 @@ libgxml_0_4_la_LIBADD = \
$(NULL) $(NULL)
libgxml_0_4_la_LDFLAGS = \ libgxml_0_4_la_LDFLAGS = \
$(AM_LDFLAGS) \
-version-info "$(LT_CURRENT)":"$(LT_REVISION)":"$(LT_AGE)" -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 # .h header file
gxml.h: libgxml-0.4.la gxml.h: gxml_0_4_la_vala.stamp
gxmldir= $(includedir)/gxml-$(API_VERSION)/gxml gxmldir= $(includedir)/gxml-$(API_VERSION)/gxml
gxml_HEADERS = gxml.h gxml_HEADERS = gxml.h
# .vapi Vala API file # .vapi Vala API file
gxml-0.4.vapi: gxml_0_4_la_vala.stamp
vapidir = $(datadir)/vala/vapi vapidir = $(datadir)/vala/vapi
dist_vapi_DATA = \ dist_vapi_DATA = \
gxml-0.4.vapi \ gxml-0.4.vapi \
...@@ -153,6 +156,45 @@ typelibdir = $(INTROSPECTION_TYPELIBDIR) ...@@ -153,6 +156,45 @@ typelibdir = $(INTROSPECTION_TYPELIBDIR)
typelib_DATA = GXml-0.4.typelib typelib_DATA = GXml-0.4.typelib
CLEANFILES += $(gir_DATA) $(typelibs_DATA) CLEANFILES += $(gir_DATA) $(typelibs_DATA)
endif 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 ### Files to clean
BUILT_SOURCES = \ BUILT_SOURCES = \
gxml_0_4_la_vala.stamp \ gxml_0_4_la_vala.stamp \
...@@ -163,7 +205,9 @@ BUILT_SOURCES = \ ...@@ -163,7 +205,9 @@ BUILT_SOURCES = \
CLEANFILES += \ CLEANFILES += \
$(BUILT_SOURCES) \ $(BUILT_SOURCES) \
namespace-info.vala \ namespace-info.vala \
$(libgxml_0_4_la_SOURCES:.vala=.c) $(libgxml_0_4_la_SOURCES:.vala=.c) \
$(gir_DATA) \
$(typelib_DATA)
MAINTAINERCLEANFILES = $(BUILT_SOURCES) MAINTAINERCLEANFILES = $(BUILT_SOURCES)
......
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
#!/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')
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment