Commit graph

30 commits

Author SHA1 Message Date
Vladimir Panteleev
a9aba0067c Fix Issue 16978 - [REG2.072.0] pragma(lib) is broken with rdmd
The actual fix was done by the revert. This simply adds a test.
2016-12-17 16:00:40 +00:00
Vladimir Panteleev
2ec57f8e51 Filter out -lib with -o-, to avoid creating an empty library file 2016-12-17 16:00:40 +00:00
Vladimir Panteleev
b6ec807712 Fix Issue 16962 - rdmd --build-only --force -c main.d fails: ./main: No such file or directory
The actual fix was done by the revert. This simply adds a test.
2016-12-17 16:00:40 +00:00
Vladimir Panteleev
e245e29d8b Fix Issue 14296 - RDMD fails at building a lib when the source is in a subdir 2016-12-17 16:00:40 +00:00
Vladimir Panteleev
ea3c967c72 rdmd_test: Refactor out a temporary directory helper 2016-12-17 16:00:39 +00:00
Vladimir Panteleev
ab36aa5bda rdmd: Add --include switch 2016-04-23 13:23:13 +00:00
Vladimir Panteleev
cf6139e61a rdmd: Use -d with --loop/--eval to silence std.stream warnings
Fixes issue 15175
2015-10-07 13:08:12 +00:00
Vladimir Panteleev
df8e39d834 rdmd: Add --tmpdir switch as per man page
Fixes issue 15174
2015-10-07 12:32:20 +00:00
Vladimir Panteleev
47faba29cb fix Issue 15031 - rdmd should force rebuild when --compiler changes 2015-09-11 14:51:46 +00:00
Dmitry Olshansky
55e5dc6312 Merge pull request #167 from CyberShadow/pull-20150501-053027-13758
fix Issue 13758 - RDMD renames directory if -ofNAME is the name of a dir...
2015-06-16 00:09:17 +03:00
Vladimir Panteleev
7b655a13ce fix Issue 13758 - RDMD renames directory if -ofNAME is the name of a directory 2015-05-01 05:39:45 +00:00
Vladimir Panteleev
3ff5be6ee5 fix Issue 14259 - rdmd: --build-only / -of / -od incompatible with --dry-run 2015-03-08 06:21:03 +00:00
Leandro Lucarella
28ca19d713 rdmd: Add --extra-file option
This option includes an extra source or object in the compilation. It is
particularly useful if you need to add an extra object (compiled by
another language maybe) or an extra source (maybe because a .di was
provided) when compiling the program (multiple --extra-file are
allowed).
2014-11-10 12:53:13 +01:00
Leandro Lucarella
ace326fa09 rdmd: Fix error generating Make dependencies file
The dependencies file had an extra empty line after the root file
dependency, which ended up in a Make fatal error.
2014-11-07 11:58:18 +01:00
Leandro Lucarella
6042500717 rdmd: Improve Make dependencies format
Now lines are only terminated by '\' if another line comes next. Also the
code that generates the dependencies file was made more readable.
2014-11-07 11:58:18 +01:00
H. S. Teoh
79d122a59f Merge pull request #143 from NilsBossung/dmdflags-eval
rdmd <dmd flags> --eval
2014-09-09 10:04:12 -07:00
Vladimir Panteleev
ad7b461ce9 rdmd: Don't recompile the program if only current directory changes
Use the absolute path to the root .d file instead.

It is certainly possible that the build result will depend on
the current directory. For example, if the root file imports
other modules, these will be sought in the current directory
first. However, this is an unlikely use case, and can be
simulated using e.g. --force or -I%CD%.

On the other hand, having your script be rebuilt every time
it is run from a different directory is an unnecessary waste
of time and disk space.
2014-09-08 13:32:45 +00:00
Nils Boßung
65a4f15c29 rdmd <dmd flags> --eval 2014-08-20 01:00:36 +02:00
Andrej Mitrovic
ee95aacc28 Fix RDMD Test-suite on Windows. 2014-04-26 17:25:23 +02:00
Leandro Lucarella
07553e1917 rdmd: Improve --makedep(end|file) output format
The current format is not very human friendly and also makes doing
simple checks for testing quite hard. The new format is based on GCC's
format, and it looks like this:

target: \
 source1.d \
 source2.d \

source1.d:

source2.d:
2014-03-19 19:43:20 +01:00
Leandro Lucarella
314d92e192 Fix issue 12354: rdmd --makedep(end|file) doesn't output empty rules for all source files
Now rdmd --makedep(end|file) will print an empty rule for each source
file.
2014-03-19 19:43:20 +01:00
Leandro Lucarella
12e73a2537 Fix issue 12351: rdmd --makedep(end|file) uses the source file as the target
Having the source file as the target for the dependencies on a Makefile
is useless, as there is no rule to rebuild the source file, Make can't
use that information at all.

To a have a meaningful target name, now --makedep* options require -of
to be present too.
2014-03-19 19:43:13 +01:00
Leandro Lucarella
df77eb6feb rdmd: Add --makedepfile option
The idea behind this option is to provide something similar to GCC's -MF
option, which generate a dependency file at the same time it compiles
the program. This is very useful to keep a Makefile with the
dependencies always updated:

-include .deps.mak

prog:
	rdmd --build-only --makedepfile=.deps.mak prog.d

On the first build .deps.mak will be created and afterwards, the only
way the dependencies could change is if prog.d or any of its
dependencies change, in which case a build will be triggered and the new
dependencies file will be generated.
2014-02-25 15:55:39 +01:00
Leandro Lucarella
e05814e2fc rdmd: Improve --makedepend test a bit 2014-02-25 15:55:38 +01:00
Andrej Mitrovic
99d3901701 Add test-case for Issue 12149 - RDMD -of switch doesn't append .exe to an executable on Windows. 2014-02-13 16:19:02 +01:00
Vladimir Panteleev
524a76ecc5 rdmd_test: Add test for issue 11983 2014-02-02 18:57:56 +00:00
Vladimir Panteleev
1f39ed7b6e rdmd: Use a lock file to synchronize concurrent builds in the same workDir 2013-12-28 20:41:51 +00:00
Vladimir Panteleev
556874ab69 rdmd_test: Add --concurrency flag to perform a concurrent stress test 2013-12-28 18:41:44 +00:00
Vladimir Panteleev
803e147631 rdmd_test: Do away with the last executeShell. 2013-12-26 19:51:30 +00:00
Andrej Mitrovic
bf51164d09 Add the RDMD test-suite. 2013-11-21 12:35:46 +01:00