ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a...

124
ocamlbuild, a tool for automatic compilation of OCaml projects ocamlbuild, a tool for automatic compilation of OCaml projects Berke Durak Nicolas Pouillard [email protected] [email protected] June 6, 2007 Berke Durak, Nicolas Pouillard June 6, 2007 1 / 28

Transcript of ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a...

Page 1: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

ocamlbuild, a tool for automatic compilationof OCaml projects

Berke Durak Nicolas Pouillard

[email protected] [email protected]

June 6, 2007

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 1 / 28

Page 2: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Introduction

Outline

1 Introduction

2 Regular OCaml projects

3 Dealing with exceptions to standard rules

4 Writing an ocamlbuild plugin

5 General features

6 Conclusion

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 2 / 28

Page 3: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Introduction

Why such a tool?

To make our OCaml life easier

To stop writing poor MakefileSTo have a tool that Just worksTM

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 3 / 28

Page 4: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Introduction

Why such a tool?

To make our OCaml life easierTo stop writing poor MakefileS

To have a tool that Just worksTM

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 3 / 28

Page 5: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Introduction

Why such a tool?

To make our OCaml life easierTo stop writing poor MakefileSTo have a tool that Just worksTM

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 3 / 28

Page 6: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Introduction

What does ocamlbuild handle?

Regular OCaml projects of arbitrary sizeTrivially handled using the command line options.

Mostly regular OCaml projects with common exceptions

Requires writing one tag file ( tags) that declares thoseexceptions.

Almost any projectAccomplished by writing an ocamlbuild plugin.

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 4 / 28

Page 7: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Introduction

What does ocamlbuild handle?

Regular OCaml projects of arbitrary sizeTrivially handled using the command line options.

Mostly regular OCaml projects with common exceptions

Requires writing one tag file ( tags) that declares thoseexceptions.

Almost any projectAccomplished by writing an ocamlbuild plugin.

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 4 / 28

Page 8: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Introduction

What does ocamlbuild handle?

Regular OCaml projects of arbitrary sizeTrivially handled using the command line options.

Mostly regular OCaml projects with common exceptions

Requires writing one tag file ( tags) that declares thoseexceptions.

Almost any projectAccomplished by writing an ocamlbuild plugin.

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 4 / 28

Page 9: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Introduction

What does ocamlbuild provide?

Automated whole-project compilationMinimal recompilationLots of useful targets (doc, debugging, profiling...)Supports multiple build directoriesAutomatic and safe cleaningA source directory uncluttered by object filesA portable tool shipped with OCaml

Saves time and money!

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 5 / 28

Page 10: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Introduction

What does ocamlbuild provide?

Automated whole-project compilationMinimal recompilationLots of useful targets (doc, debugging, profiling...)Supports multiple build directoriesAutomatic and safe cleaningA source directory uncluttered by object filesA portable tool shipped with OCaml

Saves time and money!

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 5 / 28

Page 11: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Regular OCaml projects

Outline

1 Introduction

2 Regular OCaml projects

3 Dealing with exceptions to standard rules

4 Writing an ocamlbuild plugin

5 General features

6 Conclusion

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 6 / 28

Page 12: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Regular OCaml projects

What’s a regular OCaml project?

It’s a project that needs no exceptions from the standard rules:

Has compilation units (ml and mli files)May have parsers and lexers (mly and mll files)May use packages, libraries and toplevels (ml{pack,lib,top})May link with external librariesHas one main OCaml unit from which these units arereachable

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 7 / 28

Page 13: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Regular OCaml projects

How difficult is it to build regular projects by hand?

OCaml has subtle compilation rules

Interfaces (.mli) can be absent, yet buildable (.mly)Native and bytecode suffixes and settings differNative packages are difficult to do (-for-pack)Linkage order must be correctly computedInclude directories must be orderedocamldep gives partial information (too conservative)

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 8 / 28

Page 14: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Regular OCaml projects

How does ocamlbuild manage all that?

It has a lot of hand-crafted Ocaml-specific compilation logic!

A dynamic exploration approachStart from the given targetsAttempt to discover dependencies using ocamldepocamldep cannot always be trusted: backtrack if necessaryLaunch compilations and discover more dependencies

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 9 / 28

Page 15: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Regular OCaml projects

How does ocamlbuild manage all that?

It has a lot of hand-crafted Ocaml-specific compilation logic!

A dynamic exploration approachStart from the given targetsAttempt to discover dependencies using ocamldepocamldep cannot always be trusted: backtrack if necessaryLaunch compilations and discover more dependencies

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 9 / 28

Page 16: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Regular OCaml projects

Demo...

Many projects can be compiled with a single command:Menhir: ocamlbuild -lib unix back.nativeHevea: ocamlbuild latexmain.nativeErgo: ocamlbuild main.nativeOcamlgraph: ocamlbuild -cflags -for-pack,Ocamlgraphdemo.native...

To be fair...Some of these projects require that a version.ml or stdlib.ml filebe generated beforehand.

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 10 / 28

Page 17: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Dealing with exceptions to standard rules

Outline

1 Introduction

2 Regular OCaml projects

3 Dealing with exceptions to standard rules

4 Writing an ocamlbuild plugin

5 General features

6 Conclusion

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 11 / 28

Page 18: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Dealing with exceptions to standard rules

What’s an exception?

Files that need specific flagsWarnings to be enabled or disabledDebugging (-g), profiling (-p), type annotation, recursivetypes, -linkall, -thread, -custom...

Units that need external C librariesBinaries that need external OCaml librariesDirectories that must be included or excludedDependencies that cannot be discovered

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 12 / 28

Page 19: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Dealing with exceptions to standard rules

Make and exceptions

The make tool can’t handle exceptions very wellNeeds exceptions to be encoded as specific rulesThis generally makes rules and exceptions tightly bound byvariablesThis creates non-modular makefiles that don’t scale

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 13 / 28

Page 20: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Dealing with exceptions to standard rules

The tags, our way to specify exceptions

The tags file is made of linesEach line is made of a pattern and a list of signed tagsA line adds or removes tags from matching filesPatterns are boolean combinations of shell-like globbingexpressions

"funny.ml": rectypes

<**/*.ml*>: warn A, warn error A, debug, dtypes

<**/*.cmx>: inline(9)

"foo.ml" or "bar.ml": warn v, warn error v

"vendor.ml": -warn A, -warn error A

<main.{byte,native}>: use unix

"main.byte": use dynlink, linkall

"test": not hygienic

<satsolver.cm[io]>: precious

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 14 / 28

Page 21: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Dealing with exceptions to standard rules

How tags and rules give commands

Files are tagged using tagging rules"foo/bar.ml": rectypes

Rules then produce commands with tagged holeslet tagged hole =

tags for(ml)++"ocaml"++"compile"++"byte" in

Cmd(S[A"ocamlc";A"-c";T tagged hole;P ml;A"-o";P cmo])

These holes are filled by command fragments (such as flags)flag ["ocaml"; "compile"; "byte"; "rectypes"]

(A"-rectypes")

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 15 / 28

Page 22: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Dealing with exceptions to standard rules

Tags and dependencies

One can define dependencies triggered by combinations of tagsdep ["ocaml"; "link"; "byte"; "program"; "plugin:foo"]

["plugin/pluginlib.cma"; "plugin/plugin foo.cmo"]

By tagging files we make things happen"test.byte": plugin:foo

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 16 / 28

Page 23: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Writing an ocamlbuild plugin

Outline

1 Introduction

2 Regular OCaml projects

3 Dealing with exceptions to standard rules

4 Writing an ocamlbuild plugin

5 General features

6 Conclusion

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 17 / 28

Page 24: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Writing an ocamlbuild plugin

Not a specific language, but plain OCaml code

Plugins are compiled on the flyDynamic configuration is feasible

With a plugin one can:

Extend rules (add new ones, override old ones)Add flags and dependencies based on tagsTag filesChange optionsDefine the directory structure preciselyHelp ocamldepSpecify external libraries

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 18 / 28

Page 25: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Writing an ocamlbuild plugin

A plugin example

Let’s read it in live...

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 19 / 28

Page 26: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

Outline

1 Introduction

2 Regular OCaml projects

3 Dealing with exceptions to standard rules

4 Writing an ocamlbuild plugin

5 General features

6 Conclusion

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 20 / 28

Page 27: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

Parallel execution where applicable

You select the maximum number of jobs (-j N)Rules know how to ask for parallel targetsThe system keeps things scheduled correctlyExample: Separate compilation of byte code(Optimal scheduling would require a static graph)

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 21 / 28

Page 28: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:00 0 (0) STARTING -------- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 29: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:00 1 (0) back.ml.depends O------- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 30: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:00 8 (0) keyword.mli.depends O-b---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 31: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:00 16 (0) mark.cmi O-B---I- /

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 32: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:00 20 (0) stringSet.cmi O-B---I- /

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 33: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:00 24 (0) time.mli.depends O-b---i- /

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 34: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:00 32 (0) stdlib.ml.depends O-b---i- -

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 35: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:00 35 (0) stringSet.cmx ONb---i- -

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 36: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:00 37 (0) settings.cmx ONb---i- -

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 37: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:00 44 (0) lineCount.cmx ONb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 38: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:00 45 (0) interface.ml.depends Onb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 39: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:00 45 (0) interface.ml.depends Onb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 40: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:01 52 (0) stringMap.ml.depends Onb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 41: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:01 53 (0) printer.cmx ONb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 42: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:01 53 (0) printer.cmx ONb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 43: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:01 57 (0) time.cmx ONb---i- /

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 44: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:01 64 (0) partialGrammar.cmi OnB---I- /

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 45: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:01 67 (0) parameters.ml.depends Onb---i- /

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 46: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:01 72 (0) misc.ml.depends Onb---i- -

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 47: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:01 74 (0) keyword.ml.depends Onb---i- -

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 48: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:01 77 (0) error.cmi OnB---I- -

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 49: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:01 82 (0) parameters.cmx ONb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 50: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:01 84 (0) action.cmx ONb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 51: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:01 87 (0) parser.mli.depends Onb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 52: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:02 96 (0) parserAux.cmx ONb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 53: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:02 103 (0) tarjan.ml.depends Onb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 54: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:02 106 (0) unionFind.cmx ONb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 55: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:02 108 (0) lexer.mll Onb---i- /

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 56: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:02 108 (0) lexer.mll Onb---i- /

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 57: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:02 110 (0) lexer.cmo OnB---i- -

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 58: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:02 111 (0) parser.cmx ONb---i- -

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 59: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:02 112 (0) partialGrammar.cmx ONb---i- -

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 60: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:02 114 (0) lexer.cmx ONb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 61: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:02 116 (0) codeBits.mli.depends Onb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 62: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:03 118 (0) preFront.cmx ONb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 63: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:03 120 (0) tokenType.cmx ONb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 64: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:03 123 (0) inliner.cmi OnB---I- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 65: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:03 126 (0) traverse.cmx ONb---i- /

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 66: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:03 126 (0) traverse.cmx ONb---i- /

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 67: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:03 129 (0) code.cmi OnB---I- /

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 68: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:03 131 (0) lr1.mli.depends Onb---i- /

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 69: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:03 134 (0) lookahead.mli.depends Onb---i- -

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 70: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:03 137 (0) gMap.ml.depends Onb---i- -

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 71: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:03 144 (0) lr1.cmi OnB---I- -

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 72: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:03 146 (0) item.ml.depends Onb---i- -

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 73: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:03 149 (0) patricia.cmi OnB---I- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 74: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:03 151 (0) patricia.cmx ONb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 75: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:03 151 (0) patricia.cmx ONb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 76: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:04 154 (0) front.cmi OnB---I- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 77: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:04 164 (0) listMonad.ml.depends Onb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 78: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:04 167 (0) listMonad.cmx ONb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 79: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:04 170 (0) infer.cmi OnB---I- /

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 80: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:04 171 (0) lexmli.mll Onb---i- /

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 81: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:04 172 (0) lexmli.ml.depends Onb---i- /

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 82: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:04 174 (0) lexdep.mll Onb---i- -

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 83: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:04 177 (0) interface.cmx ONb---i- -

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 84: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:04 178 (0) IO.ml.depends Onb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 85: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:04 181 (0) lexmli.cmx ONb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 86: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:04 183 (0) IO.cmx ONb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 87: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:05 187 (0) infer.cmx ONb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 88: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:05 190 (0) dot.cmi OnB---I- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 89: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:05 193 (0) compressedBitSet.cmi OnB---I- /

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 90: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:05 195 (0) dot.cmx ONb---i- /

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 91: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:05 197 (0) grammar.cmx ONb---i- /

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 92: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:05 197 (0) grammar.cmx ONb---i- /

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 93: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:05 197 (0) grammar.cmx ONb---i- -

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 94: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:05 200 (0) infiniteArray.cmi OnB---I- -

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 95: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:05 201 (0) item.cmx ONb---i- -

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 96: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:05 204 (0) breadth.mli.depends Onb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 97: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:05 208 (0) invariant.ml.depends Onb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 98: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:06 212 (0) invariant.cmx ONb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 99: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:06 213 (0) inliner.cmx ONb---i- |

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 100: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:06 214 (0) code.cmx ONb---i- /

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 101: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

Example00:00:06 216 (0) back.native ONbP--iL -

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 102: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

ExampleFinished, 216 targets (0 cached) in 00:00:06.

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 103: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

ExampleFinished, 216 targets (0 cached) in 00:00:06.

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 104: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

ExampleFinished, 216 targets (0 cached) in 00:00:06.

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 105: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

ExampleFinished, 216 targets (0 cached) in 00:00:06.

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 106: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

ExampleFinished, 216 targets (0 cached) in 00:00:06.

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 107: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

ExampleFinished, 216 targets (0 cached) in 00:00:06.

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 108: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

ExampleFinished, 216 targets (0 cached) in 00:00:06.

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 109: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

ExampleFinished, 216 targets (0 cached) in 00:00:06.

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 110: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

A status bar for your visual comfort

Compilation tools echo commands and their outputThis creates a long and boring output that scrolls too fastHere you can keep an eye on what is going on!It succinctly displays time, number of targets, and tagsCommand outputs are correctly multiplexedA trace of the commands executed is kept in a log fileThis log file can be used as the basis of a shell script

ExampleFinished, 216 targets (0 cached) in 00:00:06.

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 22 / 28

Page 111: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

Hygiene and sterilization

ocamlbuild has a Hygiene Squad (HS) that checks your sourcetree for cleanliness

It has preconceived but useful cleanliness notionsFiles dirty by default: .cmi, .cmo, .cma, .cmx...ocamllex/ocamlyacc files: .ml if .mll, .ml&.mli if .mly...

If unsatisfied, the HS produces a sterilization script

Read it carefully (or work with versioning)Run at your own risks

HS can be told of exceptionsFiles or directories tagged as not hygienic or precious.

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 23 / 28

Page 112: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

Hygiene and sterilization

ocamlbuild has a Hygiene Squad (HS) that checks your sourcetree for cleanliness

It has preconceived but useful cleanliness notionsFiles dirty by default: .cmi, .cmo, .cma, .cmx...ocamllex/ocamlyacc files: .ml if .mll, .ml&.mli if .mly...

If unsatisfied, the HS produces a sterilization script

Read it carefully (or work with versioning)Run at your own risks

HS can be told of exceptionsFiles or directories tagged as not hygienic or precious.

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 23 / 28

Page 113: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

Hygiene and sterilization

ocamlbuild has a Hygiene Squad (HS) that checks your sourcetree for cleanliness

It has preconceived but useful cleanliness notionsFiles dirty by default: .cmi, .cmo, .cma, .cmx...ocamllex/ocamlyacc files: .ml if .mll, .ml&.mli if .mly...

If unsatisfied, the HS produces a sterilization script

Read it carefully (or work with versioning)Run at your own risks

HS can be told of exceptionsFiles or directories tagged as not hygienic or precious.

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 23 / 28

Page 114: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

Some supported tools

Menhir as an ocamlyacc replacementEnabled with the use menhir global tag or the -use-menhiroptionHandles implicit dependencies using –infer

Ocamldoc to build your doc

Separated construction using (-dump/-load)Handles HTML, LaTeX, Man, Dot, TeXi

Camlp4 awareTags allow to setup any installed Camlp4 preprocessorFine grained dependencies help a lot...

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 24 / 28

Page 115: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

Some supported tools

Menhir as an ocamlyacc replacementEnabled with the use menhir global tag or the -use-menhiroptionHandles implicit dependencies using –infer

Ocamldoc to build your doc

Separated construction using (-dump/-load)Handles HTML, LaTeX, Man, Dot, TeXi

Camlp4 awareTags allow to setup any installed Camlp4 preprocessorFine grained dependencies help a lot...

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 24 / 28

Page 116: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

General features

Some supported tools

Menhir as an ocamlyacc replacementEnabled with the use menhir global tag or the -use-menhiroptionHandles implicit dependencies using –infer

Ocamldoc to build your doc

Separated construction using (-dump/-load)Handles HTML, LaTeX, Man, Dot, TeXi

Camlp4 awareTags allow to setup any installed Camlp4 preprocessorFine grained dependencies help a lot...

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 24 / 28

Page 117: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Conclusion

Outline

1 Introduction

2 Regular OCaml projects

3 Dealing with exceptions to standard rules

4 Writing an ocamlbuild plugin

5 General features

6 Conclusion

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 25 / 28

Page 118: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Conclusion

Resume

ocamlbuild can be used in three ways:With only command-line options for fully regular projectsWith the tags file for intermediate projectsWith a plugin for the most complex projects

ocamlbuild saves your time by:Building your project gentlyCompiling only as necessaryRunning commands in parallelKeeping your house cleanLetting you concentrate on your code!

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 26 / 28

Page 119: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Conclusion

Resume

ocamlbuild can be used in three ways:With only command-line options for fully regular projectsWith the tags file for intermediate projectsWith a plugin for the most complex projects

ocamlbuild saves your time by:Building your project gentlyCompiling only as necessaryRunning commands in parallelKeeping your house cleanLetting you concentrate on your code!

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 26 / 28

Page 120: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Conclusion

Acknowledgments

For enlightening discussions about OCaml internals:Xavier LeroyDamien Doligez

For his insights about OCaml dependencies:Alain Frisch

For letting this happen:Michel Mauny

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 27 / 28

Page 121: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Conclusion

Acknowledgments

For enlightening discussions about OCaml internals:Xavier LeroyDamien Doligez

For his insights about OCaml dependencies:Alain Frisch

For letting this happen:Michel Mauny

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 27 / 28

Page 122: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Conclusion

Acknowledgments

For enlightening discussions about OCaml internals:Xavier LeroyDamien Doligez

For his insights about OCaml dependencies:Alain Frisch

For letting this happen:Michel Mauny

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 27 / 28

Page 123: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Conclusion

Conclusion

ocamlbuild is not perfect but already damn useful

Try it now! It’s in OCaml 3.10!

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 28 / 28

Page 124: ocamlbuild, a tool for automatic compilation of OCaml projects · 2013. 11. 11. · ocamlbuild, a tool for automatic compilation of OCaml projects Introduction Outline 1 Introduction

ocamlbuild, a tool for automatic compilation of OCaml projects

Conclusion

Conclusion

ocamlbuild is not perfect but already damn usefulTry it now! It’s in OCaml 3.10!

Berke Durak, Nicolas Pouillard ocamlbuild, a tool for automatic compilation of OCaml projectsJune 6, 2007 28 / 28