[Issue 1166] DMD doesn't support UTF encoded response files

2019-07-13 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=1166

RazvanN  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||razvan.nitu1...@gmail.com
 Resolution|--- |FIXED

--- Comment #3 from RazvanN  ---
Compiling the code in the .rsp file now yields:

onlineapp.d: Error: module `onlineapp` source file must start with BOM or ASCII
character, not \xC2

Closing as fixed.

--


[Issue 4928] New: [patch] RDMD mistakes object, library and response files for the program file.

2010-09-23 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4928

   Summary: [patch] RDMD mistakes object, library and response
files for the program file.
   Product: D
   Version: D1  D2
  Platform: Other
OS/Version: Windows
Status: NEW
  Severity: normal
  Priority: P2
 Component: Phobos
AssignedTo: nob...@puremagic.com
ReportedBy: cbkbbej...@mailinator.com


--- Comment #0 from Nick Sabalausky cbkbbej...@mailinator.com 2010-09-23 
18:29:20 PDT ---
Created an attachment (id=768)
Patch against rdmd r1400

 rdmd extraStuff.obj main.d

Expected:
chdir .  dmd extraStuff.obj -v -o- main.d main.d.deps

Actual:
chdir .  dmd  -v -o- extraStuff.obj.d extraStuff.obj.d.deps

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 4928] [patch] RDMD mistakes object, library and response files for the program file.

2010-09-23 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4928



--- Comment #2 from Nick Sabalausky cbkbbej...@mailinator.com 2010-09-23 
18:33:13 PDT ---
Ditto for .def files.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 4928] [patch] RDMD mistakes object, library and response files for the program file.

2010-09-23 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4928



--- Comment #1 from Nick Sabalausky cbkbbej...@mailinator.com 2010-09-23 
18:31:31 PDT ---
Note that problem also occurs if extraStuff.obj is a .o, .lib, .a, or
@extraStuff.txt. The patch fixes all of these cases.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


Re: Build systems with D support [was: Response files]

2009-03-24 Thread Nick Sabalausky
Leandro Lucarella llu...@gmail.com wrote in message 
news:20090323192000.ga23...@burns.springfield.home...
 Leandro Lucarella, el 23 de marzo a las 13:31 me escribiste:
 And guess what? It even support D =)
 http://waf.googlecode.com/svn/trunk/demos/d/

 It looks like AAP support D too =)
 http://www.a-a-p.org/exec/ref-modules.html#id2686506

 It's nice new build system support D. It seems that the lack-of-tools
 situation is finally getting better =)


FWIW, AAP has had D support for a long time. 




Re: Response files

2009-03-24 Thread Jérôme M. Berger
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Walter Bright wrote:
 Georg Wrede wrote:
 half jokingly
 Young people tend to always choose the absolutely best, while older
 people value stability and longevity of tools.

 So, yesterday the best was SCons, today it's AAP, what's it gonna be
 tomorrow? Old people prefer something like make, that's been around
 for some time, and which will still be around in the future.
 /
 
 Yeah, I'm old. I still don't use an IDE g.

Neither do I. But then, neither SCons, nor AAP, nor waf, nor cmake
are IDEs gg/.

Jerome
- --
mailto:jeber...@free.fr
http://jeberger.free.fr
Jabber: jeber...@jabber.fr
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAknJODAACgkQd0kWM4JG3k9QPACeJtdkO9koz9bhYVm0DfiYZC0w
2cAAn3LGWDl2ytNm2MB5O9k08FfzI/Vz
=oyLR
-END PGP SIGNATURE-


Re: Response files

2009-03-23 Thread Leandro Lucarella
Georg Wrede, el 22 de marzo a las 17:51 me escribiste:
 So, yesterday the best was SCons, today it's AAP, what's it gonna be 
 tomorrow? 

Waf[1]?

No, really, I just discover it today =)

What I always hated from scons (and the reason I stopped using it) is it
was *sloow* (I don't know if it improved).

So today, because of this discussion, I hit this page with some benchmarks
about build systems:
http://psycle.svn.sourceforge.net/viewvc/psycle/branches/bohan/wonderbuild/benchmarks/time.xml

Waf seems to be a good candidate, this are the main features:

- Easy to use: Waf configuration files are written in the mainstream
  scripting language Python
- Easy to install and to distribute: Waf fits entirely in a single 75KB
  redistributable file which does not require any installation to run
- Portable: Waf only depends on Python which is ported onto most operating
  systems
- Reliable: Waf uses hash-based dependency calculation dependencies to
  compute the targets to rebuild
- User-friendly: The output can be displayed in colors, filtered,
  displayed with progress bars or output all the commands that get
  executed
- Documented: The Waf book sums up the essential concepts
- Flexible: Because Waf has a carefully designed object oriented
  architecture it is very easy to add new features
- Fast: Because of its carefully designed architecture, Waf is able to
  distribute the jobs on multi-core hardware (-j), it is able to reuse
  targets compiled already (ccache), and its runtime footprint is pretty
  small compared to other build tools
- Broad support for languages and tools: Waf is already used for C, C++,
  C#, D, java, ocaml, python project, and provides various tools for
  processing docbook, man pages, intltool, msgfmt

The only feature I don't appreciate much (as of scons) is that build files
are written in Python (even when I lve Python, I don't think it's the
best choice for build files).

And guess what? It even support D =)
http://waf.googlecode.com/svn/trunk/demos/d/

[1] http://code.google.com/p/waf/

-- 
Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/

GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)



Re: Response files

2009-03-23 Thread Andrei Alexandrescu

Leandro Lucarella wrote:

Walter Bright, el 21 de marzo a las 20:07 me escribiste:

Andrei Alexandrescu wrote:

.o on Linux, .obj on Windows.

OBJSUFFIX_win32 = .obj
OBJSUFFIX_linux = .o
...
OS = linux
...
... file$(OBJSUFFIX_$(OS)) ...

I hadn't thought of using macros to generate macros. It's a good idea.


I think it's easier and cleaner to use conditionals:

OS = linux

ifeq ($(OS),linux)
OBJSUFFIX = .o
else ifeq ($(OS),win32)
OBJSUFFIX = .obj
endif

... file$(OBJSUFFIX) ...


Yah, yet it turns out it's easier and cleaner the other way around when 
you generate entries with define and eval:



define GENERATE
# $1 is OS, $2 is the build
...
endef

$(eval $(foreach B,debug release, $(foreach S,posix win32, $(call
GENERATE,$S,$B

This way in one shot you generate debug and release versions for win32 
and posix. (Note that I compile for win32 on linux thwough wine).



Andrei


Build systems with D support [was: Response files]

2009-03-23 Thread Leandro Lucarella
Leandro Lucarella, el 23 de marzo a las 13:31 me escribiste:
 And guess what? It even support D =)
 http://waf.googlecode.com/svn/trunk/demos/d/

It looks like AAP support D too =)
http://www.a-a-p.org/exec/ref-modules.html#id2686506

It's nice new build system support D. It seems that the lack-of-tools
situation is finally getting better =)

It should be nice to have a listing of tools that work well with D in the
official website.

-- 
Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/

GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)



Re: Build systems with D support [was: Response files]

2009-03-23 Thread Walter Bright

Leandro Lucarella wrote:

Leandro Lucarella, el 23 de marzo a las 13:31 me escribiste:

And guess what? It even support D =)
http://waf.googlecode.com/svn/trunk/demos/d/


It looks like AAP support D too =)
http://www.a-a-p.org/exec/ref-modules.html#id2686506

It's nice new build system support D. It seems that the lack-of-tools
situation is finally getting better =)


Cool!



It should be nice to have a listing of tools that work well with D in the
official website.



This kind of thing is better done through the D wiki, as experience 
shows that such things in the D pages get rapidly out of date, and 
people have to wait for me to fix them.


Re: Build systems with D support [was: Response files]

2009-03-23 Thread Jarrett Billingsley
On Mon, Mar 23, 2009 at 6:15 PM, Walter Bright
newshou...@digitalmars.com wrote:
 Leandro Lucarella wrote:

 Leandro Lucarella, el 23 de marzo a las 13:31 me escribiste:

 And guess what? It even support D =)
 http://waf.googlecode.com/svn/trunk/demos/d/

 It looks like AAP support D too =)
 http://www.a-a-p.org/exec/ref-modules.html#id2686506

 It's nice new build system support D. It seems that the lack-of-tools
 situation is finally getting better =)

 Cool!


 It should be nice to have a listing of tools that work well with D in the
 official website.


 This kind of thing is better done through the D wiki, as experience shows
 that such things in the D pages get rapidly out of date, and people have to
 wait for me to fix them.

For what it's worth, most of the D wiki is incredibly out-of-date too.
 I just don't think there's enough manpower to go around to maintain
it.


Re: Response files

2009-03-23 Thread Georg Wrede

Leandro Lucarella wrote:

Georg Wrede escribiste:
So, yesterday the best was SCons, today it's AAP, what's it gonna be tomorrow? 


Waf[1]?

...

And guess what? It even support D =)


Oh, ok. And the day after tomorrow?

(Sorry, couldn't resist. :-) )


Re: Build systems with D support [was: Response files]

2009-03-23 Thread Walter Bright

Jarrett Billingsley wrote:

For what it's worth, most of the D wiki is incredibly out-of-date too.
 I just don't think there's enough manpower to go around to maintain
it.


Anyone can update it!


Re: Build systems with D support [was: Response files]

2009-03-23 Thread Jarrett Billingsley
On Mon, Mar 23, 2009 at 6:53 PM, Walter Bright
newshou...@digitalmars.com wrote:
 Jarrett Billingsley wrote:

 For what it's worth, most of the D wiki is incredibly out-of-date too.
  I just don't think there's enough manpower to go around to maintain
 it.

 Anyone can update it!

You noticed my comment about not enough manpower, I hope!


Re: Build systems with D support [was: Response files]

2009-03-23 Thread Walter Bright

Jarrett Billingsley wrote:

On Mon, Mar 23, 2009 at 6:53 PM, Walter Bright
newshou...@digitalmars.com wrote:

Jarrett Billingsley wrote:

For what it's worth, most of the D wiki is incredibly out-of-date too.
 I just don't think there's enough manpower to go around to maintain
it.

Anyone can update it!


You noticed my comment about not enough manpower, I hope!


Sure, but it's amazing what a single person can do if they just keep 
picking at something that interests them.


Re: Response files

2009-03-22 Thread Jérôme M. Berger
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Walter Bright wrote:
 Georg Wrede wrote:
 'Round here we say maassa maan tavalla, which is probably something
 like When in Rome, do like the Romans do.

 Makefiles aren't just a C(++) thing. Unix has a culture of its own,
 Windows (I wouldn't say have a culture, but still) does it another
 way. So do we import the Unix way to Windows or the other way around?
 I'd go with the Romans in Rome.

 If there were a vote (outside of this NG!!) with D users, probably
 there are more folks who write in D /and/ in C or another language /on
 their own/ OS, than folks who write D apps (big enough to need
 makefiles) for both Windows and Linux.
 
 
 There is no standard for makefiles, I've run across dozens of different
 make programs that use different syntax and have different extensions.
 So, if you're going to have the same makefile across systems, you have
 to start with finding a make program that is fairly identical across
 those systems.
 
 Then you have the \ vs / problems. Some people assure me that Windows
 now works flawlessly with /, but that simply isn't so. I keep running
 into odd cases where it doesn't, so I don't use / on Windows.
 
 File name case sensitivity differs.
 
 The command line utilities called by makefiles differ in their names,
 switches, and how they work.
 
 .o on Linux, .obj on Windows.
 
 nothing on Linux, .exe on Windows.
 
 .a on Linux, .lib on Windows.
 
 It just goes on and on. You could try and parameterize all of it, but
 then the makefile becomes an inscrutable mess. You could have scripts
 generate makefiles, embed scripts in the makefiles, etc., but is this
 really worthwhile? It's just a makefile. I spend almost zero time on
 them. I like them simple even if that means they're more verbose.

Or use a build system that abstracts all the differences for you. I
use SCons all the time to write software that works on both Linux
and Windows and I have none of the problems you describe:
 - SCons is released for both Linux and Windows (and MacOS) and is
the same on all platforms;
 - All my file names are in lower case, ever (this has nothing to do
with the make tool btw);
 - SCons uses '/' as the path delimiter everywhere and translates
them appropriately;
 - In SCons, you only specify the core file name and SCons adds the
required prefix and suffix (eg object = object.o/object.obj,
program = program/program.exe, library = liblibrary.a/library.lib);
 - Plus SCons is able to do parallel compilations which make isn't
really (the '-j' option is broken on all the make implementations I
know).

All the complexity and the parametrization is handled internally by
SCons so the makefiles are both simple *and* terse ;)

Jerome

PS: Though I've never used it, cmake is supposed to offer most of
the same benefits as SCons.

- --
mailto:jeber...@free.fr
http://jeberger.free.fr
Jabber: jeber...@jabber.fr
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAknF6lgACgkQd0kWM4JG3k9KfQCdGc1BQJiuWPimuX13fz4dC8sT
kTkAnjE58mPisayr+EgE9FDWhFvPFD2f
=uP45
-END PGP SIGNATURE-


Re: Response files

2009-03-22 Thread Nick Sabalausky
Jérôme M. Berger jeber...@free.fr wrote in message 
news:gq4pop$154...@digitalmars.com...
 Walter Bright wrote:
 Georg Wrede wrote:
 'Round here we say maassa maan tavalla, which is probably something
 like When in Rome, do like the Romans do.

 Makefiles aren't just a C(++) thing. Unix has a culture of its own,
 Windows (I wouldn't say have a culture, but still) does it another
 way. So do we import the Unix way to Windows or the other way around?
 I'd go with the Romans in Rome.

 If there were a vote (outside of this NG!!) with D users, probably
 there are more folks who write in D /and/ in C or another language /on
 their own/ OS, than folks who write D apps (big enough to need
 makefiles) for both Windows and Linux.


 There is no standard for makefiles, I've run across dozens of different
 make programs that use different syntax and have different extensions.
 So, if you're going to have the same makefile across systems, you have
 to start with finding a make program that is fairly identical across
 those systems.

 Then you have the \ vs / problems. Some people assure me that Windows
 now works flawlessly with /, but that simply isn't so. I keep running
 into odd cases where it doesn't, so I don't use / on Windows.

 File name case sensitivity differs.

 The command line utilities called by makefiles differ in their names,
 switches, and how they work.

 .o on Linux, .obj on Windows.

 nothing on Linux, .exe on Windows.

 .a on Linux, .lib on Windows.

 It just goes on and on. You could try and parameterize all of it, but
 then the makefile becomes an inscrutable mess. You could have scripts
 generate makefiles, embed scripts in the makefiles, etc., but is this
 really worthwhile? It's just a makefile. I spend almost zero time on
 them. I like them simple even if that means they're more verbose.

 Or use a build system that abstracts all the differences for you. I
 use SCons all the time to write software that works on both Linux
 and Windows and I have none of the problems you describe:
 - SCons is released for both Linux and Windows (and MacOS) and is
 the same on all platforms;
 - All my file names are in lower case, ever (this has nothing to do
 with the make tool btw);
 - SCons uses '/' as the path delimiter everywhere and translates
 them appropriately;
 - In SCons, you only specify the core file name and SCons adds the
 required prefix and suffix (eg object = object.o/object.obj,
 program = program/program.exe, library = liblibrary.a/library.lib);
 - Plus SCons is able to do parallel compilations which make isn't
 really (the '-j' option is broken on all the make implementations I
 know).

 All the complexity and the parametrization is handled internally by
 SCons so the makefiles are both simple *and* terse ;)


Yea, I was going to mention that, too. As far as I'm concerned *make is 
the same sort of undead unholy relic as C++. Ie, They've served their use, 
but these days they're terrible anachronisms that just need to be allowed to 
finally die. SCons absolutely *kills* make, and last I looked, AAP was even 
better than SCons (IMO). Not to get into an AAP vs SCons debate or anything, 
but my point is, with all the stuff out there that's so much better than 
*make, there's really not much reason beyond pure inertia and ignorance of 
the alternatives to keep holding onto it. 




Re: Response files

2009-03-22 Thread Jérôme M. Berger
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Nick Sabalausky wrote:
 Yea, I was going to mention that, too. As far as I'm concerned *make is 
 the same sort of undead unholy relic as C++. Ie, They've served their use, 
 but these days they're terrible anachronisms that just need to be allowed to 
 finally die. SCons absolutely *kills* make, and last I looked, AAP was even 
 better than SCons (IMO). Not to get into an AAP vs SCons debate or anything, 
 but my point is, with all the stuff out there that's so much better than 
 *make, there's really not much reason beyond pure inertia and ignorance of 
 the alternatives to keep holding onto it. 
 
I don't know AAP. Do you have a link? A quick look on google and
freshmeat didn't return anything useful...

Jerome
- --
mailto:jeber...@free.fr
http://jeberger.free.fr
Jabber: jeber...@jabber.fr
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAknGFo8ACgkQd0kWM4JG3k/C3gCePrhQnhCudgr2x69/esmR58bM
HngAmwbscbfRd7cIrJpb94BTCVeQWWCf
=gj5+
-END PGP SIGNATURE-


Re: Response files

2009-03-22 Thread Georg Wrede

Andrei Alexandrescu wrote:

Walter Bright wrote:

Andrei Alexandrescu wrote:

.o on Linux, .obj on Windows.


OBJSUFFIX_win32 = .obj
OBJSUFFIX_linux = .o
...
OS = linux
...
... file$(OBJSUFFIX_$(OS)) ...


This is so totally neat!


I hadn't thought of using macros to generate macros. It's a good idea.


I confess I also hadn't until the third iteration of the Phobos makefile.


Yeah. In hindsight, any moron could claim this is trivial and obvious. 
But alas, it takes a thousand morons a thousand years to come up with 
things like this. D is blessed with several very gifted people, and we 
already run circles around C++. I can't even begin to imagine what D4 
willl look like!! :-)





Re: Response files

2009-03-22 Thread Georg Wrede

Jérôme M. Berger wrote:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Nick Sabalausky wrote:
Yea, I was going to mention that, too. As far as I'm concerned *make is 
the same sort of undead unholy relic as C++. Ie, They've served their use, 
but these days they're terrible anachronisms that just need to be allowed to 
finally die. SCons absolutely *kills* make, and last I looked, AAP was even 
better than SCons (IMO). Not to get into an AAP vs SCons debate or anything, 
but my point is, with all the stuff out there that's so much better than 
*make, there's really not much reason beyond pure inertia and ignorance of 
the alternatives to keep holding onto it. 


I don't know AAP. Do you have a link? A quick look on google and
freshmeat didn't return anything useful...


http://www.a-a-p.org/


Re: Response files

2009-03-22 Thread Nick Sabalausky
Georg Wrede georg.wr...@iki.fi wrote in message 
news:gq5mp9$2ht...@digitalmars.com...
 Nick Sabalausky wrote:
 Jérôme M. Berger jeber...@free.fr wrote:
 Or use a build system that abstracts all the differences for you. I
 use SCons all the time to write software that works on both Linux
 and Windows and I have none of the problems you describe:
 - SCons is released for both Linux and Windows (and MacOS) and is
 the same on all platforms;
 - All my file names are in lower case, ever (this has nothing to do
 with the make tool btw);
 - SCons uses '/' as the path delimiter everywhere and translates
 them appropriately;
 - In SCons, you only specify the core file name and SCons adds the
 required prefix and suffix (eg object = object.o/object.obj,
 program = program/program.exe, library = liblibrary.a/library.lib);
 - Plus SCons is able to do parallel compilations which make isn't
 really (the '-j' option is broken on all the make implementations I
 know).

 All the complexity and the parametrization is handled internally by
 SCons so the makefiles are both simple *and* terse ;)

 Yea, I was going to mention that, too. As far as I'm concerned *make is 
 the same sort of undead unholy relic as C++. Ie, They've served their 
 use, but these days they're terrible anachronisms that just need to be 
 allowed to finally die. SCons absolutely *kills* make, and last I looked, 
 AAP was even better than SCons (IMO). Not to get into an AAP vs SCons 
 debate or anything, but my point is, with all the stuff out there that's 
 so much better than *make, there's really not much reason beyond pure 
 inertia and ignorance of the alternatives to keep holding onto it.

 half jokingly
 Young people tend to always choose the absolutely best, while older people 
 value stability and longevity of tools.

 So, yesterday the best was SCons, today it's AAP, what's it gonna be 
 tomorrow? Old people prefer something like make, that's been around for 
 some time, and which will still be around in the future.
 /

 Yes, it's not /the/ best. But then one doesn't have to learn a new system 
 every six months just to keep with the best.

Heh, very true. Of course, both sides could learn a bit from the other. 
Sometimes the newest/fanciest/most-popular has loads of drawbacks that the 
kids just don't have the experience to notice, and sometimes those more 
experienced end up blinded to things that may very well be true 
improvements.

My most advanced PC here is a 1.7GHz Celeron. It does what I need it to do, 
and I'm happy with it. Lately I've found myself shaking my head at the 
young-uns these days that feed hundreds of dollars into their rigs 
annually just so they can play the latest games sitting at some desk instead 
of a nice comfy living room couch and TV. And then they get into software 
development and wind up inadvertently (or even deliberately) targeting their 
own super-powered systems and wind up creating the world's biggest 
bloatware. (And don't even get me started on iPods, tricked out cars and 
the current generation of gaming consoles.)

But as far as *make vs the newer make-replacements, I just got fed up *make 
years ago in very much the same way I got fed up with C++. So I was looking 
for replacements and found the D language as well as SCons and AAP (Ok, so 
technically it's A-A-P, but dagnabbit, I'm gonna call it AAP in just the 
same crotchety way I spell Haxe with a lower-case x and pronounce it 
Hacks instead of Hex).




Re: Response files

2009-03-22 Thread Walter Bright

Georg Wrede wrote:

half jokingly
Young people tend to always choose the absolutely best, while older 
people value stability and longevity of tools.


So, yesterday the best was SCons, today it's AAP, what's it gonna be 
tomorrow? Old people prefer something like make, that's been around for 
some time, and which will still be around in the future.

/


Yeah, I'm old. I still don't use an IDE g.


Re: Response files

2009-03-22 Thread Walter Bright

Nick Sabalausky wrote:
Heh, very true. Of course, both sides could learn a bit from the other. 
Sometimes the newest/fanciest/most-popular has loads of drawbacks that the 
kids just don't have the experience to notice, and sometimes those more 
experienced end up blinded to things that may very well be true 
improvements.


Of course! Any good dev team has a mix of the old geezers and the young 
whippersnappers.



My most advanced PC here is a 1.7GHz Celeron. It does what I need it to do, 
and I'm happy with it. Lately I've found myself shaking my head at the 
young-uns these days that feed hundreds of dollars into their rigs 
annually just so they can play the latest games sitting at some desk instead 
of a nice comfy living room couch and TV. And then they get into software 
development and wind up inadvertently (or even deliberately) targeting their 
own super-powered systems and wind up creating the world's biggest 
bloatware. (And don't even get me started on iPods, tricked out cars and 
the current generation of gaming consoles.)


I get a laugh out of the silly little cars with fake add-on spoilers, 
racing steering wheels and fart exhaust systems. When I was 15, a 
friend of mine got his first car, a $600 beat up '67 Mustang with a big 
V8 in it. He took me for a ride and floored it. It was like being 
launched off an aircraft carrier. I was hooked for life. You kids today 
have no idea g.


http://www.youtube.com/watch?v=ljIA2-Y9HQkfeature=related


But as far as *make vs the newer make-replacements, I just got fed up *make 
years ago in very much the same way I got fed up with C++. So I was looking 
for replacements and found the D language as well as SCons and AAP (Ok, so 
technically it's A-A-P, but dagnabbit, I'm gonna call it AAP in just the 
same crotchety way I spell Haxe with a lower-case x and pronounce it 
Hacks instead of Hex).


I keep seeing that as AARP, the outfit that has started sending me 
letters to get me to sign up :-(


Re: Response files

2009-03-22 Thread BCS

Hello Walter,


I keep seeing that as AARP, the outfit that has started sending me
letters to get me to sign up :-(



That says nothing. I know of people who get those who can't even vote or 
drink yet.





Re: Response files

2009-03-21 Thread Jason House
Walter Bright Wrote:

 Frank Benoit wrote:
  DMD 1.041 on windows does support response files, that is a file
  containing arguments.
  On Linux dmd does not understand that.
 
 The windows response files date back to the problem DOS/Windows had with 
 only a very short command line length was allowed. So the arguments were 
 put into a file instead.
 
 It's probably a good idea to do it for Linux, too.

Ick. Why? Command files are hacks for Window's shortcomings. Why spread such 
hacks across all platforms? The linux command line is already well adapted to 
handle this kind of thing.


Re: Response files

2009-03-21 Thread Frank Benoit
Jason House schrieb:
 Walter Bright Wrote:
 
 Frank Benoit wrote:
 DMD 1.041 on windows does support response files, that is a file
 containing arguments.
 On Linux dmd does not understand that.
 The windows response files date back to the problem DOS/Windows had with 
 only a very short command line length was allowed. So the arguments were 
 put into a file instead.

 It's probably a good idea to do it for Linux, too.
 
 Ick. Why? Command files are hacks for Window's shortcomings. Why spread such 
 hacks across all platforms? The linux command line is already well adapted to 
 handle this kind of thing.

Because, imagine you set up a build process for your application. Why
should i have to care about that difference in my 'makefile',
'rakefile', ... whatever ?


Re: Response files

2009-03-21 Thread Frank Benoit
Jason House schrieb:
 Walter Bright Wrote:
 
 Frank Benoit wrote:
 DMD 1.041 on windows does support response files, that is a file
 containing arguments.
 On Linux dmd does not understand that.
 The windows response files date back to the problem DOS/Windows had with 
 only a very short command line length was allowed. So the arguments were 
 put into a file instead.

 It's probably a good idea to do it for Linux, too.
 
 Ick. Why? Command files are hacks for Window's shortcomings. Why spread such 
 hacks across all platforms? The linux command line is already well adapted to 
 handle this kind of thing.

Even in cygwin, there seems to be a 32k limit on the command line.
On Linux you can find out that limit with
getconf ARG_MAX (=2097152 on my linux box)

This seems to be enough, however, 32k/64k are not.
There is a related bug, because the dmd response file workaround is not
working with 64k, see http://d.puremagic.com/issues/show_bug.cgi?id=2705




Re: Response files

2009-03-21 Thread TomD
Frank Benoit Wrote:
[...]
 This seems to be enough, however, 32k/64k are not.
 There is a related bug, because the dmd response file workaround is not
 working with 64k, see http://d.puremagic.com/issues/show_bug.cgi?id=2705
 
Just out of curiosity: With which kind of project
do you hit this limit?

Ciao
Tom


Re: Response files

2009-03-21 Thread Walter Bright

Jason House wrote:

Ick. Why? Command files are hacks for Window's shortcomings. Why
spread such hacks across all platforms? The linux command line is
already well adapted to handle this kind of thing.


gcc already supports it. There's apparently a demand for it.


Re: Response files

2009-03-21 Thread Walter Bright

Frank Benoit wrote:

Because, imagine you set up a build process for your application. Why
should i have to care about that difference in my 'makefile',
'rakefile', ... whatever ?


I use different makefiles for Windows, Linux, and OSX. It's easier than 
tearing my few strands of hair out trying to figure out how to remove 
system differences.


Re: Response files

2009-03-21 Thread Frank Benoit
Walter Bright schrieb:
 Frank Benoit wrote:
 Because, imagine you set up a build process for your application. Why
 should i have to care about that difference in my 'makefile',
 'rakefile', ... whatever ?
 
 I use different makefiles for Windows, Linux, and OSX. It's easier than
 tearing my few strands of hair out trying to figure out how to remove
 system differences.

Right, this is because of such stuff. With dmd acting the same, it would
be one step easier.

On the other hand, separated build scripts are against DRY.


Re: Response files

2009-03-21 Thread Nick Sabalausky
Jason House jason.james.ho...@gmail.com wrote in message 
news:gq2dv9$2vn...@digitalmars.com...
 Walter Bright Wrote:

 Frank Benoit wrote:
  DMD 1.041 on windows does support response files, that is a file
  containing arguments.
  On Linux dmd does not understand that.

 The windows response files date back to the problem DOS/Windows had with
 only a very short command line length was allowed. So the arguments were
 put into a file instead.

 It's probably a good idea to do it for Linux, too.

 Ick. Why? Command files are hacks for Window's shortcomings. Why spread 
 such hacks across all platforms? The linux command line is already well 
 adapted to handle this kind of thing.

Sometimes command lines get too long to keep typing (obviously). You *could* 
solve that with a shell/batch script, but then that would be specific to a 
particular shell/OS. As long as the app you're using is reasonably 
cross-platform, then a response file is completely shell/OS-agnostic. 
Response files may have originated as a workaround, but that doesn't mean 
they didn't turn out to have additional benefits. 




Re: Response files

2009-03-21 Thread Andrei Alexandrescu

Walter Bright wrote:

Frank Benoit wrote:

Because, imagine you set up a build process for your application. Why
should i have to care about that difference in my 'makefile',
'rakefile', ... whatever ?


I use different makefiles for Windows, Linux, and OSX. It's easier than 
tearing my few strands of hair out trying to figure out how to remove 
system differences.


...NOT.

Andrei


Re: Response files

2009-03-21 Thread Georg Wrede

Andrei Alexandrescu wrote:

Walter Bright wrote:

Frank Benoit wrote:

Because, imagine you set up a build process for your application. Why
should i have to care about that difference in my 'makefile',
'rakefile', ... whatever ?


I use different makefiles for Windows, Linux, and OSX. It's easier 
than tearing my few strands of hair out trying to figure out how to 
remove system differences.


...NOT.


Well... that's a bit D centric. :-)

'Round here we say maassa maan tavalla, which is probably something 
like When in Rome, do like the Romans do.


Makefiles aren't just a C(++) thing. Unix has a culture of its own, 
Windows (I wouldn't say have a culture, but still) does it another way. 
So do we import the Unix way to Windows or the other way around? I'd go 
with the Romans in Rome.


If there were a vote (outside of this NG!!) with D users, probably there 
are more folks who write in D /and/ in C or another language /on their 
own/ OS, than folks who write D apps (big enough to need makefiles) for 
both Windows and Linux.


Re: Response files

2009-03-21 Thread Walter Bright

Georg Wrede wrote:
'Round here we say maassa maan tavalla, which is probably something 
like When in Rome, do like the Romans do.


Makefiles aren't just a C(++) thing. Unix has a culture of its own, 
Windows (I wouldn't say have a culture, but still) does it another way. 
So do we import the Unix way to Windows or the other way around? I'd go 
with the Romans in Rome.


If there were a vote (outside of this NG!!) with D users, probably there 
are more folks who write in D /and/ in C or another language /on their 
own/ OS, than folks who write D apps (big enough to need makefiles) for 
both Windows and Linux.



There is no standard for makefiles, I've run across dozens of different 
make programs that use different syntax and have different extensions. 
So, if you're going to have the same makefile across systems, you have 
to start with finding a make program that is fairly identical across 
those systems.


Then you have the \ vs / problems. Some people assure me that Windows 
now works flawlessly with /, but that simply isn't so. I keep running 
into odd cases where it doesn't, so I don't use / on Windows.


File name case sensitivity differs.

The command line utilities called by makefiles differ in their names, 
switches, and how they work.


.o on Linux, .obj on Windows.

nothing on Linux, .exe on Windows.

.a on Linux, .lib on Windows.

It just goes on and on. You could try and parameterize all of it, but 
then the makefile becomes an inscrutable mess. You could have scripts 
generate makefiles, embed scripts in the makefiles, etc., but is this 
really worthwhile? It's just a makefile. I spend almost zero time on 
them. I like them simple even if that means they're more verbose.


Re: Response files

2009-03-21 Thread Andrei Alexandrescu

Walter Bright wrote:

Georg Wrede wrote:
'Round here we say maassa maan tavalla, which is probably something 
like When in Rome, do like the Romans do.


Makefiles aren't just a C(++) thing. Unix has a culture of its own, 
Windows (I wouldn't say have a culture, but still) does it another 
way. So do we import the Unix way to Windows or the other way around? 
I'd go with the Romans in Rome.


If there were a vote (outside of this NG!!) with D users, probably 
there are more folks who write in D /and/ in C or another language /on 
their own/ OS, than folks who write D apps (big enough to need 
makefiles) for both Windows and Linux.



There is no standard for makefiles, I've run across dozens of different 
make programs that use different syntax and have different extensions. 
So, if you're going to have the same makefile across systems, you have 
to start with finding a make program that is fairly identical across 
those systems.


Then you have the \ vs / problems. Some people assure me that Windows 
now works flawlessly with /, but that simply isn't so. I keep running 
into odd cases where it doesn't, so I don't use / on Windows.


File name case sensitivity differs.

The command line utilities called by makefiles differ in their names, 
switches, and how they work.


dmd's flags are the same. Other than that, you only need to configure 
how files are deleted and how the C compiler is invoked.



.o on Linux, .obj on Windows.


OBJSUFFIX_win32 = .obj
OBJSUFFIX_linux = .o
...
OS = linux
...
... file$(OBJSUFFIX_$(OS)) ...


nothing on Linux, .exe on Windows.


See above.


.a on Linux, .lib on Windows.


See above.


It just goes on and on.


No. At some point it stops and you are gained by understanding where OS 
matters for your product and how.


You could try and parameterize all of it, but 
then the makefile becomes an inscrutable mess. You could have scripts 
generate makefiles, embed scripts in the makefiles, etc., but is this 
really worthwhile? It's just a makefile. I spend almost zero time on 
them. I like them simple even if that means they're more verbose.


This is because you don't really need to. I work on Phobos a fair 
amount, and I don't want to update four-odd places whenever I add a 
module. There is something to be said about once and only once. I've 
overhauled Phobos' makefile twice, and every time I've been gained by it.


And again this brings a basic disagreement I have about making a 
hodge-podge of particular cases instead of searching the higher ground 
of proper abstraction.


More code in makefiles doesn't necessarily improve things quite a lot. 
druntime has a lot of makefiles; apparently every single blessed thing 
has a makefile dedicated to it. But that complicates things without benefit.



Andrei


Re: Response files

2009-03-21 Thread Sean Kelly

Andrei Alexandrescu wrote:


More code in makefiles doesn't necessarily improve things quite a lot. 
druntime has a lot of makefiles; apparently every single blessed thing 
has a makefile dedicated to it. But that complicates things without 
benefit.


In theory, each thing in druntime with a makefile is actually a 
standalone project, but since they're built together for the current 
distribution I agree it's overcomplicated.


Regarding DM's make program, I'd be happy if it simply accepted rules 
with wildcards (ie. %.o : %.d).  That would eliminate basically all the 
differences between the Win32 and Posix makefiles in druntime.


Re: Response files

2009-03-21 Thread Walter Bright

Andrei Alexandrescu wrote:

.o on Linux, .obj on Windows.


OBJSUFFIX_win32 = .obj
OBJSUFFIX_linux = .o
...
OS = linux
...
... file$(OBJSUFFIX_$(OS)) ...


I hadn't thought of using macros to generate macros. It's a good idea.


Re: Response files

2009-03-21 Thread Andrei Alexandrescu

Walter Bright wrote:

Andrei Alexandrescu wrote:

.o on Linux, .obj on Windows.


OBJSUFFIX_win32 = .obj
OBJSUFFIX_linux = .o
...
OS = linux
...
... file$(OBJSUFFIX_$(OS)) ...


I hadn't thought of using macros to generate macros. It's a good idea.


I confess I also hadn't until the third iteration of the Phobos makefile.

Andrei


Response files

2009-03-20 Thread Frank Benoit
DMD 1.041 on windows does support response files, that is a file
containing arguments.
On Linux dmd does not understand that. Instead a build mechanism needs
to handle dmd in a special way on linux.
cat rsp | xargs dmd

Would be nice, if both can be used in the same way.


Re: Response files

2009-03-20 Thread Walter Bright

Frank Benoit wrote:

DMD 1.041 on windows does support response files, that is a file
containing arguments.
On Linux dmd does not understand that.


The windows response files date back to the problem DOS/Windows had with 
only a very short command line length was allowed. So the arguments were 
put into a file instead.


It's probably a good idea to do it for Linux, too.