summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-02-08debugger, ocamlbuild, ocamldoc: separate their build from the compiler's.HEADmasterAdrien Nader
In other words: "make world" doesn't build the aforementioned tools anymore and they need to be configured and built separately. They are still in the same source tree. At first sight this should lead to more work but there are _several_ reasons for such a split. * It dissociates the builds and therefore the breakage when doing changes in the build system. * It makes changing one of them simpler. * It simplifies the Makefile files and removes some needs for the UNIX_OR_WIN32 variable. * It removes the Makefile.nt files and enables the build of the manpages on Windows too. * It builds these tools using the .opt variants when possible. This doesn't save that much time but it's nice nonetheless. * It's simpler to package for distributions which already split these tools to their own packages. * It simplifies cross-compilation by reducing the scope of the changes needed (i.e. I hope there won't be a need for more changes in the build systems of these tools). * It refers less to boot/ and should make bootstrapping at least a bit simpler (I can't tell how much but in any case it's not negative). As for the negative aspects: * Possibly more steps for compiler hackers in the "hot path". * A hand-written "configure_tool" script which creates a "Makefile.local" file which is include'ed from the Makefile files and which defines the invocation of the compiler and of other tools. After these changes, there are two ways to build the tools: whether OCaml is installed system-wide or not (i.e. "uninstalled" [ I'm not to be blamed for this terminology ]). If the compiler has been installed (typical for packagers): ./configure_tool debugger make -C debugger all If the compiler has not been installed (probably typical for compiler devs even though I'm not sure most don't disable the build of the tools when doing their development): UNINSTALLED_OCAML_DESTDIR=$(pwd)/lapin UNINSTALLED_OCAML_PREFIX=/usr ./configure_tool debugger make -C debugger all In the example directly above, UNINSTALLED_OCAML_PREFIX defaults to "/usr/local" (the default for the compiler build too) and must match. UNINSTALLED_OCAML_DESTDIR has no default and must be the same as the value used for DESTDIR when running "make install DESTDIR=$(pwd)/lapin" for the compiler. Providing an absolute path, while not mandatory, is saner. Comments are welcome on how to make the whole process more handy for you (yes, "you", the reader, whoever you are).
2015-02-08ocamldoc/Makefile: don't "test -d" before "mkdir -p".Adrien Nader
The following code: if test -d foo; then : else mkdir -p foo; fi amounts to the following: if (i == 42) then { } else { i = 42 }; Instead, simply remove the test and always call "mkdir -p". The opengroup website has the spec for "mkdir" at: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/mkdir.html Quoting: "The System V -p option was included to create any needed intermediate directories and to complement the functionality provided by rmdir for removing directories in the path prefix as they become empty. Because no error is produced if any path component already exists, the -p option is also useful to ensure that a particular directory exists." This is exactly our usecase so just use "mkdir -p".
2015-02-08ocamldoc/Makefile: replace remove_DEBUG script with a single awk invocationAdrien Nader
Awk? The horror! Except standard awk has more features than standard sed and standard grep combined. This commit has been motivated by the difference between the .nt version of ocamldoc/Makefile: it is a mere "grep -v DEBUG" which does not preserve line information. It doesn't touch Makefile.nt since a subsequent commit is going to remove the Makefile.nt file completely (yay!). However it takes windows into account and removes one shell invocation (maybe one day OCaml will build without a posix shell, at least this commit goes into that direction).
2015-02-08ocamldoc/Makefile: $UNIXLIB/unix.mli's content doesn't depend on $UNIXLIB.Adrien Nader
The unix.mli file is copied/symlinked from one location to the other so there is no need and use to differentiate the two paths.
2015-02-06compiler-libs: also install .cm{o,a,x} files.Adrien Nader
These files are use by at least ocamldebug and ocamldoc. Since I'm splitting the build of these tools, I need to install these objects files in order to find them during the subsequent builds.
2015-02-06GPR#142: add a CAMLdrop macro for undoing CAMLparam*/CAMLlocal*Damien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15814 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-02-05Better simplification after inlining (resolve switches on known constants); ↵Alain Frisch
also fix #6686/#6770 indirectly. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15812 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-02-05Fix PR#6768: Typechecker overflow the stack on cyclic typeJacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15810 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-02-05configure: add test for cygwin64Damien Doligez
Makefile: fix compilation of checkstack tests/callback: fix compilation git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15809 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-02-04remove exec permission from Makefile.commonDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15806 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-30Fix pretty-printing of inlined recordsJérémie Dimino
Attributes on label declarations were ignored git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15802 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-30Fix #6767 (hopefully).Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15801 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-30try to unbreak travisJérémie Dimino
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15800 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-30Fix PR#6763Jacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15798 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-24PR#6720: propagate -g to the C compilerGabriel Scherer
(Peter Zotov) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15795 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-24PR#6691: install .cmt[i] files for stdlib and compiler-libsGabriel Scherer
(patch by David Sheets) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15794 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-24PR#6167: OCAMLPARAM support for disabling PIC generation ('pic=0')Gabriel Scherer
(Gabor Pali) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15793 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-22Revert previous commits (not ready yet).Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15792 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-22Use __flimp_ prefix understood by flexlink, not __imp_.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15791 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-22Fix.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15790 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-22Adapt amd64 backends under windows in order to avoid relative relocations to ↵Alain Frisch
symbols that could be defined in other images. This is necessary to allow .cmxs to be loaded at arbitrary addresses. 32-bit relative relocations could previously fail if the .cmxs was loaded too far from the main program. Require flexdll 0.34, which has improved support for __imp_X symbols. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15789 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-20PR#6573: extern "C" for systhreads/threads.hDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15788 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-20PR#5418 (comments) : generate dependencies with $(CC) instead of gccDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15784 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-17Fix PR#6752: scope escaping due to reference inside a moduleJacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15783 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-17Fix PR#6171: Error message confusing for the beginner when a type escapes ↵Jacques Garrigue
its scope. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15782 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-17partial fix of PR#6744Jacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15781 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-16PR#6526: ocamllex warning: unescaped newline in comment stringDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15780 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-16PR#6081: ocaml should add script's directory to search path, not current ↵Damien Doligez
directory git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15779 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-16PR#4539: change exception string raised when comparing functional valuesDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15778 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-16add change that is missing from commit 15776Damien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15777 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-16Resolve PR#6742: remove duplicate virtual_flag information from Tstr_classJacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15776 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-16PR#6600: make -short-paths faster by building the printing map incrementallyJacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15775 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-15Fix #6748 (bug in tast_iter, some module coercions were not rewritten).Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15773 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-09Merge https://github.com/ocaml/ocaml/pull/134: Fix (and simplify) pprintast ↵Alain Frisch
for optional arguments in types. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15772 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-08ignore generated files in testsuite/tests/ppx-attributesDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15771 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-08fix typo (see PR#6704)Damien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15770 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-08un-inline a call to caml_check_urgent_gcDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15769 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-07update .ignore filesDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15768 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-07do not compact if the heap is already near its minimum sizeDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15767 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-07fix commentDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15766 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-07Fix #6679 (pprintast bug around constraint).Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15765 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-06#6737: also keep attribute with optional argument + default value.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15764 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-06#6737: fix typedtree attributes on (fun x -> body) expressions).Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15763 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-27PR#5887: windows testsuite fixGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15761 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-27PR#5887: windows testsuite fixGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15760 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-27PR#5587: windows fixGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15759 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-27minor header fixGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15758 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-27PR#5887: move the byterun/*.h headers to byterun/caml/*.h to avoid header ↵Gabriel Scherer
name clashes (Jérôme Vouillon and Adrien Nader and Peter Zotov) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15757 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-27PR#6729: minor Makefile.nt fixGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15755 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-27cherry-pick PR#6475 fix in 4.02Gabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15754 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02