1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
Commit Graph

88 Commits

Author SHA1 Message Date
a07f77ac52 make: add 'rebuild' target (clean and reset sub-repos, then rebuild V) (#16357) 2022-11-08 17:51:29 +03:00
c015f15d8d make.bat: fix use of make.bat from v up (#16348)
* .editorconfig: fix EOL for BAT files

* make.bat: fix use of `make.bat` from `v up`

- use move semantics, instead of replace, for `v` executable updates
- fixes [#16184](https://github.com/vlang/v/issues/16184)

# [why]

`v up` updates the executable by directly calling `make.bat`, awaiting
the result, which keeps an open file handle to it's own executable file.
`make.bat` compiles and, crucially, attempts to directly replace that
`v` executable. But, in WinOS, files with open file handles cannot be
deleted/replaced, so the `make` then fails. The other key point is that,
although WinOS files with open file handles can't be deleted/replaced,
they _can be moved/renamed_.

Thus, the technique that most self-updating WinOS executables use is to
move the current executable to some alternate name (ie, *v_old.exe*) and
then move the newly updated executable to the original location (ie,
*v.exe*). The next invocation of the "original" executable will then run
the updated version.

Note, this technique also works correctly for direct invocations of `make.bat`.
2022-11-07 08:48:08 +02:00
02c3af2432 all: add support for enum Xyz as u64 { + tests (#16246) 2022-10-29 06:32:20 +03:00
98c6dad887 make.bat: add a small delay between del v.exe and move v2.exe v.exe, to make CI runs more robust 2022-08-22 22:08:47 +03:00
aed2d0caf2 make files: add a make check target, that runs v test-all locally 2022-05-01 13:38:30 +03:00
31b28af179 bootstrap: remove -I ./thirdparty/stdatomic/nix from make files (#14111) 2022-04-21 00:12:50 +03:00
554a689213 ci: be more verbose when running make.bat on the CI 2022-02-17 13:26:23 +02:00
34f0d442df ci: separate other_ci.yml and paths_ci.yml; simplify make.bat (#13254) 2022-01-23 12:50:19 +02:00
6dfa11e2f7 make: improve diagnostic messages when the prebuilt tcc executable does not work/is missing 2022-01-18 17:36:05 +02:00
83fee01f6e make.bat: add -g flag to improve diagnostics reports on windows 2021-11-22 22:00:14 +02:00
42b97ef888 ci: add -ladvapi32 for bootstrapping with gcc/clang on windows 2021-11-22 17:07:39 +02:00
759f3d28b7 ci: improve diagnostic messages for cloning tcc on windows 2021-11-22 16:24:56 +02:00
c8f1e6b5b6 ci: simplify make.bat, make it verbose to fix errors easier 2021-09-28 13:03:07 +03:00
85b58b03a3 cgen: parallelize (#10844) 2021-09-28 10:28:04 +03:00
c1f3eb6014 make.bat: clean-all --> cleanall (#11011) 2021-07-31 16:33:24 +03:00
11161f4550 make.bat: remove even more >NUL redirects, that HIDE USEFUL error info
Please do not hide *error information especially*.

A few lines more will NOT cause you much suffering in the happy case,
while they WILL be of great help to maintainers, when things go south.
2021-07-19 09:09:22 +03:00
dae32e378d ci: DO NOT HIDE the output of the C compilers on Windows while bootstrapping 2021-07-19 08:51:10 +03:00
b63eba31dd ci: debug msvc v build failure 3 2021-04-17 17:54:13 +03:00
c698fa1a58 all: support v -watch run (#9577) 2021-04-04 16:05:06 +02:00
eed6f7dbff make.bat: cleanup obsolete warning when tcc is used by default 2021-03-09 19:05:49 +02:00
c6ff3d13a7 make.bat: fix error of make --local (#9212) 2021-03-09 13:00:08 +02:00
343f144b0b make.bat: change the default compiler to tcc (which we have prebuilt in a known location) 2021-03-09 00:46:37 +02:00
747507dd1d make.bat: allow customisation of vc_url, using env variable VC_GIT, simillar to TCC_GIT 2021-03-06 12:26:08 +02:00
5807e1b3ae make/test: clean 32-bit detection and test tcc32/tcc64 CI run (#9001) 2021-02-27 21:19:11 +03:00
1a8e502e2c ci: add tcc32 CI on windows (#8922) 2021-02-25 12:52:12 +01:00
44177c4e7c builder: use stable MSVC version instead preview (#8867) 2021-02-21 00:00:44 +02:00
d370e4de9f make.bat: simplify tcc backend compilation flags (#8414) 2021-01-29 20:21:29 +02:00
7ade1a966c make: fix make.bat (#7736) 2020-12-31 10:05:08 +02:00
22cbfdf0ba make.bat: fix --local mode (#7255) 2020-12-11 19:24:57 +02:00
255f27b4d8 make.bat: fix regression for directory path with spaces (#7253) 2020-12-11 01:47:27 +02:00
22d6504ff9 make.bat: improve messages accuracy; use v_win.c instead of v.c 2020-12-09 20:25:00 +02:00
434fa70584 make.bat: fix incorrect sequence in checking for a valid C compiler (#7050) 2020-11-30 16:52:43 +01:00
9487578c0c make.bat: bootstrap TCC by default and fix miscellaneous bugs (#7027)
good work
2020-11-30 09:15:52 +02:00
adeebad2a6 compiler: use thirdparty/tcc/tcc.exe by default, when no explicit -cc is given (#6598) 2020-11-29 16:18:49 +01:00
a2fedb4285 make.bat: parsing block revision (#6990) 2020-11-28 01:14:14 +02:00
4e9967a5f1 make.bat: update convention to be consistent and add target support (#6942) 2020-11-25 14:27:52 +01:00
6b89249c6d make.bat: refactor for better param parsing and usage help (#6893) 2020-11-21 12:02:03 +01:00
60eedc2fc3 make.bat: quote paths when cloning tcc (#6209) 2020-08-24 13:00:30 +02:00
f66967a88c vsymlink: real Windows symbolic link, fallback to batch, make.bat updates (#5841) 2020-07-16 18:33:26 +02:00
8df8866c5a make.bat: improve diagnostics, do not add V to PATH automatically (#5789) 2020-07-10 22:50:29 +03:00
d76e94bba8 make.bat: small tcc self-compilation cleanup 2020-06-19 14:09:34 +02:00
624005bbd0 tcc_win: fix tests 2020-06-19 12:54:56 +02:00
2230cbae01 make.bat: add `-local flag 2020-06-04 14:07:02 +02:00
bf92a8b80e make.bat: use v.exe -cc msvc self when bootstrapping with msvc 2020-05-25 19:32:33 +03:00
b5af6d44c2 make.bat: git pull add --quiet 2020-05-22 16:42:34 +02:00
fe0b587b1f make.bat: optimize vc download 2020-05-22 11:46:55 +03:00
905cf326cd make.bat: use v.exe version 2020-05-18 15:46:56 +02:00
7c923ce338 make.bat: use v.exe self instead of v self 2020-05-18 15:44:13 +02:00
478ebed069 Revert "makefile: simplify and speed up"
This reverts commit c7e4f5eefb.
2020-05-13 15:33:44 +02:00
c7e4f5eefb makefile: simplify and speed up 2020-05-13 14:50:33 +02:00