Permalink
Browse files

regenrate OASIS and add Xen support (with NOTES on how the magic works)

  • Loading branch information...
1 parent 2266730 commit 2b550cc0a97417e16e084294afa1e8fdceee306c @avsm avsm committed Aug 24, 2012
Showing with 3,418 additions and 2,569 deletions.
  1. +8 −0 NOTES
  2. +102 −89 _tags
  3. +18 −10 core/META
  4. +302 −116 myocamlbuild.ml
  5. +2,984 −2,354 setup.ml
  6. +4 −0 unix/libxenstore_unix_stubs.clib
View
8 NOTES
@@ -0,0 +1,8 @@
+To add OASIS Xen "support", you need to:
+
+- Add the clump of code at the end of myocamlbuild.ml to your project's
+ myocamlbuild. This will not be overwritten when you regenerate the
+ myocamlbuild if you put it after the OASIS_STOP marker.
+
+- Run s/native/.m.o,native/g on _tags after you regenerate it to add the
+ Xen output_obj target to it.
View
191 _tags
@@ -1,136 +1,149 @@
# OASIS_START
-# DO NOT EDIT (digest: 007aac8e18b23e2d1f4a0c5a81bee2a9)
+# DO NOT EDIT (digest: 21600dcbb2a5e83d7bdf280b15308e3f)
+# Ignore VCS directories, you can use the same kind of rule outside
+# OASIS_START/STOP if you want to exclude directories that contains
+# useless stuff for the build process
+<**/.svn>: -traverse
+<**/.svn>: not_hygienic
+".bzr": -traverse
+".bzr": not_hygienic
+".hg": -traverse
+".hg": not_hygienic
+".git": -traverse
+".git": not_hygienic
+"_darcs": -traverse
+"_darcs": not_hygienic
# Library xenstore
-"core": include
+"core/xenstore.cmxs": use_xenstore
<core/*.ml{,i}>: pkg_lwt
-<core/*.ml{,i}>: pkg_cstruct.syntax
<core/*.ml{,i}>: pkg_cstruct
+<core/*.ml{,i}>: pkg_cstruct.syntax
+# Library xenstore_client
+"client/xenstore_client.cmxs": use_xenstore_client
+<client/*.ml{,i}>: use_xenstore
+<client/*.ml{,i}>: pkg_lwt
+<client/*.ml{,i}>: pkg_cstruct
+<client/*.ml{,i}>: pkg_cstruct.syntax
# Library xenstore_server
-"server": include
+"server/xenstore_server.cmxs": use_xenstore_server
<server/*.ml{,i}>: use_xenstore
<server/*.ml{,i}>: pkg_lwt
-<server/*.ml{,i}>: pkg_cstruct.syntax
<server/*.ml{,i}>: pkg_cstruct
+<server/*.ml{,i}>: pkg_cstruct.syntax
# Library xenstore_unix
-"unix": include
+"unix/xenstore_unix.cmxs": use_xenstore_unix
<unix/*.ml{,i}>: oasis_library_xenstore_unix_ccopt
"unix/xenstore_stubs.c": oasis_library_xenstore_unix_ccopt
<unix/xenstore_unix.{cma,cmxa}>: oasis_library_xenstore_unix_cclib
-"unix/libxenstore_unix.lib": oasis_library_xenstore_unix_cclib
-"unix/dllxenstore_unix.dll": oasis_library_xenstore_unix_cclib
-"unix/libxenstore_unix.a": oasis_library_xenstore_unix_cclib
-"unix/dllxenstore_unix.so": oasis_library_xenstore_unix_cclib
-<unix/xenstore_unix.{cma,cmxa}>: use_libxenstore_unix
+"unix/libxenstore_unix_stubs.lib": oasis_library_xenstore_unix_cclib
+"unix/dllxenstore_unix_stubs.dll": oasis_library_xenstore_unix_cclib
+"unix/libxenstore_unix_stubs.a": oasis_library_xenstore_unix_cclib
+"unix/dllxenstore_unix_stubs.so": oasis_library_xenstore_unix_cclib
+<unix/xenstore_unix.{cma,cmxa}>: use_libxenstore_unix_stubs
<unix/*.ml{,i}>: use_xenstore_server
<unix/*.ml{,i}>: use_xenstore
<unix/*.ml{,i}>: pkg_lwt
-<unix/*.ml{,i}>: pkg_cstruct.syntax
<unix/*.ml{,i}>: pkg_cstruct
+<unix/*.ml{,i}>: pkg_cstruct.syntax
"unix/xenstore_stubs.c": use_xenstore_server
"unix/xenstore_stubs.c": use_xenstore
"unix/xenstore_stubs.c": pkg_lwt
-"unix/xenstore_stubs.c": pkg_cstruct.syntax
"unix/xenstore_stubs.c": pkg_cstruct
-# Library xenstore_client
-"client": include
-<client/*.ml{,i}>: use_xenstore
-<client/*.ml{,i}>: pkg_lwt
-<client/*.ml{,i}>: pkg_cstruct.syntax
-<client/*.ml{,i}>: pkg_cstruct
+"unix/xenstore_stubs.c": pkg_cstruct.syntax
+# Executable xen_stubdom
+<xen/sleep.{m.o,native,byte}>: use_xenstore_server
+<xen/sleep.{m.o,native,byte}>: use_xenstore
+<xen/sleep.{m.o,native,byte}>: pkg_lwt
+<xen/sleep.{m.o,native,byte}>: pkg_mirage
+<xen/sleep.{m.o,native,byte}>: pkg_cstruct
+<xen/sleep.{m.o,native,byte}>: pkg_cstruct.syntax
+<xen/*.ml{,i}>: use_xenstore_server
+<xen/*.ml{,i}>: use_xenstore
+<xen/*.ml{,i}>: pkg_lwt
+<xen/*.ml{,i}>: pkg_mirage
+<xen/*.ml{,i}>: pkg_cstruct
+<xen/*.ml{,i}>: pkg_cstruct.syntax
+<xen/sleep.{m.o,native,byte}>: custom
+# Executable xs_test
+<lib_test/xs_test.{m.o,native,byte}>: use_xenstore
+<lib_test/xs_test.{m.o,native,byte}>: pkg_lwt
+<lib_test/xs_test.{m.o,native,byte}>: pkg_oUnit
+<lib_test/xs_test.{m.o,native,byte}>: pkg_cstruct
+<lib_test/xs_test.{m.o,native,byte}>: pkg_cstruct.syntax
+<lib_test/*.ml{,i}>: use_xenstore
+<lib_test/*.ml{,i}>: pkg_lwt
+<lib_test/*.ml{,i}>: pkg_oUnit
+<lib_test/*.ml{,i}>: pkg_cstruct
+<lib_test/*.ml{,i}>: pkg_cstruct.syntax
+<lib_test/xs_test.{m.o,native,byte}>: custom
# Executable server_test
-<server_test/server_test.{native,byte}>: use_xenstore_server
-<server_test/server_test.{native,byte}>: use_xenstore
-<server_test/server_test.{native,byte}>: pkg_oUnit
-<server_test/server_test.{native,byte}>: pkg_mirage
-<server_test/server_test.{native,byte}>: pkg_lwt
-<server_test/server_test.{native,byte}>: pkg_cstruct.syntax
-<server_test/server_test.{native,byte}>: pkg_cstruct
+<server_test/server_test.{m.o,native,byte}>: use_xenstore_server
+<server_test/server_test.{m.o,native,byte}>: use_xenstore
+<server_test/server_test.{m.o,native,byte}>: pkg_lwt
+<server_test/server_test.{m.o,native,byte}>: pkg_oUnit
+<server_test/server_test.{m.o,native,byte}>: pkg_mirage
+<server_test/server_test.{m.o,native,byte}>: pkg_cstruct
+<server_test/server_test.{m.o,native,byte}>: pkg_cstruct.syntax
<server_test/*.ml{,i}>: use_xenstore_server
<server_test/*.ml{,i}>: use_xenstore
+<server_test/*.ml{,i}>: pkg_lwt
<server_test/*.ml{,i}>: pkg_oUnit
<server_test/*.ml{,i}>: pkg_mirage
-<server_test/*.ml{,i}>: pkg_lwt
-<server_test/*.ml{,i}>: pkg_cstruct.syntax
<server_test/*.ml{,i}>: pkg_cstruct
-<server_test/server_test.{native,byte}>: custom
+<server_test/*.ml{,i}>: pkg_cstruct.syntax
+<server_test/server_test.{m.o,native,byte}>: custom
# Executable server_unix
-<server_unix/server_unix.{native,byte}>: use_xenstore_unix
-<server_unix/server_unix.{native,byte}>: use_xenstore_server
-<server_unix/server_unix.{native,byte}>: use_xenstore
-<server_unix/server_unix.{native,byte}>: pkg_lwt.unix
-<server_unix/server_unix.{native,byte}>: pkg_lwt
-<server_unix/server_unix.{native,byte}>: pkg_cstruct.syntax
-<server_unix/server_unix.{native,byte}>: pkg_cstruct
+<server_unix/server_unix.{m.o,native,byte}>: use_xenstore_unix
+<server_unix/server_unix.{m.o,native,byte}>: use_xenstore_server
+<server_unix/server_unix.{m.o,native,byte}>: use_xenstore
+<server_unix/server_unix.{m.o,native,byte}>: pkg_lwt
+<server_unix/server_unix.{m.o,native,byte}>: pkg_lwt.unix
+<server_unix/server_unix.{m.o,native,byte}>: pkg_cstruct
+<server_unix/server_unix.{m.o,native,byte}>: pkg_cstruct.syntax
<server_unix/*.ml{,i}>: use_xenstore_unix
<server_unix/*.ml{,i}>: use_xenstore_server
<server_unix/*.ml{,i}>: use_xenstore
-<server_unix/*.ml{,i}>: pkg_lwt.unix
<server_unix/*.ml{,i}>: pkg_lwt
-<server_unix/*.ml{,i}>: pkg_cstruct.syntax
+<server_unix/*.ml{,i}>: pkg_lwt.unix
<server_unix/*.ml{,i}>: pkg_cstruct
-<server_unix/server_unix.{native,byte}>: custom
-# Executable xen_stubdom
-<xen/sleep.{native,byte}>: use_xenstore_server
-<xen/sleep.{native,byte}>: use_xenstore
-<xen/sleep.{native,byte}>: pkg_mirage
-<xen/sleep.{native,byte}>: pkg_lwt
-<xen/sleep.{native,byte}>: pkg_cstruct.syntax
-<xen/sleep.{native,byte}>: pkg_cstruct
-<xen/*.ml{,i}>: use_xenstore_server
-<xen/*.ml{,i}>: use_xenstore
-<xen/*.ml{,i}>: pkg_mirage
-<xen/*.ml{,i}>: pkg_lwt
-<xen/*.ml{,i}>: pkg_cstruct.syntax
-<xen/*.ml{,i}>: pkg_cstruct
-<xen/sleep.{native,byte}>: custom
+<server_unix/*.ml{,i}>: pkg_cstruct.syntax
+<server_unix/server_unix.{m.o,native,byte}>: custom
# Executable xs
-<cli/xs_client_cli.{native,byte}>: use_xenstore_client
-<cli/xs_client_cli.{native,byte}>: use_xenstore_unix
-<cli/xs_client_cli.{native,byte}>: use_xenstore_server
-<cli/xs_client_cli.{native,byte}>: use_xenstore
-<cli/xs_client_cli.{native,byte}>: pkg_lwt.unix
-<cli/xs_client_cli.{native,byte}>: pkg_lwt
-<cli/xs_client_cli.{native,byte}>: pkg_cstruct.syntax
-<cli/xs_client_cli.{native,byte}>: pkg_cstruct
-<cli/*.ml{,i}>: use_xenstore_client
+<cli/xs_client_cli.{m.o,native,byte}>: use_xenstore_unix
+<cli/xs_client_cli.{m.o,native,byte}>: use_xenstore_server
+<cli/xs_client_cli.{m.o,native,byte}>: use_xenstore_client
+<cli/xs_client_cli.{m.o,native,byte}>: use_xenstore
+<cli/xs_client_cli.{m.o,native,byte}>: pkg_lwt
+<cli/xs_client_cli.{m.o,native,byte}>: pkg_lwt.unix
+<cli/xs_client_cli.{m.o,native,byte}>: pkg_cstruct
+<cli/xs_client_cli.{m.o,native,byte}>: pkg_cstruct.syntax
<cli/*.ml{,i}>: use_xenstore_unix
<cli/*.ml{,i}>: use_xenstore_server
+<cli/*.ml{,i}>: use_xenstore_client
<cli/*.ml{,i}>: use_xenstore
-<cli/*.ml{,i}>: pkg_lwt.unix
<cli/*.ml{,i}>: pkg_lwt
-<cli/*.ml{,i}>: pkg_cstruct.syntax
+<cli/*.ml{,i}>: pkg_lwt.unix
<cli/*.ml{,i}>: pkg_cstruct
-<cli/xs_client_cli.{native,byte}>: custom
-# Executable xs_test
-<lib_test/xs_test.{native,byte}>: use_xenstore
-<lib_test/xs_test.{native,byte}>: pkg_oUnit
-<lib_test/xs_test.{native,byte}>: pkg_lwt
-<lib_test/xs_test.{native,byte}>: pkg_cstruct.syntax
-<lib_test/xs_test.{native,byte}>: pkg_cstruct
-<lib_test/*.ml{,i}>: use_xenstore
-<lib_test/*.ml{,i}>: pkg_oUnit
-<lib_test/*.ml{,i}>: pkg_lwt
-<lib_test/*.ml{,i}>: pkg_cstruct.syntax
-<lib_test/*.ml{,i}>: pkg_cstruct
-<lib_test/xs_test.{native,byte}>: custom
+<cli/*.ml{,i}>: pkg_cstruct.syntax
+<cli/xs_client_cli.{m.o,native,byte}>: custom
# Executable xsbench
-<bench/xs_bench.{native,byte}>: use_xenstore_client
-<bench/xs_bench.{native,byte}>: use_xenstore_unix
-<bench/xs_bench.{native,byte}>: use_xenstore_server
-<bench/xs_bench.{native,byte}>: use_xenstore
-<bench/xs_bench.{native,byte}>: pkg_lwt.unix
-<bench/xs_bench.{native,byte}>: pkg_lwt
-<bench/xs_bench.{native,byte}>: pkg_cstruct.syntax
-<bench/xs_bench.{native,byte}>: pkg_cstruct
-<bench/*.ml{,i}>: use_xenstore_client
+<bench/xs_bench.{m.o,native,byte}>: use_xenstore_unix
+<bench/xs_bench.{m.o,native,byte}>: use_xenstore_server
+<bench/xs_bench.{m.o,native,byte}>: use_xenstore_client
+<bench/xs_bench.{m.o,native,byte}>: use_xenstore
+<bench/xs_bench.{m.o,native,byte}>: pkg_lwt
+<bench/xs_bench.{m.o,native,byte}>: pkg_lwt.unix
+<bench/xs_bench.{m.o,native,byte}>: pkg_cstruct
+<bench/xs_bench.{m.o,native,byte}>: pkg_cstruct.syntax
<bench/*.ml{,i}>: use_xenstore_unix
<bench/*.ml{,i}>: use_xenstore_server
+<bench/*.ml{,i}>: use_xenstore_client
<bench/*.ml{,i}>: use_xenstore
-<bench/*.ml{,i}>: pkg_lwt.unix
<bench/*.ml{,i}>: pkg_lwt
-<bench/*.ml{,i}>: pkg_cstruct.syntax
+<bench/*.ml{,i}>: pkg_lwt.unix
<bench/*.ml{,i}>: pkg_cstruct
-<bench/xs_bench.{native,byte}>: custom
+<bench/*.ml{,i}>: pkg_cstruct.syntax
+<bench/xs_bench.{m.o,native,byte}>: custom
# OASIS_STOP
true: annot
<*/*>: syntax_camlp4o
View
@@ -1,35 +1,43 @@
# OASIS_START
-# DO NOT EDIT (digest: 5001429814e8d29bf1a400a60c7b9f57)
+# DO NOT EDIT (digest: 902c30ad0dba0f17ba02a8f1a1b3617c)
version = "0.9-dev"
description = "Xenstore protocol library"
requires = "lwt cstruct cstruct.syntax"
archive(byte) = "xenstore.cma"
+archive(byte, plugin) = "xenstore.cma"
archive(native) = "xenstore.cmxa"
+archive(native, plugin) = "xenstore.cmxs"
exists_if = "xenstore.cma"
-package "server" (
- version = "0.9-dev"
- description = "Xenstore protocol library"
- requires = "lwt xenstore"
- archive(byte) = "xenstore_server.cma"
- archive(native) = "xenstore_server.cmxa"
- exists_if = "xenstore_server.cma"
-)
-
package "unix" (
version = "0.9-dev"
description = "Xenstore protocol library"
requires = "lwt xenstore xenstore.server"
archive(byte) = "xenstore_unix.cma"
+ archive(byte, plugin) = "xenstore_unix.cma"
archive(native) = "xenstore_unix.cmxa"
+ archive(native, plugin) = "xenstore_unix.cmxs"
exists_if = "xenstore_unix.cma"
)
+package "server" (
+ version = "0.9-dev"
+ description = "Xenstore protocol library"
+ requires = "lwt xenstore"
+ archive(byte) = "xenstore_server.cma"
+ archive(byte, plugin) = "xenstore_server.cma"
+ archive(native) = "xenstore_server.cmxa"
+ archive(native, plugin) = "xenstore_server.cmxs"
+ exists_if = "xenstore_server.cma"
+)
+
package "client" (
version = "0.9-dev"
description = "Xenstore protocol library"
requires = "lwt xenstore"
archive(byte) = "xenstore_client.cma"
+ archive(byte, plugin) = "xenstore_client.cma"
archive(native) = "xenstore_client.cmxa"
+ archive(native, plugin) = "xenstore_client.cmxs"
exists_if = "xenstore_client.cma"
)
# OASIS_STOP
Oops, something went wrong.

0 comments on commit 2b550cc

Please sign in to comment.