Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
316 lines (287 sloc) 9.25 KB
OASISFormat: 0.3
OCamlVersion: >= 3.11.0
Name: oasis
Version: 0.3.1
LicenseFile: COPYING.txt
License: LGPL-2.1 with OCaml linking exception
BuildType: ocamlbuild (0.3)
Authors: Sylvain Le Gall
Copyrights: (C) 2008-2010 OCamlCore SARL
Homepage: http://oasis.forge.ocamlcore.org/
Plugins: DevFiles (0.3), StdFiles (0.3), META (0.3)
FilesAB: src/oasis/OASISConf.ml.ab
BuildTools: ocamlbuild, make
Synopsis: Architecture for building OCaml libraries and applications
Description:
OASIS generates a full configure, build and install system for your
application. It starts with a simple `_oasis` file at the toplevel of your
project and creates everything required.
.
It uses external tools like OCamlbuild and it can be considered as the glue
between various subsystems that do the job. It should support the following
tools:
.
- OCamlbuild
- OMake (todo)
- OCamlMakefile (todo),
- ocaml-autoconf (todo)
.
It also features a do-it-yourself command line invocation and an internal
configure/install scheme. Libraries are managed through findlib. It has been
tested on GNU Linux and Windows.
.
It also allows to have standard entry points and description. It helps to
integrates your libraries and software with third parties tools like GODI.
Flag libraries
Description: Install oasis and base libraries, for plugins development
Flag gettext
Description: Use ocaml-gettext for i18n
Default: false
if flag(gettext)
PostBuildCommand: $make -C po all
PostCleanCommand: $make -C po clean
PostInstallCommand: $make -C po install PODIR=$prefix/share/locale
PostUninstallCommand: $make -C po install PODIR=$prefix/share/locale
Library oasis
Path: src/oasis
Modules: FormatExt,
FormatMarkdown,
ODNFunc,
PropList,
OASISUtils,
OASISUnixPath,
OASISContext,
OASISGettext,
OASISMessage,
OASISTypes,
OASISParse,
OASISValues,
OASISExpr,
OASISVersion,
OASISLicense,
OASISFileTemplate,
OASISBuildSection,
OASISDocument,
OASISExecutable,
OASISFlag,
OASISLibrary,
OASISObject,
OASISPackage,
OASISSourceRepository,
OASISTest,
OASISPlugin,
OASISFindlib,
OASISSchema,
OASISSection,
OASISData,
OASISString,
OASISExec,
OASISFileUtil,
OASISHostPath,
OASISGraph
InternalModules: OASISVersion_types,
OASISVersion_lexer,
OASISVersion_parser,
OASISLicense_types,
OASISLicense_lexer,
OASISLicense_parser,
OASISValues_lexer,
OASISSchema,
OASISConf,
OASISAst,
OASISCheck,
OASISRecDescParser,
OASISCustom,
OASISQuickstart,
OASISHelp,
OASISFormat,
OASISSection_intern,
OASISBuildSection_intern,
OASISDocument_intern,
OASISExecutable_intern,
OASISFlag_intern,
OASISLibrary_intern,
OASISPackage_intern,
OASISSourceRepository_intern,
OASISTest_intern,
OASISSchema_intern,
OASISPath_intern
CompiledObject: Best
BuildDepends: unix, odn (>= 0.0.3)
BuildTools+: ocamlmod, ocamlyacc, ocamllex, ocamlify
XMETADescription: _oasis file functions
Install$: flag(libraries)
Library base
Path: src/base
Modules: BaseArgExt,
BaseBuilt,
BaseCheck,
BaseCustom,
BaseData,
BaseDoc,
BaseEnvLight,
BaseEnv,
BaseFileAB,
BaseGenerate,
BaseLog,
BaseOCamlcConfig,
BaseSetup,
BaseStandardVar,
BaseTest,
BaseDynVar,
BaseMessage,
BaseContext
CompiledObject: Best
BuildDepends: oasis
BuildTools+: ocamlmod, ocamlify
FindlibParent: oasis
XMETADescription: 'setup.ml' modules for OASIS
Install$: flag(libraries)
Library "builtin-plugins"
Path: src
Modules: OASISBuiltinPlugins,
plugins/extra/META/METAPlugin,
plugins/internal/InternalConfigurePlugin,
plugins/internal/InternalInstallPlugin,
plugins/none/NonePlugin,
plugins/ocamlbuild/OCamlbuildPlugin,
plugins/ocamlbuild/OCamlbuildDocPlugin,
plugins/ocamlbuild/OCamlbuildCommon,
plugins/custom/CustomPlugin,
plugins/extra/devfiles/DevFilesPlugin,
plugins/extra/stdfiles/StdFilesPlugin
InternalModules: plugins/none/NoneData,
plugins/internal/InternalData,
plugins/internal/InternalId,
plugins/ocamlbuild/OCamlbuildData,
plugins/ocamlbuild/OCamlbuildId,
plugins/ocamlbuild/MyOCamlbuildBase,
plugins/ocamlbuild/MyOCamlbuildFindlib,
plugins/custom/CustomData,
plugins/extra/META/METAData,
plugins/extra/devfiles/DevFilesData,
plugins/extra/stdfiles/StdFilesData
CompiledObject: Best
BuildDepends: oasis, oasis.base
FindlibParent: oasis
Library cli
Path: src/cli
Modules: SubCommand,
ArgExt,
Pager
InternalModules: CLIData
CompiledObject: byte
BuildDepends: oasis, oasis.base
FindlibParent: oasis
XMETADescription: 'setup.ml' modules for OASIS
Install$: flag(libraries)
Library dynrun
Path: src/dynrun
Modules: OASISDynRun
CompiledObject: best
BuildDepends: oasis.base, oasis.builtin-plugins
FindlibParent: oasis
Executable oasis
Path: src/cli
MainIs: Main.ml
BuildDepends: oasis, oasis.base, oasis.cli, oasis.builtin-plugins, plugin-loader
Executable test
Path: test
MainIs: test.ml
Install: false
CompiledObject: byte
Build$: flag(tests)
BuildDepends: oUnit (>= 1.1.0), findlib, fileutils (>= 0.4.2), expect.pcre (>= 0.0.2),
oasis, oasis.base, oasis.builtin-plugins
Test main
Type: custom (0.3)
Command: $test -oasis-exec $oasis -has-ocamlopt $is_native
WorkingDirectory: test
TestTools: oasis, test
Document manual
Type: custom (0.3)
Title: OASIS User Manual
if flag(gettext)
XCustom: env LANG=C $oasis manual > doc/MANUAL.mkd
else
XCustom: $oasis manual -o doc/MANUAL.mkd
XCustomClean: $rm doc/MANUAL.mkd
DataFiles: doc/MANUAL.mkd
Document "api-oasis"
Title: API reference for OASIS
Type: ocamlbuild (0.3)
InstallDir: $htmldir/oasis
BuildTools+: ocamldoc
XOCamlbuildPath: src/
XOCamlbuildLibraries: oasis, oasis.base, oasis.cli
SourceRepository head
Type: git
Location: git://github.com/gildor478/oasis.git
Browser: https://github.com/gildor478/oasis
# Third party: plugin-loader
Library "plugin-loader"
Path: src/ext/plugin-loader/src
Modules: PluginLoader
BuildDepends: dynlink, findlib
Library "pluginloaderLib"
Path: src/ext/plugin-loader/test/data/findlib/pluginloaderLib
Modules: PluginloaderLib
Build$: flag(tests)
Install: false
Library "plugin1"
Path: src/ext/plugin-loader/test/data/findlib/plugin1
Modules: Plugin1
Install: false
Build$: flag(tests)
BuildDepends: pluginloaderLib
XMETAExtraLines: plugin_system = "pluginloader"
plugin_name = "plugin1"
plugin_synopsis = "first plugin"
Library "plugin2"
Path: src/ext/plugin-loader/test/data/findlib/plugin2
Modules: Plugin2
Install: false
Build$: flag(tests)
BuildDepends: pluginloaderLib, plugin1
XMETAExtraLines: plugin_system = "pluginloader"
plugin_name = "plugin2"
plugin_synopsis = "second plugin"
Library "plugin3"
Path: src/ext/plugin-loader/test/data/findlib/plugin3
Modules: Plugin3
Install: false
Build$: flag(tests)
BuildDepends: pluginloaderLib
XMETAExtraLines: plugin_system = "pluginloader"
plugin_name = "plugin3"
plugin_synopsis = "third plugin"
Executable "pluginloader"
Path: src/ext/plugin-loader/test/data
MainIs: pluginloader.ml
Install: false
Build$: flag(tests)
BuildDepends: pluginloaderLib, plugin-loader
Executable "test_loader"
Path: src/ext/plugin-loader/test
MainIs: TestLoader.ml
BuildDepends: plugin-loader, fileutils, oUnit
Build$: flag(tests)
Install: false
Test main_loader
Type: custom (0.3)
Command: $test_loader --pluginloader $pluginloader
TestTools: test_loader, pluginloader
# Third party: user-conf
Library "userconf"
Path: src/ext/userconf/src
Modules: UserConf
Executable "test_userconf"
Path: src/ext/userconf/test
MainIs: TestUserConf.ml
BuildDepends: userconf, oUnit
Build$: flag(tests)
Install: false
Test main_userconf
Type: custom (0.3)
Command: $test_userconf
TestTools: test_userconf