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

90 Commits

Author SHA1 Message Date
Delyan Angelov
a8102f14be
make: use git clone --filter=blob:none for vc/ and thirdparty/tcc/ , which minimises the amount of transferred data (especially for doing v up after a few weeks/months) 2023-02-02 18:33:51 +02:00
JalonSolov
5b008fca41
make.bat: fix path backslashes to forward slashes for more compatibility, change quoting to be more consistent (#16678) 2022-12-14 22:48:34 +02:00
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