summaryrefslogtreecommitdiffstats
path: root/build
AgeCommit message (Collapse)Author
2013-12-14Un-bootstrapping of ocamlbuild, clean-up phase:Xavier Leroy
- removed boot/myocamlbuild.boot, _tags, myocamlbuild.ml, etc - removed shell scripts in build/, now unused - revised configuration and build of tools/ocamlmklib. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14353 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-29Reverting the elimination of the ocamlcomp*.sh scripts, namely the following ↵Xavier Leroy
commits: 14278 14277 14276 14176 14175 14173 14172 14171 14169 14168 14167 These changes need to mature on their own branch. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14329 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-21remove camlp4Jérémie Dimino
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/minus-camlp4@14309 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-21build: skip $(IFLEXDIR) in mk_shell_and_ocamlbuild_config.sh.Wojciech Meyer
(Patch by Adrien Nader!) On Windows, IFLEXDIR is defined as -I"$(FLEXDIR)". The new mk_shell_and_ocamlbuild_config script outputs: echo IFLEXDIR="\"$(IFLEXDIR)\"" However, becauses $(IFLEXDIR) contains quotation marks, this becomes: echo IFLEXDIR="\"-I"$(FLEXDIR)"\"" This unquotes $(FLEXDIR) and breaks the program. Simply exclude IFLEXDIR from the variables that are handled by the script. This is actually what the previous scripts were doing: the exclude list was .*FLEXDIR and matched both IFLEXDIR and FLEXDIR while the one I made only had \<FLEXDIR\> in it. I've tried to handle it but there are at least three competing languages and quoting rules: makefile (both gnu make and several bsd makes), shell script and ocaml. There's no human way to do string processing given the portability constraints: both gnu make and pmake (and its descendants) have powerful string processing functions but they're not the same. The only sane way would be to store the configuration in a more evolved language that is portable, has arrays and powerful string handling routines in standard like C or awk. From there it would be possible to output make, shell script and OCaml code easily. One day. Maybe. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14171 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-20build: replace ocamlcomp*.sh.Wojciech Meyer
This script was built from ocamlcomp.sh.in through sed and is called instead of "ocamlc" (for instance). It makes it possible to switch from "ocamlc" to "ocamlc.opt" without changing anything in the Makefiles, only calling sed. I couldn't cleanly make it handle both a compiler for the target and for the build. Instead I'm replacing it and doing as much as possible directly in the Makefiles. I hoped it would reduce the number of shell invocations, which would speed things up quite a lot on Windows but I still had to have at least one since it's not possible to update a make variable from inside a make rule: i.e. it's not possible to do X=a, build a.opt and update X to be a.opt. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14168 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-20build: replace build/mk{config,myocamlbuild_config}.sh.Wojciech Meyer
(Patch by Adrien Nader!) These scripts sed config/Makefile in order to create shell script and ocaml code that define the same values as the Makefile but in the corresponding language. The sed stuff is very difficult to understand, very brittle and impossible to change. Remove that altogether and use a Makefile to run commands like [ echo FOO=$(FOO) ]. There is still some sed involved (to get the list of variables in the config and to put rewrite the lists into a list of commands) but much less and all the expressions are put into variables with meaningful names with lots of comments. For config.sh, mkconfig.sh generated lines like : if [ -z "${FOO}" ]; then FOO=bar; fi The new script sets the value without checking anything. I haven't found a reason to do things differently: if there is anything to override, the right place to do it is after sourcing the shell script. In any case, I haven't seen any such use. The mkconfig.sh file also set "WINDOWS=true/false" but the only use is in the parallel build-system which is implemented in build/ and uses ocamlbuild as much as possible, and it's going away so it's useless to set it too. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14167 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15use 'mark_tag_used' to solve all "unused tag" warnings in the distributionGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14149 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-09Remove labltk from the distribution (will be available as a third-party ↵Xavier Clerc
library). git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14077 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-20bootstrap myocamlbuild.boot and adapt build/boot.shGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14028 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-05Synchronize camlp4-byte-only.sh with camlp4-native-only.sh to avoid camlp4 ↵Gabriel Scherer
rebuild In the commit 13296, the compilation options in camlp4-native-only where changed to avoid a warning of the compiler. This had the unfortunate side-effect that ocamlbuild would compile camlp4 twice (in -byte-only and -native-only) with different options, that is different checksums, and would therefore rebuild everything each time. This commit mirrors the change of -native-only.sh in -byte-only.sh (where, as far as I understand, it should have no effect, even if it isn't needed as there is no warning to be silenced) to avoid rebuild. After this change, when calling "make world.opt", none of camlp4 is rebuilt (the checksums to check that nothing changed still take a dozen of seconds). git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13983 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-05Camlp4Fold/MapGenerator handle abstract type nowHongbo Zhang
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13973 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-28build: allow disabling ocamldoc and ocamlbuild.Wojciech Meyer
(Patch by Adrien Nader!) This doesn't touch the build system in build/ since it's obsolete and unmaintained as far as I know (I'll try to remove it in a further commit). git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13943 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-27PR#5547: Enable the "-use-ocamlfind" option by defaultWojciech Meyer
ocamlfind library management has been around for while and is considered to be installed by default on any OCaml system. Therefore it's safe to assume that the default behavior of ocamlbuild should be to use new ocamlfind support normally enabled explicitly by -use-ocamlfind flag. The -use-ocamlfind flag has now a status of depreceation and instead new flag -no-ocamlfind causes ocamlbuild to not try to use new set of parametric tags for supporting ocamlfind. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13938 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-07fix PR#6062: camlp4 macro parser uncaught exceptionHongbo Zhang
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13875 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-17testsuite: making it work without installing OCaml (continued)Damien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13690 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-02-18PR#5461: fix warnings 31 in camlp4 compilationFabrice Le Fessant
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13296 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-01Fix missing files to be installed for ocamlbuildWojciech Meyer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13192 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-15remove all $Id keywordsDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13013 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-02add some missing copyright headersDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12814 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-30merge with branch bin-annotFabrice Le Fessant
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12516 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-03Don't attempt to install Camlp4 if -no-camlp4 was specified.Benedikt Meurer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12113 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-27renaming of Objective Caml to OCaml and cleanup of copyright headersDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11156 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-20uniform .ignore systemDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11133 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-20merge changes from 3.12.0 to 3.12.1Damien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11123 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-08-02merge changes from branching of 3.12 to release/3.12.0Damien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10643 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-21PR#5041: ocamlbuild needs gnu makeDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10449 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-19camlp4: typoNicolas Pouillard
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10427 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-19Mention the recipe in build/camlp4-bootstrap.shNicolas Pouillard
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10423 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-17Add a recipe to bootstrap camlp4Nicolas Pouillard
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10402 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-11build: cleanup ocamlbuild build scriptsNicolas Pouillard
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10385 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-22fixed several build problemsDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10298 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-01-22clean up spaces and tabsDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9547 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-01-20merge changes from release/3.11.1 to release/3.11.2Damien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9540 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-07-20merge changes from ocaml3111rc0 to ocaml3111Damien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9319 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-05-26build with ocamlbuild: Fix the natdynlink buildNicolas Pouillard
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9281 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-12-03merge changes from 3.10.2merged to 3.11.0Damien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9153 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-10-27buildbot: switch to 3.11Nicolas Pouillard
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9105 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-10-23build,sys: remove a line in build/mixed-boot.shNicolas Pouillard
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9102 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-10-23build,sys: improve the mixed build modeNicolas Pouillard
- Rename this partial mode as a mixed mode. - Use a file (build/ocamlbuild_mixed_mode) instead of an env var. - Add a check when switching from mixed to non-mixed mode. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9099 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-08-05buildsys: also install CamlinternalLazy when using ocamlbuild to compile.Nicolas Pouillard
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8979 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-01-11merge changes 3.10.0 -> 3.10.1Damien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8768 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-12-18build,clean: distclean.sh also clean boot/ocamlyacc and boot/*.bak.Nicolas Pouillard
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8722 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-11-29[build] Better support native dynlink build when using ocamlbuild to build.Nicolas Pouillard
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8692 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-11-27[build] Sync scripts in the build/ dir with release310.Nicolas Pouillard
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8638 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-11-22[build sys] Install ocamlbuild executor and unix_plugin.Nicolas Pouillard
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8601 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-11-15Cleanup and factorization of linker-related code.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8521 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-11-06Merge the natdynlink branch into HEAD.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8477 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-10-08fusion de la version 3.10.0Damien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8416 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-02-26[Camlp4] handle externals properly and fix the bootstrap systemNicolas Pouillard
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7929 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-02-23Fix myocamlbuild_config.ml generation bug on Win32Nicolas Pouillard
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7910 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02