Roy Ivy III
a07f77ac52
make: add 'rebuild' target (clean and reset sub-repos, then rebuild V) ( #16357 )
2022-11-08 17:51:29 +03:00
Roy Ivy III
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
Delyan Angelov
02c3af2432
all: add support for enum Xyz as u64 {
+ tests ( #16246 )
2022-10-29 06:32:20 +03:00
Delyan Angelov
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
Delyan Angelov
aed2d0caf2
make files: add a make check
target, that runs v test-all
locally
2022-05-01 13:38:30 +03:00
Delyan Angelov
31b28af179
bootstrap: remove -I ./thirdparty/stdatomic/nix from make files ( #14111 )
2022-04-21 00:12:50 +03:00
Delyan Angelov
554a689213
ci: be more verbose when running make.bat on the CI
2022-02-17 13:26:23 +02:00
Delyan Angelov
34f0d442df
ci: separate other_ci.yml and paths_ci.yml; simplify make.bat ( #13254 )
2022-01-23 12:50:19 +02:00
Delyan Angelov
6dfa11e2f7
make: improve diagnostic messages when the prebuilt tcc executable does not work/is missing
2022-01-18 17:36:05 +02:00
Delyan Angelov
83fee01f6e
make.bat: add -g flag to improve diagnostics reports on windows
2021-11-22 22:00:14 +02:00
Delyan Angelov
42b97ef888
ci: add -ladvapi32 for bootstrapping with gcc/clang on windows
2021-11-22 17:07:39 +02:00
Delyan Angelov
759f3d28b7
ci: improve diagnostic messages for cloning tcc on windows
2021-11-22 16:24:56 +02:00
Delyan Angelov
c8f1e6b5b6
ci: simplify make.bat, make it verbose to fix errors easier
2021-09-28 13:03:07 +03:00
crthpl
85b58b03a3
cgen: parallelize ( #10844 )
2021-09-28 10:28:04 +03:00
Lukas Neubert
c1f3eb6014
make.bat: clean-all --> cleanall ( #11011 )
2021-07-31 16:33:24 +03:00
Delyan Angelov
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
Delyan Angelov
dae32e378d
ci: DO NOT HIDE the output of the C compilers on Windows while bootstrapping
2021-07-19 08:51:10 +03:00
Delyan Angelov
b63eba31dd
ci: debug msvc v build failure 3
2021-04-17 17:54:13 +03:00
Delyan Angelov
c698fa1a58
all: support v -watch run
( #9577 )
2021-04-04 16:05:06 +02:00
Delyan Angelov
eed6f7dbff
make.bat: cleanup obsolete warning when tcc is used by default
2021-03-09 19:05:49 +02:00
yuyi
c6ff3d13a7
make.bat: fix error of make --local
( #9212 )
2021-03-09 13:00:08 +02:00
Delyan Angelov
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
Delyan Angelov
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
Ruofan XU
5807e1b3ae
make/test: clean 32-bit detection and test tcc32/tcc64 CI run ( #9001 )
2021-02-27 21:19:11 +03:00
Ruofan XU
1a8e502e2c
ci: add tcc32 CI on windows ( #8922 )
2021-02-25 12:52:12 +01:00
Stanislav Ershov
44177c4e7c
builder: use stable MSVC version instead preview ( #8867 )
2021-02-21 00:00:44 +02:00
Ruofan XU
d370e4de9f
make.bat: simplify tcc backend compilation flags ( #8414 )
2021-01-29 20:21:29 +02:00
yuyi
7ade1a966c
make: fix make.bat ( #7736 )
2020-12-31 10:05:08 +02:00
yuyi
22cbfdf0ba
make.bat: fix --local mode ( #7255 )
2020-12-11 19:24:57 +02:00
heronwr
255f27b4d8
make.bat: fix regression for directory path with spaces ( #7253 )
2020-12-11 01:47:27 +02:00
Delyan Angelov
22d6504ff9
make.bat: improve messages accuracy; use v_win.c instead of v.c
2020-12-09 20:25:00 +02:00
heronwr
434fa70584
make.bat: fix incorrect sequence in checking for a valid C compiler ( #7050 )
2020-11-30 16:52:43 +01:00
heronwr
9487578c0c
make.bat: bootstrap TCC by default and fix miscellaneous bugs ( #7027 )
...
good work
2020-11-30 09:15:52 +02:00
Delyan Angelov
adeebad2a6
compiler: use thirdparty/tcc/tcc.exe by default, when no explicit -cc is given ( #6598 )
2020-11-29 16:18:49 +01:00
heronwr
a2fedb4285
make.bat: parsing block revision ( #6990 )
2020-11-28 01:14:14 +02:00
heronwr
4e9967a5f1
make.bat: update convention to be consistent and add target support ( #6942 )
2020-11-25 14:27:52 +01:00
heronwr
6b89249c6d
make.bat: refactor for better param parsing and usage help ( #6893 )
2020-11-21 12:02:03 +01:00
spaceface777
60eedc2fc3
make.bat: quote paths when cloning tcc
( #6209 )
2020-08-24 13:00:30 +02:00
Ryan Willis
f66967a88c
vsymlink: real Windows symbolic link, fallback to batch, make.bat updates ( #5841 )
2020-07-16 18:33:26 +02:00
spaceface777
8df8866c5a
make.bat: improve diagnostics, do not add V to PATH automatically ( #5789 )
2020-07-10 22:50:29 +03:00
spaceface777
d76e94bba8
make.bat: small tcc self-compilation cleanup
2020-06-19 14:09:34 +02:00
spaceface777
624005bbd0
tcc_win: fix tests
2020-06-19 12:54:56 +02:00
yuyi
2230cbae01
make.bat: add `-local flag
2020-06-04 14:07:02 +02:00
Emily Hudson
bf92a8b80e
make.bat: use v.exe -cc msvc self when bootstrapping with msvc
2020-05-25 19:32:33 +03:00
yuyi
b5af6d44c2
make.bat: git pull add --quiet
2020-05-22 16:42:34 +02:00
yuyi
fe0b587b1f
make.bat: optimize vc download
2020-05-22 11:46:55 +03:00
Alexander Medvednikov
905cf326cd
make.bat: use v.exe version
2020-05-18 15:46:56 +02:00
Alexander Medvednikov
7c923ce338
make.bat: use v.exe self instead of v self
2020-05-18 15:44:13 +02:00
Alexander Medvednikov
478ebed069
Revert "makefile: simplify and speed up"
...
This reverts commit c7e4f5eefb
.
2020-05-13 15:33:44 +02:00
Alexander Medvednikov
c7e4f5eefb
makefile: simplify and speed up
2020-05-13 14:50:33 +02:00