summaryrefslogtreecommitdiff
path: root/Makefile.common
Commit message (Collapse)AuthorAgeFilesLines
* OC_ASPPFLAGS should include OC_CPPFLAGSSébastien Hinderer2023-03-171-1/+1
| | | | | | | | 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.
* Make OC_NATIVE_CPPFLAGS configurableSébastien Hinderer2023-03-141-7/+0
| | | | | This means moving its definition from Makefile.common to Makefile.build_config.in
* Rename a few private build variablesSébastien Hinderer2023-03-141-2/+2
| | | | | | | | | | 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
* Provide a default for $(OCAMLDEPFLAGS)David Allsopp2023-02-201-0/+1
|
* Define $( ) to suppress make warningsDavid Allsopp2023-02-201-0/+2
|
* Strip debug info when installing the ocamlc and ocamlopt bytecode executablesXavier Leroy2023-02-021-0/+7
|
* Less verbose logs from `make` (#11844)Xavier Leroy2023-01-181-5/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Merge tools/Makefile into the root MakefileSébastien Hinderer2022-12-121-0/+1
|
* Make the general macros work even when the variables are defined laterSébastien Hinderer2022-12-121-4/+11
|
* Introduce generic macros to link OCaml programsSébastien Hinderer2022-12-121-0/+29
|
* Fixing typos (#11705)Fourchaux2022-11-071-1/+1
| | | * Fixing typos
* build system: make a few conditionals over boolean variables more readableSébastien Hinderer2022-09-271-1/+1
| | | | | | | | | | Basically, this commit replaces make conditionals like ifneq "$(NATIVE_COMPILER)" "false" by the hopefully more readable ifeq "$(NATIVE_COMPILER)" "true"
* Merge utils/Makefile into the root MakefileSébastien Hinderer2022-09-071-22/+0
|
* Pass the same flags to ocamlyacc consistentlySébastien Hinderer2022-08-251-1/+1
| | | | | | | 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.
* Makefile.common: restrict dependencySébastien Hinderer2022-06-231-0/+2
| | | | | | | 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.
* Runtime_events tracing systemSadiq Jaffer2022-05-241-1/+1
|
* configure: mk{dll,exe,maindll} expansionSébastien Hinderer2022-05-121-3/+0
| | | | | | | Make sure the MKDLL variable is expanded at configure time. For MKDLL and MKEXE, provide expanded versions that can be substituted during configuration;
* Eliminate $(BOOT_FLEXLINK_CMD)David Allsopp2022-05-121-1/+3
|
* Refactor MKEXE and introduce MKEXE_VIA_CCDavid Allsopp2022-05-111-0/+7
| | | | | | | | | | | | | | | | | | | 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.
* Merge runtime/Makefile in the root MakefileSébastien Hinderer2022-05-111-0/+1
| | | | | This commit moves the computed dependencies of C files from runtime/.dep to .dep/runtime.
* Merge pull request #11149 from dra27/repeatable-bootstrapSébastien Hinderer2022-05-091-0/+2
|\ | | | | Make the bootstrap process repeatable
| * Use fixed configuration for boot/ocamlcDavid Allsopp2022-05-051-0/+2
| | | | | | | | | | | | 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.
| * Revert "Use fixed configuration for boot/ocamlc"David Allsopp2022-05-051-3/+2
| | | | | | | | This reverts commit c9ad0da1833ed4f3939c5eb0d91b7f1d58e27e47.
| * Use fixed configuration for boot/ocamlcDavid Allsopp2022-05-051-2/+3
| | | | | | | | | | | | 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.
* | Define build variables for ASPPFLAGS and native CPPFLAGSSébastien Hinderer2022-05-061-0/+10
|/
* otherlibs: Merge win32unix into unixSébastien Hinderer2022-04-101-0/+3
|
* Followup on #11147Sébastien Hinderer2022-03-311-0/+1
| | | | | Thhis commit contains changes initially part of PR #11147 but which were pushed after the PR had been merged.
* Factorize the definition of the standard library flagsSébastien Hinderer2022-03-311-0/+3
|
* Build system: also factorize the inclusion of directories when calling ocamldepSébastien Hinderer2022-03-221-1/+3
|
* Build system: factorize the definitions related to ocamldepSébastien Hinderer2022-03-221-0/+12
|
* Simplify the installation of man pagesSébastien Hinderer2021-10-201-0/+2
|
* Install Changes, LICENSE, and READMEs (#10669)Nicolás Ojeda Bär2021-10-011-0/+1
|
* Compute STDLIB_MODULES with a C auxiliaryDavid Allsopp2021-07-051-0/+12
| | | | | | | | 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.
* TyposJPR2021-06-061-1/+1
|
* Use native flexlink during the buildDavid Allsopp2021-05-111-0/+5
| | | | | Compile flexlink.opt before ocamlc.opt and then use the natively compiled flexlink binary throughout the rest of opt.opt.
* Control the flexdll bootstrap with configureDavid Allsopp2021-05-111-2/+2
| | | | | | | | 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/
* Allow bootstrapping flexdll for the Cygwin portsDavid Allsopp2021-05-111-4/+0
|
* Overhaul flexlink binary locations during buildDavid Allsopp2021-05-111-1/+2
| | | | | | | | | | | 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.
* Refactor one ifeq not to use continuationDavid Allsopp2021-04-301-3/+5
|
* Introduce the NEW_OCAMLRUN build variableSébastien Hinderer2021-04-271-1/+10
| | | | | | | | | | 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.
* Build system: rename the CAMLRUN variable to OCAMLRUNSébastien Hinderer2021-04-271-3/+3
| | | | | | 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.
* Build system: provide a default value for OCAMLLEXSébastien Hinderer2021-04-141-4/+6
| | | | Each directory can override this default value.
* Variation on a theme of Makefile.docfilesDavid Allsopp2021-03-031-2/+0
|
* Define $( ) to clear unused variable warning in makeDavid Allsopp2021-03-031-0/+7
|
* Build system: deduplicate the rules used to generate the lexers and parsersSébastien Hinderer2021-03-021-2/+22
|
* Build system: rename the OCAMLLEX_FLAGS to OCAMLLEXFLAGSSébastien Hinderer2021-03-021-1/+1
|
* Merge pull request #9840 from dra27/fix-9839David Allsopp2020-10-301-3/+0
| | | | | | Partial revert of 9165: don't build the compiler with -O3 in flambda (cherry picked from commit 6ce1c60ca97ee962ebf5d5218628bc388536325e)
* Build system: honour the CFLAGS and CPPFLAGS build variablesSébastien Hinderer2020-08-061-1/+2
| | | | | | | | | | | | | | 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.
* Merge pull request #9692 from nojb/shellquoteDavid Allsopp2020-06-231-8/+4
|\ | | | | Simplify Makefile
| * Get rid of shellquote macroNicolás Ojeda Bär2020-06-171-8/+4
| |