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

273 Commits

Author SHA1 Message Date
Delyan Angelov
5d0cb1437c Add support for VFLAGS environment variable, merged with cmd args.
Using VFLAGS, you can pass common options through it to the V compiler,
without having to manually specify them everytime when you type V ...
In addition, since environment variables are *inherited*, all subprocess
V compilers, which V launches (for example when compiling with -live),
will *also* use the same VFLAGS environment variable.

Example usage:
  export VFLAGS="-debug -show_c_cmd"
  v -live message.v

=> This will keep *both* of the generated C source files .message.c
   *AND* .message_shared_lib.c . It will also cause both V compile
   subprocesses to print their resulting C compiler backend lines.
   This is very useful when using GDB to debug problems.
2019-07-16 19:35:16 +02:00
Delyan Angelov
17580f3013 Support for passing different options to the C compiler backend.
Example: 'v -c_options=-Os' will pass -Os to the C compiler.
In effect the C compiler will optimize the generated binary for size.
2019-07-16 19:34:44 +02:00
Alexander Medvednikov
1748632144 do not create ~/.vlang directory 2019-07-16 17:44:25 +02:00
Alexander Medvednikov
31032d3a62 allow field 'type' 2019-07-16 13:01:39 +02:00
Alexander Medvednikov
eb7aee5ae0 store temp C files in the same directory 2019-07-16 02:12:05 +02:00
Alexander Medvednikov
cc06fe7ae6 os.dir(); fix vroot on Windows 2019-07-16 01:57:06 +02:00
Alexander Medvednikov
8902256592 V 0.1.15 2019-07-15 23:56:18 +02:00
Alexander Medvednikov
edbcefb811 fix and simplify VROOT 2019-07-15 23:33:31 +02:00
Alexander Medvednikov
62e6e03492 -ldl is only required on Linux 2019-07-15 20:40:37 +02:00
Alexander Medvednikov
9b020fad53 fix OpenBSD build 2019-07-15 20:22:48 +02:00
Alexander Medvednikov
374781da1a OpenBSD, NetBSD, DragonFly support 2019-07-15 20:19:07 +02:00
Alexander Medvednikov
449fd372f9 *_nix.v support 2019-07-15 19:23:09 +02:00
Alexander Medvednikov
b36a9f7e55 glfw always on top 2019-07-15 19:23:09 +02:00
Delyan Angelov
37aff9b107 hot reload: no -sanitize is needed anymore, -live is now enough on both Linux and MacOS X
* hot reload for GL programs: force the main executable (the shared library loader) to be build with -rdynamic flag, when -live is passed to v compiler.

* hot reload: optimize away a redundant load_so/0 call at the start of the reload_so thread.

* hot code reload for MacOSX requires -flat_namespace flag instead of -rdynamic (on linux).
2019-07-15 17:32:00 +02:00
Alexander Medvednikov
7c6f59afa6 FreeBSD support 2019-07-15 17:24:44 +02:00
Delyan Angelov
0556f5fd4e When compiling with -shared (a step in compiling with -live), store the C intermediary file in a different file than main (loader) file, so that debugging symbol lookup information is correct (the files are not replaced constantly with each other). 2019-07-15 12:30:03 +02:00
Alexander Medvednikov
f7dbbf5810 re-write map.v and update the compiler 2019-07-14 22:08:17 +02:00
Nick Treleaven
cec3ea5b4d Document v -lib and don't advertise --help long option
--help and --version are accepted, but these don't fit the `-option`
format of V's other options. To avoid confusion, don't mention them.
2019-07-13 14:54:31 +02:00
joe-conigliaro
9a957ccc18 module aliasing & file import scope 2019-07-12 07:37:54 +02:00
Alexander Medvednikov
56b7c9e35f for key, val in map syntax 2019-07-12 07:27:30 +02:00
Alexander Medvednikov
22b41c7873 V 0.1.14 2019-07-12 05:23:00 +02:00
hazohelet
560ba55572 enable consts with operators in scripts 2019-07-12 04:53:51 +02:00
Alexander Medvednikov
f834644db4 make gg work on Windows; prebuild glad and cJSON; new ft module 2019-07-12 04:50:14 +02:00
Alexander Medvednikov
9efe305093 fix Linux build 2019-07-10 21:57:15 +02:00
Alexander Medvednikov
28843a12c7 cache string.hash() 2019-07-10 10:00:12 +02:00
Alexander Medvednikov
e1ddac1590 utf8: remove unused UTF8_CHAR_LEN macro and add a simple utf8 test 2019-07-10 09:07:04 +02:00
Alexander Medvednikov
c44d54fb4c V 0.1.13 2019-07-10 02:03:09 +02:00
Alexander Medvednikov
26ef99293d new enum syntax; update the compiler (p.tok == .name) 2019-07-10 02:02:38 +02:00
Henrixounez
26af513e1b repl: remove void line for unused and compile as repl 2019-07-09 20:55:37 +02:00
Delyan Angelov
932f6d1bef Fix hot code reloading on linux 2019-07-09 20:54:23 +02:00
Henrixounez
7b1be8a2bd CI: Add back erased commits and dont test hot code examples 2019-07-09 20:44:30 +02:00
Alexander Medvednikov
045d480c8c clean up the examples a bit 2019-07-07 22:09:08 +02:00
Alexander Medvednikov
7fed451226 inotify TODO 2019-07-07 22:04:41 +02:00
Alexander Medvednikov
de8dc4cddb hot code reloading examples 2019-07-07 22:02:27 +02:00
joe-conigliaro
8a2d25247f submodules 2019-07-07 01:22:47 +02:00
aguspiza
36908fa304 fix for #1020 2019-07-07 01:20:56 +02:00
Alexander Medvednikov
59796a4168 small REPL fixes 2019-07-06 15:39:26 +02:00
Shivanjan Chakravorty
f630d3f342 main: vrepl interactive shell update 2019-07-06 12:07:44 +02:00
Alexander Medvednikov
d47e2f113f Revert "make function arguments immutable"
This reverts commit 0f0ed8d716.
2019-07-05 02:44:22 +02:00
Alexander Medvednikov
0f0ed8d716 make function arguments immutable 2019-07-05 00:24:13 +02:00
Alexander Medvednikov
92528205c1 minor fixes 2019-07-04 22:39:15 +02:00
Alexander Medvednikov
8f10e37370 make << work with appending arrays; PostgreSQL driver 2019-07-04 17:31:14 +02:00
Cytown
fbe8f6c774 fix array initial with [0.0/f32/f64; length] compile error
solution: add array_f32/array_f64 type
Signed-off-by: Cytown <cytown@gmail.com>
2019-07-04 13:01:51 +02:00
Alexander Medvednikov
68ed555e91 V 0.1.12 2019-07-04 02:21:27 +02:00
Alexander Medvednikov
5d4d3b838b StringsBuilder => strings.Builder; strings.repeat() 2019-07-03 22:18:46 +02:00
Alexander Medvednikov
dec0d961f5 os: clean up file functions, use optionals 2019-07-03 21:37:12 +02:00
Alexander Medvednikov
d9753ee2c6 lots of vfmt fixes 2019-07-03 16:37:21 +02:00
Justice Suh
a25c4bb59f compiler: add debug flag 2019-07-03 16:10:21 +02:00
AtjonTV
ab20db8e6e look for modules in current path 2019-07-02 21:55:57 +02:00
Alexander Medvednikov
1bbf3a3a0c make compiler 2019-07-02 21:45:51 +02:00
Alexander Medvednikov
a9b8bc067f enums (mode == .default_mode syntax); fix foo.bar[0].baz = val 2019-07-02 21:39:26 +02:00
joe-conigliaro
4ed67fbe7e implement get_line & get_raw_line for windows + REPL 2019-07-02 16:39:40 +02:00
yep84
2ca9866f86 Handle --version arg as it already do for help 2019-07-01 22:04:28 +02:00
Alexander Medvednikov
d09758f723 fix a typo 2019-07-01 17:29:29 +02:00
Alexander Medvednikov
6ddc57c190 fix cc_windows_cross() 2019-07-01 17:23:30 +02:00
Maulana Akmal
24b0fd5097 Refactor BuildMode enum to lowercase 2019-07-01 17:20:59 +02:00
Alexander Medvednikov
4c3f1386ef V 0.1.11 2019-07-01 16:53:54 +02:00
Alexander Medvednikov
99a9a6572a lots of Windows fixes and cross compilation for Windows 2019-07-01 16:51:17 +02:00
Zaoqi
00174cdb83 fix #872 2019-07-01 10:46:42 +02:00
Alexander Medvednikov
5936ab16c8 fix maps; use maps for storing functions; verify struct initialization 2019-07-01 02:24:39 +02:00
Archan Patkar
74d234f8cd remove duplication by using a new Preferences struct 2019-06-30 22:03:17 +02:00
Alexander Medvednikov
9062338cb4 fix compilation 2019-06-30 20:48:26 +02:00
Alexander Medvednikov
61b51f6149 os.File clean up + socket.v (dial()) 2019-06-30 20:28:50 +02:00
Zaoqi
5bd188edad Update main.v 2019-06-30 15:34:28 +02:00
Alexander Medvednikov
820aa3d3b3 os: remove os_mac.v and os_win.v, fix os.ls() on Windows 2019-06-30 14:57:27 +02:00
Alexander Medvednikov
b0c844415d time.ticks() on Linux/macOS 2019-06-30 14:48:13 +02:00
Zaoqi
437b32fe78 fmt: id []typ 2019-06-30 13:06:45 +02:00
Alexander Medvednikov
159990132f fix v run . on Windows 2019-06-29 23:41:12 +02:00
Alexander Medvednikov
a2b80d5b3d REPL: exit to exit 2019-06-29 22:56:23 +02:00
Alexander Medvednikov
acaa19054b V 0.1.10 2019-06-29 21:51:25 +02:00
Alexander Medvednikov
18525922fd Windows fixes 2019-06-29 21:26:39 +02:00
Alexander Medvednikov
08c8b4ba22 V 0.1.9 2019-06-29 13:11:15 +02:00
Alexander Medvednikov
5b7a1e84a4 move Makefile to root 2019-06-29 12:54:57 +02:00
Alexander Medvednikov
761ba17018 move compiler tests to compiler/ 2019-06-29 12:10:19 +02:00
Alexander Medvednikov
4594d78bd6 move all vlib modules to vlib/ 2019-06-29 12:00:31 +02:00
Alexander Medvednikov
37e2da9d23 exit REPL on Windows 2019-06-28 21:28:55 +02:00
Alexander Medvednikov
2a2b402277 $if fix 2019-06-28 21:28:03 +02:00
Alexander Medvednikov
1bcccf0d1e make V compilable on Windows with mingw-w64 2019-06-28 21:24:51 +02:00
Zaoqi
4cd48a6e18 Update main.v: fix typos (#753) 2019-06-28 15:47:38 +02:00
shivakishore14
65fed2d784 Create new line while pressing enter in repl.
Pressing Enter in repl should create new line instead of quiting the repl.
2019-06-28 15:44:54 +02:00
Alexander Medvednikov
99a0aa2300 fix main.v 2019-06-28 15:06:39 +02:00
Alexander Medvednikov
50012ae57b V 0.1.8 2019-06-28 13:49:34 +02:00
Alexander Medvednikov
bd49977feb fix single file programs without fn main and REPL (allow imports,
function definitions, consts, etc)
2019-06-28 13:43:32 +02:00
Alexander Medvednikov
dc161fb20f V 0.1.7 2019-06-27 23:14:18 +02:00
Alexander Medvednikov
6824e6e7db Replace all remaining C code with V in the compiler and vlib (hoorah!) 2019-06-27 23:11:27 +02:00
Dirk Loss
b1682e929d Add '-v' option as described in help text 2019-06-27 22:22:30 +02:00
Alexander Medvednikov
f39111bdff V 0.1.6 2019-06-27 18:51:45 +02:00
Alexander Medvednikov
b846d02cb2 V 0.1.5 2019-06-27 12:52:06 +02:00
Henrixounez
8b3802d9b8 help: cleaner help informations
help: added repl informations
2019-06-27 02:00:08 +02:00
Alexander Medvednikov
fa925f3092 os.v: clean up, remove C code, os.exec() 2019-06-26 17:01:50 +02:00
Henrixounez
f0e6a1c1c1 added arguments handling for run 2019-06-26 14:39:31 +02:00
Alexander Medvednikov
c860bac7bf don't allow calling private functions/methods 2019-06-26 13:15:47 +02:00
Alexander Medvednikov
8417fec5dc os.read_file(): replace C code with V, return ?string, handle errors
everywhere
2019-06-26 11:04:05 +02:00
Alexander Medvednikov
f26e65a943 remove old float type entirely 2019-06-25 22:10:22 +02:00
Alexander Medvednikov
54bcbe0708 remove smap.v, it was not supposed to be released 2019-06-25 21:22:50 +02:00
Alexander Medvednikov
d71904823e V 0.1.3 2019-06-25 20:49:27 +02:00
Alexander Medvednikov
688bbcff9c v.exe: clone the repo on first launch 2019-06-25 20:41:54 +02:00
Alexander Medvednikov
61a8e6e47c V 0.1.2 2019-06-25 14:45:07 +02:00
Alexander Medvednikov
9c1fc6717f main.v: fix broken thirdparty dependencies 2019-06-25 14:31:51 +02:00
Alexander Medvednikov
a1b6e4e523 V 0.1.1 2019-06-25 02:07:32 +02:00
Alexander Medvednikov
5a469c2e37 main.v: remove hardcoded path ~/code/v and allow V to be installed anywhere 2019-06-25 01:55:27 +02:00
Alexander Medvednikov
11861fe9fa translate arg 2019-06-24 17:42:44 +02:00
Alexander Medvednikov
da1e1f34fc update help text 2019-06-24 14:43:26 +02:00
Alexander Medvednikov
1ba53a39cb V 0.1.0 2019-06-24 14:11:56 +02:00
Alexander Medvednikov
b13f233521 re-write $if os { and fix GCC segfaults on compilation 2019-06-24 14:05:31 +02:00
Alexander Medvednikov
b990f04064 main.v: error if vlib is missing + instruction to clone the repo 2019-06-24 00:54:23 +02:00
Henrixounez
13f5429dae Removed # and added new error message case 2019-06-23 18:50:12 +02:00
Henrixounez
ad5e1fd8d4 Checks if dir given exists and is a directory before ls 2019-06-23 18:50:12 +02:00
Henrixounez
d71410dff5 REPL - Fix variable declare and not used by print
by using an empty line to call the variables
2019-06-23 14:20:51 +02:00
Henrixounez
f1cd3580eb main.v: checking directory before trying to fetch files in said directory 2019-06-23 11:39:38 +02:00
Henrixounez
e1e8a50a46 main.v: updated help message concerning run option 2019-06-23 10:57:23 +02:00
Alexander Medvednikov
06a4dfa290 replace silly exit(reason string) with exit(code int) 2019-06-23 10:14:37 +02:00
Alexander Medvednikov
20b5c4b88b Remove println2 2019-06-23 10:03:03 +02:00
Ivan Greene
6c6be7acaa Convert OS to enum 2019-06-23 09:24:40 +02:00
musou1500
1152180a71 fix cc option order 2019-06-23 09:23:53 +02:00
musou1500
c3df224c97 add include path for cJSON 2019-06-23 09:23:53 +02:00
chai2010
978ec58fe3 all: add copyright 2019-06-23 09:22:49 +02:00
Henrixounez
889d564f43 main.v: added run option example in help message 2019-06-23 03:19:03 +02:00
Yoshiya Hinosawa
cf6aa16ee4 fix: fix error messages 2019-06-23 02:49:48 +02:00
Henrixounez
f5b8f34a05 main.v: exits when prompting help 2019-06-23 02:47:36 +02:00
Alexander Medvednikov
acb00bf623 main.v: use cc 2019-06-23 01:51:04 +02:00
Alexander Medvednikov
96e15b0f0f don't use /var/tmp 2019-06-22 22:00:38 +02:00
Alexander Medvednikov
d32e538073 V 0.0.12 open-source release 2019-06-22 20:20:28 +02:00