David Allsopp
8b22c9af5d
Refactor lintapidiff command for long-line
2017-10-25 23:54:39 +01:00
David Allsopp
11c3df41ed
Tidy-up generation of utils/config.ml
...
Simultaneously deals with an overly-long line and also ensure that
backslashes would be escaped no matter which variables they happened to
appear in.
2017-10-25 23:54:39 +01:00
Leo White
8f6c6aca92
Enable call counts in spacetime by default
2017-10-12 16:52:09 +01:00
Damien Doligez
db88523db3
Fix flexdll section in README ( #1359 )
...
Fix flexdll section in `README.win32.adoc`.
Pass the whole OCaml config to the Flexdll Makefile instead of a few chosen variables.
2017-10-05 16:48:08 +02:00
Gabriel Scherer
a202aa032b
rename the configure-time safe-string options for clarity
...
-(un)safe-string becomes -(no-)force-safe-string
-(un)safe-string-default becomes -default-unsafe-string
Config.safe_string (and Clflags.unsafe_string) keep their name for
backward-compatibility, as well as the C define CAML_SAFE_STRING
(which corresponds to -force-safe-string).
2017-10-02 14:42:19 +02:00
Gabriel Scherer
6550a30719
safe-string: clarify the relation between configure- and compile-time options
2017-10-02 14:42:19 +02:00
Jacques Garrigue
70b02405e0
Merge pull request #1365 from yallop/let-rec-patch-406
...
GPR#556, PR#7215, PR#7231, PR#6738: Add a new check that 'let rec' bindings are well formed.
2017-09-22 15:37:10 +09:00
Nicolás Ojeda Bär
9fe6d0e2c2
Unicode support for the Windows runtime ( #1200 )
...
* Add support code
* Explicitly reference ANSI Windows APIs
* Adapt Sys.is_directory
* Adapt ocamlrun
* Add Changes entry
* Add testsuite
* Adapt Unix.open_process{_in,_out,_full,}, Unix.create_process{_env,}
* Adapt headernt.c
* Adapt Pervasives.open_{in,out}, Filename.temp_file, etc.
* Adapt Sys.file_exists
* Adapt Sys.remove
* Adapt Sys.chdir
* Adapt Sys.getcwd
* Adapt Sys.getenv
* Adapt Sys.command
* Adapt Sys.readdir
* Adapt CPLUGINS
* Remove use of FormatMessageA, CreateFileA
* Adapt Unix.mkdir
* Adapt Unix.openfile
* Adapt Unix.readlink
* Adapt Unix.rename
* Adapt Unix.{LargeFile,}.{l,}stat
* Adapt Unix.system
* Adapt Unix.{open,read}dir
* Adapt Unix.link
* Adapt Unix.symlink
* Adapt Unix.getcwd
* Adapt Unix.rmdir
* Adapt Unix.utimes
* Adapt Unix.unlink
* Adapt Unix.chdir
* Adapt Unix.chmod
* Adapt Unix.{execv,execve,execvp,execvpe}
* Compile with -DUNICODE -D_UNICODE under Windows
* Add configure-time switch, Config.windows_unicode
* Adapt Unix.putenv
* Re-implement Unix.environment using GetEnvironmentStrings()
* Use Unicode-aware flexdll
* Adapt Unix.environment
* AppVeyor: bootstrap flexdll
* Adapt tests/embedded/cmmain.c
* Adapt tests/lib-dynlink-csharp/entry.c
* Remove exec tests
* Fixup
* Pass -municode to MinGW compiler
* Try to fix tests/embedded
* Adapt Sys.rename
* Correct Changes entry
* Makefile.several: use $(O) and $(NATIVECODE_ONLY)
* Display => skipped correctly for tests/win-unicode
* Add missing casts to execv* calls
It's not clear why these aren't necessary for with char, but they are
necessary with wchar_t on GCC (but not MSVC).
* Missing header in systhreads (Win32 only)
* Revert "Pass -municode to MinGW compiler"
This reverts commit a4ce7fb319c429068a5b9d1ab14a2cc3969c355f.
* Revert "Try to fix tests/embedded"
This reverts commit 5197d8922295b7b339b970ec3189374aa15de4b8.
* Revert "Remove exec tests"
This reverts commit 306ccef2e79eca5b38ecfa285b912c7bcf3e9f52.
* Don't pass $(LDFLAGS) when build ocamlc.opt
It's already included via CC anyway, and it causes Unicode problems for
Winodws (because the linker options need to be prefixed "-link" to go via
flexlink).
* Use wmain on Windows for ocamlrun
* Build Unicode applications on Windows
* Use wmain in headernt.c
* Minor correction to win-unicode Makefile
* Switch submodule to FlexDLL 0.36
* Build ocamlyacc as an ANSI application
* Revert "Fixup"
This reverts commit 500bd6b575ffd6c5b71c6953e55d740f0b090185.
* Fix casts for execvp/execve
* Remove tabs from test code
* Fix Changes entry
* shell32.lib is no longer necessary
* Free allocated string
* Changes: signal breaking change
* Disable exec_tests
* Protect with CAML_INTERNALS
2017-09-18 17:41:29 +02:00
Sébastien Hinderer
77adbb0ae6
Integrate the build of ocamltest to the main build system
...
This commit ensures ocamltest.byte and ocamltest.opt get built along with
the other tools.
2017-09-18 17:40:14 +02:00
Leo White
e1fd8d5d3a
Merge pull request #1332 from bobot/fix_output_complete_obj
...
[OCamlc] fixes output-complete-object
2017-09-16 06:54:58 +01:00
François Bobot
1343658f5d
[OCamlc] use OUTPUTOBJ and move CAML_INTERNAL
...
in the generated file instead of in the command line
2017-09-15 21:28:59 +02:00
Damien Doligez
f086eda9c0
add -no-flat-float-array configure option
2017-09-15 18:24:36 +02:00
Mark Shinwell
b65096678b
Register availability analysis ( #856 )
2017-09-15 11:08:14 +01:00
Sébastien Hinderer
004dc6b018
Fix `make alldepend`: don't build dependencies for num ( #1310 )
...
This is a follow-up to PR #1178
2017-08-30 16:15:17 +02:00
Xavier Leroy
3de0115bfe
At installation time, remove some leftover files from otherlibs/num
...
In $(INSTALL_LIBDIR) there can be leftover files from an earlier installation of OCaml, including files from the now defunct otherlibs/num library. Those files can cause findlib/ocamlfind to think that the Num library is still provided by the core OCaml distribution.
This is a temporary hack, to be cleaned up in 4.07 for example.
2017-08-19 17:44:26 +02:00
Leo White
b3f54cb726
Move complugin and friends from BYTECOMP to COMP ( #1216 )
2017-08-16 14:33:21 +01:00
Mark Shinwell
9683393625
Call counts in Spacetime ( #1180 )
2017-06-16 13:51:12 +01:00
sliquister
3f76c0525b
generalize -dtimings to show allocation, top heap size ( #1152 )
2017-06-09 12:29:21 +01:00
Fabrice Le Fessant
8daa184d95
New -depend option for ocamlc/ocamlopt
2017-06-01 15:56:30 +02:00
Sébastien Hinderer
6a381fcfa9
Revert "Make 'alldepend' work even when opt compiler is disabled"
...
This reverts commit 1de47e2d87
.
This commit introduced other issues so it seems better to revert it.
2017-04-28 15:49:09 +02:00
Sébastien Hinderer
1de47e2d87
Make 'alldepend' work even when opt compiler is disabled
...
This is achieved by not including the architecture-specific files in the
prerequesites of 'beforedepend'.
2017-04-28 11:40:20 +02:00
Sébastien Hinderer
40fcbb5f0a
Move configuration header files from the config to the byterun/caml directory
...
This commit moves:
- config/m.h to byterun/caml/m.h
- config/s.h to byterun/caml/s.h
Consequently, m.h and s.h now get installed alongside other
OCaml header files.
This commit also updates the .depend files, introducing updates in the
dependencies which are not consequences of this commit itself.
2017-04-26 19:28:17 +02:00
Sébastien Hinderer
376435be98
Make 'make depend' fail as soon as a sub-command it invokes fails.
...
With this commit, 'make alldepend' will stop and report an error as
soon as one of the invoked command fails, which was not the case before.
This commit thus makes it possible to test that 'make alldepend' works
in an automated way.
2017-04-26 18:23:22 +02:00
David Allsopp
0301576685
Fix \r problems on recent Cygwins
...
The Cygwin packages for awk, grep and sed were updated on 20 February
2017 so that they no longer automatically strip \r characters on binary
mounts. This affects the OCaml build system in a few places, requiring
the addition of a few tr calls.
References:
* https://cygwin.com/ml/cygwin/2017-02/msg00152.html
* https://cygwin.com/ml/cygwin/2017-02/msg00189.html
* https://cygwin.com/ml/cygwin/2017-02/msg00188.html
2017-04-13 14:17:28 +02:00
Mark Shinwell
3efe66e043
Remove SPARC backend
2017-04-10 09:18:13 +01:00
David Allsopp
80e7529be5
Fix installation of bytecode flexlink.exe
...
The bytecode version of flexlink.exe is compiled before camlheader is
available, so it needs to have that prepended when it's installed.
2017-04-09 19:00:06 +02:00
David Allsopp
7ef4018bd7
Don't build flexlink.opt in opt.opt
...
Require flexlink.opt to be specified. Old behaviour:
make flexdll world.opt install
now becomes:
make flexdll world.opt flexlink.opt install
Without flexlink.opt, a bytecode version of flexlink.exe is installed.
2017-04-09 19:00:06 +02:00
David Allsopp
5a29efa469
Split FlexDLL bootstrap into flexdll and flexlink
...
Allows the C object files to be provided separately and just the
flexlink binary itself to be bootstrapped.
2017-04-09 19:00:06 +02:00
David Allsopp
65fd726329
Install bootstrapped FlexDLL objects to flexdll/
...
The install-flexdll target now puts the object files for FlexDLL in a
subdirectory flexdll of the Standard Library instead of in the Standard
Library itself.
A configuration tweak means that -I +flexdll is effectively added to all
compiler invocations and also a pseudo-option -L+flexdll to ocamlmklib
calls to Config.mkdll which fixes PR#7373.
2017-04-09 19:00:06 +02:00
David Allsopp
614dd0b756
Allow backslashes in FLEXLINK_FLAGS
...
Also in MKEXE, MKDLL and MKMAINDDLL as a result.
2017-04-09 19:00:06 +02:00
Sébastien Hinderer
eef958007e
Build system: rename variables related to manual pages
...
Rename MANEXT (resp. LIB_MANEXT) to PROGRAMS_MAN_SECTION (resp.
LIBRARIES_MAN_SECTION).
Also get rid of a useless variable assignment in configure.
2017-03-29 11:10:06 +02:00
Sébastien Hinderer
3564aade19
Introduce and use the OUTPUTEXE and OUTPUTOBJ build variables
2017-03-29 11:10:06 +02:00
Sébastien Hinderer
f2d5d60376
Define new build variables for C compiler and preprocessor flags
2017-03-29 11:10:06 +02:00
Sébastien Hinderer
8868a7c023
Rename the BYTECCLINKOPTS build variable to LDFLAGS
2017-03-29 11:10:05 +02:00
Pierre Chambart
cb81cc6fe2
Declare record type for flambda function parameters ( #1028 )
2017-03-16 10:40:47 +00:00
Sébastien Hinderer
d05d521d6e
Fix dependencies generation for otherlibs
...
Generate dependencies for all of them, not just those that will
actually be built.
2017-03-09 17:12:02 +01:00
Sébastien Hinderer
a85b39654a
Clearly report that dependencies cannot be regenerated for the MSVC ports
2017-03-09 17:12:02 +01:00
Sébastien Hinderer
ccf22c8471
Make .depend files generated for C sources more portable
...
This implements a suggestion provided by @xavierleroy in
https://github.com/ocaml/ocaml/pull/941#issuecomment-266047690
Before this commit, the dependencies of the win32unix C files were not
taken into account at all. This commit fixes this, too.
2017-03-09 17:12:02 +01:00
Christopher Zimmermann
feaab3e40e
use $(MAKE) variable
2017-03-05 21:36:13 +01:00
Gabriel Scherer
838b6f8fd2
Merge pull request #1074 from stedolan/parallel-make-fix
...
Fix for parallel make
2017-03-02 17:00:01 -05:00
Stephen Dolan
fa576384b2
Fix for parallel make
2017-03-02 10:15:40 +00:00
Nicolas Ojeda Bar
e75c87dc48
Initial import of linear-scan-register-allocator
...
The code in this commit was written by Marcell Fischbach & Benedikt Meurer.
See [Mantis#5324](http://caml.inria.fr/mantis/view.php?id=5324 ) for some
context.
The code (which was originally written against 3.12) was ported to trunk by
doing
```bash
git clone https://github.com/bmeurer/ocaml-experimental/
cd ocaml-experimental
git diff master...linear-scan-register-allocator > t.diff
```
and then applying the diff by hand.
2017-02-22 17:09:18 +01:00
Török Edwin
d1cd849d3f
Documentation tool: add tools/lintapidiff.ml
...
Run 'make lintapidiff' in the root of a git checkout to get a list of
potentially missing or wrong @since annotations.
The tool is not built by default, you have to first run 'make
world.opt', and then run 'make lintapidiff'.
lintapidiff doesn't support stop comments: add explicit list of changes to ignore.
see copyright header for license.
2017-02-21 17:13:38 +02:00
fdopen
9174a1d1ec
also install ocamlyacc
2017-02-17 16:38:26 +01:00
Sébastien Hinderer
42ae45f5b4
Makefile: declare the distclean and coreboot targets as PHONY
...
Makefile: declare the coreboot target as PHONY
2017-02-15 16:06:23 +01:00
Sébastien Hinderer
14614a5c2e
Makefile: reorder a few phony and variable declarations
2017-02-15 11:19:08 +01:00
Sébastien Hinderer
05005bd7d3
Makefile: get rid of commented rule
2017-02-15 11:19:08 +01:00
Sébastien Hinderer
460019eb69
Makefile: minor improvement of a rule related to the native dynlink library
2017-02-15 11:19:08 +01:00
Sébastien Hinderer
a23bec29ec
Makefile: minor fix of the clean rule
...
Move the phony declaration above the first definition of the clean rule.
2017-02-15 11:19:08 +01:00
Sébastien Hinderer
73179f8972
Makefile: slightly improve the flexdll rule
2017-02-15 11:19:07 +01:00