################################################################################
#  OASIS: architecture for building OCaml libraries and applications           #
#                                                                              #
#  Copyright (C) 2011-2016, Sylvain Le Gall                                    #
#  Copyright (C) 2008-2011, OCamlCore SARL                                     #
#                                                                              #
#  This library is free software; you can redistribute it and/or modify it     #
#  under the terms of the GNU Lesser General Public License as published by    #
#  the Free Software Foundation; either version 2.1 of the License, or (at     #
#  your option) any later version, with the OCaml static compilation           #
#  exception.                                                                  #
#                                                                              #
#  This library is distributed in the hope that it will be useful, but         #
#  WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY  #
#  or FITNESS FOR A PARTICULAR PURPOSE. See the file COPYING for more          #
#  details.                                                                    #
#                                                                              #
#  You should have received a copy of the GNU Lesser General Public License    #
#  along with this library; if not, write to the Free Software Foundation,     #
#  Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA               #
################################################################################

# OASIS_START
# DO NOT EDIT (digest: 50d5b282df951d7b7894c2cef0ba5076)
# 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
true: annot, bin_annot
<**/.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 oasis
"src/oasis/oasis.cmxs": use_oasis
<src/oasis/*.ml{,i,y}>: package(unix)
# Library base
"src/base/base.cmxs": use_base
<src/base/*.ml{,i,y}>: package(unix)
<src/base/*.ml{,i,y}>: use_oasis
# Library builtin-plugins
"src/builtin-plugins.cmxs": use_builtin-plugins
<src/*.ml{,i,y}>: package(ocamlbuild)
<src/*.ml{,i,y}>: package(unix)
<src/*.ml{,i,y}>: use_base
<src/*.ml{,i,y}>: use_oasis
<src/plugins/custom/*.ml{,i,y}>: package(ocamlbuild)
<src/plugins/custom/*.ml{,i,y}>: package(unix)
<src/plugins/custom/*.ml{,i,y}>: use_base
<src/plugins/custom/*.ml{,i,y}>: use_oasis
<src/plugins/extra/META/*.ml{,i,y}>: package(ocamlbuild)
<src/plugins/extra/META/*.ml{,i,y}>: package(unix)
<src/plugins/extra/META/*.ml{,i,y}>: use_base
<src/plugins/extra/META/*.ml{,i,y}>: use_oasis
<src/plugins/extra/devfiles/*.ml{,i,y}>: package(ocamlbuild)
<src/plugins/extra/devfiles/*.ml{,i,y}>: package(unix)
<src/plugins/extra/devfiles/*.ml{,i,y}>: use_base
<src/plugins/extra/devfiles/*.ml{,i,y}>: use_oasis
<src/plugins/extra/stdfiles/*.ml{,i,y}>: package(ocamlbuild)
<src/plugins/extra/stdfiles/*.ml{,i,y}>: package(unix)
<src/plugins/extra/stdfiles/*.ml{,i,y}>: use_base
<src/plugins/extra/stdfiles/*.ml{,i,y}>: use_oasis
<src/plugins/internal/*.ml{,i,y}>: package(ocamlbuild)
<src/plugins/internal/*.ml{,i,y}>: package(unix)
<src/plugins/internal/*.ml{,i,y}>: use_base
<src/plugins/internal/*.ml{,i,y}>: use_oasis
<src/plugins/none/*.ml{,i,y}>: package(ocamlbuild)
<src/plugins/none/*.ml{,i,y}>: package(unix)
<src/plugins/none/*.ml{,i,y}>: use_base
<src/plugins/none/*.ml{,i,y}>: use_oasis
<src/plugins/ocamlbuild/*.ml{,i,y}>: package(ocamlbuild)
<src/plugins/ocamlbuild/*.ml{,i,y}>: package(unix)
<src/plugins/ocamlbuild/*.ml{,i,y}>: use_base
<src/plugins/ocamlbuild/*.ml{,i,y}>: use_oasis
<src/plugins/omake/*.ml{,i,y}>: package(ocamlbuild)
<src/plugins/omake/*.ml{,i,y}>: package(unix)
<src/plugins/omake/*.ml{,i,y}>: use_base
<src/plugins/omake/*.ml{,i,y}>: use_oasis
# Library dynrun
"src/dynrun/dynrun.cmxs": use_dynrun
<src/dynrun/*.ml{,i,y}>: package(ocamlbuild)
<src/dynrun/*.ml{,i,y}>: package(unix)
<src/dynrun/*.ml{,i,y}>: use_base
<src/dynrun/*.ml{,i,y}>: use_builtin-plugins
<src/dynrun/*.ml{,i,y}>: use_oasis
# Library test-common
"test/test-common/test-common.cmxs": use_test-common
<test/test-common/*.ml{,i,y}>: package(fileutils)
<test/test-common/*.ml{,i,y}>: package(oUnit)
<test/test-common/*.ml{,i,y}>: package(pcre)
<test/test-common/*.ml{,i,y}>: package(unix)
<test/test-common/*.ml{,i,y}>: use_base
<test/test-common/*.ml{,i,y}>: use_oasis
# Executable fake-ocamlfind
<test/fake-ocamlfind/FakeOCamlfind.{native,byte}>: package(unix)
<test/fake-ocamlfind/*.ml{,i,y}>: package(unix)
# Executable test-main
<test/test-main/Test.{native,byte}>: package(fileutils)
<test/test-main/Test.{native,byte}>: package(findlib)
<test/test-main/Test.{native,byte}>: package(oUnit)
<test/test-main/Test.{native,byte}>: package(ocamlbuild)
<test/test-main/Test.{native,byte}>: package(pcre)
<test/test-main/Test.{native,byte}>: package(unix)
<test/test-main/Test.{native,byte}>: use_base
<test/test-main/Test.{native,byte}>: use_builtin-plugins
<test/test-main/Test.{native,byte}>: use_oasis
<test/test-main/Test.{native,byte}>: use_test-common
<test/test-main/*.ml{,i,y}>: package(fileutils)
<test/test-main/*.ml{,i,y}>: package(findlib)
<test/test-main/*.ml{,i,y}>: package(oUnit)
<test/test-main/*.ml{,i,y}>: package(ocamlbuild)
<test/test-main/*.ml{,i,y}>: package(pcre)
<test/test-main/*.ml{,i,y}>: package(unix)
<test/test-main/*.ml{,i,y}>: use_base
<test/test-main/*.ml{,i,y}>: use_builtin-plugins
<test/test-main/*.ml{,i,y}>: use_oasis
<test/test-main/*.ml{,i,y}>: use_test-common
# Executable test-omake
<test/test-omake/TestOMake.{native,byte}>: package(fileutils)
<test/test-omake/TestOMake.{native,byte}>: package(findlib)
<test/test-omake/TestOMake.{native,byte}>: package(oUnit)
<test/test-omake/TestOMake.{native,byte}>: package(ocamlbuild)
<test/test-omake/TestOMake.{native,byte}>: package(pcre)
<test/test-omake/TestOMake.{native,byte}>: package(unix)
<test/test-omake/TestOMake.{native,byte}>: use_base
<test/test-omake/TestOMake.{native,byte}>: use_builtin-plugins
<test/test-omake/TestOMake.{native,byte}>: use_oasis
<test/test-omake/TestOMake.{native,byte}>: use_test-common
<test/test-omake/*.ml{,i,y}>: package(fileutils)
<test/test-omake/*.ml{,i,y}>: package(findlib)
<test/test-omake/*.ml{,i,y}>: package(oUnit)
<test/test-omake/*.ml{,i,y}>: package(ocamlbuild)
<test/test-omake/*.ml{,i,y}>: package(pcre)
<test/test-omake/*.ml{,i,y}>: package(unix)
<test/test-omake/*.ml{,i,y}>: use_base
<test/test-omake/*.ml{,i,y}>: use_builtin-plugins
<test/test-omake/*.ml{,i,y}>: use_oasis
<test/test-omake/*.ml{,i,y}>: use_test-common
# Executable test-quickstart
<test/test-quickstart/TestQuickstart.{native,byte}>: package(expect.pcre)
<test/test-quickstart/TestQuickstart.{native,byte}>: package(fileutils)
<test/test-quickstart/TestQuickstart.{native,byte}>: package(findlib)
<test/test-quickstart/TestQuickstart.{native,byte}>: package(oUnit)
<test/test-quickstart/TestQuickstart.{native,byte}>: package(ocamlbuild)
<test/test-quickstart/TestQuickstart.{native,byte}>: package(pcre)
<test/test-quickstart/TestQuickstart.{native,byte}>: package(unix)
<test/test-quickstart/TestQuickstart.{native,byte}>: use_base
<test/test-quickstart/TestQuickstart.{native,byte}>: use_builtin-plugins
<test/test-quickstart/TestQuickstart.{native,byte}>: use_oasis
<test/test-quickstart/TestQuickstart.{native,byte}>: use_test-common
<test/test-quickstart/*.ml{,i,y}>: package(expect.pcre)
<test/test-quickstart/*.ml{,i,y}>: package(fileutils)
<test/test-quickstart/*.ml{,i,y}>: package(findlib)
<test/test-quickstart/*.ml{,i,y}>: package(oUnit)
<test/test-quickstart/*.ml{,i,y}>: package(ocamlbuild)
<test/test-quickstart/*.ml{,i,y}>: package(pcre)
<test/test-quickstart/*.ml{,i,y}>: package(unix)
<test/test-quickstart/*.ml{,i,y}>: use_base
<test/test-quickstart/*.ml{,i,y}>: use_builtin-plugins
<test/test-quickstart/*.ml{,i,y}>: use_oasis
<test/test-quickstart/*.ml{,i,y}>: use_test-common
# Executable test-devel
<test/test-devel/TestDevel.{native,byte}>: package(fileutils)
<test/test-devel/TestDevel.{native,byte}>: package(oUnit)
<test/test-devel/TestDevel.{native,byte}>: package(pcre)
<test/test-devel/TestDevel.{native,byte}>: package(unix)
<test/test-devel/TestDevel.{native,byte}>: use_base
<test/test-devel/TestDevel.{native,byte}>: use_oasis
<test/test-devel/TestDevel.{native,byte}>: use_test-common
<test/test-devel/*.ml{,i,y}>: package(fileutils)
<test/test-devel/*.ml{,i,y}>: package(oUnit)
<test/test-devel/*.ml{,i,y}>: package(pcre)
<test/test-devel/*.ml{,i,y}>: package(unix)
<test/test-devel/*.ml{,i,y}>: use_base
<test/test-devel/*.ml{,i,y}>: use_oasis
<test/test-devel/*.ml{,i,y}>: use_test-common
# Executable dist
"src/tools/dist/Dist.byte": package(fileutils)
"src/tools/dist/Dist.byte": package(ocamlbuild)
"src/tools/dist/Dist.byte": package(unix)
"src/tools/dist/Dist.byte": use_base
"src/tools/dist/Dist.byte": use_builtin-plugins
"src/tools/dist/Dist.byte": use_oasis
<src/tools/dist/*.ml{,i,y}>: package(fileutils)
<src/tools/dist/*.ml{,i,y}>: package(ocamlbuild)
<src/tools/dist/*.ml{,i,y}>: package(unix)
<src/tools/dist/*.ml{,i,y}>: use_base
<src/tools/dist/*.ml{,i,y}>: use_builtin-plugins
<src/tools/dist/*.ml{,i,y}>: use_oasis
# Executable guess-cmx
"src/tools/guess-cmx/GuessCMX.byte": package(pcre)
"src/tools/guess-cmx/GuessCMX.byte": package(unix)
"src/tools/guess-cmx/GuessCMX.byte": use_oasis
<src/tools/guess-cmx/*.ml{,i,y}>: package(pcre)
<src/tools/guess-cmx/*.ml{,i,y}>: package(unix)
<src/tools/guess-cmx/*.ml{,i,y}>: use_oasis
# Executable oasis-announce
"src/tools/oasis-announce/OASISAnnounce.byte": package(pcre)
"src/tools/oasis-announce/OASISAnnounce.byte": package(unix)
"src/tools/oasis-announce/OASISAnnounce.byte": use_base
"src/tools/oasis-announce/OASISAnnounce.byte": use_oasis
<src/tools/oasis-announce/*.ml{,i,y}>: package(pcre)
<src/tools/oasis-announce/*.ml{,i,y}>: package(unix)
<src/tools/oasis-announce/*.ml{,i,y}>: use_base
<src/tools/oasis-announce/*.ml{,i,y}>: use_oasis
# Executable oasis-dist
"src/tools/oasis-dist/OASISDist.byte": package(fileutils)
"src/tools/oasis-dist/OASISDist.byte": package(ocamlbuild)
"src/tools/oasis-dist/OASISDist.byte": package(unix)
"src/tools/oasis-dist/OASISDist.byte": use_base
"src/tools/oasis-dist/OASISDist.byte": use_builtin-plugins
"src/tools/oasis-dist/OASISDist.byte": use_oasis
<src/tools/oasis-dist/*.ml{,i,y}>: package(fileutils)
<src/tools/oasis-dist/*.ml{,i,y}>: package(ocamlbuild)
<src/tools/oasis-dist/*.ml{,i,y}>: package(unix)
<src/tools/oasis-dist/*.ml{,i,y}>: use_base
<src/tools/oasis-dist/*.ml{,i,y}>: use_builtin-plugins
<src/tools/oasis-dist/*.ml{,i,y}>: use_oasis
# Executable bench
<src/tools/bench/Bench.{native,byte}>: package(benchmark)
<src/tools/bench/Bench.{native,byte}>: package(ocamlbuild)
<src/tools/bench/Bench.{native,byte}>: package(unix)
<src/tools/bench/Bench.{native,byte}>: use_base
<src/tools/bench/Bench.{native,byte}>: use_builtin-plugins
<src/tools/bench/Bench.{native,byte}>: use_oasis
<src/tools/bench/*.ml{,i,y}>: package(benchmark)
<src/tools/bench/*.ml{,i,y}>: package(ocamlbuild)
<src/tools/bench/*.ml{,i,y}>: package(unix)
<src/tools/bench/*.ml{,i,y}>: use_base
<src/tools/bench/*.ml{,i,y}>: use_builtin-plugins
<src/tools/bench/*.ml{,i,y}>: use_oasis
# Library plugin-loader
"src/ext/plugin-loader/src/plugin-loader.cmxs": use_plugin-loader
<src/ext/plugin-loader/src/*.ml{,i,y}>: package(dynlink)
<src/ext/plugin-loader/src/*.ml{,i,y}>: package(findlib)
# Library cli
"src/cli/cli.cmxs": use_cli
# Executable oasis
<src/cli/Main.{native,byte}>: package(dynlink)
<src/cli/Main.{native,byte}>: package(findlib)
<src/cli/Main.{native,byte}>: package(ocamlbuild)
<src/cli/Main.{native,byte}>: package(unix)
<src/cli/Main.{native,byte}>: use_base
<src/cli/Main.{native,byte}>: use_builtin-plugins
<src/cli/Main.{native,byte}>: use_cli
<src/cli/Main.{native,byte}>: use_oasis
<src/cli/Main.{native,byte}>: use_plugin-loader
<src/cli/*.ml{,i,y}>: package(dynlink)
<src/cli/*.ml{,i,y}>: package(findlib)
<src/cli/*.ml{,i,y}>: package(ocamlbuild)
<src/cli/*.ml{,i,y}>: package(unix)
<src/cli/*.ml{,i,y}>: use_base
<src/cli/*.ml{,i,y}>: use_builtin-plugins
<src/cli/*.ml{,i,y}>: use_cli
<src/cli/*.ml{,i,y}>: use_oasis
<src/cli/*.ml{,i,y}>: use_plugin-loader
# Library pluginloaderLib
"src/ext/plugin-loader/test/data/findlib/pluginloaderLib/pluginloaderLib.cmxs": use_pluginloaderLib
# Library plugin1
"src/ext/plugin-loader/test/data/findlib/plugin1/plugin1.cmxs": use_plugin1
<src/ext/plugin-loader/test/data/findlib/plugin1/*.ml{,i,y}>: use_pluginloaderLib
# Library plugin2
"src/ext/plugin-loader/test/data/findlib/plugin2/plugin2.cmxs": use_plugin2
<src/ext/plugin-loader/test/data/findlib/plugin2/*.ml{,i,y}>: use_plugin1
<src/ext/plugin-loader/test/data/findlib/plugin2/*.ml{,i,y}>: use_pluginloaderLib
# Library plugin3
"src/ext/plugin-loader/test/data/findlib/plugin3/plugin3.cmxs": use_plugin3
<src/ext/plugin-loader/test/data/findlib/plugin3/*.ml{,i,y}>: use_pluginloaderLib
# Executable pluginloader
"src/ext/plugin-loader/test/data/PluginLoaderMain.byte": package(dynlink)
"src/ext/plugin-loader/test/data/PluginLoaderMain.byte": package(findlib)
"src/ext/plugin-loader/test/data/PluginLoaderMain.byte": use_plugin-loader
"src/ext/plugin-loader/test/data/PluginLoaderMain.byte": use_pluginloaderLib
<src/ext/plugin-loader/test/data/*.ml{,i,y}>: package(dynlink)
<src/ext/plugin-loader/test/data/*.ml{,i,y}>: package(findlib)
<src/ext/plugin-loader/test/data/*.ml{,i,y}>: use_plugin-loader
<src/ext/plugin-loader/test/data/*.ml{,i,y}>: use_pluginloaderLib
# Executable test_loader
"src/ext/plugin-loader/test/TestLoader.byte": package(dynlink)
"src/ext/plugin-loader/test/TestLoader.byte": package(fileutils)
"src/ext/plugin-loader/test/TestLoader.byte": package(findlib)
"src/ext/plugin-loader/test/TestLoader.byte": package(oUnit)
"src/ext/plugin-loader/test/TestLoader.byte": use_plugin-loader
<src/ext/plugin-loader/test/*.ml{,i,y}>: package(dynlink)
<src/ext/plugin-loader/test/*.ml{,i,y}>: package(fileutils)
<src/ext/plugin-loader/test/*.ml{,i,y}>: package(findlib)
<src/ext/plugin-loader/test/*.ml{,i,y}>: package(oUnit)
<src/ext/plugin-loader/test/*.ml{,i,y}>: use_plugin-loader
# OASIS_STOP

# Plugins

"src/plugins/ocamlbuild/MyOCamlbuildBase.ml": use_ocamlbuild
"src/plugins/ocamlbuild/MyOCamlbuildFindlib.ml": use_ocamlbuild
"src/plugins/ocamlbuild/OCamlbuildPlugin.ml": use_ocamlbuild

# TODO: The fact that we need to remove these tags is maybe a bug
<test/test.byte>: -use_base
<test/test.byte>: -use_oasis
<src/cli/Main.byte>: -use_base
<src/cli/Main.byte>: -use_oasis

<**/*.ml>: annot
true: safe_string

"build": -traverse
"build": not_hygienic
".opam": -traverse
".opam": not_hygienic
true: explain
