| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |\ |
|
| | |
| |
| |
| | |
(#1228)
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
With gratitude to the boss for spotting this apparently non-obvious
manoeuvre!
|
| | | |
|
| | |
| |
| |
| | |
_mkgmtime64 is _mktime64, but assumes UTC.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch adds support for xlc (IBM C compiler, used on
Linux and AIX) in cckind.cc and enables shared libraries
support in bytecode compiled programs on AIX.
It was tested on Linux/gcc and AIX7.1/xlc 12. By default
configure script uses gcc compiler, so there should be no
impact on Linux/xlc systems. To use xlc one should run
configure with -cc xlc.
|
| | |
| |
| |
| |
| |
| | |
This commit is a follow-up to PR#1114. It ensures that C compilers
other than msvc are called with a space between the -o option and
its object or executabe file argument.
|
| | |
| |
| |
| |
| |
| |
| | |
Rename MANEXT (resp. LIB_MANEXT) to PROGRAMS_MAN_SECTION (resp.
LIBRARIES_MAN_SECTION).
Also get rid of a useless variable assignment in configure.
|
| | |
| |
| |
| |
| |
| |
| | |
It contains the section for library function manual pages (3).
This will be useful to properly install the manual pages generated
by ocamldoc for the standard library.
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
Use the same C compiler, CC, in all the build system.
|
| | |
| |
| |
| |
| |
| |
| | |
Before this commit there was BYTECCRPATH and NATIVECCRPATH, but they
were actually identical to each other.
This commit gets rid of them and uses the RPATH variable.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
When calling the C compiler, the scripts under config/auto-aux now
take into account the value of the cflags and ldflags environment variables.
This will make it possible to invoke these scripts from configure in a more
straightforward way.
|
| | | |
|
| | |
| |
| |
| | |
This variable is empty and actually never used in the build system.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
For the verbose variable, use boolean values true and false rather
than yes and no.
Also fix indentation in scripts under config/auto-aux where appropriate.
|
| |/
|
|
|
| |
The -D_CRT_SECURE_NO_DEPRECATE argument was not given to NATIVECC,
this seems to be an omission.
|
| | |
|
| |
|
|
|
| |
Now that the Unix and Windows build systems have been merged, thiese
variables are no longer useful.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
These variables represent the C compilers ocamlc and ocamlopt should use
to compile a third-party C source file when no -cc command-line option
has been specified.
Thanks to these variables, the substitutions performed in Makefile and
Makefile.nt to generate utils/config.ml from utils/config.ml become
similar.
(The NATIVE_C_COMPILER variable is not really necessary but it has still
been introduced to preserve symetry.)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following variables were defined in the Windows configuration files
(config/Makefile.*) but not taken into account by Makefile.nt when
generating utils/config.ml from utils/config.mlp: ASM_CFI_SUPPORTED,
LIBUNWIND_AVAILABLE, LIBUNWIND_LINK_FLAGS and CC_PROFILE.
This commit replaces the values hardcoded in Makefile.nt by the
appropriate variable references.
Similarly, the value of WITH_FRAME_POINTERS was also hardcoded in
Makefile.nt but not defined in the configuration files. This commit thus
defines the variable in each configuration file and uses it instead of
the hardcoded value in Makefile.nt.
|
| |
|
|
|
|
|
|
|
|
|
| |
This variable is used to give a value to standard_runtime in
utils/config.ml.
Before this commit, its values were hard-coded in Makefile and
Makefile.nt, in the rules generating utils/config.ml from utils/config.mlp.
This commit gets rid of this hardcoding, to prepare the sharing of the
rules mentionned above.
|
| |
|
|
|
|
| |
This variable is defined in the config/Makefile produced by the
configure script on Unix systems but was not defined in the Windows
makefiles.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Merge Unix and Windows build systems in the asmrun directory
Changes in make variables:
- Removal of the SHARED make variable, which had the same
semantics than SUPPORTS_SHARED_LIBRARIES, the later having values true
and false while the former had values shared and noshared.
(SHARED was not defined on Windows)
- RUNTIMED now takes values true and false rather than runtimed and
noruntimed
* Do not use -O0 in asmrun's Makefile
* Add /asmrun/win32.c to .gitignore
* Build PIC libraries only under Unix
This makes things closer to what they were before, since PIC objects
were not built for Windows.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix compilation of debug objects on MSVC
f22564 (0f1669 for 4.02) changed the way debugging objects are compiled
to allow parallelisation. Unfortunately, this was introduced in a way
which doesn't work for the Microsoft C Compiler where -o is deprecated
alias of /Fe and doesn't ever mean /Fo.
* Fix Windows compilation of ocamlrund/libcamlrund
Fixes various problems with compiling ocamlrund on Windows - most
notably the fact that only msvc64 actually activated debug mode!
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit modifies these two behaviours:
1. ``make install'' installs libraries with profiling support only when
this makes sense.
2. On platforms that do not support profiling with gprof, the -p option of
ocamlopt produces an error message.
On such platforms, ``make install'' was installing dummy profiling
libraries and ocamlopt's -p option was silently ignored.
In addition, this commit modifies the values of the PROFILING make
variable. Before the commit it was either prof or noprof. After the
commit it is either true or false.
In the asmrun directory, the call to ranlib for libasmrunp.a has also been
removed from the install target because this command is already invoked
in the rule that builds libasmrunp.a.
ocamlc/ocamlopt -config now prints the state of profiling support
|
| |
|
|
|
|
|
|
|
| |
support (#933)"
This reverts commit 8adfe15f182b9bfced844746bb0e8596dbf41d12.
This is a temporary revert caused by Continuous Integration
failure. We'll investigate the issue and merge again when it is fixed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit modifies these two behaviours:
1. ``make install'' installs libraries with profiling support only when
this makes sense.
2. On platforms that do not support profiling with gprof, the -p option of
ocamlopt produces an error message.
On such platforms, ``make install'' was installing dummy profiling
libraries and ocamlopt's -p option was silently ignored.
In addition, this commit modifies the values of the PROFILING make
variable. Before the commit it was either prof or noprof. After the
commit it is either true or false.
In the asmrun directory, the call to ranlib for libasmrunp.a has also been
removed from the install target because this command is already invoked
in the rule that builds libasmrunp.a.
ocamlc/ocamlopt -config now prints the state of profiling support
|
| |
|
|
|
|
| |
In particular, this adds support for systems where the `cat` binary isn't
located in /usr/bin/ or /bin/, but can be found using /usr/bin/env.
An example of such a system is NixOS (https://nixos.org).
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Don't use the compatibility macros, neither in the C stub code nor in the testsuite.
* Make sure compiler sources do not use deprecated C identifiers.
This is achieved by ensuring that the CAML_NAME_SPACE macro is defined
everytime a C source file is compiled, rather than being defined only
in a few places. Defining this macro guarantees that the compatibility.h
header (where these deprecated identifiers are defined) will not be
included.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this commit, there was no distinction between the options
used to compile C source files coming with the OCaml distribution
and third-party C source files compiled by calling ocamlc or ocamlopt.
This commit makes it possible to use options when compiling C source
files that come with OCaml without imposing these options to the compilation
of third-party code.
More specifically, the options in the BYTECCCOMPOPTS and NATIVECCCOMPOPTS
variables are not passed to the C compiler when called by ocamlc and
ocamlopt any longer.
This commit also documents the role of each concerned variable.
In addition:
- On Unix:
* The -Wall and -Werror options are no longer passed to the C
compiler by ocamlc and ocamlopt for third-party C source files
- For the MinGW port:
* The -O option has been removed from the SHAREDCCCOMPOPTS variable
* The -Wall and -Wno-unused options are no longer passed to the C
compiler by ocamlc and ocamlopt for third-party C source files
- For the msvc port: the
* The -Ox option has been removed from the SHAREDCCCOMPOPTS variable.
* The -Wall and -Wno-unused options are no longer passed to the C
compiler by ocamlc and ocamlopt for third-party C source files
|
| |
|
|
|
| |
The DLLCCCOMPOPTS variable is defined in the makefiles but is not
actually used anywhere.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Make sure the PTHREAD_CAML_LINK variable is defined everywhere.
* Merge makefiles in otherlibs/systhreads
Before this commit, the .cma and .cmxa libraries were linked using -linkall
under Windows but not under Unix.
It was not possible to clarify why -linkall was useful, but given the small
size of the involved modules and the fact that, for most modules, it
does not seem to make much sense to use one without the others, it has been
decided to use -linkall everywhere.
This commit also stops building the .cmxs shared library under Windows, for
consistency reasons (it was built only under Windows before).
|
| |
|
|
| |
with XX a number smaller than 32 (to leave at least 22 bits for the size)
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When configured with -safe-string, the OCaml tools will default to the
safe-string mode and ignore -unsafe-string command-line arguments. This
is intended to serve two purposes:
- Facilitate the detection of packages that are not ready
for -safe-string ready. (Perhaps with some OPAM switch?)
- Enable some optimizations that assume that all linked units are
compiled with -safe-string.
Note: currently, there is no check that units compiled with an OCaml
configured without -safe-string are not linked in.
|
| | |
|
| | |
|
| |
|
|
|
| |
_vscprintf was added to Microsoft Visual C++ in .NET 2002. Provide an
implementation of it for older compilers.
|