Mercurial > vim
annotate src/if_mzsch.h @ 33566:e1e3805fcd96 v9.0.2028
patch 9.0.2028: confusing build dependencies
Commit: https://github.com/vim/vim/commit/5d03525cdef5db1b1cedfa26c6f8a21aaa207ec0
Author: Yee Cheng Chin <ychin.git@gmail.com>
Date: Sun Oct 15 09:50:53 2023 +0200
patch 9.0.2028: confusing build dependencies
Problem: confusing build dependencies
Solution: clean them up, make them parallelizable
Separate vim binary and unittest dependencies, make them parallelizable
Clean up make dependencies so Vim and unit test binaries only depend on
the object files they need. This fixes an existing issue where after
running unit tests, the Vim binary would be invalidated, which results
in it having to be linked again when running script tests, even though
Vim was already previously built.
Make link.sh (script we use to link those binaries) generate namespaced
temporary files for each app to avoid them colliding with each other.
This allows `unittesttargets` to be built in parallel.
These fixes are useful when using link-time-optimization as the link
phase could now take minutes rather than a few seconds.
closes: #13344
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 15 Oct 2023 10:00:03 +0200 |
parents | 6e3dc2d630c2 |
children |
rev | line source |
---|---|
10042
4aead6a9b7a9
commit https://github.com/vim/vim/commit/edf3f97ae2af024708ebb4ac614227327033ca47
Christian Brabandt <cb@256bit.org>
parents:
10025
diff
changeset
|
1 /* vi:set ts=8 sts=4 sw=4 noet: |
14 | 2 * |
3 * MzScheme interface for Vim, wrapper around scheme.h | |
4 */ | |
5 #ifndef _IF_MZSCH_H_ | |
6 #define _IF_MZSCH_H_ | |
7 #ifdef __MINGW32__ | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
10042
diff
changeset
|
8 // Hack to engage Cygwin-specific settings |
14 | 9 # define __CYGWIN32__ |
4074 | 10 # include <stdint.h> |
14 | 11 #endif |
12 | |
10025
068f397d0da4
commit https://github.com/vim/vim/commit/d90b6c02e2900576fb37d95b5e4f4a32b2d7383f
Christian Brabandt <cb@256bit.org>
parents:
4074
diff
changeset
|
13 #ifdef PROTO |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
10042
diff
changeset
|
14 // avoid syntax error for defining Thread_Local_Variables. |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
10042
diff
changeset
|
15 # define __thread // empty |
10025
068f397d0da4
commit https://github.com/vim/vim/commit/d90b6c02e2900576fb37d95b5e4f4a32b2d7383f
Christian Brabandt <cb@256bit.org>
parents:
4074
diff
changeset
|
16 #endif |
068f397d0da4
commit https://github.com/vim/vim/commit/d90b6c02e2900576fb37d95b5e4f4a32b2d7383f
Christian Brabandt <cb@256bit.org>
parents:
4074
diff
changeset
|
17 |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
10042
diff
changeset
|
18 // #ifdef needed for "make depend" |
800 | 19 #ifdef FEAT_MZSCHEME |
1894 | 20 # include <schvers.h> |
800 | 21 # include <scheme.h> |
22 #endif | |
14 | 23 |
24 #ifdef __MINGW32__ | |
25 # undef __CYGWIN32__ | |
26 #endif | |
27 | |
28 #if MZSCHEME_VERSION_MAJOR >= 299 | |
29 # define SCHEME_STRINGP(obj) (SCHEME_BYTE_STRINGP(obj) || SCHEME_CHAR_STRINGP(obj)) | |
4074 | 30 # define BYTE_STRING_VALUE(obj) ((char_u *)SCHEME_BYTE_STR_VAL(obj)) |
31 #else | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
10042
diff
changeset
|
32 // macros for compatibility with older versions |
4074 | 33 # define scheme_current_config() scheme_config |
34 # define scheme_make_sized_byte_string scheme_make_sized_string | |
35 # define scheme_format_utf8 scheme_format | |
36 # ifndef DYNAMIC_MZSCHEME | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
10042
diff
changeset
|
37 // for dynamic MzScheme there will be separate definitions in if_mzsch.c |
4074 | 38 # define scheme_get_sized_byte_string_output scheme_get_sized_string_output |
39 # define scheme_make_byte_string scheme_make_string | |
40 # define scheme_make_byte_string_output_port scheme_make_string_output_port | |
41 # endif | |
14 | 42 |
43 # define SCHEME_BYTE_STRLEN_VAL SCHEME_STRLEN_VAL | |
4074 | 44 # define BYTE_STRING_VALUE(obj) ((char_u *)SCHEME_STR_VAL(obj)) |
274 | 45 # define scheme_byte_string_to_char_string(obj) (obj) |
4074 | 46 # define SCHEME_BYTE_STRINGP SCHEME_STRINGP |
14 | 47 #endif |
48 | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
10042
diff
changeset
|
49 // Precise GC macros |
1894 | 50 #ifndef MZ_GC_DECL_REG |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
10042
diff
changeset
|
51 # define MZ_GC_DECL_REG(size) // empty |
1894 | 52 #endif |
53 #ifndef MZ_GC_VAR_IN_REG | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
10042
diff
changeset
|
54 # define MZ_GC_VAR_IN_REG(x, v) // empty |
1894 | 55 #endif |
56 #ifndef MZ_GC_ARRAY_VAR_IN_REG | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
10042
diff
changeset
|
57 # define MZ_GC_ARRAY_VAR_IN_REG(x, v, l) // empty |
1894 | 58 #endif |
59 #ifndef MZ_GC_REG | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
10042
diff
changeset
|
60 # define MZ_GC_REG() // empty |
1894 | 61 #endif |
62 #ifndef MZ_GC_UNREG | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
10042
diff
changeset
|
63 # define MZ_GC_UNREG() // empty |
1894 | 64 #endif |
65 | |
66 #ifdef MZSCHEME_FORCE_GC | |
67 /* | |
68 * force garbage collection to check all references are registered | |
69 * seg faults will indicate not registered refs | |
70 */ | |
71 # define MZ_GC_CHECK() scheme_collect_garbage(); | |
72 #else | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
10042
diff
changeset
|
73 # define MZ_GC_CHECK() // empty |
1894 | 74 #endif |
75 | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
10042
diff
changeset
|
76 #endif // _IF_MZSCH_H_ |