# @configure_input@ #************************************************************************** #* * #* OCaml * #* * #* Xavier Leroy, projet Cristal, INRIA Rocquencourt * #* * #* Copyright 1999 Institut National de Recherche en Informatique et * #* en Automatique. * #* * #* 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. * #* * #************************************************************************** # The configuration Makefile ## The EMPTY variable, used in other definitions EMPTY= ## Arguments passed to the configure script CONFIGURE_ARGS=@CONFIGURE_ARGS@ ## Top build directory TOP_BUILDDIR = @top_builddir@ ## Installation directories prefix=@prefix@ exec_prefix=@exec_prefix@ ### Where to install the binaries BINDIR=@bindir@ datarootdir=@datarootdir@ ### Where to install the standard library LIBDIR=@libdir@ ### Where to install the stub code for the standard library STUBLIBDIR=@libdir@/stublibs ### Where to install the man pages # Man pages for commands go in $(MANDIR)/man$(PROGRAMS_MAN_SECTION) # Man pages for the library go in $(MANDIR)/man/man$(LIBRARIES_MAN_SECTION) MANDIR=@mandir@ PROGRAMS_MAN_SECTION=@programs_man_section@ LIBRARIES_MAN_SECTION=@libraries_man_section@ ### Do #! scripts work on your system? ### Beware: on some systems (e.g. SunOS 4), this will work only if ### the string "#!$(BINDIR)/ocamlrun" is less than 32 characters long. ### In doubt, set HASHBANGSCRIPTS to false. SHEBANGSCRIPTS=@shebangscripts@ LONG_SHEBANG=@long_shebang@ # For compatibility HASHBANGSCRIPTS:=$(SHEBANGSCRIPTS) ### Path to the libtool script LIBTOOL = $(TOP_BUILDDIR)/libtool ### Which C compiler to use TOOLPREF=@ac_tool_prefix@ CC=@CC@ CC_HAS_DEBUG_PREFIX_MAP=@cc_has_debug_prefix_map@ AS_HAS_DEBUG_PREFIX_MAP=@as_has_debug_prefix_map@ ### Additional link-time options # To support dynamic loading of shared libraries (they need to look at # our own symbols): OC_LDFLAGS=@oc_ldflags@ ### How to invoke the C preprocessor through the C compiler CPP=@CPP@ ### How to invoke ranlib RANLIB=@RANLIB@ RANLIBCMD=@RANLIBCMD@ ### How to invoke ar ARCMD=@AR@ ### Extension of object files O=@OBJEXT@ EXT_OBJ=.@OBJEXT@ ### How to tell the C compiler to output an object file OUTPUTOBJ=@outputobj@ ### Extension of static libraries A=@libext@ EXT_LIB=.@libext@ ### Extension of assembler files S=@S@ EXT_ASM=.@S@ ### Extension for shared libraries SO=@SO@ EXT_DLL=.@SO@ SHAREDLIB_CFLAGS=@sharedlib_cflags@ # Compile-time option to $(CC) to add a directory to be searched # at run-time for shared libraries RPATH=@rpath@ ############# Configuration for the native-code compiler ### Whether the native compiler has been enabled or not NATIVE_COMPILER=@native_compiler@ ### Name of architecture for the native-code compiler ### Currently supported: ### ### i386 Intel Pentium PCs under Linux, *BSD*, NextStep ### power Macintosh under Mac OS X and Linux ### arm ARM under Linux ### ### Set ARCH=none if your machine is not supported ARCH=@arch@ # Whether the architecture has 64 bits ARCH64=@arch64@ # Endianness for this architecture ENDIANNESS=@endianness@ ### Name of architecture model for the native-code compiler. ### Some architectures come in several slightly different flavors ### that share a common code generator. This variable tailors the ### behavior of the code generator to the particular flavor used. ### Currently needed only if ARCH=power; leave MODEL=default for ### other architectures. ### If ARCH=power: set MODEL=ppc ### For other architectures: leave MODEL=default ### MODEL=@model@ ### Name of operating system family for the native-code compiler. SYSTEM=@system@ ### Command and flags to use for assembling ocamlopt-generated code ASM=@AS@ ### Command and flags to use for assembling .S files (often with preprocessing) ASPP=@ASPP@ ### Set to "true" to install ".byte" executables (ocamlc.byte, etc.) INSTALL_BYTECODE_PROGRAMS=@install_bytecode_programs@ ############# Configuration for the contributed libraries ### Which libraries to compile and install # Currently available: # bigarray Large, multidimensional numerical arrays # (legacy support: this library is now part of the # Standard Library) # dynlink Dynamic linking (bytecode and native) # (win32)unix Unix system calls # str Regular expressions and high-level string processing # systhreads Same as threads, requires POSIX threads OTHERLIBRARIES=@otherlibraries@ ### Link-time options to ocamlc or ocamlopt for linking with POSIX threads # Needed for the "systhreads" package PTHREAD_LINK=@pthread_link@ PTHREAD_CAML_LINK=$(addprefix -cclib ,$(PTHREAD_LINK)) UNIX_OR_WIN32=@unix_or_win32@ UNIXLIB=@unixlib@ INSTALL_SOURCE_ARTIFACTS=@install_source_artifacts@ OC_CFLAGS=@oc_cflags@ CFLAGS?=@CFLAGS@ OC_CPPFLAGS=@oc_cppflags@ CPPFLAGS?=@CPPFLAGS@ OCAMLC_CFLAGS=@ocamlc_cflags@ OCAMLC_CPPFLAGS=@ocamlc_cppflags@ BYTECCLIBS=@bytecclibs@ EXE=@exeext@ OUTPUTEXE=@outputexe@ SUPPORTS_SHARED_LIBRARIES=@supports_shared_libraries@ MKSHAREDLIBRPATH=@mksharedlibrpath@ DYNLINKOPTS=@DLLIBS@ NATDYNLINK=@natdynlink@ NATDYNLINKOPTS=@natdynlinkopts@ SYSLIB=@syslib@ MKLIB=@mklib@ # #7678: ocamlopt uses these only to compile .c files, and the behaviour for the # two drivers should be identical. OCAMLOPT_CFLAGS=@ocamlc_cflags@ OCAMLOPT_CPPFLAGS=@ocamlc_cppflags@ NATIVECCLIBS=@nativecclibs@ SYSTHREAD_SUPPORT=@systhread_support@ PACKLD=@PACKLD@ IFLEXDIR=@iflexdir@ EXTRALIBS=@extralibs@ CCOMPTYPE=@ccomptype@ TOOLCHAIN=@toolchain@ CMXS=@cmxs@ # On Windows, MKDLL, MKEXE and MKMAINDLL must ultimately be equivalent to # $(FLEXLINK_CMD) $(FLEXLINK_FLAGS) [-exe|-maindll] # or OCAML_FLEXLINK overriding will not work (see utils/config.mlp) MKEXE=@mkexe@ MKDLL=@mksharedlib@ MKMAINDLL=@mkmaindll@ MKEXEDEBUGFLAG=@mkexedebugflag@ RUNTIMED=@debug_runtime@ RUNTIMEI=@instrumented_runtime@ WITH_DEBUGGER=@with_debugger@ WITH_CAMLTEX=@with_camltex@ WITH_OCAMLDOC=@ocamldoc@ WITH_OCAMLTEST=@ocamltest@ ASM_CFI_SUPPORTED=@asm_cfi_supported@ WITH_FRAME_POINTERS=@frame_pointers@ WITH_PROFINFO=@profinfo@ PROFINFO_WIDTH=@profinfo_width@ WITH_FPIC=@fpic@ TARGET=@target@ HOST=@host@ FLAMBDA=@flambda@ WITH_FLAMBDA_INVARIANTS=@flambda_invariants@ FORCE_SAFE_STRING=@force_safe_string@ DEFAULT_SAFE_STRING=@default_safe_string@ WINDOWS_UNICODE=@windows_unicode@ AFL_INSTRUMENT=@afl@ MAX_TESTSUITE_DIR_RETRIES=@max_testsuite_dir_retries@ FLAT_FLOAT_ARRAY=@flat_float_array@ FUNCTION_SECTIONS=@function_sections@ AWK=@AWK@ STDLIB_MANPAGES=@stdlib_manpages@ NAKED_POINTERS=@naked_pointers@ ### Native command to build ocamlrun.exe ifeq "$(TOOLCHAIN)" "msvc" MERGEMANIFESTEXE=test ! -f $(1).manifest \ || mt -nologo -outputresource:$(1) -manifest $(1).manifest \ && rm -f $(1).manifest MKEXE_BOOT=$(CC) $(OC_CFLAGS) $(CFLAGS) $(OUTPUTEXE)$(1) $(2) \ /link /subsystem:console $(OC_LDFLAGS) && ($(MERGEMANIFESTEXE)) else MKEXE_BOOT=$(CC) $(OC_CFLAGS) $(CFLAGS) $(OC_LDFLAGS) $(OUTPUTEXE)$(1) $(2) endif # ifeq "$(TOOLCHAIN)" "msvc" # The following variables were defined only in the Windows-specific makefiles. # They were not defined by the configure script used on Unix systems, # so we also make sure to provide them only under Windows # User code should absolutely not rely on their presence because # in the future their definition may be moved to a more private part of # the compiler's build system ifeq "$(UNIX_OR_WIN32)" "win32" OTOPDIR=$(WINTOPDIR) CTOPDIR=$(WINTOPDIR) CYGPATH=cygpath -m DIFF=/usr/bin/diff -q --strip-trailing-cr FIND=/usr/bin/find SORT=/usr/bin/sort SET_LD_PATH=PATH="$(PATH):$(LD_PATH)" FLEXLINK_CMD=flexlink FLEXDLL_CHAIN=@flexdll_chain@ # FLEXLINK_FLAGS must be safe to insert in an OCaml string # (see ocamlmklibconfig.ml in tools/Makefile) FLEXLINK_FLAGS=@flexlink_flags@ FLEXLINK=$(FLEXLINK_CMD) $(FLEXLINK_FLAGS) else # ifeq "$(UNIX_OR_WIN32)" "win32" # On Unix, make sure FLEXLINK is defined but empty FLEXLINK = endif # ifeq "$(UNIX_OR_WIN32)" "win32"