| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
When compiled for linking with native code, C files use both the
common preprocessor flags and the native-specific cppflags.
The same should happen for assembly files and this commit makes sure
this is the case.
|
|
|
|
|
| |
This means moving its definition from Makefile.common to
Makefile.build_config.in
|
|
|
|
|
|
|
|
|
|
| |
The renamings done in this commit are:
OC_COMMON_CFLAGS -> OC_COMMON_COMPFLAGS
OC_COMMON_LDFLAGS -> OC_COMMON_LINKFLAGS
OC_BYTECODE_LDFLAGS -> OC_BYTECODE_LINKFLAGS
OC_NATIVE_CFLAGS -> OC_NATIVE_COMPFLAGS
OC_NATIVE_LDFLAGS -> OC_NATIVE_LINKFLAGS
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Print concise summaries instead of full commands for some of the most verbose
commands. For example, print
```
OCAMLC lambda/switch.cmo
```
instead of
```
./boot/ocamlrun ./boot/ocamlc -nostdlib -I ./boot -use-prims runtime/primitives -g -strict-sequence -principal -absname -w +a-4-9-40-41-42-44-45-48 -warn-error +a -bin-annot -strict-formats -I lambda -I utils -I parsing -I typing -I bytecomp -I file_formats -I lambda -I middle_end -I middle_end/closure -I middle_end/flambda -I middle_end/flambda/base_types -I asmcomp -I driver -I toplevel -I tools -c lambda/switch.ml
```
and
```
CC runtime/addrmap.b.o
```
instead of
```
gcc -c -O2 -fno-strict-aliasing -fwrapv -pthread -g -Wall -Werror -fno-common -fexcess-precision=standard -fno-tree-vrp -ffunction-sections -I./runtime -D_FILE_OFFSET_BITS=64 -DCAMLDLLIMPORT= -DIN_CAML_RUNTIME -o runtime/addrmap.b.o runtime/addrmap.c
```
The output is generated with the Make function `$(info ...)` to avoid shelling
out to `echo` each time, which can be expensive under Cygwin.
A variable `V` controls whether to use the new style. When `V=0` (the default),
it is used. If `V=1`, then the usual full output is used instead.
Co-authored-by: Nicolás Ojeda Bär <n.oje.bar@gmail.com>
|
| |
|
| |
|
| |
|
|
|
| |
* Fixing typos
|
|
|
|
|
|
|
|
|
|
| |
Basically, this commit replaces make conditionals like
ifneq "$(NATIVE_COMPILER)" "false"
by the hopefully more readable
ifeq "$(NATIVE_COMPILER)" "true"
|
| |
|
|
|
|
|
|
|
| |
Make sure ocamlyacc is always called with -v and --strict.
Before this commit, the parsers of the debugger and of ocamltest
were not generated using these options.
|
|
|
|
|
|
|
| |
Make sure stdlib/StdlibModules depends on sak only if the tree
has been configured.
If the tree has not been configured this dependency is useless.
|
| |
|
|
|
|
|
|
|
| |
Make sure the MKDLL variable is expanded at configure time.
For MKDLL and MKEXE, provide expanded versions that can be
substituted during configuration;
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Tidies up the flexlink aspects. Previously, it was viewed as MKEXE and a
special case needed in flexlink bootstrap to build the runtime without
using flexlink.
This commit moves the flags decisions into configure where they belong
and now exposes two versions of a command which links executables. MKEXE
_may_ link using a C compiler but may be a direct call to a wrapper for
a linker (i.e. flexlink). MKEXE_VIA_CC _always_ creates an executable by
calling the C compiler.
Rather than deriving the entire mkexe command line, configure now
determines what the _command_ will be (i.e. `$(CC)` or
`$(FLEXLINK_CMD)`) and the flags which get passed to that (and their
`-link` prefixes, if necessary) are computed _at the end of the
process_ which hopefully simplifies the number of special cases which
have to be considered during configuration.
|
|
|
|
|
| |
This commit moves the computed dependencies of C files from runtime/.dep
to .dep/runtime.
|
|\
| |
| | |
Make the bootstrap process repeatable
|
| |
| |
| |
| |
| |
| | |
Use the same configuration for boot/ocamlc regardless of the machine on
which the bootstrap is performed. Now set Config.in_boot_compiler to
true for boot/ocamlc.
|
| |
| |
| |
| | |
This reverts commit c9ad0da1833ed4f3939c5eb0d91b7f1d58e27e47.
|
| |
| |
| |
| |
| |
| | |
Use the same configuration for boot/ocamlc regardless of the machine on
which the bootstrap is performed. Now set Config.in_boot_compiler to
true for boot/ocamlc.
|
|/ |
|
| |
|
|
|
|
|
| |
Thhis commit contains changes initially part of PR #11147 but which were
pushed after the PR had been merged.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Eliminates the dependency on many invocations of `tr` and `cut` to a
single invocation of a C auxiliary.
On Windows, the C auxiliary is considerably faster than the large number
of calls to tr and cut which were necessary in stdlib/StdlibModules.
|
| |
|
|
|
|
|
| |
Compile flexlink.opt before ocamlc.opt and then use the natively
compiled flexlink binary throughout the rest of opt.opt.
|
|
|
|
|
|
|
|
| |
On Windows and Cygwin, if the submodule is initialised, configure will
pick it up (this can be disabled by passing --without-flexdll to
configure). --with-flexdll can also be used to specify a different
location for the FlexDLL sources (e.g. when building using opam) and
sources specified this way are first copied to flexdll-sources/
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The bytecode image of flexlink now lives in boot/flexlink.byte$(EXE).
This eliminates the dance done in flexlink.opt to preserve
flexdll/flexlink.exe as being a bytecode image. The native-compiled
version of flexlink now lives in flexlink.opt$(EXE) and is automatically
built as part of opt.opt.
Refactor installation targets to install flexlink.byte.exe and
flexlink.opt.exe as for other tools.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This variable is initialised by default to runtime/ocamlrun
Most of the time this runtime is identical to boot/ocamlrun, but not always.
During the bootstrap process, for instance, the two runtimes may differ.
With this variable it becomes possible, when calling the build system,
to override the default value, which was not possible before.
|
|
|
|
|
|
| |
Since ocamldoc/Makefile.best_ocamldoc was already using OCAMLRUN (rather
than CAMLRUN), it was possible to remove its definition in that file,
because the value is now initialised globally in Makefile.common.
|
|
|
|
| |
Each directory can override this default value.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Partial revert of 9165: don't build the compiler with -O3 in flambda
(cherry picked from commit 6ce1c60ca97ee962ebf5d5218628bc388536325e)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this commit, it becomes possible to provide C compiler and preprocessor
flags to use in addition to those defined by the build system.
As required by the GNU coding standards, the flags can be provided
either at configure or at make invocation.
The provided CFLAGS and CPPFLAGS will also be taken into account
when C code is compiled by ocamlc/ocamlopt.
This commit removes the explicit reference to CFLAGS in the
configuration for the xlc compiler, since it is not necessary any longer.
|
|\
| |
| | |
Simplify Makefile
|
| | |
|