digitalmars.D.learn - is it posible to compile individual module separately?
- bokuno_D (8/8) Feb 15 2021 i want to compile individual module that are required to compile
- evilrat (10/14) Feb 16 2021 Assuming you are using DMD, there is -lowmem switch to enable
- Anonymouse (7/17) Feb 16 2021 Ideally this would work, but
- Paul Backus (4/7) Feb 16 2021 singleFile is for single-file packages [1]. The option you're
- Anonymouse (58/65) Feb 16 2021 No, I do mean singleFile.
- Paul Backus (3/16) Feb 16 2021 I stand corrected. Shouldn't have trusted the documentation so
- Anonymouse (8/14) Feb 17 2021 It makes perfect sense to intuit that --single should be related
i want to compile individual module that are required to compile the main module. i just start learning D yeserday, i tried to compile serve-D LSP tobe used with SublimeLSP. i run "dub build" on it. but OOM kill the compiler. - is there a way to reduce memory consumtion of the compiler? or maybe third party tool? alternative to dub?
Feb 15 2021
On Tuesday, 16 February 2021 at 07:01:53 UTC, bokuno_D wrote:i run "dub build" on it. but OOM kill the compiler. - is there a way to reduce memory consumtion of the compiler? or maybe third party tool? alternative to dub?Assuming you are using DMD, there is -lowmem switch to enable garbage collection (it is off by default for faster builds) open dub.json, add dflags array with -lowmem, something like this line: "dflags": [ "-lowmem" ], then build normally, if you have gdc or ldc dub might pick first compiler in %PATH%, compiler can be selected with --compiler option dub build --compiler=dmd
Feb 16 2021
On Tuesday, 16 February 2021 at 17:06:21 UTC, evilrat wrote:On Tuesday, 16 February 2021 at 07:01:53 UTC, bokuno_D wrote:Ideally this would work, but https://issues.dlang.org/show_bug.cgi?id=20699. Does work with ldc though. You can also use dub build --build-mode=singleFile, and it will compile one file at a time. It'll be slow but slow is better than OOM.i run "dub build" on it. but OOM kill the compiler. - is there a way to reduce memory consumtion of the compiler? or maybe third party tool? alternative to dub?Assuming you are using DMD, there is -lowmem switch to enable garbage collection (it is off by default for faster builds) open dub.json, add dflags array with -lowmem, something like this line: "dflags": [ "-lowmem" ],
Feb 16 2021
On Tuesday, 16 February 2021 at 17:15:25 UTC, Anonymouse wrote:You can also use dub build --build-mode=singleFile, and it will compile one file at a time. It'll be slow but slow is better than OOM.singleFile is for single-file packages [1]. The option you're thinking of is --build-mode=separate. [1] https://dub.pm/advanced_usage.html#single-file
Feb 16 2021
On Tuesday, 16 February 2021 at 17:26:06 UTC, Paul Backus wrote:On Tuesday, 16 February 2021 at 17:15:25 UTC, Anonymouse wrote:No, I do mean singleFile. $ dub build --build-mode=singleFile --force Performing "debug" build using /usr/local/bin/ldc2 for x86_64. arsd-official:characterencodings 9.1.2: building configuration "library"... Compiling ../../.dub/packages/arsd-official-9.1.2/arsd-official/characterencodings.d... Linking... arsd-official:dom 9.1.2: building configuration "library"... Compiling ../../.dub/packages/arsd-official-9.1.2/arsd-official/dom.d... Linking... lu 1.1.2: building configuration "library"... Compiling ../../.dub/packages/lu-1.1.2/lu/source/lu/common.d... Compiling ../../.dub/packages/lu-1.1.2/lu/source/lu/container.d... Compiling ../../.dub/packages/lu-1.1.2/lu/source/lu/conv.d... Compiling ../../.dub/packages/lu-1.1.2/lu/source/lu/deltastrings.d... Compiling ../../.dub/packages/lu-1.1.2/lu/source/lu/json.d... Compiling ../../.dub/packages/lu-1.1.2/lu/source/lu/meld.d... Compiling ../../.dub/packages/lu-1.1.2/lu/source/lu/numeric.d... Compiling ../../.dub/packages/lu-1.1.2/lu/source/lu/objmanip.d... Compiling ../../.dub/packages/lu-1.1.2/lu/source/lu/package.d... Compiling ../../.dub/packages/lu-1.1.2/lu/source/lu/semver.d... Compiling ../../.dub/packages/lu-1.1.2/lu/source/lu/serialisation.d... Compiling ../../.dub/packages/lu-1.1.2/lu/source/lu/string.d... Compiling ../../.dub/packages/lu-1.1.2/lu/source/lu/traits.d... Compiling ../../.dub/packages/lu-1.1.2/lu/source/lu/typecons.d... Compiling ../../.dub/packages/lu-1.1.2/lu/source/lu/uda.d... Linking... dialect 1.1.1: building configuration "library"... Compiling ../../.dub/packages/dialect-1.1.1/dialect/source/dialect/common.d... Compiling ../../.dub/packages/dialect-1.1.1/dialect/source/dialect/defs.d... Compiling ../../.dub/packages/dialect-1.1.1/dialect/source/dialect/package.d... Compiling ../../.dub/packages/dialect-1.1.1/dialect/source/dialect/parsing.d... Compiling ../../.dub/packages/dialect-1.1.1/dialect/source/dialect/postprocessors/package.d... Compiling ../../.dub/packages/dialect-1.1.1/dialect/source/dialect/postprocessors/twitch.d... Compiling ../../.dub/packages/dialect-1.1.1/dialect/source/dialect/semver.d... Linking... cachetools 0.3.1: building configuration "library"... Compiling ../../.dub/packages/cachetools-0.3.1/cachetools/source/cachetools/cache.d... Compiling ../../.dub/packages/cachetools-0.3.1/cachetools/source/cachetools/cache2q.d... Compiling ../../.dub/packages/cachetools-0.3.1/cachetools/source/cachetools/cachelru.d... Compiling ../../.dub/packages/cachetools-0.3.1/cachetools/source/cachetools/containers/hashmap.d... ^CYou can also use dub build --build-mode=singleFile, and it will compile one file at a time. It'll be slow but slow is better than OOM.singleFile is for single-file packages [1]. The option you're thinking of is --build-mode=separate. [1] https://dub.pm/advanced_usage.html#single-file
Feb 16 2021
On Tuesday, 16 February 2021 at 17:49:42 UTC, Anonymouse wrote:On Tuesday, 16 February 2021 at 17:26:06 UTC, Paul Backus wrote:I stand corrected. Shouldn't have trusted the documentation so much, I guess.On Tuesday, 16 February 2021 at 17:15:25 UTC, Anonymouse wrote:No, I do mean singleFile. $ dub build --build-mode=singleFile --force [...]You can also use dub build --build-mode=singleFile, and it will compile one file at a time. It'll be slow but slow is better than OOM.singleFile is for single-file packages [1]. The option you're thinking of is --build-mode=separate. [1] https://dub.pm/advanced_usage.html#single-file
Feb 16 2021
On Tuesday, 16 February 2021 at 18:54:08 UTC, Paul Backus wrote:I stand corrected. Shouldn't have trusted the documentation so much, I guess.It makes perfect sense to intuit that --single should be related to --build-mode=singleFile. As it is the build modes aren't explained in the documentation at all[1], so there's no way of knowing, short of running it to see what happens. Not ideal, perhaps.--build-mode=<value> Specifies the way the compiler and linker are invoked. Valid values: separate (default), allAtOnce, singleFile(Nothing about what they do.) [1]: https://dub.pm/commandline
Feb 17 2021