Commit Graph

85 Commits (459061e182aebb646fbd460ffa1822a6d19c9a3f)

Author SHA1 Message Date
Gabriel Scherer 4530ee379c GPR#118 ocamldep -allow-approx: fallback to a lexer-based approximation
(Frédéric Bour)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16009 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-04-12 17:43:04 +00:00
Damien Doligez c51df1aecf relax ocamldep test to allow for non-ASCII module identifiers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15915 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-03-12 17:55:28 +00:00
Gabriel Scherer f15f4f3ed8 PR6695: Make sure the compiler only uses ASCII string functions.
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
2014-12-21 11:46:14 +00:00
Gabriel Scherer 97cff22e45 ocamldep support for -open
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
2014-10-03 20:31:34 +00:00
Gabriel Scherer dfcccc7999 minor refactoring in ocamldep.ml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15467 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-03 20:31:32 +00:00
Alain Frisch 047e09748c Cherry-pick 15062,15063,15064 from 4.02 (#6497).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15068 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-07 09:46:34 +00:00
Alain Frisch 68ae2cc74b Enable warning 27 in tools/ and fix occurrences. It's good to mark in depend and untypeast parts which are explicitly ignored.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14794 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12 10:41:21 +00:00
Damien Doligez 5b8df637d2 merge branch "safe-string"
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14705 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-29 11:56:17 +00:00
Alain Frisch d18a044380 Keep input file in Pparse.Error. Switch it to the new system.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/exception_registration@14108 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-12 12:27:33 +00:00
Alain Frisch 71efb4666b Switch Lexer.Error to the new system.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/exception_registration@14107 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-12 11:59:45 +00:00
Alain Frisch 6ad98b3d09 Port Syntaxerr.Error to the new system. Trickier, because of special way to 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
2013-09-11 18:10:59 +00:00
Damien Doligez 7844495624 Merge branch 4.01 from branching point to 4.01.0+rc1
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
2013-09-04 15:12:37 +00:00
Fabrice Le Fessant 1823936ce0 Fix OCAMLPARAM problems
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13901 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-17 12:35:26 +00:00
Fabrice Le Fessant ad6c285818 Improved implementation of OCAMLPARAM
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13747 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-05 16:34:40 +00:00
Damien Doligez 7b31f54095 It is no longer necessary to keep pre-processed files in case of errors
(see commits 3817 and 5224,5302,5816)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13406 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-18 20:13:53 +00:00
Gabriel Scherer bca20db060 fix PR#5930: ocamldep leaks temporary preprocessing files
Ah, if we had let-try...


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13309 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-02-24 09:11:29 +00:00
Alain Frisch ef9fc7ab0f #5904: support for -ppx in the toplevel.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13278 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-25 09:12:31 +00:00
Wojciech Meyer 7efba284ce Reverting "PR#5868: Bytecode dependencies should not appear in output of 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
2013-01-03 17:38:21 +00:00
Wojciech Meyer f97f2f5bab PR#5868: Somewhat a better fix for -native option.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13195 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-01 16:17:58 +00:00
Wojciech Meyer 04bca674d3 PR#5868: Bytecode dependencies should not appear in output of ocamldep when -native flag is used
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13194 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-01 15:09:08 +00:00
Alain Frisch a19a4642e5 Enable 'unused stuff' warnings in tools/ and get rid of them.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13140 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-19 09:25:21 +00:00
Damien Doligez def31744f9 remove all $Id keywords
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13013 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-15 17:50:56 +00:00
Damien Doligez 89077f5f46 Make ocamldep ignore toplevel directives in .ml files, as it did before
commit 12769.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12854 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-10 07:19:12 +00:00
Damien Doligez 8cf9581e20 remove leftover debug code from previous commit
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12853 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-09 22:27:53 +00:00
Damien Doligez 187e5f1a44 undo commit 12847, it breaks preprocessing
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12852 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-09 22:21:29 +00:00
Damien Doligez f605646709 Revert one change of commit 12769 that (inadvertently?) breaks ocamlnet 3.5.1
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
2012-08-09 19:40:10 +00:00
Alain Frisch 412ee0f3e0 Support -absname in ocamldep + update man pages.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12819 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-03 10:22:35 +00:00
Damien Doligez 0c3a7de507 merge changes from 4.00 branching to 4.00.0 (part 1)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12784 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-26 19:21:54 +00:00
Alain Frisch 936914100b Add support for -ppx in ocamldep (and reuse preprocessing code in Pparse).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12769 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-24 16:24:44 +00:00
Fabrice Le Fessant e8d1f584d4 Improve ocamldep error handling
In case of syntax error while reading a file, ocamldep used to completely
ignore the file. The new behavior is to compute no dependency from the file
content, but still print dependencies between implementations and
interfaces if needed.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12214 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-09 08:45:49 +00:00
Damien Doligez 6c24f4f90b merge version 3.12 from 3.12.1 to r12205
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12210 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-08 19:52:03 +00:00
Damien Doligez 5b14388ad0 refactoring the "read n bytes from a channel into a new string" idiom
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12184 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-23 19:54:44 +00:00
Wojciech Meyer 1ac0f462bc PR#5510: Fix
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12168 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-19 17:00:39 +00:00
Damien Doligez d4522f062c Change "Ocaml" to "OCaml" everywhere
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12152 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-13 17:48:41 +00:00
Fabrice Le Fessant 82d5630bab Small fix on the previous commit
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12092 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-27 13:58:04 +00:00
Fabrice Le Fessant f48f2f229c Fix PR#5396
Add the following options to ocamldep:
-sort: print files sorted according to their dependencies
-all: print all dependencies, not only the ones wanted by make
-one-line: don't break lines when they become too long



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12089 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-27 13:46:00 +00:00
Damien Doligez 3b507dd1aa renaming of Objective Caml to OCaml and cleanup of copyright headers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11156 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-27 14:17:02 +00:00
Damien Doligez c91db736b1 merge changes from 3.12.0 to 3.12.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11123 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-20 09:17:07 +00:00
Damien Doligez 31b0292413 renaming "Objective Caml" to "OCaml" (first pass)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11015 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-04-26 12:16:50 +00:00
Damien Doligez 3bba52b91c PR#4857: add -vnum option to all executables
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10444 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-20 14:06:29 +00:00
Damien Doligez 3b1d0842df avoid printing spurious spaces
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9511 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-01-07 15:10:20 +00:00
Pierre Weis a548eb3a13 Understanding the notion of standard channel for Format and Scanf.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9166 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-01-25 22:46:15 +00:00
Xavier Leroy 88c5dc442f PR#4212: print dependency lines even if there are no dependencies
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8963 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-08-01 09:02:55 +00:00
Damien Doligez 14f6e8ad50 PR#3036 add options -impl and -intf to ocamldep
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8786 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-01-22 15:46:18 +00:00
Damien Doligez e9a9bf9613 PR#3114 make all error messages start with a location and "Error: "
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8705 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-12-04 13:38:58 +00:00
Pierre Weis ab40ed4731 The command ocamldep was generating dependencies with a spurious ./ before the
name of the file when the file was in the current directory. Unfortunately,
"./filename" is not always equivalent to "filename": in case of a specific
``filename: '' rule in make files, if a generic rule also matches
``./filename'', then the generic rule is chosen instead of the specific
rule. This occurred in the compilation of the Caml compiler and lead to subtle
bugs!


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7853 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-02-12 08:10:00 +00:00
Xavier Leroy b8f4dd64ca Do not terminate after a preprocessing error
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7654 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-09-28 13:38:36 +00:00
Damien Doligez fbea66a95e fusion des changements 3.09.2 -> 3.09.3
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7619 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-09-20 11:14:37 +00:00
Xavier Leroy 2afbda6ea7 Ajout option -modules (cf. PR#4047)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7575 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-08-31 09:50:35 +00:00
Xavier Leroy f6fc1f39c1 Revu traitement de l'option -slash (PR#4050). A tester.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7574 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-08-30 11:22:24 +00:00