Mercurial > vim
view src/proto/register.pro @ 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 | b1440083f0da |
children |
line wrap: on
line source
/* register.c */ yankreg_T *get_y_regs(void); yankreg_T *get_y_register(int reg); yankreg_T *get_y_current(void); yankreg_T *get_y_previous(void); void set_y_current(yankreg_T *yreg); void set_y_previous(yankreg_T *yreg); void reset_y_append(void); int get_expr_register(void); void set_expr_line(char_u *new_line, exarg_T *eap); char_u *get_expr_line(void); int valid_yank_reg(int regname, int writing); int get_yank_register(int regname, int writing); void *get_register(int name, int copy); void put_register(int name, void *reg); void free_register(void *reg); int yank_register_mline(int regname); int do_record(int c); int get_execreg_lastc(void); void set_execreg_lastc(int lastc); int do_execreg(int regname, int colon, int addcr, int silent); int insert_reg(int regname, int literally_arg); int get_spec_reg(int regname, char_u **argp, int *allocated, int errmsg); int cmdline_paste_reg(int regname, int literally_arg, int remcr); void shift_delete_registers(void); void yank_do_autocmd(oparg_T *oap, yankreg_T *reg); void init_yank(void); void clear_registers(void); void free_yank_all(void); int op_yank(oparg_T *oap, int deleting, int mess); void do_put(int regname, char_u *expr_result, int dir, long count, int flags); int get_register_name(int num); int get_unname_register(void); void ex_display(exarg_T *eap); void dnd_yank_drag_data(char_u *str, long len); char_u get_reg_type(int regname, long *reglen); char_u *get_reg_contents(int regname, int flags); void write_reg_contents(int name, char_u *str, int maxlen, int must_append); void write_reg_contents_lst(int name, char_u **strings, int maxlen, int must_append, int yank_type, long block_len); void write_reg_contents_ex(int name, char_u *str, int maxlen, int must_append, int yank_type, long block_len); void str_to_reg(yankreg_T *y_ptr, int yank_type, char_u *str, long len, long blocklen, int str_list); /* vim: set ft=c : */