aboutsummaryrefslogtreecommitdiffhomepage
path: root/configure.ml
Commit message (Collapse)AuthorAge
* Disable native_compute on Windows by default.Gravatar Maxime Dénès2015-09-16
| | | | | | | Native_compute is not working properly on Windows due to command line size limitations and the lack of namespaces in OCaml. Using compiler-libs could solve this, but it is unclear how to ensure stability w.r.t. future versions of OCaml.
* In configure: -no-native-compiler -> -native-compiler noGravatar Maxime Dénès2015-09-16
|
* Remove duplicate code.Gravatar Guillaume Melquiond2015-08-17
|
* Remove generatable documentation files from repository. (Fix bug #4315)Gravatar Guillaume Melquiond2015-08-17
|
* Use the same optimization level for the VM, whatever the debug level.Gravatar Guillaume Melquiond2015-07-08
|
* Disable precompilation for native_compute by default.Gravatar Guillaume Melquiond2015-05-14
| | | | | | | | | | | | | | Note that this does not prevent using native_compute, but it will force on-the-fly recompilation of dependencies whenever it is used. Precompilation is enabled for the standard library, assuming native compilation was enabled at configuration time. If native compilation was disabled at configuration time, native_compute falls back to vm_compute. Failure to precompile is a hard error, since it is now explicitly required by the user.
* Compile the VM code with some optimizations (+130% speedup).Gravatar Guillaume Melquiond2015-04-27
| | | | | | | | | | | | | | | | | | | | | | | Option -g has no impact on the code generated by GCC, so it is now systematically added, since it is quite helpful when the VM segfaults (e.g. bug #4203). Note that, even for a debug build, option -O1 is preferred to -O0, since -O0 produces assembly code that is much too noisy for debugging. For non-debugging builds, -O2 was chosen rather than -O3, since it led to a noticeably faster VM. I guess even recent GCC compilers still have a hard time optimizing humongous functions such as the VM. Here are the results on a simple benchmark: computing the factorial of a large number with Z and BigZ. (Factorial of 2*6! for Z, of 7! for BigZ.) For comparison purpose, the timings of native_compute are also provided. Z BigZ -O0 6.4 12.3 -O1 4.3 10.7 -O2 2.8 7.3 -O3 3.0 9.3 n_c 2.0 2.4
* Change magic numbers.Gravatar Matthieu Sozeau2015-04-20
|
* 8.5beta2 release.Gravatar Matthieu Sozeau2015-04-17
|
* configure: fix paths on cygwinGravatar Enrico Tassi2015-04-16
| | | | | | | | | | | | | | | | | | | | | | Long story short: Filname.concat and other OCaml provided functions to be "cross platform" don't work for us for two reasons: 1. their behavior is fixed when one compiles ocaml, not when one runs it 2. the build system of Coq is unix only What is wrong with 1 is that if one compiles ocaml for windows without requiring cygwin.dll (a good thing, since you don't need to have cygwin to run ocaml) then the runtime always uses \ as dir_sep, no matter if you are running ocaml from a cygwin shell. If you use \ as a dir separaton in cygwin command lines, without going trough the cygpath "mangler", then things go wrong. The second point is that the makefiles we have need a unix like environment (e.g. we call sed). So you can't compile Coq without cygwin, unless you use a different build system, that is not what we support (1 build system is enough work already, IMO). To sum up: Running coq/ocaml requires no cygwin, comipling coq requires a unix like shell, hence paths shall be unix like in configure/build stuff.
* add coqdep in distributed_exec, else make does not work.Gravatar Benjamin Gregoire2015-03-26
|
* Improving display of camlp4/camlp5 versions, library and binary locations.Gravatar Hugo Herbelin2015-03-03
|
* Reinstalling search of camlpX in camldir, when given, forGravatar Hugo Herbelin2015-03-03
| | | | | | | compatibility with pre-1b7d4a033af heuristic in searching camlpX (continuation of a joint patch with Maxime). Typo basename -> dirname.
* Trying to fix code locating camlp4/camlp5.Gravatar Maxime Dénès2015-02-26
| | | | Should fix #3396 and #3964.
* Not building the doc by default.Gravatar Maxime Dénès2015-02-25
| | | | | Should make the compilation of Coq more robust against LaTeX errors. See e.g. #4091.
* Fixup version & copyright for MacOS bundleGravatar Pierre Boutillier2015-02-13
|
* Win: use .exe extension for the ocaml compiler (Close 3572)Gravatar Enrico Tassi2015-02-11
|
* Detecting automatically whether .opt versions of ocaml executables exist;Gravatar Hugo Herbelin2015-02-04
| | | | making configure option -opt deprecated.
* Bump version and magic numbers in configure.Gravatar Maxime Dénès2015-01-13
|
* Fix #3163 and #3843 part 1 : Cygwin DLLs have extension ".so", not ".dll"Gravatar Pierre Boutillier2014-12-12
|
* Allow camlp5 to have version numbers like "6.09-exp"Gravatar jbapple2014-10-28
|
* configure.ml: opam camlp5 + system ocaml worksGravatar Pierre Boutillier2014-09-18
| | | | I didn't understand the purpose of the previous behavior so please check this commit
* win32: bring back the coq icon in the coqide binaryGravatar Enrico Tassi2014-09-17
|
* win32: use subsystem windows on windows (and not console)Gravatar Enrico Tassi2014-09-17
| | | | This makes the hammer tools/mkwinapp.ml kind of obsolete
* Make CoqIDE compile with windows (Closes: 3573)Gravatar Enrico Tassi2014-09-04
| | | | | | CoqIDE seems to work, but for random pauses that make you think of a thread deadlock, but then, after a few seconds, things make progress again. This happens only seldom on my virtual machine.
* Fixup introduction of coqworkmgrGravatar Pierre Boutillier2014-09-02
|
* Configure.ml creates metadata to annotate MacOS binariesGravatar Pierre Boutillier2014-08-26
|
* md5 for MacOSGravatar Pierre2014-05-06
| | | | md5sum check remains not portable.
* Remove the -fno-defer-pop cflagGravatar Jason Gross2014-03-18
| | | | | | | | | | | | According to http://caml.inria.fr/mantis/view.php?id=6346, this flag causes ocamlc to fail on the latest version of xcode, because clang now errors on -fno-defer-pop. According to the same issue, -fno-defer-pop is required for computed gotos if you're using gcc 1.xx, but not gcc 3.4.0 nor 4.4.7 (nor presumably other reasonably modern versions of gcc). I haven't actually tested this, as I don't have a mac, but it's a relatively small change. Signed-off-by: Pierre Boutillier <pierre.boutillier@ens-lyon.org>
* Set officially the minimal OCaml requirement to 3.12.1Gravatar Pierre Letouzey2014-03-02
| | | | | | | | | | | | | | | Anyway, a few syntactic features of 3.12 were already used here and there (e.g. local opening via Foo.(...), or the record shortcut { field; ... }). Hence compiling with 3.11 wasn't working anymore. Already take advantage of the following 3.12.1 features : - "module type of ..." in CArray, CList, CString ... - "ocamldep -ml-synonym" : no need anymore to hack the ocamldep output via our coqdep to localize the .ml4 modules :-) The -ml-synonym option (+ various bugfixes) is the reason for asking 3.12.1 directly and not just 3.12.0. After all, if debian stable is providing 3.12.1, then everybody has it ;-)
* Fix compilation of coq and plugins using coq_makefile under cygwinGravatar Enrico Tassi2014-02-28
| | | | | | | | | Problems: - strip may not be "strip" but "i686-bla-strip", hence we ask ocamlc -config the value of "ranlinb" and replace ranlib by strip obtaining "i686-bla-strip" from "i686-bla-ranlib" - coq_makefile was not quoting the plugins/ paths - coq_makefile was quoting twice camlpX (the shell of cygwin was confused)
* Fix coqide build under MacOSGravatar Pierre Boutillier2014-02-24
|
* Coqmktop without Sys.command, changes in ./configure -*byteflags optionsGravatar Pierre Letouzey2014-01-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NB: Please re-run ./configure after pulling this commit For launching ocamlc/ocamlopt, coqmktop doesn't use Sys.command anymore, but rather CUnix.sys_command, which is based on Unix.create_process. This way, we do not need to bother with the underlying shell (/bin/sh or cmd.exe) and the way arguments are to be quoted :-). Btw, many cleanups of coqmktop. Only difficulty: the -coqrunbyteflags of ./configure is a "meta-option" that collect as a string several sub-options to be given by coqmktop to ocamlc. For instance ./configure -coqrunbyteflags "-dllib -lcoqrun". We need now to parse all these sub-options. To ease that, I've made the following changes to the ./configure options: * The -coqrunbyteflags and its blank-separated argument isn't accepted anymore, and is replaced by a new option -vmbyteflags which expects a comma-separated argument. For instance: ./configure -vmbyteflags "-dllib,-lcoqrun" Btw, on this example, the double-quotes aren't mandatory anymore :-) * The -coqtoolsbyteflags isn't accepted anymore. To the best of my knowledge, nobody ever used it directly (it was internally triggered as a byproduct of the -custom option). The only interest I can think of for this option was to cancel the default use of ocamlc custom-linking on Win32 and MacOS. For that, ./configure now provides a -no-custom option.
* Relaunch all Unix.waitpid when they ended with EINTRGravatar Pierre Letouzey2014-01-30
| | | | Moreover, cleanup of System.connect (used by the "external" tactic).
* configure.ml fixed wrt Win32 + byte-only + coqideGravatar Enrico Tassi2014-01-26
|
* The configure script now outputs the parameters it was fed with inGravatar Pierre-Marie Pédrot2014-01-24
| | | | config/coq_config.ml
* Makefiles use $(foo), not $foo, for variablesGravatar Jason Gross2014-01-18
| | | | | | Also, we need :=, so that it's evaluated immediately, rather than becoming a self-recursive variable. This fixes the "Undefined variable 'C'" error that make keeps spewing.
* Goodbye typerex, Hello merlinGravatar Pierre2014-01-09
|
* md5 for MacOSGravatar Pierre2014-01-09
| | | | md5sum check remains not portable.
* configure.ml: our configure script is now written in ML :-)Gravatar Pierre Letouzey2013-12-20
configure is now just a minimal wrapper around the new configure.ml. This configure.ml is runned with the same ocaml used during compilation, and starts with a #load "unix.cma". For now, this new configure script is meant to be 99% compatible with the old one. Known incompatibilities : the --foo option format (with two --) isn't supported anymore, use -foo options instead. Let me know if you encounter any other changes. Internals: - We use our own "run" command (based on Unix.create_process) to avoid relying on some specific shell (/bin/sh or cmd.exe). - We should have far less issues with filename quoting under windows since we almost never rely on (cygwin) shell anymore. This remains to be fully tested, though. - dev/ocamldebug-coq is slightly different now, to ease its generation