Gabriel Scherer
fab58a938a
makefiles: move the inclusion of Makefile.build_config in Makefile.common
2020-05-06 12:10:02 +02:00
David Allsopp
3a40b2fd94
Introduce Makefile.build_config.in
...
This moves the configure-generated parts of Makefile.common to a
separate (generated) Makefile, allowing Makefile.common to be a normal
Makefile.
OCaml's build system Makefile's now include Makefile.build_config (which
itself includes Makefile.config) but Makefile.config is still installed
as before. This allows configure to generate variables which are
specific to the build process and are not intended to be exported to the
installation.
2020-04-17 13:53:49 +01:00
David Allsopp
13786d7d12
Ensure make distclean works on an unconfigured tree
2019-10-15 11:46:36 +01:00
David Allsopp
d4a566573f
Allow make to be invoked before configure
...
This should be improved to give better warnings for when Makefile.config
and Makefile.common are required.
2018-12-04 10:28:36 +00:00
David Allsopp
7f96c82fda
Windows Unicode handling for ocamlyacc
...
This deals with the command line processing only (i.e. filenames) -
ocamlyacc continues to process .mly files as before.
2019-04-16 17:37:17 +01:00
Sébastien Hinderer
5ec649f0cb
Build system: share rules to compile C files ( #8930 )
...
This commit deduplicates some of the Makefile rules used to compile C files.
Rather than having one such rule per Makefile for each directory
containing C files, the relevant rules are moved to Makefile.common.in.
2019-09-11 09:16:15 +02:00
Sébastien Hinderer
01b65ac0af
Introduce and use ROOTDIR in more makefiles
2018-09-17 14:51:01 +02:00
Sébastien Hinderer
ba6362a07d
Move config/Makefile to Makefile.config
...
In order to prepare the transition to autoconf, this commit moves the
configuration Makefile out of the config directory which will disappear
and gives it the name it will have once intstalled, namely Makefile.config.
2018-09-17 14:23:35 +02:00
Sébastien Hinderer
d3e73595e5
Merge the asmrun and byterun directories into the runtime directory
2018-06-28 17:50:33 +02:00
Sébastien Hinderer
85fa27f7e9
Rename C compiler related build variables
...
This commit renames a few C compiler related build variables so that
they are reserved for the build system. They will then be re-introduced,
but this time as user varialbes whose value can be freely customized
when compiling the package, without risking to conflict with those
command-line flags that are required by the build system itself.
Here are the variables this commit renames:
- CFLAGS -> OC_CFLAGS
- CPPFLAGS -> OC_CPPFLAGS
- LDFLAGS -> OC_LDFLAGS
Note: before this commit the compilation of scheduler.c in
otherlibs/threads was relying on make's implicit rule to compile C files.
Since this commit stops using the standard variables for flags,
it is necessary to introduce an explicit rule to compile C files
and that makes use of the newly introduced variables.
2018-06-20 14:01:42 +02:00
Nicolás Ojeda Bär
9fe6d0e2c2
Unicode support for the Windows runtime ( #1200 )
...
* Add support code
* Explicitly reference ANSI Windows APIs
* Adapt Sys.is_directory
* Adapt ocamlrun
* Add Changes entry
* Add testsuite
* Adapt Unix.open_process{_in,_out,_full,}, Unix.create_process{_env,}
* Adapt headernt.c
* Adapt Pervasives.open_{in,out}, Filename.temp_file, etc.
* Adapt Sys.file_exists
* Adapt Sys.remove
* Adapt Sys.chdir
* Adapt Sys.getcwd
* Adapt Sys.getenv
* Adapt Sys.command
* Adapt Sys.readdir
* Adapt CPLUGINS
* Remove use of FormatMessageA, CreateFileA
* Adapt Unix.mkdir
* Adapt Unix.openfile
* Adapt Unix.readlink
* Adapt Unix.rename
* Adapt Unix.{LargeFile,}.{l,}stat
* Adapt Unix.system
* Adapt Unix.{open,read}dir
* Adapt Unix.link
* Adapt Unix.symlink
* Adapt Unix.getcwd
* Adapt Unix.rmdir
* Adapt Unix.utimes
* Adapt Unix.unlink
* Adapt Unix.chdir
* Adapt Unix.chmod
* Adapt Unix.{execv,execve,execvp,execvpe}
* Compile with -DUNICODE -D_UNICODE under Windows
* Add configure-time switch, Config.windows_unicode
* Adapt Unix.putenv
* Re-implement Unix.environment using GetEnvironmentStrings()
* Use Unicode-aware flexdll
* Adapt Unix.environment
* AppVeyor: bootstrap flexdll
* Adapt tests/embedded/cmmain.c
* Adapt tests/lib-dynlink-csharp/entry.c
* Remove exec tests
* Fixup
* Pass -municode to MinGW compiler
* Try to fix tests/embedded
* Adapt Sys.rename
* Correct Changes entry
* Makefile.several: use $(O) and $(NATIVECODE_ONLY)
* Display => skipped correctly for tests/win-unicode
* Add missing casts to execv* calls
It's not clear why these aren't necessary for with char, but they are
necessary with wchar_t on GCC (but not MSVC).
* Missing header in systhreads (Win32 only)
* Revert "Pass -municode to MinGW compiler"
This reverts commit a4ce7fb319c429068a5b9d1ab14a2cc3969c355f.
* Revert "Try to fix tests/embedded"
This reverts commit 5197d8922295b7b339b970ec3189374aa15de4b8.
* Revert "Remove exec tests"
This reverts commit 306ccef2e79eca5b38ecfa285b912c7bcf3e9f52.
* Don't pass $(LDFLAGS) when build ocamlc.opt
It's already included via CC anyway, and it causes Unicode problems for
Winodws (because the linker options need to be prefixed "-link" to go via
flexlink).
* Use wmain on Windows for ocamlrun
* Build Unicode applications on Windows
* Use wmain in headernt.c
* Minor correction to win-unicode Makefile
* Switch submodule to FlexDLL 0.36
* Build ocamlyacc as an ANSI application
* Revert "Fixup"
This reverts commit 500bd6b575ffd6c5b71c6953e55d740f0b090185.
* Fix casts for execvp/execve
* Remove tabs from test code
* Fix Changes entry
* shell32.lib is no longer necessary
* Free allocated string
* Changes: signal breaking change
* Disable exec_tests
* Protect with CAML_INTERNALS
2017-09-18 17:41:29 +02:00
Sébastien Hinderer
40fcbb5f0a
Move configuration header files from the config to the byterun/caml directory
...
This commit moves:
- config/m.h to byterun/caml/m.h
- config/s.h to byterun/caml/s.h
Consequently, m.h and s.h now get installed alongside other
OCaml header files.
This commit also updates the .depend files, introducing updates in the
dependencies which are not consequences of this commit itself.
2017-04-26 19:28:17 +02:00
David Allsopp
0301576685
Fix \r problems on recent Cygwins
...
The Cygwin packages for awk, grep and sed were updated on 20 February
2017 so that they no longer automatically strip \r characters on binary
mounts. This affects the OCaml build system in a few places, requiring
the addition of a few tr calls.
References:
* https://cygwin.com/ml/cygwin/2017-02/msg00152.html
* https://cygwin.com/ml/cygwin/2017-02/msg00189.html
* https://cygwin.com/ml/cygwin/2017-02/msg00188.html
2017-04-13 14:17:28 +02:00
Sébastien Hinderer
3564aade19
Introduce and use the OUTPUTEXE and OUTPUTOBJ build variables
2017-03-29 11:10:06 +02:00
Sébastien Hinderer
f2d5d60376
Define new build variables for C compiler and preprocessor flags
2017-03-29 11:10:06 +02:00
Sébastien Hinderer
cc7ad5650a
Get rid of BYTECC and NATIVECC
...
Use the same C compiler, CC, in all the build system.
2017-03-29 11:10:06 +02:00
Sébastien Hinderer
93c32dbd10
Rely on _WIN32 rather than NO_UNIX to compile ocamlyacc
2017-03-07 14:24:45 +01:00
Sébastien Hinderer
d917ff6eb3
Merge Makefile.nt into Makefile in the yacc directory. ( #762 )
...
yacc/Makefile has been changed so that it also works on Windows.
2016-08-26 09:05:57 +02:00
whitequark
c95e6502d5
yacc/Makefile{,.nt}: merge.
2016-03-17 23:36:44 +01:00
Damien Doligez
5401ce8473
Update headers for the new license.
...
Remains to be done: remove all headers in testsuite/tests.
2016-02-18 16:59:16 +01:00
Damien Doligez
860c670848
merge branch 4.02 from 4.02.1 (rev 15540) to a few fixes after 4.02.2 (rev 16205)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16214 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-07-17 14:31:05 +00:00
Wojciech Meyer
cc09d10bf9
yacc: "ocamlyacc$(EXE)" rule produced "ocamlyacc" (no trailing $(EXE)).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13311 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-02-25 03:01:26 +00:00
Damien Doligez
def31744f9
remove all $Id keywords
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13013 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-15 17:50:56 +00:00
Damien Doligez
3b507dd1aa
renaming of Objective Caml to OCaml and cleanup of copyright headers
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11156 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-27 14:17:02 +00:00
Damien Doligez
b29bc9fd2b
PR#5055: head -1 doesn't work
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10448 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-21 11:28:21 +00:00
Damien Doligez
5b52f30e7d
deplacement du numero de version -> fichier VERSION a la racine
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7833 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-02-07 14:49:42 +00:00
Damien Doligez
39f06c597a
PR#3085 ajout option "-version"
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6701 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-27 01:04:19 +00:00
Xavier Leroy
fd8846fecd
Portage Cygwin
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3270 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-08-10 09:58:08 +00:00
Xavier Leroy
cc0f32b054
Changement de la licence
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2553 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-17 18:59:06 +00:00
Xavier Leroy
2301d778e7
Renommage en Objective Caml
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@782 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-04-30 14:53:58 +00:00
Xavier Leroy
1b6c720509
Nouveau systeme d'autoconfiguration.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@630 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-02-13 16:29:09 +00:00
Xavier Leroy
50016eb5d5
Renommage des compilateurs de bootstrap
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@389 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-02 14:09:42 +00:00
Xavier Leroy
414572e80b
MAJ par-rapport a Caml Light 0.7
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@182 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-08 13:37:34 +00:00
Xavier Leroy
6ee1e295c0
MAJ portage Sparc
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@131 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-20 08:30:16 +00:00
Xavier Leroy
61bd8ace6b
Passage a la version bootstrappee (franchissement du Rubicon)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-05-04 10:15:53 +00:00