summaryrefslogtreecommitdiff
path: root/tools/ocamldep.ml
Commit message (Collapse)AuthorAgeFilesLines
* New -depend option for ocamlc/ocamloptFabrice Le Fessant2017-06-011-608/+1
|
* Changing the display of fatal warnings (#948)sliquister2017-03-081-9/+1
|
* ocamldep: add -plugin and use compilerlibs to build (#1015)Fabrice Le Fessant2017-03-021-2/+5
| | | | * ocamldep: add -plugin argument, and use compilerlibs to build
* -shared option for ocamldepoctachron2017-02-171-1/+9
|
* Make "-open" command line flag accept a module path (#960)aalekseyev2016-12-091-1/+1
| | | * Make "-open" command line flag accept a module path
* Added simple parse_expand and support ocamldepBernhard Schommer2016-10-121-1/+7
| | | | | | | | | The parse_expand function does the same as parse and parse_dynamic but allows Expand. However it does not update current to avoid the problem that the array is modified. This function is used for the ocamlopt, ocamlc, ocamlcp, ocamloptp and ocamldep.
* fix whitespace, long lines, headersDamien Doligez2016-08-011-1/+2
|
* Add plugins in the compilerFabrice Le Fessant2016-07-181-1/+5
|
* Make Pparse functions type-safeGabriel Scherer2016-06-291-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to remove some redundancy, the Pparse modules used a dirty Obj.magic trick to manipulate either structure or signature values (ASTs parsed from source files). This unsafe approach means that programming mistakes may result in broken type soudness, and indeed I myself had to track a very puzzling Segfault during the development of my Menhir backend (due to a copy-paste error I was passing Parse.implementation instead of Parse.interface somewhere). Wondering why your parser generator seems to generate segfaulting parsers is Not Fun. This change means that the external interface of Pparse has changed a bit. There is no way to fulfill the type of Pparse.file in a type-safe way val file : formatter -> tool_name:string -> string -> (Lexing.lexbuf -> 'a) -> string -> 'a as it promises to be able to process any ast type 'a depending on the magic number (the last string argument). The knew type-safe interface is val file : formatter -> tool_name:string -> string -> (Lexing.lexbuf -> 'a) -> 'a ast_kind -> 'a where ['a ast_kind] is a GADT type: type 'a ast_kind = | Structure : Parsetree.structure ast_kind | Signature : Parsetree.signature ast_kind
* MPR#7248: have ocamldep interpret -open arguments in left-to-right orderGabriel Scherer2016-05-061-1/+1
| | | | | | Compilers and tools consistently assume that (_ list ref) in Cflags are prepended to, and reverse them before usage. This one was forgotten.
* Cleanup.alainfrisch2016-03-101-4/+2
|
* Sort the list of input files alphabetically.alainfrisch2016-03-101-1/+1
|
* Print dependencies at the end.alainfrisch2016-03-101-6/+5
| | | | | | | | | | This introduces a tiny change of behavior since command line options which affect the printing of dependencies (-modules, -all, -ml-synonym, -mlfi-synonym) are taken into account even for files mentioned before on the command-line. This is probably not going to break anything. Note: this commit also reverse the ordering of the output, but we will normalize it in the next commit anyway.
* Single entry point to print deps.alainfrisch2016-03-101-40/+39
|
* Move dependency printing code to their own function.alainfrisch2016-03-101-34/+40
|
* Cleanup.alainfrisch2016-03-101-1/+1
|
* Update headers for the new license.Damien Doligez2016-02-181-11/+14
| | | | Remains to be done: remove all headers in testsuite/tests.
* Update main and ocamldepPierre Chambart2016-01-251-1/+1
|
* PR#6795, PR#6996: make ocamldep interpret [%ocaml.error]Jeremie Dimino2015-12-171-0/+1
|
* fix typo in ocamldepJeremie Dimino2015-12-011-1/+1
|
* add module alias support to ocamldepJacques Garrigue2015-12-011-35/+105
|
* whitespace cleanup, cut long lines, add some missing headersDamien Doligez2015-09-111-2/+2
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16415 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* ocamldep: make printing of cyclic dependencies deterministicGabriel Scherer2015-08-151-2/+7
| | | | | | | Hashtbl.iter used to be deterministic, but it's now an observable source of randomness. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16351 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* GPR#118 ocamldep -allow-approx: fallback to a lexer-based approximationGabriel Scherer2015-04-121-2/+55
| | | | | | (Frédéric Bour) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16009 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* relax ocamldep test to allow for non-ASCII module identifiersDamien Doligez2015-03-121-4/+8
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15915 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* PR6695: Make sure the compiler only uses ASCII string functions.Gabriel Scherer2014-12-211-2/+2
| | | | | | | | | | This should cover all places involving filenames in the compiler. There are a few more paths still using Latin-1 in other ways, e.g. in ocamldoc. From: Peter Zotov <whitequark@whitequark.org> git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15727 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* ocamldep support for -openGabriel Scherer2014-10-031-2/+10
| | | | | | | | | | | | Adding an `open_module` function to the Depend interface instead of directly mutating `free_structure_names` makes the approach robust to eventual improvement to ocamldep's handling of `open` (for example, in presence of .cmi for the opened units it could add their submodules to the set of bound vars). This only goes so far, however, as the overall imperative style would not nicely support proper local handling of `let open M in e`. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15468 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* minor refactoring in ocamldep.mlGabriel Scherer2014-10-031-5/+8
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15467 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Cherry-pick 15062,15063,15064 from 4.02 (#6497).Alain Frisch2014-08-071-4/+5
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15068 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Enable warning 27 in tools/ and fix occurrences. It's good to mark in ↵Alain Frisch2014-05-121-4/+4
| | | | | | depend and untypeast parts which are explicitly ignored. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14794 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* merge branch "safe-string"Damien Doligez2014-04-291-12/+9
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14705 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Keep input file in Pparse.Error. Switch it to the new system.Alain Frisch2013-09-121-5/+0
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/branches/exception_registration@14108 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Switch Lexer.Error to the new system.Alain Frisch2013-09-121-3/+0
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/branches/exception_registration@14107 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Port Syntaxerr.Error to the new system. Trickier, because of special way to ↵Alain Frisch2013-09-111-4/+6
| | | | | | report some errors in the toplevel (is it really worth the trouble?). git-svn-id: http://caml.inria.fr/svn/ocaml/branches/exception_registration@14105 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Merge branch 4.01 from branching point to 4.01.0+rc1Damien Doligez2013-09-041-3/+4
| | | | | | | | Command line used: svn merge --accept postpone -r 13776:14055 $REPO/version/4.01 . git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14060 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Fix OCAMLPARAM problemsFabrice Le Fessant2013-07-171-4/+4
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13901 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Improved implementation of OCAMLPARAMFabrice Le Fessant2013-06-051-8/+37
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13747 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* It is no longer necessary to keep pre-processed files in case of errorsDamien Doligez2013-03-181-1/+1
| | | | | | | (see commits 3817 and 5224,5302,5816) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13406 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* fix PR#5930: ocamldep leaks temporary preprocessing filesGabriel Scherer2013-02-241-3/+10
| | | | | | | Ah, if we had let-try... git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13309 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* #5904: support for -ppx in the toplevel.Alain Frisch2013-01-251-3/+4
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13278 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Reverting "PR#5868: Bytecode dependencies should not appear in output of ↵Wojciech Meyer2013-01-031-5/+3
| | | | | | | | | | | | | | | | | | | | | | | ocamldep" -native flag semantics are currently different to that what the user expects, and what was attempted to be fixed. The semantics of -native are not to completely disable generation of dependencies for bytecode instead make the compilation to native code more efficient. Most of the project are expected to be buildable with both versions of the compiler. So ocamldep is expected to always generate the dependencies in both cases. When the .mli file is absent ocamldep needs to still generate dependencies in bytecode to build the cmi only and to build cmi and cmx for the dependent compilation unit . Because of some make tool pecularities, handling of two different rules that include the same depenency is problematic, so instead when the -native flag is not used the cmo file is used as a proxy to build cmi, when the -native enabled however, the cmx file is used as proxy to build cmi file for the dependencies to avoid recompilation of the dependent .cmo file just to get .cmi file. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13202 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* PR#5868: Somewhat a better fix for -native option.Wojciech Meyer2013-01-011-2/+4
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13195 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* PR#5868: Bytecode dependencies should not appear in output of ocamldep when ↵Wojciech Meyer2013-01-011-1/+1
| | | | | | -native flag is used git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13194 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Enable 'unused stuff' warnings in tools/ and get rid of them.Alain Frisch2012-12-191-1/+0
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13140 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* remove all $Id keywordsDamien Doligez2012-10-151-2/+0
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13013 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Make ocamldep ignore toplevel directives in .ml files, as it did beforeDamien Doligez2012-08-101-2/+11
| | | | | | | commit 12769. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12854 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* remove leftover debug code from previous commitDamien Doligez2012-08-091-1/+0
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12853 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* undo commit 12847, it breaks preprocessingDamien Doligez2012-08-091-3/+3
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12852 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Revert one change of commit 12769 that (inadvertently?) breaks ocamlnet 3.5.1Damien Doligez2012-08-091-2/+3
| | | | | | | by triggering a syntax error on toplevel directives inside .ml files. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12847 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Support -absname in ocamldep + update man pages.Alain Frisch2012-08-031-0/+2
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12819 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02