[gxml] Build improvements for Xom on Windows building DLL and VPATH



commit 8093473c93aae4ce7fb9ef4db79ae6a1aee87d45
Author: Daniel Espinosa <esodan gmail com>
Date:   Thu May 1 13:06:30 2014 -0500

    Build improvements for Xom on Windows building DLL and VPATH

 gxml/Makefile.am     |   32 ++++++++++++++++++--------------
 gxml/xom/Makefile.am |   47 +++++++++++++++++++++++++----------------------
 test/Makefile.am     |    3 +++
 3 files changed, 46 insertions(+), 36 deletions(-)
---
diff --git a/gxml/Makefile.am b/gxml/Makefile.am
index c1fabde..8343c86 100644
--- a/gxml/Makefile.am
+++ b/gxml/Makefile.am
@@ -90,7 +90,10 @@ libgxml_0_4_la_LDFLAGS = \
 gxml_0_4_la_vala.stamp: $(sources)
        $(VALAC) $(AM_VALAFLAGS) $^
 
+$(sources:.vala=.c): gxml_0_4_la_vala.stamp
+
 libgxml_0_4_la_SOURCES=$(sources:.vala=.c)
+libgxml_0_4_la_DEPENDENCIES= gxml_0_4_la_vala.stamp
 
 # .h header file
 gxml.h: gxml_0_4_la_vala.stamp
@@ -121,6 +124,12 @@ GITIGNOREFILES = \
        $(NULL)
 
 
+BUILT_SOURCES += \
+       gxml_0_4_la_vala.stamp \
+       gxml.h \
+       gxml-0.4.vapi \
+       $(NULL)
+
 
 # This makes GObject Introspection optional and requires to use --enable-instrospection switch on configure
 if HAVE_INTROSPECTION
@@ -158,8 +167,12 @@ AM_VALAFLAGS += \
 libgxml_0_4_la_LDFLAGS += -shared -o libgxml-0.4.dll -no-undefined \
        -out-imlib -export-all-symbols -output-def
 
+gxml.symbols: gxml_0_4_la_vala.stamp
+
 libgxml-0.4.def: gxml.symbols
-       (echo -e EXPRTS; $(CPP) -P $(DEF_FLAGS) - <$^ | sed -e '/^$$/d' -e 's/^/ /' -e 's/G_GNUC_[^ ]*//g' | 
sort) > gxml.def.tmp && mv gxml.def.tmp libgxml-0.4.def
+       (echo -e EXPRTS; $(CPP) -P $(DEF_FLAGS) \
+       - <$^ | 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.def: libgxml-0.4.la
 libgxmldefdir=$(libdir)
@@ -167,21 +180,12 @@ libgxmldef_DATA=libgxml-0.4.def
 
 CLEANFILES += \
        gxml.symbols \
-       libgxml-0.4.def \
-       libgxml-0.4.lib \
-       libgxml-0.4.dll
-
-BUILT_SOURCES += libgxml-0.4.def
-endif
-
-
+       libgxml-0.4.def
 
-### Files to clean
 BUILT_SOURCES += \
-       gxml_0_4_la_vala.stamp \
-       gxml.h \
-       gxml-0.4.vapi \
-       $(NULL)
+       libgxml-0.4.def
+
+endif
 
 CLEANFILES += \
        $(pkgconfig_DATA) \
diff --git a/gxml/xom/Makefile.am b/gxml/xom/Makefile.am
index 2082542..df233a6 100644
--- a/gxml/xom/Makefile.am
+++ b/gxml/xom/Makefile.am
@@ -2,6 +2,7 @@
 
 # Empty variable to be added elements later
 CLEANFILES=
+BUILT_SOURCES=
 
 
 ### Library
@@ -80,7 +81,12 @@ libxom_0_4_la_LDFLAGS = \
 xom_0_4_la_vala.stamp: $(sources)
        $(VALAC) $(AM_VALAFLAGS) $^
 
-libxom_0_4_la_SOURCES=$(sources:.vala=.c)
+$(sources:.vala=.c): xom_0_4_la_vala.stamp
+
+libxom_0_4_la_SOURCES= $(sources:.vala=.c)
+
+
+libxom_0_4_la_DEPENDENCIES= xom_0_4_la_vala.stamp
 
 # .h header file
 xom.h: xom_0_4_la_vala.stamp
@@ -106,10 +112,15 @@ EXTRA_DIST = \
        $(NULL)
 
 GITIGNOREFILES = \
-       $(libxom_0_4_la_SOURCES:.vala=.c) \
-       libxom_0_4_la_vala.stamp \
+       $(sources:.vala=.c) \
+       xom_0_4_la_vala.stamp \
        $(NULL)
 
+BUILT_SOURCES += \
+       xom_0_4_la_vala.stamp \
+       $(builddir)/../xom.h \
+       xom-0.4.vapi \
+       $(NULL)
 
 
 # This makes GObject Introspection optional and requires to use --enable-instrospection switch on configure
@@ -147,36 +158,28 @@ if PLATFORM_WIN32
 AM_VALAFLAGS += \
        --symbols=xom.symbols
 
-libxom_0_4_la_LDFLAGS += -export-symbols $(builddir)/libxom-0.4.def
-libxom_0_4_la_DEPENDENCIES = libxom-0.4.def
+libxom_0_4_la_LDFLAGS += -shared -o libxom-0.4.dll -no-undefined \
+       -out-imlib -export-all-symbols -output-def
 
-libxom-0.4.def: xom.symbols
-       (echo -e EXPORTS; $(CPP) -P $(DEF_FLAGS) - <$(srcdir)/xom.symbols | sed -e '/^$$/d' -e 's/^/ /' -e 
's/G_GNUC_[^ ]*//g' | sort) > gxml.def.tmp && mv gxml.def.tmp libxom-0.4.def
+xom.symbols: xom_0_4_la_vala.stamp
 
-libxom-0.4.lib: libxom-0.4.def
-       $(DLLTOOL) --dllname libxom-0.4.a --def libxom-0.4.def --output-lib libxom-0.4.lib
-
-libxom-0.4.lib: libxom-0.4.la
-libxomlibdir=$(libdir)
-libxomlib_DATA=libxom-0.4.lib
+libxom-0.4.def: xom.symbols
+       (echo -e EXPORTS; $(CPP) -P $(DEF_FLAGS) - <$(srcdir)/xom.symbols \
+       | sed -e '/^$$/d' -e 's/^/ /' -e 's/G_GNUC_[^ ]*//g' \
+       | sort) > xom.def.tmp && mv xom.def.tmp libxom-0.4.def
 
 libxom-0.4.def: libxom-0.4.la
 libxomdefdir=$(libdir)
 libxomdef_DATA=libxom-0.4.def
 
 CLEANFILES += \
-       xom-0.4.symbols
-
-endif
+       xom-0.4.symbols \
+       libxom-0.4.def
 
+BUILT_SOURCES += libxom-0.4.def
 
+endif
 
-### Files to clean
-BUILT_SOURCES = \
-       xom_0_4_la_vala.stamp \
-       $(builddir)/../xom.h \
-       xom-0.4.vapi \
-       $(NULL)
 
 CLEANFILES += \
        $(pkgconfig_DATA) \
diff --git a/test/Makefile.am b/test/Makefile.am
index 113027b..126a728 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -49,6 +49,8 @@ sources = \
 gxml_test.vala.stamp: $(sources)
        $(VALAC) $(AM_VALAFLAGS) $^
 
+$(sources:.vala=.c): gxml_test.vala.stamp
+
 gxml_test_SOURCES = $(sources:.vala=.c)
 
 AM_VALAFLAGS = \
@@ -98,6 +100,7 @@ CLEANFILES = $(gxml_test_SOURCES:.vala=.c) $(BUILT_SOURCES) gxml_test
 DISTCLEANFILES = _serialization_test_*.xml
 
 EXTRA_DIST += \
+       $(sources) \
        test_invalid.xml \
        test_with_ns.xml \
        test_out_path_expected.xml \


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