Date: Wed, 8 Jul 1998 11:46:50 +0300 (IDT) From: Eli Zaretskii To: Martin Str|mberg cc: DJGPP-WORKERS Subject: Re: dxegen patch In-Reply-To: <199807072012.WAA17281@sister.ludd.luth.se> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Precedence: bulk On Tue, 7 Jul 1998, Martin Str|mberg wrote: > > > $(HOSTBIN)/dxegen.exe : dxegen.c > > > - $(GCC) -DDXE_LD=\"$(CROSS_LD)\" dxegen.c -o $@ > > > + $(GCC) -DDXE_LD=\"$(CROSS_LD)\" -DDXE_GCC=\"$(CROSS_GCC)\" dxegen.c -o $@ > > > > In my experience, this is incorrect: CROSS_LD is defined as > > /usr/local/whatever/dos-ld or some such, and this fails on DOS. > > Please elaborate. To get somewhere at all compiling natively I had to > set variables (if that's what they are called in makefiles) CROSS_GCC > to GCC, respectively. If CROSS_GCC is wrong why isn't CROSS_LD that? CROSS_LD was originally defined to a value suitable only for cross-builds. If your patch included the change for that as well, then I apologize for overlooking that. > +# Set CROSS_BUILD = 1 if cross-compiling, otherwise 0 > +#CROSS_BUILD = 1 > +CROSS_BUILD = 0 Isn't it better to make this automatically? For example: ifdef COMSPEC CROSS_BUILD = 0 else CROSS_BUILD = 1 endif I think we should avoid anything that requires people to look into the Makefile's in order to get the build right.