This is the mail archive of the crossgcc@cygnus.com mailing list for the crossgcc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
I agree that Win32, DOS etc are inferior to Unix for development work in general, but it's possible to make a very workable development gcc environment under DOS or Windows by taking advantage of gcc's '-b' and '-v' options. The cross-compilers on my web site have been built such that they can co-exist in parallel directories under the root DJGPP directories. EG if the root directory is C:\XGCC, then the 68k tree goes in C:\XGCC\68K\2_8_1 and the command line to use the compiler is 'gcc -b 68k ...'. For Power PC, the tools reside in C:\XGCC\PPC\2_8_1 and the command line is 'gcc -b ppc ...' etc etc. Under DJGPP, only one environment variable must be set: 'SET DJGPP=C:\XGCC\DJGPP.ENV' and in addition the bin subdirectory must be added to the path, eg 'PATH C:\XGCC\BIN; ...' These settings stay the same no matter how many cross compilers are installed. The native compiler also works fine in this setup with no changes. I will have something similiar working under Win32 pretty soon, I just haven't had much time to look at it lately... in the meantime, if you are interested please take a look at the tools at http://www.objsw.com and let me know what you think. Regards Scott Howard scott@objsw.com Kai Ruottu wrote: > Brendan Simon <brendan@dgs.monash.edu.au> wrote: > > > I want to build a powerpc cross compiler to hosted on a Win95/98 box. > > RTEMS documentation mention getting cygwin32 beta19. I'm pretty sure > > this will work but I would like to build with MinGW32. > > This is because the resulting crosscompiler will be native Win32 program > > and will be faster (unless cygwin has changed in the last 6 months to a year). > > Being a native Win32 program causes it to behave just like DJGPP and emx > binaries -- you must toy with all kind of environment settings... With > cygwin32 the 'mount' command makes most environment settings unnecessary... > > O.K. if someone can show me how the GCC_EXEC_PREFIX must be set so that > all the possible cross-compilers work afterwards, I would reconsider my > pessimism... Hmmm. perhaps just installing all programs, libs and includes to > the 'install' directory, got with 'gcc-xxx -print-search-dirs', and setting > GCC_EXEC_PREFIX to be 'D:/usr/local/lib/gcc-lib/' (using the default > '/usr/local' prefix), where 'D:' is the disk name, could simply make it... > (but I just don't think so) : > > C:\users\default>gcc-mgw32 -v > Using builtin specs. > gcc version 2.8.1 > > C:\users\default>set GCC_EXEC_PREFIX=d:/usr/local/lib/gcc-lib/ > > C:\users\default>gcc-mgw32 -v > Reading specs from d:/usr/local/lib/gcc-lib/mingw32/2_8_1/specs > gcc version 2.8.1 > > C:\users\default>gcc-mgw32 -print-search-dirs > install: /usr/local/lib/gcc-lib/mingw32/2_8_1/ > programs: d:/usr/local/lib/gcc-lib/mingw32/2_8_1/;d:/usr/local/lib/gcc-lib/; > /usr/local/lib/gcc-lib/mingw32/2_8_1/;/usr/local/lib/gcc-lib/mingw32/; > /usr/lib/gcc/mingw32/2_8_1/;/usr/lib/gcc/mingw32/; > /usr/local/mingw32/bin/mingw32/2_8_1/;/usr/local/mingw32/bin/ > libraries: d:/usr/local/lib/gcc-lib/mingw32/2_8_1/;d:/usr/local/lib/gcc-lib/; > /usr/local/lib/gcc-lib/mingw32/2_8_1/;/usr/lib/gcc/mingw32/2_8_1/; > /usr/local/mingw32/lib/mingw32/2_8_1/;/usr/local/mingw32/lib/ > > Surely all the programs and libs will be found if installed to the > /usr/local/lib/gcc-lib/<target>/<version>/ > but what about the headers? > > I have many times thought that "something must be done to this problem". It > is in DJGPP, emx and mingw32, when used as hosts for multiple GCCs at the > same machine. For quite a lot people this isn't a problem at all... "Just make > BAT-files to change the environvent settings, before switching from one > compiler to another" is the normal reaction... But nobody must do this under > Unix or Cygwin32, so why then when using DJGPP, emx or mingw32 as the host? > > Perhaps this is just the same kind of 'non-problem' as rebooting ones PC many > times during a workday with DOS/Win or Win9x... > > If having only GCC in the system, there aren't much troubles, but adding the > first cross-compiler to the system brings all the "how to install and how to > set the environment" problems... > > If someone else thinks this is a problem and wants to do something to it... > > My solution would be to add a new environment variable 'GCC_INSTALL_DISK', > or something like that, which would be looked in the 'gcc.c' and 'cccp.c' > source code with these 'DOS-like' hosts: > > #if defined (__MINGW32__) || defined (__EMX__) || defined (__DJGPP__) > > if (xyz = getenv("GCC_INSTALL_DISK") == NULL) > { > < add the disk prefix to all search directory names> > } > > > How is the naitive MinGW32 built from the sources ? Using itself or > > Cygwin32 ? > > Feel free to choice... If one has a DOS-to-mingw32 cross-compiler, he > probably thinks to be capable to build all kind of things for Mingw32 > host under DOS :> > > I prefer using a real Unix system for building cygwin32, mingw32, emx > and djgpp hosted native and cross-compilers using the Canadian Cross... > > configure --build=i486-linux --host=i386-ming32 --target=i386-mingw32 > > Cheers, Kai > ________________________________________________ > To get help for the crossgcc list, send mail to > crossgcc-request@cygnus.com with the text 'help' > (without the quotes) in the body of the message. ________________________________________________ To get help for the crossgcc list, send mail to crossgcc-request@cygnus.com with the text 'help' (without the quotes) in the body of the message.