summaryrefslogtreecommitdiff
path: root/config
Commit message (Collapse)AuthorAgeFilesLines
* Try to fix MinGW build.alainfrisch2017-07-191-7/+0
|
* merge 4.05 into trunkDamien Doligez2017-07-182-2/+14
|\
| * PR#7452: tweak GCC options to try to work around the Skylake/Kaby lake bug ↵Damien Doligez2017-07-122-4/+12
| | | | | | | | (#1228)
| * Move INT64_LITERAL from byterun/ints.c to m.hDavid Allsopp2017-03-281-0/+7
| |
* | Call counts in Spacetime (#1180)Mark Shinwell2017-06-164-0/+4
| |
* | Use a simpler conversion of times in Unix.statDavid Allsopp2017-05-161-7/+0
| | | | | | | | | | With gratitude to the boss for spotting this apparently non-obvious manoeuvre!
* | Move INT64_LITERAL from byterun/ints.c to m.hDavid Allsopp2017-05-161-0/+7
| |
* | Use _mkgmtime64 in Unix.stat (where available)David Allsopp2017-05-161-0/+7
| | | | | | | | _mkgmtime64 is _mktime64, but assumes UTC.
* | Remove SPARC backendMark Shinwell2017-04-101-4/+1
| |
* | Support for xlc and bytecode shared libs on AIX.Konstantin Romanov2017-03-311-0/+2
| | | | | | | | | | | | | | | | | | | | | | 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.
* | Adjust C compiler invocationSébastien Hinderer2017-03-302-4/+6
| | | | | | | | | | | | 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.
* | Build system: rename variables related to manual pagesSébastien Hinderer2017-03-294-8/+8
| | | | | | | | | | | | | | Rename MANEXT (resp. LIB_MANEXT) to PROGRAMS_MAN_SECTION (resp. LIBRARIES_MAN_SECTION). Also get rid of a useless variable assignment in configure.
* | Introduce the LIB_MANEXT build variableSébastien Hinderer2017-03-294-0/+4
| | | | | | | | | | | | | | 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.
* | Introduce and use the OUTPUTEXE and OUTPUTOBJ build variablesSébastien Hinderer2017-03-294-16/+12
| |
* | Define new build variables for C compiler and preprocessor flagsSébastien Hinderer2017-03-294-45/+28
| |
* | Get rid of BYTECC and NATIVECCSébastien Hinderer2017-03-295-47/+32
| | | | | | | | Use the same C compiler, CC, in all the build system.
* | Use only one variable for rpathSébastien Hinderer2017-03-295-10/+6
| | | | | | | | | | | | | | 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.
* | Configure helper scripts enhancementSébastien Hinderer2017-03-295-5/+5
| | | | | | | | | | | | | | | | 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.
* | Rename the BYTECCLINKOPTS build variable to LDFLAGSSébastien Hinderer2017-03-295-6/+6
| |
* | Get rid of the NATIVECCLINKOPTS build variable.Sébastien Hinderer2017-03-295-17/+2
| | | | | | | | This variable is empty and actually never used in the build system.
* | A bit of code refactoring in the scripts under config/auto-auxSébastien Hinderer2017-03-294-12/+20
| |
* | configure system fixupSébastien Hinderer2017-03-295-20/+20
| | | | | | | | | | | | | | 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.
* | Fix NATIVECC's value for the MSVC64 portSébastien Hinderer2017-03-291-1/+1
|/ | | | | The -D_CRT_SECURE_NO_DEPRECATE argument was not given to NATIVECC, this seems to be an omission.
* Update documentation and scripts to use Makefile even on WindowsSébastien Hinderer2017-02-154-4/+4
|
* Get rid of the MAKEREC and MAKECMD make variablesSébastien Hinderer2017-02-154-20/+0
| | | | | Now that the Unix and Windows build systems have been merged, thiese variables are no longer useful.
* Makefiles: deduplicate the rules building compilers and compilerlibsSébastien Hinderer2017-02-154-0/+4
|
* Remove unused definitions of the PARTIALLD make variableSébastien Hinderer2017-02-151-3/+0
|
* Introduce the BYTECODE_C_COMPILER and NATIVE_C_COMPILER make variablesSébastien Hinderer2017-02-154-1/+8
| | | | | | | | | | | | | 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.)
* Windows build system enhancementsSébastien Hinderer2017-02-154-0/+4
| | | | | | | | | | | | | | | 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.
* Define BYTERUN as a real make variableSébastien Hinderer2017-02-154-0/+12
| | | | | | | | | | | 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.
* config/Makefile.m*: define the MKEXEDEBUGFLAG variableSébastien Hinderer2016-12-294-0/+4
| | | | | | 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 (#941)Sébastien Hinderer2016-12-204-4/+4
| | | | | | | | | | | | | | | | | | | | | | * 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 building of debug runtime on Windows (#820)David Allsopp2016-12-144-1/+22
| | | | | | | | | | | | | | * 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!
* try to fix appveyor buildsDamien Doligez2016-12-094-4/+4
|
* Instrumentation for american fuzzy lop (afl-fuzz) (#504)Stephen Dolan2016-12-064-0/+4
|
* Improve handling of platforms that do not have gprof profiling support (#933)Sébastien Hinderer2016-11-255-6/+6
| | | | | | | | | | | | | | | | | | | | | 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
* Revert "Improve handling of platforms that do not have gprof profiling ↵Gabriel Scherer2016-11-255-6/+6
| | | | | | | | | 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.
* Improve handling of platforms that do not have gprof profiling support (#933)Sébastien Hinderer2016-11-255-6/+6
| | | | | | | | | | | | | | | | | | | | | 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
* Improve the detection of hashbang support in the configure scriptArmaël Guéneau2016-11-181-0/+2
| | | | | | 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).
* Do not use the compatibility macros in the C stub code. (#892)Sébastien Hinderer2016-11-174-8/+8
| | | | | | | | | | | | * 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.
* Clarify and slightly modify the use of C compiler related make variables.Sébastien Hinderer2016-11-164-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Remove unused variable from the build systemSébastien Hinderer2016-11-104-12/+0
| | | | | The DLLCCCOMPOPTS variable is defined in the makefiles but is not actually used anywhere.
* Merge makefiles in otherlibs/systhreads (#785)Sébastien Hinderer2016-09-134-0/+4
| | | | | | | | | | | | | | | | | * 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).
* Add --reserved-header-bits XX to ./configureFabrice Le Fessant2016-08-295-1/+5
| | | | with XX a number smaller than 32 (to leave at least 22 bits for the size)
* Make sure all the makefiles define the UNIX_OR_WIN32 variable. (#775)shindere2016-08-234-0/+4
|
* Spacetime: a new memory profiler (#585)Mark Shinwell2016-07-296-0/+19
|
* "./configure -safe-string" to force safe-string modealainfrisch2016-07-194-0/+4
| | | | | | | | | | | | | | | 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.
* discover nanosleep() availability in configureHannes Mehnert2016-06-211-0/+3
|
* Call the '#' sign hash rather than sharp.Sébastien Hinderer2016-05-097-7/+7
|
* Provide workaround for missing _vscprintfDavid Allsopp2016-03-101-0/+1
| | | | | _vscprintf was added to Microsoft Visual C++ in .NET 2002. Provide an implementation of it for older compilers.