www.digitalmars.com         C & C++   DMDScript  

D - -o doesn't work properly

reply "Matthew Wilson" <dmd synesis.com.au> writes:
I've just upgraded from v0.62 to the latest, in the hope that -o would have
been extended. What I was after was a way to specify the output filename of
a compile-only, in other words rather than dmd BLAH.D always producing
BLAH.OBJ I wanted it to produce BLAH.DBJ. That way I could keep debug and
release object files in the same directories, which meant that I could take
advantage of suffix rules in my makefile, which meant a lot less timing (and
a simpler makefile generator script).

When I typed dmd on the new version I was very excited to see

"  -oobjdir       write object files to directory objdir
  -o filename    name output file
"

so typed dmd BLAH.D -o BLAH.DBJ (<= note the space between -o and BLAH.DBJ)

only to be told that it could not create BLAH.DBJ\BLAH.OBJ.

Bah!

Any chance of this being fixed to work in the way I had intended? (Or have I
missed something important ... ?)

Matthew
Jun 27 2003
next sibling parent reply "Walter" <walter digitalmars.com> writes:
Why not just skip the space and write -oblah.dbj?

"Matthew Wilson" <dmd synesis.com.au> wrote in message
news:bdjagq$3p$1 digitaldaemon.com...
 I've just upgraded from v0.62 to the latest, in the hope that -o would

 been extended. What I was after was a way to specify the output filename

 a compile-only, in other words rather than dmd BLAH.D always producing
 BLAH.OBJ I wanted it to produce BLAH.DBJ. That way I could keep debug and
 release object files in the same directories, which meant that I could

 advantage of suffix rules in my makefile, which meant a lot less timing

 a simpler makefile generator script).

 When I typed dmd on the new version I was very excited to see

 "  -oobjdir       write object files to directory objdir
   -o filename    name output file
 "

 so typed dmd BLAH.D -o BLAH.DBJ (<= note the space between -o and

 only to be told that it could not create BLAH.DBJ\BLAH.OBJ.

 Bah!

 Any chance of this being fixed to work in the way I had intended? (Or have

 missed something important ... ?)

 Matthew

Jun 30 2003
next sibling parent "Matthew Wilson" <matthew stlsoft.org> writes:
I think I tried that, and it failed. I'll have to check again.

"Walter" <walter digitalmars.com> wrote in message
news:bdqimr$1dq7$1 digitaldaemon.com...
 Why not just skip the space and write -oblah.dbj?

 "Matthew Wilson" <dmd synesis.com.au> wrote in message
 news:bdjagq$3p$1 digitaldaemon.com...
 I've just upgraded from v0.62 to the latest, in the hope that -o would

 been extended. What I was after was a way to specify the output filename

 a compile-only, in other words rather than dmd BLAH.D always producing
 BLAH.OBJ I wanted it to produce BLAH.DBJ. That way I could keep debug


 release object files in the same directories, which meant that I could

 advantage of suffix rules in my makefile, which meant a lot less timing

 a simpler makefile generator script).

 When I typed dmd on the new version I was very excited to see

 "  -oobjdir       write object files to directory objdir
   -o filename    name output file
 "

 so typed dmd BLAH.D -o BLAH.DBJ (<= note the space between -o and

 only to be told that it could not create BLAH.DBJ\BLAH.OBJ.

 Bah!

 Any chance of this being fixed to work in the way I had intended? (Or


 I
 missed something important ... ?)

 Matthew


Jul 08 2003
prev sibling parent reply "Matthew Wilson" <matthew stlsoft.org> writes:
Doesn't work. Consider the following

# Without space

H:\SynSoft\D\synsoft\text>dmd -c -otoken.dbj token.d
Error: Error writing file 'token.dbj\token.obj'

# With space
H:\SynSoft\D\synsoft\text>dmd -c -o token.dbj token.d
Error: Error writing file 'token.dbj\token.obj'

Both with DMD v0.67

"Walter" <walter digitalmars.com> wrote in message
news:bdqimr$1dq7$1 digitaldaemon.com...
 Why not just skip the space and write -oblah.dbj?

 "Matthew Wilson" <dmd synesis.com.au> wrote in message
 news:bdjagq$3p$1 digitaldaemon.com...
 I've just upgraded from v0.62 to the latest, in the hope that -o would

 been extended. What I was after was a way to specify the output filename

 a compile-only, in other words rather than dmd BLAH.D always producing
 BLAH.OBJ I wanted it to produce BLAH.DBJ. That way I could keep debug


 release object files in the same directories, which meant that I could

 advantage of suffix rules in my makefile, which meant a lot less timing

 a simpler makefile generator script).

 When I typed dmd on the new version I was very excited to see

 "  -oobjdir       write object files to directory objdir
   -o filename    name output file
 "

 so typed dmd BLAH.D -o BLAH.DBJ (<= note the space between -o and

 only to be told that it could not create BLAH.DBJ\BLAH.OBJ.

 Bah!

 Any chance of this being fixed to work in the way I had intended? (Or


 I
 missed something important ... ?)

 Matthew


Jul 08 2003
parent "Matthew Wilson" <matthew stlsoft.org> writes:
And, before anyone mentions it:

H:\SynSoft\D\synsoft\text>dmd -c token.d -otoken.dbj
Error: Error writing file 'token.dbj\token.obj'


H:\SynSoft\D\synsoft\text>dmd -c token.d -o token.dbj
Error: Error writing file 'token.dbj\token.obj'

"Matthew Wilson" <matthew stlsoft.org> wrote in message
news:beg0vr$1b8m$1 digitaldaemon.com...
 Doesn't work. Consider the following

 # Without space

 H:\SynSoft\D\synsoft\text>dmd -c -otoken.dbj token.d
 Error: Error writing file 'token.dbj\token.obj'

 # With space
 H:\SynSoft\D\synsoft\text>dmd -c -o token.dbj token.d
 Error: Error writing file 'token.dbj\token.obj'

 Both with DMD v0.67

 "Walter" <walter digitalmars.com> wrote in message
 news:bdqimr$1dq7$1 digitaldaemon.com...
 Why not just skip the space and write -oblah.dbj?

 "Matthew Wilson" <dmd synesis.com.au> wrote in message
 news:bdjagq$3p$1 digitaldaemon.com...
 I've just upgraded from v0.62 to the latest, in the hope that -o would

 been extended. What I was after was a way to specify the output



 of
 a compile-only, in other words rather than dmd BLAH.D always producing
 BLAH.OBJ I wanted it to produce BLAH.DBJ. That way I could keep debug


 release object files in the same directories, which meant that I could

 advantage of suffix rules in my makefile, which meant a lot less



 (and
 a simpler makefile generator script).

 When I typed dmd on the new version I was very excited to see

 "  -oobjdir       write object files to directory objdir
   -o filename    name output file
 "

 so typed dmd BLAH.D -o BLAH.DBJ (<= note the space between -o and

 only to be told that it could not create BLAH.DBJ\BLAH.OBJ.

 Bah!

 Any chance of this being fixed to work in the way I had intended? (Or


 I
 missed something important ... ?)

 Matthew



Jul 08 2003
prev sibling parent reply Burton Radons <loth users.sourceforge.net> writes:
This is a bug in mars.c at line 334, which discriminates between the 
types of -o by checking the file extension.  If it matches .obj, it's 
considered an object file, otherwise it's considered an object directory.
Jul 08 2003
parent reply "Matthew Wilson" <matthew stlsoft.org> writes:
Excellent.

I guess a fix is just around the corner. Shall we say 0.68? :)

"Burton Radons" <loth users.sourceforge.net> wrote in message
news:beg1hq$1bnb$1 digitaldaemon.com...
 This is a bug in mars.c at line 334, which discriminates between the
 types of -o by checking the file extension.  If it matches .obj, it's
 considered an object file, otherwise it's considered an object directory.

Jul 08 2003
parent "Walter" <walter digitalmars.com> writes:
I'm addressing this in 0.69. -Walter

"Matthew Wilson" <matthew stlsoft.org> wrote in message
news:beg1o6$1bvl$1 digitaldaemon.com...
 Excellent.

 I guess a fix is just around the corner. Shall we say 0.68? :)

 "Burton Radons" <loth users.sourceforge.net> wrote in message
 news:beg1hq$1bnb$1 digitaldaemon.com...
 This is a bug in mars.c at line 334, which discriminates between the
 types of -o by checking the file extension.  If it matches .obj, it's
 considered an object file, otherwise it's considered an object




Aug 04 2003