summaryrefslogtreecommitdiffstats
path: root/src/ocaml-flexdll.mk
diff options
context:
space:
mode:
authorWilliam <r.3@libertysurf.fr>2012-10-04 12:48:09 (GMT)
committerMark Brand <mabrand@mabrand.nl>2012-10-30 21:50:57 (GMT)
commitd96714512049a37282d6e8bf8d424fb97ef68a1e (patch)
treeee31a007fe743a36e71bd7490a04c88ff3d84242 /src/ocaml-flexdll.mk
parent7859ab585c65bf2efdc6dbb6f3c2e175844882fd (diff)
downloadmxe-d96714512049a37282d6e8bf8d424fb97ef68a1e.zip
mxe-d96714512049a37282d6e8bf8d424fb97ef68a1e.tar.gz
mxe-d96714512049a37282d6e8bf8d424fb97ef68a1e.tar.bz2
add package ocaml-flexdll
Diffstat (limited to 'src/ocaml-flexdll.mk')
-rw-r--r--src/ocaml-flexdll.mk43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/ocaml-flexdll.mk b/src/ocaml-flexdll.mk
new file mode 100644
index 0000000..518d654
--- /dev/null
+++ b/src/ocaml-flexdll.mk
@@ -0,0 +1,43 @@
+# This file is part of mingw-cross-env.
+# See doc/index.html for further information.
+
+# zlib
+PKG := ocaml-flexdll
+$(PKG)_IGNORE :=
+$(PKG)_CHECKSUM := 585f066f890c7dca95be7541b4647128335f7df9
+$(PKG)_SUBDIR := flexdll
+$(PKG)_FILE := flexdll-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL := http://alain.frisch.fr/flexdll/$($(PKG)_FILE)
+$(PKG)_DEPS := gcc ocaml-native
+
+define $(PKG)_UPDATE
+ wget -q -O- 'http://alain.frisch.fr/flexdll/' | \
+ $(SED) -n 's,.*flexdll-\([0-9][^>]*\)\.tar.gz.*,\1,ip' | \
+ head -1
+endef
+
+define $(PKG)_BUILD
+ $(MAKE) -C '$(1)' -j '$(JOBS)' \
+ CHAINS=mingw \
+ MINGW_PREFIX=$(TARGET) \
+ OCAMLOPT=$(PREFIX)/$(TARGET)/bin/ocaml-native/ocamlopt \
+ all
+ mkdir -p '$(PREFIX)/$(TARGET)/lib/ocaml/flexdll'
+ cd '$(1)' && mv flexlink.exe flexlink
+ cd '$(1)' && strip --remove-section=.comment --remove-section=.note flexlink
+ cd '$(1)' && $(INSTALL) -m 0755 flexdll.h '$(PREFIX)/$(TARGET)/include'
+ cd '$(1)' && $(INSTALL) -m 0755 flexlink flexdll_mingw.o \
+ flexdll_initer_mingw.o \
+ '$(PREFIX)/$(TARGET)/lib/ocaml/flexdll'
+ # create flexdll scripts
+ cd '$(PREFIX)/bin' && ln -sf '$(PREFIX)/$(TARGET)/lib/ocaml/flexdll/flexlink'
+ (echo '#!/bin/sh'; \
+ echo 'exec flexlink -I $(PREFIX)/$(TARGET)/lib -chain mingw -nocygpath "$$@"') \
+ > '$(PREFIX)/bin/$(TARGET)-flexlink'
+ chmod 0755 '$(PREFIX)/bin/$(TARGET)-flexlink'
+
+ echo "testing flexlink..."
+ $(MAKE) -C '$(1)/test' -j '$(JOBS)' dump.exe plug1.dll plug2.dll CC=$(TARGET)-gcc O=o FLEXLINK=$(TARGET)-flexlink
+ #works if wine is installed :
+ #cd '$(1)/test' && ./dump.exe plug1.dll plug2.dll
+endef