Age | Commit message (Collapse) | Author |
|
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).
|
|
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".
|
|
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).
|
|
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.
|
|
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.
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15814 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
also fix #6686/#6770 indirectly.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15812 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15810 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
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
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15806 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
Attributes on label declarations were ignored
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15802 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15801 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15800 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15798 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
(Peter Zotov)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15795 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
(patch by David Sheets)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15794 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
(Gabor Pali)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15793 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15792 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15791 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15790 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
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
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15788 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15784 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15783 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
its scope.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15782 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15781 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15780 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
directory
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15779 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15778 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15777 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15776 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15775 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15773 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
for optional arguments in types.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15772 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15771 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15770 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15769 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15768 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15767 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15766 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15765 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15764 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15763 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15761 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15760 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15759 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15758 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
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
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15755 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
|
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15754 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|