summaryrefslogtreecommitdiff
path: root/Makefile.build_config.in
blob: f5b145166ee2d98de19e0eff2cc9b23002a6c25a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# @configure_input@

#**************************************************************************
#*                                                                        *
#*                                 OCaml                                  *
#*                                                                        *
#*                 David Allsopp, OCaml Labs, Cambridge.                  *
#*                                                                        *
#*   Copyright 2020 MetaStack Solutions Ltd.                              *
#*                                                                        *
#*   All rights reserved.  This file is distributed under the terms of    *
#*   the GNU Lesser General Public License version 2.1, with the          *
#*   special exception on linking described in the file LICENSE.          *
#*                                                                        *
#**************************************************************************

# This Makefile contains configuration gleaned by configure but which should not
# be installed in Makefile.config. The file is designed to be included in
# OCaml's build system and so itself includes Makefile.config. It assumes that
# $(ROOTDIR) has been defined.

# This variable is added to prevent double-inclusion of this Makefile by
# Makefile.config_if_required. override is used as this has highest $(origin )
# priority (including over make BUILD_CONFIG_INCLUDED)
override BUILD_CONFIG_INCLUDED =

include $(ROOTDIR)/Makefile.config
INSTALL ?= @INSTALL@ -p
INSTALL_DATA ?= @INSTALL_DATA@
INSTALL_PROG ?= @INSTALL_PROGRAM@

# Whether to build certain libraries and tools

build_ocamldebug = @build_ocamldebug@

build_ocamldoc = @build_ocamldoc@

build_ocamltex = @build_ocamltex@

lib_dynlink = @lib_dynlink@
lib_runtime_events = @lib_runtime_events@
lib_str = @lib_str@
lib_systhreads = @lib_systhreads@
lib_unix = @lib_unix@

# Whether to install the native toplevel (ocamlnat)
INSTALL_OCAMLNAT = @install_ocamlnat@

# The command to generate C dependency information
DEP_CC=@DEP_CC@ -MM
COMPUTE_DEPS=@compute_deps@

# Which tool to use to display differences between files
DIFF=@DIFF@
# Which flags to pass to the diff tool
DIFF_FLAGS=@DIFF_FLAGS@

# The rlwrap command (for the *runtop targets)
RLWRAP=@rlwrap@

# The best sed which is available (GNU sed if available)
SED=@SED@

# Which document generator: odoc or ocamldoc?
DOCUMENTATION_TOOL=@documentation_tool@
DOCUMENTATION_TOOL_CMD=@documentation_tool_cmd@

# The location of the FlexDLL sources to use (usually provided as the flexdll
# Git submodule)
FLEXDLL_SOURCES=@flexdir@
BOOTSTRAPPING_FLEXDLL=@bootstrapping_flexdll@

### Where to install documentation
PACKAGE_TARNAME = @PACKAGE_TARNAME@
datarootdir = @datarootdir@
DOCDIR=@docdir@

ocamltest_unix_impl = @ocamltest_unix_impl@
ocamltest_unix_name = @ocamltest_unix_name@
ocamltest_unix_path = @ocamltest_unix_path@
ocamltest_unix_include = @ocamltest_unix_include@$(EMPTY)

# Which make target to build, depending on whether the native compiler
# has been enabled or not during the configuration stage

DEFAULT_BUILD_TARGET = @default_build_target@

# Flags to use when compiling and linking OCaml programs

# The names of the variables below take the form XXX_YYY_ZZZ where
#
# XXX is one of OC, OCAML or the name of a module. The OC prefix
# is for private variables (i.e. reserved by the compiler's build system),
# the OCAML prefix is used for variables the user can define to add their
# own flags and the module-name prefix is for flags that apply only
# to one module.
#
# YYY refers to the backend. At the moment, it can take the values
# COMMON for the flags shared by all the backends, BYTECODE or NATIVE
# (other backends may be added in the future).
#
# ZZZ is either CFLAGS (compile-time flags) or LDFLAGS (link-time flags).
# However, contrary to what is done for C compilers, the flags in the
# CFLAGS category are not passed at link time, so if a flag is needed
# at both stages, like e.g. -g, it should be added to both XXX_YYY_CFLAGS and
# XXX_YYY_LDFLAGS.

OC_COMMON_CFLAGS = -g -strict-sequence -principal -absname \
  -w +a-4-9-40-41-42-44-45-48 -warn-error +a -bin-annot \
  -strict-formats
OC_COMMON_LDFLAGS = -g

OC_NATIVE_CFLAGS = @oc_native_cflags@

# Platform-dependent assembler files to use to build the runtime
runtime_ASM_OBJECTS = $(addprefix runtime/,@runtime_asm_objects@)

# Platform-dependent module for ocamlyacc
ocamlyacc_WSTR_MODULE = @ocamlyacc_wstr_module@