summaryrefslogtreecommitdiffstats
path: root/tools
AgeCommit message (Collapse)Author
2014-04-22Synchronize with trunk.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@14657 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-15Turn more sig/str items into records. Patch from Leo White.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14597 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-14Synchronize with trunk.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@14587 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-12fix some of the whitespace problems in the sourceDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14582 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-12test reference files are now exempt from all rulesDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14580 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-07Keep inlined records in Typedtree and Types. Synthesize record types when ↵Alain Frisch
inserting in the environment and module components, as for labels and constructors. Following features are not supported: inline record for exceptions, GADTs, polymorphic fields. git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@14553 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-07[minor] make tools/Makefile.shared msvc-friendlyGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14547 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-07PR#6358: obey DESTDIR in install targetsGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14536 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-06PR#6270: remove need for -I directives to ocamldebug in common caseGabriel Scherer
(patch by Josh Watzman) Add absolute directory names to bytecode format for ocamldebug to use The need for a long list of -I directives makes interactively using ocamldebug a pain in the butt. Many folks have solved this with various `find` invocations or even Python wrappers, but those lead to other problems when it might include files you weren't expecting (or miss things you were). But all of this is really annoying since the tooling should be able to figure out itself, even heuristically, where your source files are -- gdb gets this right, why can't we? This patch implements one of the more important heuristics from gdb: you typically debug on the same machine you built on, so looking for the source files and built artifacts in the absolute paths where they were during compilation is a good first try. We write out absolute paths into a new structure at the beginning of the debug section and then automatically append those directories into the load path. This means mean that if you happen to be debugging on a machine where the original source and build artifacts are *not* available in their original absolute locations, things will work as before, using the standard load path mechanism. You can also explicitly use -I to prepend directories to the load path and override the defaults located by this new mechanism. I personally find this makes using ocamldebug much more pleasant :) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14533 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-03ignore generated file ocamlmklibconfig.mlDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14526 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-31Rvert parts of the original commit which are not relevant with the encoding ↵Alain Frisch
approach. git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14513 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-31stop ignoring ocamlmklib.ml, it is not a generated file any moreDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14512 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-28Some preparation for record arguments.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14505 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-21#PR6269 Optimized string matchingLuc Maranget
Noticed that I had to bootstrap to test on ARM, so I commit a new bootstrap compiler. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14479 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-06#5779: improve support for structured constants (better propagation, ↵Alain Frisch
sharing, cleaner representation). Also fix #6337 (constants emitted several times). git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14444 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-01-30Add location to module and module type definitions. Improves #6311.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14428 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-01-21Fix dependency analysis for module aliases.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14403 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-01-10Merge module-alias branch (cf. PR#6063)Jacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14394 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-12-20Add -trans-mod option for transparent module dependencies.Jacques Garrigue
Without that option, dependencies are strict, both for typing and linking. git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14382 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-12-17ocamlmklibconfig.ml: add missing config varibleDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14368 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-12-17merge generative functorsJacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14365 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-12-14Un-bootstrapping of ocamlbuild, clean-up phase:Xavier Leroy
- removed boot/myocamlbuild.boot, _tags, myocamlbuild.ml, etc - removed shell scripts in build/, now unused - revised configuration and build of tools/ocamlmklib. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14353 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-29Reverting the elimination of the ocamlcomp*.sh scripts, namely the following ↵Xavier Leroy
commits: 14278 14277 14276 14176 14175 14173 14172 14171 14169 14168 14167 These changes need to mature on their own branch. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14329 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-10build: always build lex/ and ocamlc with the compiler from boot/.Wojciech Meyer
(Patch by Adrien Nader!) This is a partial revert of revision 14168 which caused issues when bootstrapping the compiler. Since these directories don't take long to build, we can always use a byte-compiled compiler. Bootstrapping and more generally working on the compiler itself does not play nice with trying to use the most recent compiler as soon as possible: imagine you've just modified the compiler but in a way that breaks it at runtime in a non-obvious way; all the files that are subsequently built will have been built with your the compiler you will be debugging. v2: always build tools/ with boot/ocamlc since most executables link against compiler libs. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14277 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-30Merge trunk at revision 14200. Now everything works except private typesJacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14201 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-29Support module aliases.Jacques Garrigue
Namely, you can write "module L = List" in signatures, and avoid have the compiler use directly List when you write L. See examples in testsuite/tests/typing-modules/aliases.ml git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14196 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-27Keep attributes on module declarations.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14195 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-26Keep attributes on value declarations in .cmi files (but clear all the ↵Alain Frisch
location fields, except if -keep-locs is used, of course). Use this to report a warning when a value marked as [@@deprecated] is referenced (#5854) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14188 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-20build: remove warning 32 (unused variable) in tools.Wojciech Meyer
(Patch by Adrien Nader!) Among other files, myocamlbuild_config.ml is built in this directory. This file defines many variables, most of which are not used and therefore trigger this warning which is then turned into an error through -warn-error A. build: remove warning 32 (unused variable) in tools. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14169 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-20build: replace ocamlcomp*.sh.Wojciech Meyer
This script was built from ocamlcomp.sh.in through sed and is called instead of "ocamlc" (for instance). It makes it possible to switch from "ocamlc" to "ocamlc.opt" without changing anything in the Makefiles, only calling sed. I couldn't cleanly make it handle both a compiler for the target and for the build. Instead I'm replacing it and doing as much as possible directly in the Makefiles. I hoped it would reduce the number of shell invocations, which would speed things up quite a lot on Windows but I still had to have at least one since it's not possible to update a make variable from inside a make rule: i.e. it's not possible to do X=a, build a.opt and update X to be a.opt. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14168 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-20build: replace build/mk{config,myocamlbuild_config}.sh.Wojciech Meyer
(Patch by Adrien Nader!) These scripts sed config/Makefile in order to create shell script and ocaml code that define the same values as the Makefile but in the corresponding language. The sed stuff is very difficult to understand, very brittle and impossible to change. Remove that altogether and use a Makefile to run commands like [ echo FOO=$(FOO) ]. There is still some sed involved (to get the list of variables in the config and to put rewrite the lists into a list of commands) but much less and all the expressions are put into variables with meaningful names with lots of comments. For config.sh, mkconfig.sh generated lines like : if [ -z "${FOO}" ]; then FOO=bar; fi The new script sets the value without checking anything. I haven't found a reason to do things differently: if there is anything to override, the right place to do it is after sourcing the shell script. In any case, I haven't seen any such use. The mkconfig.sh file also set "WINDOWS=true/false" but the only use is in the parallel build-system which is implemented in build/ and uses ocamlbuild as much as possible, and it's going away so it's useless to set it too. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14167 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-17#5817: new compiler flag (-keep-locs) to keep location in cmi files.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14157 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-12Continue cleanup. driver/errors.ml is no longer needed.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/exception_registration@14120 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-12Keep input file in Pparse.Error. Switch it to the new system.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/exception_registration@14108 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-12Switch Lexer.Error to the new system.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/exception_registration@14107 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-11Port Syntaxerr.Error to the new system. Trickier, because of special way to ↵Alain Frisch
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-10Remove the dump_ast tool. A better replacement is part of the standalone ↵Alain Frisch
ppx_tools package. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14087 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-04Merge branch 4.01 from branching point to 4.01.0+rc1Damien Doligez
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-08-29Do not compile or install by default ocamlast.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14045 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-28Synchronize with trunk.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@14042 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-24PR#4243: make the Makefiles parallelizableDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13931 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-22Synchronize with trunk.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13922 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-17#6073: Add signature to Tstr_include. (Cherry-picked from commit 13903 on 4.01.)Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13904 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-17Fix OCAMLPARAM problemsFabrice Le Fessant
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13901 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-16Synchronize with trunk.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13897 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-17Fix #5811 as suggested. (Merge 13792 from 4.01.)Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13793 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-05Improved implementation of OCAMLPARAMFabrice Le Fessant
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13747 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03A toy tool to produce an mli file from an annotated ml file.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13737 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03Item attributes on each let-binding.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13736 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-28compact representation of warning flagsDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13704 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02