Commit Graph

365 Commits (d30af127d806d2dbda32e7af5c774975129349b5)

Author SHA1 Message Date
Xavier Leroy dd17af8b43 Simpler variant of commit r14635:
- configure: no change necessary
- byterun/config.h: make sure ARCH_INT64_TYPE and related macros
  are always defined, for Coq and others to use.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14636 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-18 10:00:42 +00:00
Xavier Leroy 86bd9990f4 configure: always define ARCH_INT64_TYPE in config/m.h because Coq
and maybe others rely on it
byterun/config.h: select "long long" in preference to "long" for "int64",
  just because this is how it was done in earlier versions.
  (Minimizing suprises.)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14635 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-18 09:54:34 +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
Jacques Garrigue cfb1250590 Fix PR#6347
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14527 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-04 03:04:45 +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
Damien Doligez aa58e55958 port to cygwin-64
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14337 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-12-03 14:43:02 +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 aa7e283b1b build: don't use make's -C; it's not available everywhere.
(Patch by Adrien Nader!)

-C doesn't work on at least openbsd's make so don't use it.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14173 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-21 12:02:49 +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
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
Damien Doligez 7844495624 Merge branch 4.01 from branching point to 4.01.0+rc1
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-09-04 15:12:37 +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
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
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 086c04495e Revert "configure: store $target and $host in the build configuration." as it breaks several builds.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13858 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-30 22:01:53 +00:00
Wojciech Meyer e5eeea88af configure: store $target and $host in the build configuration.
(Patch by Adrien Nader!)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13857 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-30 12:58:35 +00:00
Wojciech Meyer fdf9cde11d build: select win32 variants of unix and graph for mingw.
(Patch by Adrien Nader!)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13856 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-30 12:58:34 +00:00
Wojciech Meyer edec3c55f6 configure: add a special case to test for BSD sockets for mingw.
(Patch by Adrien Nader!)

I tried to use "hasgot" to test it but proved too difficult since you
must #include <winsock2.h> to make link succeed (windows magic) which
then makes gcc complain about the prototype being wrong.

Since windows already needs a special case in order to add -lws2_32 and
since we know for sure it will be available, skip the hasgot test and
check $target directly.
configure: add a special case to test for BSD sockets for mingw.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13855 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-30 12:42:24 +00:00
Wojciech Meyer 1e064ceb55 configure: when cross-compiling, set $TOOLPREF and use it.
(Patch by Adrien Nader!)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13854 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-30 12:42:23 +00:00
Wojciech Meyer feac346c2f configure: add --target and use "target" instead of "host" for variables
(Patch by Adrien Nader!)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13853 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-30 11:41:40 +00:00
Wojciech Meyer 9111707486 configure: for cross, a matching ocamlrun must be on the system.
(Patch by Adrien Nader!)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13852 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-30 11:41:39 +00:00
Wojciech Meyer 7dc8ea2b8f misc: fix indent staircase introduced by revision 13843.
(patch by Adrien Nader!)

While at it also re-add two spaces that were eaten.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13851 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-30 11:03:01 +00:00
Wojciech Meyer d6d2c4b3ea configure: fix detection of non-working C compiler.
(patch by Adrien Nader!)

The test tried to do something like:
  case "$foo,$bar" in
    *,*) echo 1 ;;
    *) echo "compiler not working" ;;
   esac
However the second case cannot match because of the first one.

Instead, check the return code of the command.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13844 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-27 21:09:25 +00:00
Wojciech Meyer 1b39eae0ae configure: remove unused variables from case...in test.
(Patch by Adrien Nader!)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13843 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-27 19:46:02 +00:00
Wojciech Meyer 41be48ee15 configure: fail if invoked with -param=value (instead of "-param value")
(Patch by Adrien Nader!)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13842 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-27 19:28:27 +00:00
Wojciech Meyer f85aaad77d configure: use inf/wrn/err functions to write messages for the user.
(Patch by Adrien Nader!)

This makes messages to the user more consistent.

Behaviours:
  inf(): writes its arguments to stderr
  wrn(): writes "[WARNING]" to stderr and then its arguments to stderr
  err(): writes "[ERROR!]" to stderr, then its arguments to stderr, and
         calls "exit 2"

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13841 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-27 19:10:08 +00:00
Xavier Leroy bfc08c41ac PR#6049: support for OpenBSD/macppc
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13835 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-24 08:17:30 +00:00
Fabrice Le Fessant f4d6eafbd3 Fix PR#6044: enabling frame pointers breaks build on MacOS X
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13826 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-20 16:26:19 +00:00
Fabrice Le Fessant e99f2dde29 Add -fno-omit-frame-pointers to gcc when compiling with -with-frame-pointers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13765 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-11 11:58:44 +00:00
Fabrice Le Fessant 9b53f8b10d Re-add configure option -with-frame-pointers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13738 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03 18:03:59 +00:00
Fabrice Le Fessant 97bc1fa9e2 Reverting -with-frame-pointers
Fails to compile alt-ergo without frame-pointers. No time to debug
before tonight, so I revert and will merge again after fixing the
problem.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13732 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03 06:29:33 +00:00
Fabrice Le Fessant 1b2667b9f2 Add -with-frame-pointers to ./configure
This option can be used to tell the native compiler that it should
update frame pointers, so that debuggers and profiling tools 
(especially Linux perf) can use them. For now, it is only supported
by the Unix/amd64 port.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13730 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03 04:42:42 +00:00
Damien Doligez 362082e1a8 fix testsuite for cygwin
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13652 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-06 18:01:34 +00:00
Damien Doligez b2636c22d5 PR#5921 "compact unwind" warnings under MacOS
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13423 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-22 17:57:53 +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
Pierre Weis a81a5b038c Labtk now supports 8.6.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13327 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-02-27 19:31:47 +00:00
Benedikt Meurer dd65af958b Use clang as assembler on Mac OS X if available.
Mac OS X ships with a really old version of as, which does not support
the CFI directives. LLVM itself provides an assembler that is certainly
way more up to date, but currently there's no dedicated frontend, so we
simply use clang in this case.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13226 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-13 14:22:14 +00:00
Benedikt Meurer dc0776f551 #5798: Apply patch to add VFPv2 and ARMv6 hard-float support (Jeffrey Scofield, Anil Madhavapeddy).
[PATCH] Detect and support armv6/VFPE2, which is sufficient to get
ocamlopt working on the Raspberry Pi hardfloat Debian variant

Original patch: Jeffrey Scofield via http://psellos.com/pub/ocamlxarm/ocaml4-vfpv2.diff
Fixes from: Anil Madhavapeddy <anil@recoil.org>



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13042 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-24 06:20:45 +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 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 6973c3b9da PR#5255: natdynlink detection on powerpc, hurd, sparc
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12647 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-26 16:01:05 +00:00
Damien Doligez 9cd6b389a3 better formatting of message
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12632 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-21 16:22:16 +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
Xavier Leroy 72ae789dc6 PR#5543: in Bigarray.map_file, try to avoid using lseek() when growing file
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12317 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-04 12:12:02 +00:00
Damien Doligez 7c8fcb37f7 PR#5552 unrecognized gcc option "-no-cpp-precomp"
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12283 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-27 14:32:28 +00:00