Commit Graph

9030 Commits (8564a6e8c444a3d0b0b27f9b1f4e70d7041f1fe6)

Author SHA1 Message Date
Gabriel Scherer 8564a6e8c4 PR#5201: ocamlbuild: add --norc to the bash invocation to help Windows performances
This change was recommend by daweil on the bugtracker. According to
the Bash documentation, the option -c that is already passed by
ocamlbuild should already imply --norc, but daweil reported a 30%
performance speedup with this change anyway. I'm a bit surprised, but
this cannot hurt...

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13969 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-04 19:58:01 +00:00
Xavier Leroy be793cb97e Follow-up to PR#5568 and commit 13962
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13964 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-01 15:31:54 +00:00
Xavier Leroy 1c58683353 PR#5568: add O_CLOEXEC flag to Unix.openfile, so that the returned
file descriptor is created in close-on-exec mode.
(Reflecting commit r13961 on version/4.01)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13962 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-01 12:14:57 +00:00
Xavier Leroy 5e78d37215 PR#5350: check return code of lseek() in read_trailer()
(Reflecting commit 13959 in version/4.01)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13960 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-01 09:19:05 +00:00
Xavier Leroy 931ec15f78 PR#6084: Define caml_modify and caml_initialize as weak symbols to help
with Netmulticore.  (Reflecting commit r13957 on version/4.01)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13958 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-01 08:24:07 +00:00
Jacques Garrigue 342282d225 make everything compile
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13956 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-01 07:38:15 +00:00
Jacques Garrigue 8e14ca9ee6 put back trimming
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13955 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-31 07:35:02 +00:00
Jacques Garrigue 501789fd2b update #show patch to access environment in toplevel
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13954 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-31 07:12:58 +00:00
Jacques Garrigue 1fc309687a allow spurious private in with constraint for backward compatibility, but warn
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13953 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-31 02:49:13 +00:00
Wojciech Meyer 747ece3fd6 PR#6109: Fix typos in ocamlbuild error messages
(Patch by Gabriel Kerneis!)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13951 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-30 21:53:00 +00:00
Jacques Garrigue 4d68f643b6 update patch for 4.01
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13948 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-29 08:14:52 +00:00
Gabriel Scherer 27b357ead2 build: fix build on Windows (patch and commit message by Adrien Nader).
CI failures and further testing made me find four more issues:
- forgot to rename a variable from "OCAMLDOC" to "WITH_OCAMLDOC"
  (this issue was also in the non-.nt Makefile)
- syntax error in the installopt rule: missing "fi"
- testsuite doesn't have Makefile.nt so don't use -f Makefile.nt for the
  "clean" rule
- had put an extra call to make "ocamltoolsopt" which in turn built the
  "opt" rule in tools/ but which isn't buildable because it is used to
  build profiling.cmx which, afaiu, is not available on windows (iirc it
  uses posix signals to "sample" the running application).
  That issue was only triggered when building "opt" and not "world.opt"
  and this is why I hadn't noticed it.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13947 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-28 21:08:13 +00:00
Gabriel Scherer 9ba35ffaed build: typo from the cross-compile patchset that makes Windows build fail
By the way, the last few commits have touched the build system and will
most likely result in build failures unless you "make clean" and
./configure again. Sorry for the inconvenience.

(Patch by Adrien Nader)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13946 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-28 19:06:44 +00:00
Wojciech Meyer b5668f67ff build: pass "-f Makefile.nt" to sub-make processes of Makefile.nt.
(Patch by Adrien Nader!)
The $(MAKE) variable of Makefiles doesn't include the -f flag. Pass it
explicitely.
build: pass "-f Makefile.nt" to sub-make processes of Makefile.nt.

The $(MAKE) variable of Makefiles doesn't include the -f flag. Pass it
explicitely.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13945 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-28 16:06:14 +00:00
Wojciech Meyer 79bc2c2efa configure: enable natdynlink for *-*-mingw*.
(Patch by Adrien Nader!)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13944 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-28 15:52:18 +00:00
Wojciech Meyer dda5f84f7c build: allow disabling ocamldoc and ocamlbuild.
(Patch by Adrien Nader!)

This doesn't touch the build system in build/ since it's obsolete and
unmaintained as far as I know (I'll try to remove it in a further
commit).

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13943 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-28 15:52:17 +00:00
Wojciech Meyer 6549fe7019 build: prepend "with_" to camlp4/ocamldebug-{en,dis}abling variables.
(Patch by Adrien Nader!)

This makes the variable names more coherent and is in preparation for
another patch that will allow disabling ocamldoc and ocamlbuild.

This changes the interface of the configuration somewhat but I don't
think anything outside of the ocaml tree reads the Makefile.config file
that gets installed in order to see whether the debugger and camlp4 have
been built. It also changes a .mli which might be problematic but I also
believe it is safe and we have time to see if there's a bad impact.

It also adds a configure switch to skip building ocamldebug.

While at it, it fixes a PR number in the Changes file.
build: prepend "with_" to camlp4/ocamldebug-{en,dis}abling variables.

This makes the variable names more coherent and is in preparation for
another patch that will allow disabling ocamldoc and ocamlbuild.

This changes the interface of the configuration somewhat but I don't
think anything outside of the ocaml tree reads the Makefile.config file
that gets installed in order to see whether the debugger and camlp4 have
been built. It also changes a .mli which might be problematic but I also
believe it is safe and we have time to see if there's a bad impact.

It also adds a configure switch to skip building ocamldebug.

While at it, it fixes a PR number in the Changes file.
build: prepend "with_" to camlp4/ocamldebug-{en,dis}abling variables.

This makes the variable names more coherent and is in preparation for
another patch that will allow disabling ocamldoc and ocamlbuild.

This changes the interface of the configuration somewhat but I don't
think anything outside of the ocaml tree reads the Makefile.config file
that gets installed in order to see whether the debugger and camlp4 have
been built. It also changes a .mli which might be problematic but I also
believe it is safe and we have time to see if there's a bad impact.

It also adds a configure switch to skip building ocamldebug.

While at it, it fixes a PR number in the Changes file.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13942 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-28 15:52:14 +00:00
Hongbo Zhang 311057b871 fix PR#5820
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13941 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-28 01:36:59 +00:00
Hongbo Zhang 74128ccdc0 PR#4855: 'camlp4 -I +dir' accepted, dir is related to 'camlp4 -where'
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13940 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-28 00:49:42 +00:00
Benedikt Meurer 02adae46d2 PR#6091: Thumb-2 MUL must not set flags.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13939 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-27 06:07:40 +00:00
Wojciech Meyer 0e608bf1b0 PR#5547: Enable the "-use-ocamlfind" option by default
ocamlfind library management has been around for while and is
considered to be installed by default on any OCaml system. Therefore
it's safe to assume that the default behavior of ocamlbuild should be
to use new ocamlfind support normally enabled explicitly by
-use-ocamlfind flag. The -use-ocamlfind flag has now a status of
depreceation and instead new flag -no-ocamlfind causes ocamlbuild to
not try to use new set of parametric tags for supporting ocamlfind.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13938 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-27 00:02:13 +00:00
Jacques Garrigue 47d094db83 Fix PR#6090
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13937 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-26 23:04:51 +00:00
Gabriel Scherer 848eb19f50 PR#6058: have ocamlbuild add -thread for all "link" tags
The -thread option is only needed when creating a compilation unit
("compile" tag handled separated), or linking libraries into a final
program ("link";"program"). However, ocamlfind will fail with an error
if neither of -thread or -vmthread is passed into the command-line of
any linking step, such as when creating a cm(x)a archive. The present
fix enables the -thread option for all linking steps, which should fix
any -use-ocamlfind issue and be harmless in other cases.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13934 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-26 19:40:12 +00:00
Damien Doligez 10a88a4c01 remove parasitic dependencies in .depend
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13932 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-24 20:12:22 +00:00
Damien Doligez 5fbcc8e6ae PR#4243: make the Makefiles parallelizable
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13931 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-24 14:39:31 +00:00
Jacques Garrigue d3e731774e Fix PR#5802
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13926 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-24 08:11:20 +00:00
Gabriel Scherer cdd43f2800 PR#5644: a dumbed-down fix to fix the observable effect (Stream.of_string) with no change to the underlying code (to avoid regressions)
As I learned the hard way, it is essentially impossible to get
a satisfying behavior in presence of a mix of updates, concatenations
and counts. The best thing to do is thus to not change anything
(a good way to preserve compatibility), and only fix the
Stream.of_string function to assume nothing of the count passed to the
[from] function.

I also modified the mli documentation of [Stream.from] to warn other
users of this potential pitfall.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13915 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-21 20:03:52 +00:00
Gabriel Scherer 4574c718f8 Revert the changes of revision 12682 (PR#5644 Stream.count broken when used with Sapp or Slazy nodes) because of regressions identified by hongboz
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13914 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-21 20:02:29 +00:00
Xavier Leroy 87b46c37bd Revert commit r13909 because of an issue with 'integr' on i386
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13912 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-19 18:49:56 +00:00
Xavier Leroy 1353262558 PR#5739: Printf.printf "%F" and nan/infinity/neg_infinity.
(Reflecting commit r13910 on version/4.01)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13911 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-19 09:07:54 +00:00
Xavier Leroy 055d5c0379 Port to the ARM 64-bits (AArch64) architecture (experimental).
Merge of branch branches/arm64.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13909 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-18 16:09:20 +00:00
Xavier Leroy 257818bdf6 Use 32x32->64 multiplication as provided by the C compiler when possible.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13908 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-18 16:08:11 +00:00
Xavier Leroy 24bb4caeb3 Updated with latest versions from FSF.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13907 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-18 16:07:25 +00:00
Alain Frisch d3be8230a7 #6073: Add signature to Tstr_include. (Cherry-picked from commit 13903 on 4.01.)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13904 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-17 15:25:47 +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
Alain Frisch 7334bb026a #5899: expose Printexc.get_callstack. (Cherry-picked 13884, 13885 from trunk.)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13886 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-11 12:37:10 +00:00
Fabrice Le Fessant 2602e82995 Remove non-ASCII chars from headers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13880 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-09 13:21:45 +00:00
Alain Frisch f836495698 Fix #5571.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13877 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-09 11:16:25 +00:00
Alain Frisch edb771d22b #4986. Add two common operations: List.sort_uniq (more efficient that sorting then removing duplicates) and Set.of_list (more efficient than folding Set.add over the list).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13876 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-09 11:01:42 +00:00
Hongbo Zhang 72af5c7cd0 fix PR#6062: camlp4 macro parser uncaught exception
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13875 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-07 14:21:35 +00:00
Gabriel Scherer e94ecc00a4 ocamlbuild: fix typo for short_paths+infer_interface
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13873 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-04 14:00:57 +00:00
Alain Frisch b4c2dc9336 Remove duplicated declaration.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13872 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-04 12:27:06 +00:00
Luc Maranget 32bcc186ea Patch for PR#5788
(Exception binding fools pattern matching optimisations)

Hopefully it's complete...





git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13871 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-02 16:05:48 +00:00
Fabrice Le Fessant c77d5ac9c3 Add Graphics.loop_at_exit function
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13869 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-02 15:12:00 +00:00
Wojciech Meyer 0425a7246b Revert "build: make building ocamldoc, ocamlbuild and ocamldebug optional."
This patch fixes build failure.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13867 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-01 21:33:22 +00:00
Wojciech Meyer 21b780c0a5 configure: store $target and $host in the build configuration (fix-pt2). (Patch by Adrien Nader!)
Fixing builds continued.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13866 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-01 21:33:21 +00:00
Wojciech Meyer 70659109f2 build: make building ocamldoc, ocamlbuild and ocamldebug optional.
(modified patch from Adrien Nader!)

Add also new comments for the new INSTALL flags.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13864 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-01 19:28:18 +00:00
Wojciech Meyer 2dcbc1718b win32unix: add a Makefile (not ".nt" one).
(patch by Adrien Nader!)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13863 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-01 19:28:16 +00:00
Wojciech Meyer 1a241d873f configure: store $target and $host in the build configuration (fixed).
(patch by Adrien Nader!)

Compared to the previous version of this patch, this fixes too issues.

First, it updates the makefiles for mingw and msvc to set $host and
$target. I'm not completely sure why that was required since these
variables should have evaluated to empty strings which were only tested
for equality later on. Still, it's needed and it avoids an asymetry
between the regular ./configure-based builds and the ones using pre-made
Makefiles.

Second, it update the ocamlbuild config to also store $host and $target.
I had been building the cross-compilers with OCAMLBUILD_NOBOOT (which is
rather new) and updating that config wasn't needed. However it is
required for the "regular" builds.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13862 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-01 19:28:15 +00:00
Gabriel Scherer 20710f3675 [patch by Adrien Nader] build: avoid an unneeded gnu-style conditional in Makefile.
The OpenBSD Jenkins slave started failing because of the use of
gnu-style conditionals.
There's unfortunately no way that I know of to get a conditional syntax
that works both with gmake and mk.
Fortunately, the conditional wasn't needed at all since the value was
already computed in the configure step.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13861 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-01 12:12:33 +00:00