text:
OASIS User Manual
author Sylvain Le Gall and others
- Introduction
- Writing
- Syntax
- Package
- Sections
- License
- Data files
- Substitution inside text
- Customization of generated files
- Customization of setup.ml
- Using OASIS during software development
- Plugins
- Building and installing
- OASIS usage
OASIS is a tool to help OCaml developers to integrate configure, build and install systems in their projects. It should help to create standard entry points in the source code build system, allowing external tools to analyse projects easily.
This tool is freely inspired by Cabal which is the same kind of tool for Haskell.
Everything starts with a single text file, named
_oasis, at the root of the project source directory. It contains semi-colon separated fields and sections that describe what is contained in the project and what to do with it.
This file is used to generate a skeleton for build, configure and install systems. Generation can be customized through extra fields or directly inside generated files.
The main entry point is an OCaml script
setup.ml. It is self contained. Once generated there is no additional dependencies (just like an autoconf
configure script).
OASIS has been created with OCamlbuild in mind. So there is probably some features/bugs that are oriented toward this build system.
- OCamlbuild support (see here)
- Standard files auto-generation (see here 1, 2, 3)
- Generic support for all step (see here)
- Internal configure/install (see here)
Planned features:
_oasis file
_oasis must be a valid UTF-8 text file. This file identify the toplevel directory of the project.
Identifiers are just like variable names in OCaml, it cannot contains "-" or numbers at the beginning. Strings follow OCaml convention. For extra information on the parser/lexer see Genlex.
A line beginning by
# is a comment and is ignored. Blank line are ignored.
The file contains semi-colon fields and sections.
Fields are defined as
field_name: field_value:
- Field name is an identifier, it contains only alphanumeric chars.
- Field name is case insensitive.
- Field value follow OCaml string convention, expect you don't need '"' around it.
- Leading and trailing blanks of field value are removed.
- A field value can continue on several lines, in this case the content of the value must be indented one level more then the field name. In the body of the value a blank line is represented by
- If two fields have the same
field_name, only the latter sets the value.
The separator ':' can be replaced by '+:' which appends the
field_value to the previous value of the value (rather than erasing it). Beware that appending is value dependent, some fields can concatenate, some cannot.
The ':' can also be replaced by '$:', see Conditional value.
Sections can be an identifier or a string:
Library foo
Library "foo".
Section name can be :
Test and
SourceRepository. Content of a section is indented relative to the section begin.
Example: # Toplevel fields OASISFormat: 1.0
Library "foo"
# Library fields
Path: src/
# Back to toplevel fields
Synopsis: bar
Conditional value
It is possible to define some fields conditionally. Not all fields can be specified this way, only fields that have no good default values and that must be evaluated at runtime is defined.
For example:
- Toplevel fields
Versioncannot be conditional.
- Library fields
Installcan be conditional.
A condition is defined using a
if ... else ... construct.
Library bar
if os_type(Win32)
Build: true
Build: false
Available tests are :
The values from these tests are extracted from theoutput of
ocamlc -config.
An additional
flag test is available which check that the a Flag is defined. See the chapter on the Flag section.
Tests and flags can be combined using standard boolean operation:
! expr: negation of
expr1 && expr2: boolean and.
expr1 || expr2: boolean or.
For boolean fields, you can replace the
if ... else ... construct by
For example:
Library bar
if os_type(Win32)
Build: true
Build: false
is equivalent to:
Build$: os_type(Win32)
OASIS allows to experiment with non-official, experimental features. These features are included in the code but are not activated by default. In order to activate them. You need to list them in
AlphaFeatures or
BetaFeatures of your
Alpha features are under development and may only be used for testing. They are not yet well defined, they are evolving quickly and may be removed in future release of OASIS.
Beta features are features almost ready to be shipped, they mostly need to be polished before release. You may use them as they will probably be ready for the next version of OASIS.
Once you have activated a features, you get access to more fields and some parts of the code maybe be activated as well.
Features allow the OASIS development team to release experiment early and should avoid long delay between release.
Available features:
ocamlbuild_more_args: Allow to pass arguments to ocamlbuild. (alpha)
compiled_setup_ml: Compile the setup.ml and speed-up actions done with it. (alpha)
disable_oasis_section: Allow the OASIS section comments and digests to be omitted in generated files. (alpha)
stdfiles_markdown: Use markdown comment and replace .txt extensions of standard files by .md. (alpha)
section_object: Implement an object section. (beta)
source_patterns: Customize mapping between module name and source file. (alpha)
no_automatic_syntax: Disable the automatic inclusion of -syntax camlp4o for packages that matches the internal heuristic (if a dependency ends with a .syntax or is a well known syntax). (alpha)
findlib_extra_files: Allow to install extra files for findlib libraries. (beta)
findlib_directory: Allow to install findlib libraries in sub-directories of the target findlib directory. (beta)
dynrun_for_release: Make '-setup-update dynamic' suitable for releasing project. (alpha)
pure_interface: Allow to have module with only .mli file. (alpha)
Package fields are defined outside sections. They apply to the whole project.
OASISFormat: OASIS format version used to write file
\_oasis. (mandatory)
AlphaFeatures: Experimental features in alpha stage (frequent change, may never been shipped). (since OASISFormat: 0.4)
BetaFeatures: Experimental features in beta stage (will ship, under review). (since OASISFormat: 0.4)
Name: Name of the package. (mandatory)
Version: Version of the package. (mandatory)
Synopsis: Short description of the purpose of this package. (mandatory)
Description: Long description of the package purpose.
Authors: Real people that had contributed to the package. (mandatory)
Copyrights: Copyright owners.
Maintainers: Current maintainers of the package.
LicenseFile: File containing the license.
License: DEP-5 license of the package (See DEP-5). (mandatory)
OCamlVersion: Version constraint on OCaml.
FindlibVersion: Version constraint on Finblib.
ConfType: Configuration system.
PreConfCommand: Command to run before configuration.
PostConfCommand: Command to run after configuration.
BuildType: Build system.
PreBuildCommand: Command to run before build.
PostBuildCommand: Command to run after build.
InstallType: Install/uninstall system.
PreInstallCommand: Command to run before install.
PostInstallCommand: Command to run after install.
PreUninstallCommand: Command to run before uninstall.
PostUninstallCommand: Command to run after uninstall.
PreCleanCommand: Command to run before clean.
PostCleanCommand: Command to run after clean.
PreDistcleanCommand: Command to run before distclean.
PostDistcleanCommand: Command to run after distclean.
Homepage: URL of the package homepage.
BugReports: URL of the page to report bugs about the package.
Tags: List of semantic tags to classify the package.
Categories: URL(s) describing categories of the package.
FilesAB: Files to generate using environment variable substitution.
Plugins: Extra plugins to use.
DisableOASISSection: Files to generate without OASIS section comments or digest. (require AlphaFeatures: disable_oasis_section)
BuildDepends: Dependencies on findlib packages, including internal findlib packages.
BuildTools: Tools required to compile, including internal executables.
InterfacePatterns: Patterns to use for locating source files. (require AlphaFeatures: source_patterns)
ImplementationPatterns: Patterns to use for locating source files. (require AlphaFeatures: source_patterns)
BuildDepends and
BuildTools are appended to all sections and not used directly in the package.
There are 6 possible sections:
Flag: a command line flag.
Library: an OCaml library.
Object: a .cmo/.cmx object (require BetaFeatures: section_object).
Executable: an OCaml executable.
Document: a document.
Test: a test.
SourceRepository: version control system information.
None of these sections are mandatory.
Document and
Test can be dependent on each other. This not a problem as long as there is no cycle inside the dependency graph. Dependencies can be expressed through
BuildDepends and
BuildTools fields.
A flag section defines a configure command line option. It will be translated to to
--enable-XXX and
--disable-XXX for the command line. It can be used inside conditional fields.
Description: Help for the flag
Default: Default value for the flag
Common fields
These fields are used inside
Library and
Path: Directory containing the section (mandatory)
Build: Set if the section should be built.
Install: Set if the section should be distributed.
DataFiles: Comma separated list of files to be installed for run-time. (see here)
FindlibExtraFiles: Comma separated list of extra files to be installed with ocamlfind. (require BetaFeatures: findlib_extra_files)
BuildDepends: Dependencies on findlib packages, including internal findlib packages.
BuildTools: Tools required to compile, including internal executables.
CompiledObject: Define the compilation type of the section: byte, native or best
InterfacePatterns: Patterns to use for locating source files. (require AlphaFeatures: source_patterns)
ImplementationPatterns: Patterns to use for locating source files. (require AlphaFeatures: source_patterns)
CSources: C source files.
CCOpt: -ccopt arguments to use when building.
CCLib: -cclib arguments to use when building.
DllLib: -dlllib arguments to use when building.
DllPath: -dllpath arguments to use when building.
ByteOpt: ocamlc arguments to use when building.
NativeOpt: ocamlopt arguments to use when building.
All files defined in the section are relative to
Define an OCaml library. OCaml API is generated using
ocamldoc applied to
Modules with
BuildDepends required flags.
Modules: List of modules to compile.
InternalModules: List of modules to compile which are not exported.
Pack: Set if we should build a packed library. (since OASISFormat: 0.3)
FindlibParent: Library which includes the current library. The current library will be built as its parents and installed along it.
FindlibName: Name used by findlib.
FindlibDirectory: Directory used by findlib. (require BetaFeatures: findlib_directory)
FindlibContainers: Virtual containers for sub-package, dot-separated
- Include all common fields.
require BetaFeatures: section_object
Define an OCaml object file. It is very close to a library except that an object when linked will evaluate all its toplevel statement. This may be ideal if you want to call for example an initialisation function.
Modules: List of modules to compile.
FindlibFullName: Name used by findlib.
FindlibDirectory: Directory used by findlib. (require BetaFeatures: findlib_directory)
- Include all common fields.
Define an OCaml executable. If the executable is a bytecode that use internal library, an helper script can be generated to set library path.
MainIs: OCaml file (.ml) containing main procedure for the executable. (mandatory)
Custom: Create custom bytecode executable.
- Include all common fields.
Define a generated document.
BuildTools: Tools required to compile, including internal executables.
Type: Plugin to use to build documentation.
PreCommand: Command to run before building the doc.
PostCommand: Command to run after building the doc.
Title: Title of the document. (mandatory)
Authors: Authors of the document.
Abstract: Short paragraph giving an overview of the document.
Format: Format for the document.
Index: Index or top-level file for the document, only apply to HTML and Info.
InstallDir: Default target directory to install data and documentation.
Build: Set if the section should be built.
Install: Set if the section should be distributed.
DataFiles: Comma separated list of files to be installed for run-time. (see here)
Define a test to run.
Type: Plugin to use to run test.
TestTools: Tools required to run the test, including internal executables.
Command: Command to run for the test. (mandatory)
WorkingDirectory: Directory to run the test.
PreCommand: Command to run before the test
PostCommand: Command to run after the test
Run: Enable this test.
Define VCS information. There are two special identified repositories:
- head: identify the main development repository.
- this: identify the repository at the state of the current version.
Type: VCS type. (mandatory)
Location: URL of the repository. The exact form of this field depends on the repository type. (mandatory)
Browser: URL where the repository can be navigated using a web browser.
Module: CVS requires a named module, as each CVS server can host multiple named repositories. (__mandatory__ for CVS)
Branch: Define a meaningful branch for this repository.
Tag: Identify a state corresponding to this particular package version.
Subdir: Define the relative path from the root of the repository to the top directory for the package, i.e. the directory containing the package's
Supported VCS types are: darcs, git, svn, cvs, hg, bzr, arch, monotone.
We have adopted a DEP-5 license style description.
The reason of this format is to have machine-readable license description. Using this former work, we hope to be compatible with future standards of Debian.
We have limited the number of license to:
AGPL: GNU Affero General Public License (versions 3.0, 3)
Apache: Apache license (versions 1.0, 1, 1.1, 2.0, 2)
Artistic: Artistic license (versions 1.0, 1, 2.0, 2)
BSD-2-clause: Berkeley software distribution license (2 clauses)
BSD-3-clause: Berkeley software distribution license (3 clauses)
BSD-4-clause: Berkeley software distribution license (4 clauses)
CC-BY: Creative Commons Attribution license
CC-BY-NC: Creative Commons Attribution Non-Commercial
CC-BY-NC-ND: Creative Commons Attribution Non-Commercial No Derivatives
CC-BY-NC-SA: Creative Commons Attribution Non-Commercial Share Alike
CC-BY-ND: Creative Commons Attribution No Derivatives
CC-BY-SA: Creative Commons Attribution Share Alike license
CC0: Creative Commons Universal waiver
CDDL: Common Development and Distribution License
CeCILL: CEA-CNRS-INRIA Logiciel Libre. GPL like. (versions 1, 2)
CeCILL-B: CEA-CNRS-INRIA Logiciel Libre, BSD-like
CeCILL-C: CEA-CNRS-INRIA Logiciel Libre, LGPL-like
CPL: IBM Common Public License (versions 1.0, 1)
Eiffel: The Eiffel Forum License (version 2)
Expat: The Expat license
FreeBSD: FreeBSD Project license
GFDL: GNU Free Documentation License (versions 1.1, 1.2, 1.3)
GFDL-NIV: GNU Free Documentation License, with no invariant sections (versions 1.1, 1.2, 1.3)
GPL: GNU General Public License (versions 1.0, 1, 2.0, 2, 3.0, 3)
ISC: Internet Software Consortium's license. Sometimes also known as the OpenBSD License.
LGPL: GNU Lesser General Public License. GNU Library General Public License for versions lower than 2.1 (versions 2.0, 2, 2.1, 3.0, 3)
LPPL: LaTeX Project Public License (version 1.3c)
MIT: MIT License
MPL: Mozilla Public License (versions 1.0, 1, 1.1)
PD: Public domain. This is not a true license.
Perl: Perl license. Equates to GPL-1+ or Artistic-1.
PROP: Proprietary license, all rights reserved
PSF: Python Software Foundation license (version 2)
QPL: Q Public License (versions 1.0, 1)
W3C-Software: W3C Software License (version 20021231)
WTFPL: Do What The F*ck You Want To Public License
ZLIB: zlib/libpng license (version 1.2.2)
Zope: Zope Public License (versions 1.0, 1, 2.0, 2, 2.1)
- or an URL describing the license
And license exception to:
OCaml linkingcompatible with LGPL: Add an exception to allow static compilation without license propagation. Without this clause, compiling against an OCaml library force license propagation. The LGPL is equal to GPL without this exception.
- or an URL describing the license exception
You can specify a license version using a dash and only digits or dashes at the end of the license short name.
Examples :
LGPL-2.1 with OCaml linking exception: LGPL v2.1 with OCaml linking exception
GPL-2+: GPL v2 or later
Data files
DataFiles fields help to install extra data inside
$datadir/$pkg_name. This field is a comma separated list of file, with optional value inside parenthesis. You can override target directory using
fn ($datadir/other_location).
You can use wildcard
* but only for a filename and followed by a single dot extension:
dir/*.html is valid but
dir/* and
dir/*.tar.gz are not valid.
Substitution inside text
Substitution is performed using Buffer.add_substitute.
Variable are evaluated using environment. This is a mix of various data coming from
_oasis file,
ocamlc -config output and configure tests. So environment variables depends of each project. You can have a precise idea of what variables is available looking at the file
Here is a list of standard variables:
pkg_name: Package name
pkg_version: Package version
flexdll_version: FlexDLL version (Win32)
prefix: Install architecture-independent files dir
exec_prefix: Install architecture-dependent files in dir
bindir: User executables
sbindir: System admin executables
libexecdir: Program executables
sysconfdir: Read-only single-machine data
sharedstatedir: Modifiable architecture-independent data
localstatedir: Modifiable single-machine data
libdir: Object code libraries
datarootdir: Read-only arch-independent data root
datadir: Read-only architecture-independent data
infodir: Info documentation
localedir: Locale-dependent data
mandir: Man documentation
docdir: Documentation root
htmldir: HTML documentation
dvidir: DVI documentation
pdfdir: PDF documentation
psdir: PS documentation
destdir: Prepend a path when installing package
rm: Remove a file.
rmdir: Remove a directory.
debug: Turn ocaml debug flag on
profile: Turn ocaml profile flag on
native_dynlink: Compiler support generation of .cmxs.
ocamlbuildflags: OCamlbuild additional flags
Other variables are defined depending on your
_oasis file:
- Variables from BuildDepends:
pkg_and the name of the findlib package. It points to the directory containing the package. If there is a version constraint, it is also translated to a variable. It contains a boolean value to know if the version is ok or not. Internal findlib packages don't create variables. Example:
BuildDepends: oUnit (>= 1.0.3)becomes two variables
pkg_oUnit = /usr/lib/ocaml/ounitand
pkg_oUnit_ge_1_0_3 = true.
- Variables from external BuildTools: the variable is the name given in the field and its value the filename of the executable. Example:
BuildTools: makebecomes
make = /usr/bin/make.
- Dynamic variables from internal BuildTools: the variable is the name of the Executable section and its value the filename of the executable. Example:
Executable ocamlmodbecomes
ocamlmod = _build/src/tools/ocamlmod. These variables are set through
setup.lograther than
setup.data. They are set only when the corresponding files is built.
It is also possible to apply transformation through functions. This is useful when you need to use properties that need to be determined at runtime:
utoh: convert an Unix filename into a host filename (e.g. UNIX -> Win32 conversion).
ocaml_escaped: call to
For example
$(utoh src/test.ml) will be replaced by
src\test.ml on Windows.
Customization of generated files
When OASIS generates file, it always replace only lines between
OASIS_START and
OASIS_STOP. These keywords are commented and followed by data to check that content is unchanged.
If the file doesn't exist, OASIS will create the whole file using default header and footer.
If OASIS detects a change inside the section being replaced, it will create a backup of the file and issue a warning.
Customization of setup.ml
setup.ml as any generated files can be customized in its header and footer. Moreover it can be customized through hook in the code directly.
TODO: explains hook.
Using OASIS during software development
_oasis becomes a central place of information about the building process, it can be quite cumbersome to run again and again
oasis. You can avoid it using the
-dev flags when calling
oasis for the first time. This way it will rebuilt very dependents build files each time you call
ocaml setup.ml. A
setup.ml built this way, should not be distributed. This intended for development purpose only.
OASIS is basically built around plugins. They are used to define specific behavior for generating files and including their own code in
There are 6 categories of plugin:
- Conf: apply to configure step, used in the field
- Build: apply to build stepi, used in the field
- Test: apply to test sections, used in the field
Typeof a test
- Doc: apply to documentation sections, used in the field
Typeof a document
- Install: apply to install and uninstall steps, used in the field
- Extra: everything else, used in the field
Plugin Custom (build, doc, conf, install, test)
Version: 0.4
This plugin allow to define a set of three commands to perform each steps, associated with the following fields:
XCustomXXX: main action to run.
XCustomXXXClean: action to run when clean is invoked.
XCustomXXXDistclean: action to run when distclean is invoked.
XXX stands for
Install or
Action to run is a simple shell command. It can contain substitution variables as defined in [this section][#substitution].
Package fields:
XCustomConf: Run command to configure. (mandatory)
XCustomConfClean: Run command to clean configure step.
XCustomConfDistclean: Run command to distclean configure step.
XCustomBuild: Run command to build. (mandatory)
XCustomBuildClean: Run command to clean build step.
XCustomBuildDistclean: Run command to distclean build step.
XCustomInstall: Run command to install. (mandatory)
XCustomInstallClean: Run command to clean install step.
XCustomInstallDistclean: Run command to distclean install step.
XCustomUninstall: Run command to uninstall. (mandatory)
XCustomUninstallClean: Run command to clean uninstall step.
XCustomUninstallDistclean: Run command to distclean uninstall step.
Document fields:
XCustom: Run command to build documentation. (mandatory)
XCustomClean: Run command to clean build documentation step.
XCustomDistclean: Run command to distclean build documentation step.
Test fields:
XCustomClean: Run command to clean test step.
XCustomDistclean: Run command to distclean test step.
The file
setup.data remains mandatory, even when using the custom plugin. You must create it. A simple
touch setup.data; ./configure should be enough, though.
Plugin OMake (build, install, doc)
Version: 0.4
This plugin uses OMake to generate a build system. You need to specify
OMake for the
It is also possible to use this plugin for
Document.Type and as a
Package fields:
XOMakeExtraArgs: Gives extra arguments to omake
Document fields:
XOMakePath: Top level directory for building ocamldoc documentation
XOMakeModules: List of OCaml modules used to generate ocamldoc documentation
XOMakeTexts: List of text modules used to generate ocamldoc documentation
XOMakeLibraries: Findlib names of internal libraries used to generate the ocamldoc documentation
XOMakeIntro: OCamldoc formatted file used to generate index.html of the ocamldoc documentation
XOMakeFlags: OCamldoc flags
XOMakeExtraArgs: Gives extra arguments to omake
Plugin None (build, doc, test, install, conf)
Version: 0.4
This plugin basically does nothing. It helps to replace mandatory step by nothing.
Plugin OCamlbuild (doc, build)
Version: 0.4
This plugin uses OCamlbuild to generate a build system. It is the default value for
It is also possible to use this plugin for
Document.Type which is the default. In this case, OCamlbuild will also be involved in the generation of a particular document.
Package fields:
XOCamlbuildPluginTags: Gives the plugin tags to ocambuild through '-plugin-tags' (OCaml >= 4.01 only) (require AlphaFeatures: ocamlbuild_more_args)
XOCamlbuildExtraArgs: Gives extra arguments to ocamlbuild (require AlphaFeatures: ocamlbuild_more_args)
Document fields:
XOCamlbuildPath: Top level directory for building ocamldoc documentation (mandatory)
XOCamlbuildModules: List of OCaml modules used to generate ocamldoc documentation
XOCamlbuildLibraries: Findlib names of internal libraries used to generate the ocamldoc documentation
XOCamlbuildPluginTags: Gives the plugin tags to ocambuild through '-plugin-tags' (OCaml >= 4.01 only) (require AlphaFeatures: ocamlbuild_more_args)
XOCamlbuildExtraArgs: Gives extra arguments to ocamlbuild (require AlphaFeatures: ocamlbuild_more_args)
Plugin Internal (conf, install)
Version: 0.4
This plugin is the default value for the
ConfType and
InstallType. It represents a default behavior for configuring and installing OCaml project.
The configure part take care of checking:
- Tools availability (ocamlfind, ocamlc et al)
- OCaml version
- Findlib packages
The install part take care of installing executables, libraries and data files using standard environment variable (
$datadir et al).
Plugin META (extra)
Version: 0.4
This plugin is an helper to generate a
META files that can be distributed and install with a library. It uses library name, version, synopsis and dependencies to generate matching fields in
Library fields:
XMETAEnable: Enable META generation
XMETADescription: META package description
XMETAType: Type of META package, set default predicates for archive
XMETAExtraLines: Extra lines to add to the META (since OASISFormat: 0.3)
XMETARequires: Requires field for META package
Plugin StdFiles (extra)
Version: 0.4
This plugin generates standard files like
INSTALL.txt and
AUTHORS.txt. These files will summarize data contains in
.txt extension has been added to allow easy editing/viewing under Windows and other system that look for extension to determine file type.
Package fields:
XStdFilesREADME: Enable README file generation.
XStdFilesREADMEFilename: Real filename to use for file README.
XStdFilesINSTALL: Enable INSTALL file generation.
XStdFilesINSTALLFilename: Real filename to use for file INSTALL.
XStdFilesAUTHORS: Enable AUTHORS file generation.
XStdFilesAUTHORSFilename: Real filename to use for file AUTHORS.
Plugin DevFiles (extra)
Version: 0.4
It helps to generate a toplevel
Makefile and
configure files which only invoke
setup.ml. It aims to provide good old entry points.
Package fields:
XDevFilesMakefileNoTargets: Targets to disable when generating Makefile
XDevFilesEnableMakefile: Generate Makefile
XDevFilesEnableConfigure: Generate configure script
Building and installing
The file
setup.ml is the base system to run every targets. It contains a self contained OCaml script, that only depends on OCaml standard installation that doesn't require using stublibs (no Str or Unix). This constraint is required to be fully portable even on system that doesn't support dynamic loading.
The file
setup.data is the result of the configure step and contains data that can be used for other step. It is removed only in
distclean target. The format of this file is on variable and values per line:
var="value". The value is an OCaml string. The file in this form can be read by
make and
sh. Once generated this file should not be modified.
The file
setup.log contains a list of action done and is used and updated by action done and cancel (e.g. action
install log files installed which action
uninstall remove).
ocaml setup.ml -configure
This is the first step to perform. It is mandatory. It runs various test of the build environment to check that everything required is installed.
ocaml setup.ml -build
This step is mandatory. Build libraries and executables.
ocaml setup.ml -test
This step is optional. Run defined test. Need the build step before.
ocaml setup.ml -doc
This step is optional. It builds API documentation for library and extra documentation as defined in
ocaml setup.ml -install
This step is mandatory. Install what has been built in build and doc step. Also install data files as defined in
DataFiles fields.
ocaml setup.ml -uninstall
This step is optional. Remove files and libraries installed.
ocaml setup.ml -reinstall
This step is optional. Perform an uninstall and then an install step.
ocaml setup.ml -clean
This step is optional. Clean generated files during build and doc steps.
ocaml setup.ml -distclean
This step is optional. Try to go back to pristine source state.
ocaml setup.ml -all
This step is optional. Run configure, build, test and doc step in one run.
OASIS usage
Command line
OASIS v0.4.10~HEAD (C) 2009-2014 OCamlCore SARL, Sylvain Le Gall
oasis [global-options*] subcommand [subcommand-options*]
Environment variables:
OASIS_PAGER: pager to use to display long textual output.
Global command line options:
This program allows to manipulate OASIS enabled package, i.e. package that contains an
_oasis file. It is made of several subcommands that provide features around this file. Some subcommands require the installation of third party plugins.
You need to specify a subcommand as defined in the following above.
Run quietly
Display information message
Output debug message
Ignore plugin's field.
-C dir
Change directory before running (affects setup.{data,log}).
Display this list of options
Available subcommands:
Check an _oasis file
Display help for a subcommand
Display user manual
Query an _oasis file
Launch an helper to write
Translate _oasis into a build system
Clean all template files from their content
Display the version of the OASIS program running
Subcommand check
This subcommand load an
_oasis file and apply standard checks.
Usage: oasis [global-options*] check [options*]
-oasis fn
- _oasis file to use.
Subcommand help
This subcommand display help of other subcommands or of all subcommands.
Usage: oasis [global-options*] help [subcommand|all]
Subcommand manual
This subcommand print the manual of OASIS. It uses the markdown syntax to print it and more precisely the pandoc extension of this syntax.
This manual describes the command line tool
oasis, the
_oasis file format and the generated
setup.ml file.
Usage: oasis [global-options*] manual [options*]
-o fn
- Output manual to filename.
Subcommand query
This subcommand load an
_oasis file and search its content for information.
The query string follow this convention:
ListSections: return all the section found
ListFields: return all the fields, it recurses through sections
- field: search for this field in the toplevel
- section.field: search for this field in the section
Query examples:
- version: return the version
- executable("test").install: return the field "install" of the executable "test".
You can use multiple queries, they will be executed in order.
Usage: oasis [global-options*] query [options*] query*
-oasis fn
_oasis file to use.
-separator str
String to add between answers.
Subcommand quickstart
This subcommand is an helper to write
_oasis file. It asks a serie of questions to create an initial
_oasis file. The questions depend on the level of the user, you can set this level with the
-level command line option.
At the end of the process, you have the possibility to edit, to display or to write the generated file.
Usage: oasis [global-options*] quickstart [options*]
-oasis fn
_oasis file to use.
-level {beginner|intermediate|expert}
Quickstart level, skip questions according to this level.
Computer readable questions for automatic completion.
Use the real 'oasis' executable filename when generating setup.ml.
-setup-update {none|weak|dynamic}
Define the way
setup.mlshould update when
Don't generate compatibility layer in
Subcommand setup
This is the main subcommand of
oasis, it compiles the
_oasis file into a self contained
setup.ml. The generated file handle the various step to configure, build and install your project.
This command can generate 3 differents kind of
setup.ml, depending on the
-setup-update command line argument:
- none: the default mode, it generates a standalone
- dynamic: a strong dependency on the library oasis but it generates a very small
setup.mland almost no extra files that can be autogenerated.
- weak: only triggered to regenerate setup.ml and all files when something change in
_oasis. It has a weak dependency on the executable oasis, because it only needs it when
_oasisis changed. The update behavior of
setup.mlcan be disabled if it is called with
ocaml setup.ml -no-update-setup-ml [...].
If you want contributor to checkout your VCS and be able to work without oasis installed, prefer the 'weak' mode. If you want to avoid VCS history pollution, use the 'dynamic' mode. Always distribute tarball with mode 'none'
Usage: oasis [global-options*] setup [options*]
-oasis fn
_oasis file to use.
Use the real 'oasis' executable filename when generating setup.ml.
-setup-update {none|weak|dynamic}
Define the way
setup.mlshould update when
Don't generate compatibility layer in
Subcommand setup-clean
This subcommand go through every generated files and remove the replaceable part in it. It also tries to clean backup files made by a failed SetupDev subcommand invocation.
The replaceable part of a generated file is everything between
OASIS_START and
Usage: oasis [global-options*] setup-clean [options*]
-oasis fn
_oasis file to use.
-replace-sections Empty
replace section in generated files (i.e. remove content between OASIS_START and OASIS_STOP).
-remove Empty
remove files which have unaltered header and footer.
Subcommand version
Display version of the oasis executable.
Usage: oasis [global-options*] version


text:
We'd put money on the fact that HTC will unveil its first tablet product at Mobile World Congress 2011 next month, but will it be the HTC Scribe or the HTC Flyer?
When the Taiwainese firm applied for a trademark application for a tablet computer named the HTC Scribe, it seemed likely that this would be the first HTC tablet.
However, Digitimes quotes "sources at handset component suppliers" who name the slate as the HTC Flyer.
Honey, I blew up the Desire
Looking like a blown-up HTC Desire, the 7-inch tablet described by these sources is set to hit the USA in March running Android 2.3 and an update to Android 3.0 (Honeycomb) is more than likely in the following months.
Other markets look set to get the HTC Flyer a little later, indicating that the UK release date will be some time in Q2.
The release dates are intended to push sales ahead of the launches of the BlackBerry PlayBook and Motorola Xoom; there is certainly some stiff tablet competition ahead.
The mysterious sources also added that there are two more tablets in the works from HTC, slated for a June release with Android 3.0 on board from day one.

subset: commoncrawl


text:
The goal of the City of Austin Parking Enterprise Division is to make parking convenient and user-friendly throughout the City.
Parking Enterprise manages on-street parking to balance the needs for residents, businesses and visitors to our city, while promoting compliance with all City parking ordinances. This includes parking meters, parking enforcement, commercial vehicle loading zones, residential parking permits, musician loading zones and permits, car share parking, valet permit and parking, and more.
In addition, this division regulates all ground transportation service providers such as taxicab, limousine, charter, shuttle, airport shuttle, pedicab and horse-drawn carriage companies, assuring that both the companies and the drivers comply with City Codes.
The Austin Transportation Department does not manage private off-street parking lots and garages.
Parking Resources
Please click on the programs listed at the left of the page to read more about Parking Enterprise initiatves.
Phone: 512-974-1563
Physical Address:
1111 Rio Grande Street Austin, 78701
See Map
Get There from Here
Towards a Best Managed City
Connect With Us


text:
All the other topics about coffee that dont fit any where else.
A common question is "how should I store my roasted coffee?". This section of the forum will help answer that.
Question about storing coffee...
1st September 2019
Use this control to limit the display of threads to those newer than the specified time frame.
Allows you to choose the data by which the thread list will be sorted.
Order threads in...
Note: when sorting by date, 'descending order' will show the newest results first.
Forum Rules


text:
Surrounded by his large family, Canada's longest-serving current premier thanked the Ontario Liberals for sticking by him through the good and bad, the years in opposition to their third straight election victory in 2011 — a feat the party had not accomplished in more than a century.
"You and I are now family," he told a packed Toronto convention hall on Friday night.
"But don't expect me to remember your birthdays," he joked. "Just what a McGuinty needs — more family."
Family was a common refrain in his speech, the final act in an hour-long, humorous tribute hosted by his daughter Carleen and son Dalton Jr., filled with home movies of the massive McGuinty clan over the years.
The "Premier Dad" moniker actually came from the man himself, his son said, not from reporters remarking on penchant for bans on pitbulls to pesticides.
During a particularly frustrating round of golf shortly after becoming premier, Darlon Jr. told his father that he'd reached his limit on do-overs.
McGuinty kept his cool, Dalton Jr. recalled.
"And he said, 'As long as I'm paying for everyone's golf, I think I'll take as many mulligans as I like. And by the way, that's Premier Dad to you.'"
When McGuinty later took the podium, he delivered a heartfelt thanks to his family and wife Terri, an elementary school teacher who raised four young children in Ottawa as the wife of a rookie MPP.
"You gave me the strength I needed by making our home a place where premiers and politics count for nothing, but where being a dad and a husband counted for everything," he said.
Growing up in Ottawa as the eldest son in a large Catholic family, he helped his busy parents care for his nine younger siblings. He worked odd jobs through high school to help out, from hospital orderly to a counsellor at his father's summer camp.
As premier, McGuinty would often draw from his childhood to impart a political lesson about the responsibilities of leadership.
He did so again Friday night, saying his desire to "to do good for others" was a result of the good things his parents did for him through hard work and sacrifice.
He jumped into politics 22 years ago after his father Dalton Sr., an English professor and provincial politician, died suddenly while shovelling snow.
"My only regret is that my dad never saw me enter public life," McGuinty said.
Love for their children and families is what drives people to want to build a brighter future for the province, from better schools and health care, cleaner air, new jobs and a better trained workforce, he said.
It is "exacting, imperfect work," McGuinty said.
"We can be proud we got the big things right while seeing with clear eyes there's still much more to do."
McGuinty delivered his swan song at the former Maple Leaf Gardens, the same spot where he managed an upset victory to become leader of the party despite finishing fourth in the first two ballots.
His uncanny ability to beat the odds became a common theme for the so-called "accidental premier" over the course of his career.
When he first arrived at the Ontario legislature in 1990, the awkward lawyer was a far cry from the polished politician he is today. It took seven gruelling years in opposition — and one election defeat — before McGuinty led the Liberals to victory in 2003.
Along the way, he honed a political style that saw the governing party through many of the obstacles they faced over the last nine years.
"Never too high, never too low" was McGuinty's mantra, an extension of his straight-laced, father-knows-best image.
Time and time again, people told him that it couldn't be done — that he couldn't win a seat as a Liberal, that he couldn't win the leadership, that he couldn't win the election, he once remarked. Yet he managed to do all three.
But he surprised everyone in October, when he decided to step down amid a series of scandals that seemed insurmountable, even for him.
He'd alienated a powerful ally he'd courted for years — Ontario's public school teachers — by forcing a pay freeze to reduce the province's massive deficit. The unions declared war, vowing to withdraw their financial support and use their organizational might to defeat the self-described "education premier" in the next election.
They made good on their threat in a Sept. 6 byelection McGuinty orchestrated in an effort to win the one seat he needed to regain a majority government, putting boots on the ground in Kitchener-Waterloo to elect a New Democrat for the first time in the riding's history.
Adding to his troubles was a rare contempt motion over the cancellation of two gas plants in Liberal ridings — at a cost to taxpayers of at least $230 million — and a criminal probe of the province's Ornge air ambulance service.
By tendering his resignation and shutting down the legislature, the 57-year-old premier bought time for his party to elect a new leader, mend its relationship with the unions and wipe the slate clean on the contempt motion.
McGuinty has defended his record, pointing out that he's leaving the province with better schools and health care, and an economy that's starting to get back on its feet.
But what McGuinty called progress also carried a heavy price, as government spending more than doubled and the red ink began to flow.
McGuinty has left a very strong legacy, said former Liberal premier David Peterson. He got the province's biggest responsibilities — health care, education and the economy — right.
"He's faced enormous challenges," he said. "He's survived in a very volatile period. He's brought a decency to public life."
"Yeah, there are barnacles on the ship of state, but there are barnacles on anybody's ship of state."
McGuinty has said he plans to stay on as the MPP for Ottawa-South until the next election, but hasn't given much thought to what he might do next.
As for how he will be remembered, McGuinty said he'll leave it to others to decide, that he's simply grateful for having the opportunity to serve his province.
Whether the embattled Liberals can beat the odds once again without their longtime leader is another chapter for the history books that has yet to be written.
Also on HuffPost


text:
GCH CH Alpenspirit Just In Time
John Ramirez had the judges book at Saturday's Ashtabula Kennel Club show in Madison OH. He chose his top two from the German Wirehaired Pointer, GCH CH Mt View's Ripsnorter Silver Charm, the Rhodesian Ridgeback, GCH CH Zareba's Baddest Bess, the Bernese Mountain Dog, GCH CH Alpenspirit Just In Time, the Miniature Schnauzer, GCH CH Allaruth just Kidding v Sole Bay, the Shih Tzu, GCH CH Hallmark Jolei Bells Will Be Ringing, the Bichon Frise, GCH CH Vogelflight's Taywyn Tarragon , and the Old English Sheepdog, GCH CH Aryakas Hermes.
GCH CH Allaruth just Kidding v Sole Bay
Finishing one/two were two dogs named Justin, the Bernese and the Schnauzer. It was the first BIS this year for the five year old Bernese. Congrautlations to breeder/owner Mylene Turbide, owner Steven Singleton, and handler Karen Mammano.


text:
Advanced Search
Subscribe Now
Learn what workstations are right for your situation. This podcast includes discussion about innovations in workstations, and criteria to use when evaluating your needs.
File Type: Streaming Flash Player; Duration: 15:09
Listen Now
Sponsored By GovConnection
In this podcast, Rajeev Arora, vice president of marketing and strategy for Blackboard Collaborate, explains how Blackboard Collaborate can help higher learning institutions tackle Web conferencing, voice authoring and instant messaging, and how the solution helps colleges and universities stretch IT budgets farther than ever before.
File Type: Download MP3 Duration: 08:27 File Size: 7.7 MB
Sponsored By Blackboard Collaborate
Learn how you can let users bring personal devices to work without risking data security.
File Type: Streaming MP3
Duration: 13:44
Bob Fascina, Partner Development Manager, Unified Computing, Cisco Systems, will be discussing a unified approach to server consolidation and data center architecture that can help you avoid VM Sprawl, simplify your data center infrastructure, and make it easier for you to manage & support the evolving needs of your organization.
File Type: MP3 File Size: 440 KB Duration: 6 Pages
Jake Smith of Intel discusses how Cisco and Intel worked together to accelerate data center virtualization.
Sponsored By Intel, Cisco Systems, Inc.
Chris Peters, from Intel, discusses some of the energy efficiency and performance features of their new Intel Xeon 5000 Series processors and how they relate to the Cisco UCS.


text:
KANSAS CITY, Kan. - The last of the unbeaten, Wichita State has just three games remaining before it enters the Missouri Valley tournament - three games left in its regular-season pursuit of perfection.
The question worth pondering: Would it behoove the Shockers to lose one?
They're trying to become the first team since Saint Joseph's in 2004 to enter their conference tournament unbeaten, and the first team to make the NCAA tournament without a loss since UNLV in 1991. Neither of those teams went on to win the national championship.
That hasn't happened since Indiana finished off a perfect season in 1976, of course - a sign of just how difficult it is to deal with the mounting pressure of flawlessness.
And that's why some coaches harbor this most unnatural of feelings: They would just as soon lose a game that ultimately doesn't matter so that they can learn from their mistakes, hit refresh on the season and enter the win-or-go-home sweepstakes with one less distraction.
Yes, coaches programmed to win at nearly any cost might actually relish a loss.
"I think it's hard for teams to be great unless they go through some crap," said Kansas coach Bill Self, whose Jayhawks started 20-0 when they won the 2008 national championship.
Kansas lost to Oklahoma State five games before the Big 12 tournament, which it ultimately won with ease. That gave the Jayhawks plenty of momentum - without the attention of a long winning streak - to ultimately knock off Memphis in the national title game.
If he was in Wichita State's situation, Self said, "I'd coach to win every game as hard as possible, but I would really enjoy any adversity that's thrown my way while trying to do it."
The Shockers (28-0) have certainly faced adversity.
They trailed by 19 in the second half against Missouri State, the final team left on Wichita State's regular-season schedule, before rallying for an overtime win. In fact, the Shockers have trailed at halftime regularly this season, only to scrape their way to victories.
"They're very level-headed, mature," said Wichita State coach Gregg Marshall, offering an explanation for how they've managed to do it. "They just go out and take care of their business."
Sounds simple, right? It's much harder in practice.
In the last 10 years, every team that's won a national championship has either lost in its conference tournament or within the final eight games of their regular season slate. That includes Louisville, which lost to Notre Dame late last season before winning the Big East title, and Kentucky, which two years ago had won 24 straight games before getting tripped up by Vanderbilt in the SEC championship game.
In 2011, UConn lost seven of its final 11 regular-season games, putting its NCAA tournament hopes in jeopardy. The Huskies wound up winning five games in five days to capture the Big East title, and then kept that momentum going all the way to the national title.
One coach who subscribes to the reset theory is Kansas State coach Bruce Weber, who led Illinois to a 29-0 start in 2005. The Illini lost to Ohio State in their final game before the Big Ten tournament, won that title with ease, and then marched to the national finals, where they fell to North Carolina in a 75-70 nail-biter.
"It was good for us to lose to Ohio State," Weber recalled. "We got to go and focus on what we wanted to do, and that's get to the Final Four. There wasn't the talk about perfection."
Not every coach believes there are merits to losing.
Syracuse coach Jim Boeheim, whose top-ranked Orange won their first 25 games, bristled after their first loss this week when asked whether it was a "wake-up call."
"Players are wide awake. That's bull," Boeheim said after the loss to Boston College, adding: "There's no pressure. There's pressure if you don't have enough wins. That's pressure."
Still, the Orange can now turn their attention to their national title pursuit, rather than juggling that with answering questions about their pursuit of perfection.
"Usually you lose a game after five or 10 or 15 and you have to make adjustments," Boeheim said. "Now we've lost a game and we have to see how we react to that."
It's a good question - one that Wichita State hasn't had to ask yet this season.


text:
SPORTMIX Maintainance Adult Mini Chunk 21/12 is formulated for adult dogs who require a lower level of energy and protein due to their activity level or living environment. The selected high quality ingredients used in SPORTMiX® Maintenance provide digestibility and energy without the use of extra protein. This special balance of protein, fats, vitamins and minerals promotes strong muscles and bones and glossy coat and delivers a taste that dogs love.
Email about quantity discounts and $5.00 route deliveries in certain areas of Kansas, Nebraska, Missouri, Oklahoma, and Texas. For larger amounts Pet and Kennel Supply Direct Ship Program offers delivery in 15 Midwestern states for as little as $45.00.
Protein: 21% Fat: 12%
Calories: 499 kilo-calories per cup
Available in 50 lb bags.


text:
2014 MAME machines
It's been four years since I sold the last of my coin-op video game collection, including the first MAME machines I put together. In that time I took a well needed break from everything coin-op but slowly and surely I started to miss the nostalgia that classic video games brought me, and started to think about building new MAME machines.
I ordered the arcade cabinets in May of 2013 from Mike's Arcade and by November started to assemble them. It wasn't easy and nothing worth doing is easy. I got them the way I wanted by February of this year.
Like the first time, I built two machines, one is dedicated to vertical games and the other dedicated to horizontal games. I don't like control panels that are stuffed with different controls to play every game under the sun, so I decided on joysticks and buttons only.
This time around I was able to achieve my ideal level of emulation thanks to fine tuning the mame.ini settings and using LCD monitors instead of CRTs. I realize LCDs didn't exist thirty years ago but I love the pixel perfection I get with them.
The full specs for each machine:
- Mike's Arcade custom fabricated mini Midway cabinet
- Ultimarc Mag-stik Plus 4-8 way switchable joystick
- Happs Control push buttons
- Ultimarc I-PAC2 keyboard encoder
- Dell P1914S 19" LCD monitor (5:4 aspect ratio)
- Pioneer TS-A1072R 4" 3-Way 150 watt round speakers (x2)
- Cyber Acoustics CA-3602a subwoofer satellite system
- Intel Celeron G1610 2.6GHz LGA 1155 CPU
- ASUS P8Z77-M motherboard
- Ultimarc ArcadeVGA 3000 video card
- Samsung 840 Pro SS 128GB hard drive
- Crucial Tech. 4GB DDR3 RAM memory
- Adesso AKB-110B EasyTouch mini USB keyboard
- Bits Limited SCG3 smart power strip
- Antec VP-450 450 watt power supply
- Rosewill FBM-01 microATX mini tower case
- Windows 7 32bit OS
- Mame v.120 and MameWah v.162
- Game On Graphix Mame artwork


text:
Select a City
Thief River Falls, MN
Best Parks and Camping around Thief River Falls, MN
Add an Organization
Bemidji KOA
510 Brightstar Road NW
Bemidji, MN
Read More »
Big Bog State Recreation Area
55716 Highway 72
Waskish, MN
Big Bog State Recreation Area has been called Minnesota's last true wilderness. This two-part recreation area includes a northern unit and a s...
Read More »
Big Stone Island Nature Area
13672 Hartford Beach Road
Corona, SD
An 1823 expedition led by Major Stephan Long and geologist William Keating explored the Big Stone Lake region. Shortly after entering present-day S...
Read More »
Featured Yelp Deals for
Thief River Falls
Thief River Falls Top Searches
Car Dealers
Hotels and Lodging
Big Stone Lake State Park
35889 Meadowbrook State Park Road
Ortonville, MN
Big Stone Lake is 26 miles long and is located on the South Dakota-Minnesota border. The lake is the source of the Minnesota River and attract...
Read More »
Black Tiger Bay State Recreation Area
152 S. Duncan Road
Devils Lake, ND
This boat access area has two single-lane boat ramps and a large parking area for boat trailers. No overnight camping is permitted.
Read More »
Black Tiger Bay State Recreation Area
7 miles east of Devils Lake on Highway 2, then 5 miles south and 3 miles west
Devils Lake, ND
History:Black Tiger Bay is part of Devils Lake, the biggest natural lake found in North Dakota. Many legends have surrounded the lake since the tim...
Read More »
Brandt Crossing
5009 33rd Avenue South
Fargo, ND
Brant Crossing has basketball, a dog park, a playground, recreational trails, and a shelter. Bring your dog to get some exercise and socializ...
Read More »
Breckenridge Skating Rink Area
5th Street & Beede Avenue
Breckenridge, MN
Read More »
Buffalo River State Park
565 155th Street South
Glyndon, MN
About Prairie lovers, this park is for you. Trails wind through one of Minnesota's finest and largest remnant prairies. Listen for bobolinks,...
Read More »
Charles A. Lindbergh State Park
1615 Lindbergh Drive South
Little Falls, MN
Located on the Mississippi River, Charles A. Lindbergh State Park offers visitors a wooded campground, hiking and skiing trails, and a quaint ...
Read More »
Crow Wing State Park
3124 State Park Road
Brainerd, MN
Explore prairie, pine, and hardwood forests. View the Mississippi River from historic and picturesque "Chippewa Lookout." Novice canoeists can padd...
Read More »
Cuyuna Country State Recreation Area
307 3rd Street
Ironton, MN
Abandoned by mining companies more than 30 years ago, this area of former mining pits and rock deposit stockpiles now boasts regenerated veget...
Read More »
Fargo Park District
701 Main Avenue
Fargo, ND
It is the mission of the Fargo Park District to provide quality recreational and leisure services at an affordable price to improve the quality of ...
Read More »
Fort Ransom State Park
5981 Walt Hjelle Parkway
Fort Ransom, ND
History:The snap and creak of harnesses, the precision of furrows newly turned in the earth, the rich smell of food being prepared for harvest crew...
Read More »
Fort Sisseton Historic State Park
11907 434th Avenue
Lake City, SD
Named after the nearby Sisseton Indian Tribe, this historic fort is now a picturesque state park that unfolds the area's past. Walk the groun...
Read More »
Franz Jevne State Park
State Highway 11
Birchdale, MN
Secluded and peaceful, this park offers picturesque views of Ontario and the Rainy River. Short paths and a boat launch offer access to the r...
Read More »
Garden Island State Recreation Area
3684 - 54th Ave. NW
Williams, MN
Remote and virtually undeveloped, Garden Island State Recreation Area is the northernmost unit of the Minnesota State Park system. Part of its attr...
Read More »
Glacial Lakes State Park
25022 County Road 41
Starbuck, MN
Stand on top of the scenic glacial hills and experience the vast, open prairie which once dominated Minnesota. Wildflowers and prairie grasses...
Read More »
Glendalough State Park
25287 Whitetail Lane
Battle Lake, MN
Nestled in the transition zone between prairie and hardwood forest, Glendalough offers a true respite from civilization. Crystal clear Annie Battle...
Read More »
Grahams Island State Park
152 South Duncan Road
Devils Lake, ND
Grahams Island State Park is located on the ever-changing shores of Devils Lake. This hidden treasure is heavily wooded and surrounded by miles of ...
Read More »
Show More
More on Thief River Falls, MN
Search in a different zip code / city:


text:
Be Part of the Pride by Celebrating the San Diego Zoo's 100th Year
A Centennial Celebration
Waterfalls cascading over rocks into pools below, the sun peeking through thick foliage, faint sounds of birds chirping and monkeys laughing in the distance… It's easy to forget for a moment that you're not actually strolling through the jungle! And that is the beauty of the world-famous San Diego Zoo: it connects people closely with animals in the most natural way possible. The San Diego Zoo, operated by San Diego Zoo Global, has been a pioneer in the zoological sphere since its inception in 1916, from being among the first in the world to build innovative open-air grotto exhibits to making key contributions to medical research, natural science, and wildlife conservation.
This year the zoo celebrates its centennial anniversary – 100 years of trials and triumphs, fun memories, and, of course, lots of fascinating animals! With over 3,500 rare and endangered animals, more than 650 species and subspecies, and over 700,000 exotic plants living on the 100-acre property, the zoo is dedicated to preserving wildlife as one of the world's leading global conservation organizations. Some have even referred to the zoo as a living outdoor classroom, educating children and adults alike about the natural world. So for the remainder of the year, join us in celebrating the extraordinary people and animals who have made this beloved San Diego icon what it is today.
Inspired by the San Diego Zoo's centennial celebration, five Balboa Park institutions are collaborating to bring you a variety of animal-themed exhibits.
Museum of Photographic Arts
Beauty and the Beast: The Animal in Photography
Through Sept. 25
The San Diego History Center
The Lore Behind the Roar! 100 Years of the San Diego Zoo
Through Dec. 31
San Diego Museum of Art
Ferocious Bronze: The Animal Sculptures of Arthur Putnam
Through Oct. 11
San Diego Natural History Museum
Whales: Giants of the Deep
Through Sept. 6
The Machine Inside: Biomechanics
Oct. 8 – Jan. 1, 2017
Jan Brueghel the Elder: The Entry Of The Animals Into Noah's Ark
Sept. 23 – Dec. 13
San Diego Zoo
2920 Zoo Dr., San Diego, CA 92101


text:
Standard aplastic anemia therapy improves patient outcomes better than newer version
A comparison clinical study of two aplastic anemia treatments found that ATGAM, currently the only licensed aplastic anemia drug in the United States, improved blood cell counts and survival significantly more than did Thymoglobulin, a similar but reportedly more potent treatment. The research was funded by the National Heart, Lung, and Blood Institute (NHLBI), a part of the National Institutes of Health; the study participants were treated and then followed at the NIH Clinical Center in Bethesda, Maryland.
The study will appear in the August 4 New England Journal of Medicine.
"This important study compared the clinical effectiveness of two drugs with similar mechanisms of action. Doctors and patients need to know the most effective therapy for severe aplastic anemia, a rare life-threatening disorder," said Susan Shurin, M.D., acting director of NHLBI.
While Thymoglobulin is not licensed for aplastic anemia in the United States, it has been reported to be effective when used in patients who did not respond or who relapsed following ATGAM treatment. Thymoglobulin is the only aplastic anemia option available in Europe, Japan, and Latin America. Thus, the findings of this study have implications for management of this disorder internationally.
"This study suggests that ATGAM should remain the first-line regimen of choice in treating severe aplastic anemia," said NHLBI hematologist Phillip Scheinberg, M.D., a lead author on the study.
Aplastic anemia is a rare blood disorder, newly diagnosed in approximately 600 patients in the United States every year. Most patients are children or young adults. The disease destroys bone marrow and lowers the number of functional blood cells in the body. Bone marrow failure can lead to anemia, hemorrhage, and increased risk of infections. In its severe form, aplastic anemia is often fatal if not treated. Aplastic anemia can occur for a number of reasons, including benzene exposure, radiation, hepatitis, or an inherited defect. In most cases, the patient's own immune system destroys the marrow.
ATGAM and Thymoglobulin are drugs known as antithymocyte globulins or ATGs. They work primarily by suppressing the immune system. ATGAM is derived from the blood of horses injected with human blood cells, while Thymoglobulin is derived from the blood of similarly immunized rabbits. Thymoglobulin's past positive results in relapsed patients, plus its preferred use in other clinical situations such as kidney transplants, suggested that it might be superior to ATGAM as a first therapy for aplastic anemia.
The NIH study was designed to compare the two ATG drug types as treatments for severe aplastic anemia. The research team enrolled 120 patients from 2 to 77 years of age, who were randomly assigned to either the horse or the rabbit ATG (60 participants in each group).
Six months after starting treatment, 68 percent of patients given ATGAM had improved blood cell counts, compared to 37 percent of patients given Thymoglobulin. After three years, survival was also significantly different. Ninety-six percent of ATGAM patients survived, compared to 76 percent of Thymoglobulin patients.
"It is difficult to do head-to-head studies in rare diseases such as aplastic anemia," Scheinberg said. "Our ability to carry out this trial underscores the importance of having referral centers, such as the NIH Clinical Center, for rare diseases. We would like to recognize and honor the patients who came to Bethesda for the frequent treatments and follow-up visits. Their tremendous cooperation and participation was essential in carrying out this study."
Scheinberg added that this study also shows the need to conduct randomized clinical trials for all drugs and to not just rely on assumptions, even if they are based on seemingly solid evidence. "A stronger drug is not necessarily a better drug."
This important finding may affect the future treatment of aplastic anemia, particularly in places like Europe where ATGAM is not currently available. It may also inspire further studies that compare horse and rabbit ATG to better understand how ATG helps restore bone marrow.
Since some patients responded very well to Thymoglobulin and others responded poorly to ATGAM, future work might identify the optimal ATG treatment for specific patient subgroups.
Explore further


text:
You are about to enter a website that may contain content of an adult nature.
Hello everyone, this is Indian cam girl nnightowll here. I'm 25 year old Female speak English and Italian in the Indian live sex chat action. if u see it in me,is because it`s in u. i can t wait to have fun and meet u! let`s play, baby! I want to get naked with u!!. i enjoy doggy a lot;) is my expertise and also what I will do in Indian live sex private show. I have Black eyes, Long Black hairs and my measurements are 90-62-89. For Turn ons: seeing u ;). For TurnsOff: nothing turns me off. If you prefer kinks, then Shaved, are mine. I'm just hungry for a HARD cock, can't wait to see u in my Indian webcam sex chat room! :)
Show more models
This website contains live indian sex cams, desi cams, hindi cam and tamil sex chat related sexually explicit content.
You must be at least 18 years of age to enter this website. © Since 2012 myindiansexcams.com Indian Sex Chat Network All Rights Reserved
AllHosts1 - AllHosts2 - AllHosts3 - AllHosts4 - AllHosts5 - AllHosts6 - AllHosts7 - AllHosts8 - AllHosts9 - AllHosts10 - AllHosts11 - AllHosts12


text:
Child / Peadiatric Long Arm Cast Protector
Special Price £14.02 Regular Price £16.49
In stock
Child / Peadiatric Long Arm Cast Protector
These comfortable waterproof protectors simply slip over the cast or dressing to protect them when taking a bath or shower.
Full protection to just below the shoulder. Includes shaped thumb for hand.
- Non-latex reusable design
- Rigid fitting ring for easy application using one hand
- Flexible watertight sealing diaphragm
- Recommended by Doctors for showering and bathing
- With normal care this products lasts 8 - 12 weeks.
- Seal held in rigid ring to allow easy application and removal
- Length: 56cm (22")
- Ring diameter: 18cm (7")
Important Saftey Notes:
- Pro Seal is designed for therapeutic care and daily showering, not for recreational water activities.
- May be slippery when wet.
- For bathtub use do not put weight on the plastic ring.
- With children, adult supervision is recommended.
- Consult your doctor if the diaphragm causes discomfort or swelling.
- This product is a reusable product, however is single patient use.
- Not suitable for use with open or undressed wounds or when swimming.
Write Your Own Review


text:
Harpster Riverside RV Park & Store
2895 HWY 13 Harpster Idaho 83552
Join Us for our Regular Saturday Special!
Prime Rib or BBQ Rib meal
Reserve Your Get-A-Way Spot Today..208-983-2312
### Guess Who stayed at the Harpster RV Park! ###
Do you have money coming? Check out Idaho's Unclaimed Property Website!
- Check out the new pictures in the Tropy Room
Have you visited our RV Park? Write a review!
Google Review *** Check us out on Facebook
Reserve Your Get-A-Way Spot Today..208-983-2312
New Owners - Michelle & Will
RV travelers and campers are at home at
the Harpster Store and RV Park
We sit in a serene setting between Highway 13 and the pristine waters of the South Fork Clearwater River.
The park has 25 RV spaces, many of which are have frontage along the river.
50 amp & 30 amp RV hookups, back in and pull through spaces, tent sites and Yurt rentals are available. Free WIFI.
Showers and a laundry facility equipped with 3 washers and 3 dryers are available for the park attendees.
We are more than just a place to park an RV, we offer patrons a variety of other services.
There is a pavilion onsite with water and electricity, perfect for weddings, gatherings or barbecues.
You can get a sandwich and a cold adult beverage at our onsite family friendly bar and grill.
Harpster is a small community in Central Idaho that sits along the Lewis & Clark Northwest Passage Scenic Byway on Highway 13.
The South Fork of the Clearwater River is well known for it's spring and fall steelhead and pacific salmon runs. Visit the Trophy Room.
You can watch deer and wild turkeys from most all of the campsites.
Osperays, Bald & occasionally Golden Eagles are seen fishing in the river right in front of you.
The area is known for its ample opportunities for hunting, fishing, atv-ing, rafting, backpacking, prospecting and hiking.
We are on Highway 13 and on the bank of the South Fork Clearwater River.
13 Miles North of Grangeville Idaho and 9 Miles South of Kooskia Idaho.


text:
Some bright ideas for Earth Day
Sometimes I think I'm a bad daughter-I'm often too busy to think much about my mother and I'm certainly too busy to call home more than a couple of times a month. But I suppose my own mother is lucky for getting a call every couple of weeks.
Mother Earth may only hear from her kids once a year on Earth Day, celebrated throughout much of the world on April 22. On this day we broaden the interpretation of the 4th Commandment to "Honor your father and mother" and remember the earthy mater who cradles all creation in her arms.
As Catholics, we are especially called to care for creation, and we have our own St. Francis of Assisi as a Catholic environmental role model. Fortunately the ways we wayward children can get in touch with good ol' Earth Mom are extensive. Below you'll find plenty of resources for stopping to smell the roses-and maybe even delivering a few-this Earth Day.
Here are some websites to make you more aware of how the Mother that sustains your physical well-being is connected to the Father who gives you your daily bread:
Introduction to Catholic Environmental Justice
Whatever happened to Catholic environmentalists?
Catholic Education Resource Center: Environment
United States Conference of Catholic Bishops' Environmental Justice Program
Catholic Coalition on Climate Change
The National Religious Partnership for the Environment
Remind your friends and family to take some time to stop and smell the roses this Earth Day.
Get your pastor involved in the campaign for a greener world
Winter is melting away and Spring is in the air. If the nicer weather is beckoning you out-of-doors, take advantage of these Earth Day activities or find some others in your area.
The Green Apple Music Festival
Get Outside to Celebrate Earth Day
R-E-C-Y-C-L-E, find out what it means to me!
U.S. Environment Protection Agency: Recycle City
Lying under a tree in the park is probably the best way to appreciate these books.
Ten Commandments for the Environment
Saving Creation: Nature and Faith in the Life of Holmes Rolston III
A Greener Faith: Religious Environmentalism and Our Planet's Future
The Green Book: The Everyday Guide to Saving the Planet One Simple Step at a Time
The future of the Earth depends on the kids of today, so engage young minds and encourage them to be eco-conscious with these resources.
Teaching kids to protect the Earth
National Institute of Environmental Health Sciences Kids Page


text:
Bebe Au Lait: Hooded Towel + Quib & Giveaway!
65 comments:
- Natalie F (bluefin711)June 17, 2013 at 9:41 AM
I like the "Fishies Girl" print. I also like the "Laguna Gift Set" That comes with a nursing cover and burp clothes.ReplyDelete
I like the fishies boy print and the Hot dot burp clothes set.ReplyDelete
Aww! The fishies girl print is so cute!!ReplyDelete
I like the hot air balloon print and the Hot Dots burp clothesReplyDelete
I like the Fishies Girl. I also like the Bébé au Lait Royale Nursing CoverReplyDelete
I like the Fishies Boy print! I also like the Throw Blankies, but I'm really in love with the Quibs - what an ingenious idea!ReplyDelete
Love their hooded towels. They are awesome and huge; perfect for my 'meaty' baby too!ReplyDelete
love your nursing covers. like the poppy hills print.ReplyDelete
fishies are sooo cute. and the nursing covers!ReplyDelete
I like the fishes boy pattern. All of the products are great!ReplyDelete
- Jennifer VJune 17, 2013 at 1:22 PM
Love the robotsReplyDelete
I like the Fishies Girl and I would also try the birp clothsReplyDelete
Fishies boy pattern is so cute!ReplyDelete
I really like the waves boy blanket. My favorite print is Mint ChocolateReplyDelete
the robots towel is too cute! I love it! email@example.com
I like the Hot Air Balloons girl- For my DDReplyDelete
I love the hot air balloons!ReplyDelete
I also love the Sevilla burp cloths - http://www.bebeaulait.com/products/burp-cloths/sevilla-burp-cloths
RC - Christina Foley
I really like the fishies girl print. It is just adorable.ReplyDelete
I like the Fishies Boy Hooded Towel and I also like their Waves Boy Throw Blankie.ReplyDelete
I like the Robots print for a boy :)ReplyDelete
I also like the Fishies Print for a girl hooded TowelReplyDelete
Any print that is neutral in gender is fine by meReplyDelete
I like the fishies boy print and the waves boy blanket. Thanks so much for the fantastic giveaway!ReplyDelete
Reneewalters3 at yahoo dot com
I would choose the Hot Air Baloons. I also like the throw blankiesReplyDelete
jjak2003 at gmail dot com
I like the hot air balloons print for the towel. I also like their burp cloths..ReplyDelete
I love the Fishies Girl print- so cute! I also really like their nursing covers. I used mine all the time!ReplyDelete
I like Fishies Boy! And I also like the Nest nursing cover.ReplyDelete
Hot Air Balloons and I like the QuibsReplyDelete
I like fishies girl and the quibsReplyDelete
Fishies Boy!ReplyDelete
Embroidered Throw Blankies
Waves Boy
i love the girl fishies hooded towelReplyDelete
I love the fishies girl design and I'd also love to have the dot dots nursing coverReplyDelete
I like the fishies boy print. I also like the black eyelet nursing cover.ReplyDelete
I like the Fishies Girl print. I also like the nursing coversReplyDelete
I love the Lille Hot Air Balloons Hooded Towel...and a I also adore their nursing covers...I have one already, but would love another!!ReplyDelete
Robots is my favorite print.ReplyDelete
Love love love their Robots and Hot Air Balloons hooded towels! Have always wanted to try their nursing covers too :)ReplyDelete
I'd love the Hot Air Balloons!ReplyDelete
I think the Hot Air Balloons are really cute.ReplyDelete
Thanks for the giveaway! =)
I'd like Fishies Boy and I also like the nursing coversReplyDelete
I like the robots printReplyDelete
I like the fishes boyReplyDelete
hot air balloonReplyDelete
I like the Laguna print!ReplyDelete
i like the laguna gift set!ReplyDelete
I love the boy fishies print.ReplyDelete
- AnonymousJune 26, 2013 at 2:03 PM
I like the Barcelona Hooter Hider. PatriciaReplyDelete
I would choose fishies boy and I also like the nursing cover :)ReplyDelete
I would choose the girls hot air balloons. Just perfect for my grand daughter who is due to arrive in November!ReplyDelete
I also love the nursing covers.
~Sandra U.
I like the robots towel. I also like the waves boy blanketReplyDelete
- Brooke thomasJune 28, 2013 at 3:53 AM
Nursing Covers
I would like the hot air balloons patternReplyDelete
The Lille Fishies Girl Hooded TowelReplyDelete
I love the Robots! So cute!ReplyDelete
- Claire RheinheimerJuly 1, 2013 at 9:39 PM
I'd get the fishies girl towel.ReplyDelete
I like the Fishies Boy print! I also like the Throw Blankies!ReplyDelete
I like the Robots print and I also love the Throw BlankiesReplyDelete
Thanks for the chance
I like the Robots print and the Waves Girl Throw.ReplyDelete
I like the Fishies Boy. I would also love the Nursing Covers!ReplyDelete
I like the robots print for the hooded towel. I also love their nursing covers especially the Avignon Hooter Hider.ReplyDelete
I love the robots print for the towel and bibs!! i don't use nursing covers, but love those bibs.ReplyDelete
I'd get the robots print and I also like their Lille Boy Throw Blankie.ReplyDelete
Michelle Tucker
Hot Air BalloonsReplyDelete
I like the Hot Air Balloon print. I also like the quibs.ReplyDelete
The Fishies Girl print looks very nice! I like the Waves Girl Throw Blankie.ReplyDelete


text:
Edit image
Once you add an image to a page, you can resize it, crop it, or replace if you like. You also can add an ALT tag to the image to meet accessibility guidelines for the visually impaired — and improve your site's search engine rank.
- Log in to your GoDaddy account.
- In your Products list click Website Builder, and then click Manage next to the account you want to use.
- Click Edit Site.
- Double-click the image to display the zoom and crop tools.
- Drag the Zoom slider to show just part of the image, while preserving its overall proportions.
Note: To return the photo to its "unzoomed" size, drag the slider to the far left. Clicking the button next to it resets the image to the file's original dimensions, which are often larger than the frame you created with the Image tool.
- To crop the image, double-click anywhere in it and reposition any corner's crop marker.
- To reposition the image within the crop or zoom frame, click and drag the image.
Note: With Business and Business Plus plans, you can rotate individual images from the Image Editor toolbar. You can also edit your image in an image-editing application, such as Photoshop, and then upload the edited image to your site.
- Click anywhere outside of the image into blank space to save the cropping.
- To make other changes to the image, click the image and click a button in the image toolbar:
Image editor toolbar Button Name Action Replace Image Opens Choose Photos window. Crop Image Crops image; explained in Step 5 above. Image Editor Opens the Advanced Image Editor, available only in Business and Business Plus Website Builder Plans. Make a Copy Duplicates the image and places it overlapping the original. Settings Opens the Settings window, where you can use the Image Settings tab to link images to pages or apply various edge styles.
This is also where you can add an ALT tag, used by screen reading programs to describe the image for the visually impaired and often required under accessibility guidelines. This also improves your site's rank in search engine results.
Delete Removes the image More Displays a menu of other options, including controlling layers and locking image's position.
- Click Publish to update your site online.


text:
New to NSS and board. I'm in South Carolina. I have only explored a few tunnels in town, a couple of guided tours of Mammoth caves and did some repelling and such many moons ago, so I'm green.
Is there a newby site I am missing? Does the CaveChat room work? Not many recent posts, do people interact here often ?