delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/07/14/18:17:17

Date: Fri, 15 Jul 94 06:31:42 JST
From: Stephen Turnbull <turnbull AT shako DOT sk DOT tsukuba DOT ac DOT jp>
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: controlling where go32 puts program

   From: Marty Leisner <leisner AT sdsp DOT mc DOT xerox DOT com>

   > >   I want to recursivesly do makes...

   >         Another solution, I don't know how plausible this is, is to modify
   > the make sources. Add in an 'intelligent' parser which looks for the make 
   > command in the current line in the makefile, and simply recusrsively calls
   > itself (maybe directly calling the main() function, problems with static 
   > variables though). This would not require the operating-system or go32 to 
   > hae to worry about swapping. Plus it would be a LOT faster. (No swapping
   > out to disk.)
   >         Just my ideas......(It's probably been done, but by who????)
   > 
   >                         Martin.
   > 

   It probably is a bad idea to munge the make sources...

What?  Since when are the make sources not *already* munged, in
exactly this way?  That is, if the make recognizes that the command
line doesn't use redirection (etc), it spawns "program", else it
spawns "$SHELL program".  (""Exactly" is hyperbole, of course what
Martin suggests is recursive.)

   But it is a good idea to implement shared text in djgcc -- if you
   spawn the same program, the text is already in memory, so use it...

   marty

This requires that code be very pure; I think that it's just about the
same as requiring reentrancy of the code, or maybe worse.  DJGPP would
need to know an awful lot about the layout of the executable in order
to reread only the writable data segments of the code from disk.
    Excuse a bit of gallows humor here, but seems to me that the
"good-idea, bad-idea" part of this whole discussion is just a few
people recognizing that "DOS is dead, long live deep-dish DOS
[Chicago]".  Porting to DOS is always going to require source munging
(otherwise, why are we all so grateful to DJ?), given that DOS is
proprietary DOSEMU is never going to close enough to DOS (it may be
*better* than DOS in many ways, that's not hard ;-) the hard part is
to *break it just like DOS is broken*), and so on.
    In other words, we are going to have to compromise; the compromise
should focus on writing and testing programs under DOS since that's
where they're going to be used.  So (for example) while we would like
our sources for applications to be portable, munging make's sources so
that make can be used recursively is an acceptable compromise---that's
much better than munging the makefiles for all the apps!  Similarly,
for the near future most DJGPPer's aren't going to have a first-class
Linux environment, or any Linux environment at all.  So let's make
DJGPP as transparent an environment as possible under plain DOS.
(Which is what DJ, Charles, Morten, Darryl, et al have been doing so
well for the last few years.)
    Just my 2 yen worth (and they're worth more all the time, more
gallows humor).
+-----------------------------------------------------------------------+
|                           Stephen Turnbull                            |
|     University of Tsukuba, Institute of Socio-Economic Planning       |
|          Tennodai 1-chome 1--1, Tsukuba, Ibaraki 305 JAPAN            |
|        Phone:  +81 (298) 53-5091     Fax:  +81 (298) 55-3849          |
|               Email:  turnbull AT shako DOT sk DOT tsukuba DOT ac DOT jp                 |
|                                                                       |
|                Founder and CEO, Skinny Boy Associates                 |
|               Mechanism Design and Social Engineering                 |
| REAL solutions to REAL problems of REAL people in REAL time!  REALLY. |
|                      Phone:  +81 (298) 56-2703                        |
+-----------------------------------------------------------------------+

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019