diff --git a/Makefile.in b/Makefile.in
index 83c5de3cf817682036c349e0db720de092ca607d..d43895096cb3589d16625ec4c800a69d8d586ca4 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -261,10 +261,11 @@ src/coq-tactic/why3tac.cmx: WARNINGS:=$(WARNINGS)-58
 # build targets
 
 byte: lib/why3/why3.cma
-opt:  lib/why3/why3.cmxa
+opt:  lib/why3/why3.cmxa lib/why3/why3.cmxs
 
 lib/why3/why3.cma: lib/why3/why3.cmo
 lib/why3/why3.cmxa: lib/why3/why3.cmx
+lib/why3/why3.cmxs: lib/why3/why3.cmx
 
 lib/why3/why3.cmo: $(LIBCMO)
 	$(SHOW) 'Linking  $@'
@@ -1366,10 +1367,11 @@ byte: $(OCAMLLIBS_CMO)
 opt:  $(OCAMLLIBS_CMX)
 
 byte: lib/why3/why3extract.cma
-opt:  lib/why3/why3extract.cmxa
+opt:  lib/why3/why3extract.cmxa lib/why3/why3extract.cmxs
 
 lib/why3/why3extract.cma: lib/why3/why3extract.cmo
 lib/why3/why3extract.cmxa: lib/why3/why3extract.cmx
+lib/why3/why3extract.cmxs: lib/why3/why3extract.cmx
 
 lib/why3/why3extract.cmo: $(OCAMLLIBS_CMO)
 	$(SHOW) 'Linking  $@'
diff --git a/lib/why3/META.in b/lib/why3/META.in
index b48f3a5cfc91c4e1b58814f265bf38289981c7a4..ab11b4c3b9d74a0d11657f060dcbdecb736452f8 100644
--- a/lib/why3/META.in
+++ b/lib/why3/META.in
@@ -2,6 +2,7 @@ description = "Why3 library"
 version = "@VERSION@"
 archive(byte) = "why3.cma"
 archive(native) = "why3.cmxa"
+plugin(native) = "why3.cmxs"
 requires = "str unix num dynlink @ZIPLIB@ @MENHIRLIB@"
 
 package "extract" (
@@ -10,4 +11,5 @@ package "extract" (
   requires = "@BIGINTPKG@"
   archive(byte) = "why3extract.cma"
   archive(native) = "why3extract.cmxa"
+  plugin(native) = "why3extract.cmxs"
 )