summaryrefslogtreecommitdiff
path: root/redland
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2012-03-01 13:00:09 +0100
committerDavid Tardon <dtardon@redhat.com>2012-03-01 15:51:32 +0100
commit2fb1fe6c24a62b954f3a4bbdb5628d94269df946 (patch)
tree07933b7abae324b88be744372cb3ca039bd9ff02 /redland
parent2824a8b40289344c788c3b18f2e33f2e238eeff8 (diff)
get redland built with mingw
Do not ask me how or why this works. There are things man was not meant to know.
Diffstat (limited to 'redland')
-rw-r--r--redland/raptor/makefile.mk8
-rw-r--r--redland/redland/makefile.mk9
-rw-r--r--redland/redland/redland-1.0.8.patch.mingw11
3 files changed, 25 insertions, 3 deletions
diff --git a/redland/raptor/makefile.mk b/redland/raptor/makefile.mk
index 6a959557528d..d898f94793de 100644
--- a/redland/raptor/makefile.mk
+++ b/redland/raptor/makefile.mk
@@ -102,6 +102,14 @@ BUILD_ACTION=dmake
BUILD_DIR=$(CONFIGURE_DIR)$/src
.ENDIF
+# Hack to get librdf.dll linked on mingw. I am already wearied of
+# fighting libtool's pseudo-intelligence, so I am just going to go with
+# the flow here.
+ALL : $(OUT)/lib/libraptor.la
+
+$(OUT)/lib/libraptor.la : $(MISC)/build/so_built_so_raptor
+ $(SED) "/^dlname/s@='@='../bin/@" $(MISC)/build/$(TARFILE_NAME)/src/libraptor.la > $@
+
.ELSE # "WNT"
.IF "$(OS)$(COM)"=="LINUXGCC" || "$(OS)$(COM)"=="FREEBSDGCC"
diff --git a/redland/redland/makefile.mk b/redland/redland/makefile.mk
index 2b605a058c7e..0ce48c43228c 100644
--- a/redland/redland/makefile.mk
+++ b/redland/redland/makefile.mk
@@ -64,18 +64,21 @@ PATCH_FILES=$(OOO_PATCH_FILES) \
.IF "$(OS)"=="WNT"
.IF "$(COM)"=="GCC"
+OOO_PATCH_FILES+=$(TARFILE_NAME).patch.mingw
redland_CC=$(CC) -mthreads
.IF "$(MINGW_SHARED_GCCLIB)"=="YES"
redland_CC+=-shared-libgcc
.ENDIF
redland_LIBS=
-.IF "$(MINGW_SHARED_GXXLIB)"=="YES"
-redland_LIBS+=$(MINGW_SHARED_LIBSTDCPP)
+
+redland_LDFLAGS=-Wl,--no-undefined -Wl,--enable-runtime-pseudo-reloc-v2,--export-all-symbols
+.IF "$(ILIB)"!=""
+redland_LDFLAGS+= -L$(ILIB:s/;/ -L/)
.ENDIF
CONFIGURE_DIR=
CONFIGURE_ACTION=.$/configure PATH="..$/..$/..$/bin:$$PATH"
-CONFIGURE_FLAGS=--disable-static --disable-gtk-doc --with-openssl-digests --with-xml-parser=libxml --with-raptor=system --with-rasqual=system --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --with-regex-library=posix --with-decimal=none --with-www=xml --build=i586-pc-mingw32 --host=i586-pc-mingw32 lt_cv_cc_dll_switch="-shared" CC="$(redland_CC)" CPPFLAGS="-nostdinc $(INCLUDE)" LDFLAGS="-no-undefined -Wl,--enable-runtime-pseudo-reloc-v2,--export-all-symbols -L$(ILIB:s/;/ -L/)" LIBS="$(redland_LIBS)" OBJDUMP="$(WRAPCMD) objdump" LIBXML2LIB=$(LIBXML2LIB) XSLTLIB="$(XSLTLIB)"
+CONFIGURE_FLAGS=--disable-static --disable-gtk-doc --with-openssl-digests --with-xml-parser=libxml --with-raptor=system --with-rasqal=system --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --with-regex-library=posix --with-decimal=none --with-www=xml --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) lt_cv_cc_dll_switch="-shared" CC="$(redland_CC)" CPPFLAGS="$(INCLUDE)" LDFLAGS="$(redland_LDFLAGS)" LIBS="$(redland_LIBS)" OBJDUMP="$(WRAPCMD) $(HOST_PLATFORM)-objdump" LIBXML2LIB="$(LIBXML2LIB)" XSLTLIB="$(XSLTLIB)"
BUILD_ACTION=$(GNUMAKE)
BUILD_FLAGS+= -j$(EXTMAXPROCESS)
BUILD_DIR=$(CONFIGURE_DIR)
diff --git a/redland/redland/redland-1.0.8.patch.mingw b/redland/redland/redland-1.0.8.patch.mingw
new file mode 100644
index 000000000000..a32621b51acc
--- /dev/null
+++ b/redland/redland/redland-1.0.8.patch.mingw
@@ -0,0 +1,11 @@
+--- misc/redland-1.0.8/librdf/Makefile.in
++++ misc/build/redland-1.0.8/librdf/Makefile.in
+@@ -463,7 +463,7 @@
+ rdf_parser_raptor.c
+
+ EXTRA_DIST = redland.spec redland.spec.in mysql-v1.ttl mysql-v2.ttl
+-librdf_la_LDFLAGS = -version-info @LIBRDF_LIBTOOL_VERSION@ \
++librdf_la_LDFLAGS = -version-info @LIBRDF_LIBTOOL_VERSION@ -no-undefined \
+ @LIBRDF_LDFLAGS@ @LIBRDF_EXTERNAL_LIBS@ $(MEM_LIBS)
+
+ pkgdata_DATA = $(am__append_11)