Commit Graph

267 Commits (2c48e6f276585134cc5a1afd581597f2b8ce2d18)

Author SHA1 Message Date
Xavier Leroy ae9fd0ffb4 configure: typo in detection of clang version. 2015-11-26 19:20:47 +01:00
Xavier Leroy 2641daf1fe PR#6910 and GPR#224: extend marshaling to support data encodings beyond 4 Gb
- Update Changelog
- #define inline in config/m-nt.h to support MSVC (to be tested).
2015-11-19 09:59:40 +01:00
Damien Doligez 7cb9a80744 simplify .gitignore; remove .ignore files and tools/setignore; adjust tools/check-typo 2015-11-06 16:25:05 +01:00
Gabriel Scherer bedb4e3ac1 Build system: fix a few hardcoded ar commands.
(Daniel Bünzli)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16485 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-09 20:41:57 +00:00
Xavier Leroy 3b9aaeafaa Remove autoconf tests that are no longer used.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/cc-optim@16331 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-04 14:12:09 +00:00
Xavier Leroy 423bfe29ba Modernize the C style of those autoconf tests.
The intent is to produce fewer warnings when configuring with -verbose.
Note that the warning on "implicit declaration of function" remains,
for relatively good reasons.


git-svn-id: http://caml.inria.fr/svn/ocaml/branches/cc-optim@16330 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-04 12:14:06 +00:00
Xavier Leroy d9ab3bd2c9 When compiling with gcc or clang, use optimization level -O3 with some optimizations prudently turned off.
Auxiliary changes:
- Put GCC in gnu99 mode (= C99 + GNU extensions).
- Check C99 conformance, warn if not.
- Reject if gcc is too old ( < 3.0 )
- Stop C compilation on warnings if this is a development version of OCaml.
  (I'm tired of C warnings being ignored.)


git-svn-id: http://caml.inria.fr/svn/ocaml/branches/cc-optim@16329 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-04 12:12:47 +00:00
Damien Doligez 860c670848 merge branch 4.02 from 4.02.1 (rev 15540) to a few fixes after 4.02.2 (rev 16205)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16214 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-07-17 14:31:05 +00:00
Damien Doligez 823be1d693 use the official name of Jane Street in headers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15986 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-04-07 18:48:35 +00:00
Jérémie Dimino 3a903acafb PR#6285: add support for nanosecond precision in Unix.stat()
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15877 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-03-05 11:02:53 +00:00
Damien Doligez 031cffd155 merge branch 4.02 from release 4.02.0 to release 4.02.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15558 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-15 13:34:58 +00:00
Damien Doligez 24b06f4f00 followup to PR#6590: disable optimization -Gy
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15477 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-06 13:37:46 +00:00
Damien Doligez 20c278bf45 PR#6181 and PR#6590
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15462 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-03 19:20:36 +00:00
Xavier Leroy b868c05ec9 PR#6517: use ISO C99 types {,u}int{32,64}_t in preference to our homegrown
types {,u}int{32,64}.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15131 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-27 09:58:33 +00:00
Damien Doligez cbfe627f92 merge changes from branch 4.02 from branching (rev 14852) to 4.02.0+rc1 (rev 15121)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15125 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-22 13:45:02 +00:00
Xavier Leroy 774e30e138 PR#6075: avoid using unsafe C library functions (strcpy, strcat, sprintf).
An ISO C99-compliant C compiler and standard library is now assumed.
(Plus special exceptions for MSVC.)  In particular, emulation code for
64-bit integer arithmetic was removed, the C compiler must support a
64-bit integer type.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14607 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-15 17:09:13 +00:00
Damien Doligez c81cc506ec configure: SO must be "so" or "dll" without the dot
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14369 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-12-17 09:58:47 +00:00
Xavier Leroy f65785ae55 Un-bootstrapping of ocamlbuild: build it using a plain Makefile.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14347 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-12-12 17:38:43 +00:00
Xavier Leroy 33f242aaea Reverting the elimination of the ocamlcomp*.sh scripts, namely the following 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-29 13:04:38 +00:00
Jérémie Dimino 5d917633ad remove camlp4
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/minus-camlp4@14309 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-21 16:23:28 +00:00
Wojciech Meyer 122f4f8600 build: make CAMLOPT_BIN default to "no-opt-compiler-available".
(Patch by Adrien Nader!)

Jacques Garrigue has reported that the testsuite would try to run with a
non-existing opt compiler and that the error wasn't clear.

Now, instead of trying to run:
  -c -I some_dir/ foo.ml
anything that tries to run ocamlopt before it's available will run:
  no-opt-compiler-available -c -I some_dir/ foo.ml
which should hopefully be clearer.

I'm not yet sure why the testsuite didn't abort earlier, noticing that
there was no opt compiler. One possibility is that using "test -e"
without argument (which happens if variables are empty and not quoted
inside shell scripts) succeeds. This will have to be checked.

v2: don't remove the bytecode entry (bad copy-paste)
build: make CAMLOPT_BIN default to "no-opt-compiler-available".

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14278 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-10 12:32:13 +00:00
Wojciech Meyer 86f0519755 build: typo on config/Makefile.mingw64, msvc and msvc64.
(Patch by Adrien Nader!)

While trying to come up with the previous commit, I noticed that the
various Windows config files had diverged: all but config/Makefile.mingw
were lacking a '%' in a pattern and this prevents the pattern from matching
anything.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14176 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-22 22:33:23 +00:00
Wojciech Meyer 241585bc83 build: replace ocamlcomp*.sh.
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-20 00:22:38 +00:00
Wojciech Meyer 908c6e8dfb config/Makefile.{mingw,msvc}{,64}: remove unused DO variable.
(Patch by Adrien Nader!)

This variable is currently unused and it breaks my new script which
replaces mkmyocamlbuild.sh.
The issue is that the "DO" variables becomes "do" in
myocamlbuild_config.ml (lowercased) and "do" is an OCaml keyword.
Since the variable is not used, simply remove it.

Also remove the DBGO variable which only exists in Makefile.msvc64.
Checking for occurrences of this variable elsewhere, I only found
byterun/Makefile.nt which defines it as DBGO=d.$(O) rather than
dbg.$(O).

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14163 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-18 20:56:32 +00:00
Xavier Clerc e82104a755 Remove labltk from the distribution (will be available as a third-party library).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14077 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-09 09:32:00 +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
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
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 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 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
Damien Doligez 6283fee381 testsuite: making it work without installing OCaml (continued)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13690 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-17 12:03:58 +00:00
Damien Doligez b43d08c8da porting to MSVC64; some cleanup; ignore .obj and .lib files
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13655 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-07 09:40:18 +00:00
Damien Doligez 5b1d3a6707 port testsuite to mingw64
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13639 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-30 11:06:18 +00:00
Damien Doligez bdfbce7aa3 config/Makefile.mingw: bug in definition of ASPP
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13638 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-30 10:02:34 +00:00
Damien Doligez e4f810e64f last fixes to make the testsuite work under mingw
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13636 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-30 09:25:14 +00:00
Damien Doligez 64f905ff8c config/Makefile.mingw: additions to make the testsuite work
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13627 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-29 18:21:50 +00:00
Damien Doligez c63f9e0957 fix a few problems with whitespace and over-long lines
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13393 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-09 22:38:52 +00:00
Wojciech Meyer 0acb3a2205 config/Makefile.*: remove DBM-related variables.
Patch by Adien Nader!

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13174 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-30 03:12:09 +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 6be05dae42 add some missing copyright headers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12814 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-02 08:17:59 +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
Damien Doligez c74d9836f0 removed bogus $Id lines
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12721 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-17 15:57:37 +00:00
Jonathan Protzenko 7bb9ab2e0c PR#5676: add ipv6 support on Windows.
Patch by Jérôme Vouillon <Jerome.Vouillon@pps.jussieu.fr>

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12710 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-13 12:15:57 +00:00
Xavier Leroy 28c206ad37 PR#5643: issues with .cfi and .loc directives generated by ocamlopt -g
(Picking commit 12610 from version/4.00)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12611 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-17 08:17:43 +00:00
Alain Frisch 11fadf4929 ASM_CFI_SUPPORTED=false for other Windows ports.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12460 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-15 14:04:57 +00:00
Alain Frisch eb08d628da Don't disable Camlp4 by default for msvc64 and mingw64.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12458 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-15 13:08:47 +00:00
Jonathan Protzenko 715ea44322 CFI directives are not supported on Windows.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12320 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-04 13:03:21 +00:00
Jonathan Protzenko 1ac30d51ba Update the Makefiles on Windows to reflect the fact that compiling camlp4 is now opt-out.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12318 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-04 12:56:49 +00:00
Alain Frisch 05fbe3cbde Use new -stack option from flexdll 0.28 (#5465).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12263 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-23 15:14:02 +00:00