From: <rei...@eu...> - 2001-02-11 15:48:18
|
On Sun, 11 Feb 2001, Earnie Boyd wrote: > Paul Garceau wrote: >=20 > > Hi folks, > > > > On 10 Feb 2001, at 23:17, the Illustrious rei...@eu... w= rote: > > > > > On Sat, 10 Feb 2001, Paul Garceau wrote: > > > > > > > On 9 Feb 2001, at 22:37, the Illustrious > > > > rei...@eu... wrote: > > > > > ...The problem is, that I need the right sources. I thought > > the CVS > > > at Cygwin is also the CVS for Mingw. > > >=20 > I missed this post. Sorry, I should have post it to the mingw-users not privately to paul. >=20 > > > > This is where you are mistaken. >=20 > Actually, the mingw-runtime and the w32api CVS does reside within the C= ygwin > winsup structure. However, both are independant packages. They build > outside of the Cygwin winsup source tree. There is specific instructio= ns in > the Makefile for Cygwin vs. MinGW. I have checked the packages and the content of the winsup and the mingw p= ackage. Both are also in the cygwin-1.1.8-2-src.tar.gz package. Why also loading = two packages, if I can get them in one. From my point of view it is clear tha= t the packages have the same content, because they are created from the same CV= S sources (explained by earnie later in this message). >=20 > > The Mingw is simply not > > related to Cygwin except in a legacy sense of the word > > (historically, some of the initial mingw runtime was developed > > using the Cygwin toolset) >=20 > It still is developed "using" the Cygwin toolset. I use Cygwin daily. = I > also use Linux daily but haven't yet developed any of MinGW with it. I have created some hello world programms (c, c++, using a message box) w= ith my cross compiler at Linux and all of them worked as expected. It is fine to develop Windows programs on Linux with all the power and se= curity of a Unix operating system! >=20 > > > > Cygwin includes a bash shell, Mingw does not. Cygwin apps ca= n > > not run without cygwin1.dll being somewhere on the lib include > > path except when -mno-cygwin switch is used. I know this, and I don't need the bash shell, because I want to use the compiler at Linux. Linux have allready a zsh and a lot of other powerfull things. > > > > > Maybe this is my mistake. > > > Can you tell me where to find the right sources? > > >=20 > If you want to access the CVS version of the mingw-runtime you can go h= ere > http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/mingw/?cvsroot=3D= src > If you want to access the CVS version of the w32api you can go here > http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/w32api/?cvsroot= =3Dsrc > If you want to download the source via cvs client follow the instructio= ns on > http://cygwin.com/cvs.html. The source will reside in src/winsup/mingw= and > src/winsup/w32api. Thank you. Now I know, that I used the right sources. This are exactly th= e sources which I have used for my cross compiler. But I haven't used only = the winsup subtree. I checked out also the binutils, libiberty, .. for the co= mpiler. >=20 > > > > The Mingw sources are accessible via the official Mingw websi= te > > (http://www.mingw.org) and are not the same as Cygwin source. >=20 > This simply isn't true. They are the same source as far as the MinGW r= untime > and w32api packages are concerned. They are maintained by the MinGW > developers and commited by the MinGW developers. Occasionally the Cygw= in > team will even add to the source. Thank you to clarify this. I thought this, because I have checked the packages some weeks ago and the latest packages from the mingw home page = are: mingw-runtime-0.4-src.tar.gz w32api-0.4-src.tar.gz which are exactly the same as in cygwin-1.1.8-2-src.tar.gz >=20 > > > > Cygwin source is available via Cygwin ftp sites. Mingw runtime > > is an add-on which is taken from the source-code available via > > the Mingw "official web site". >=20 > > The Mingw toolset and the Cygwin toolset are based on entirel= y > > different runtime source code with exception of win32api > > headers, etc. >=20 > It is the same MinGW runtime package. Thank you to clarify this. >=20 > > > > > If the Cygwin > > > sources are the right one, then the only thing to do is to patch > > > the Makefile in w32api, so that the headers will be installed to > > > include not to include/w32api. Then all looks like the binary > > > distribution of the Mingw runtime. >=20 > If you configure with --host=3Dmingw32 then it won't put the headers in > include/w32api. If you get the source package from the latest/w32api f= tp > mirror then it will purposefully have include/w32api. The MinGW versio= n > doesn't do this. I don't thing if I have understod this. What do mean with MinGW version? I thought the sources are the same and o= nly configure does the differencies? I use --host=3Di386-mingw32msvc, which will also work and will come from = the upper configure scripts (one-tree method). But for a cross compiler a pat= ch in /w32api/configure is necessary to distinguish between cygwin and mingw. Original configure: AC_MSG_CHECKING([for build environment]) case "$build_alias" in but for a cross compiler: case "$host_alias" in is necessary. build_alias is i386-pc-linux-gnu for my Linux and would not= match any in the following case. The default will not find the mingw includes (= see Makefile.in). Anyway, if the sources are the same for Cywin and mingw, then you aren't = right. the makefile.in in w32api/lib has following lines: xinstall-headers: =09$(mkinstalldirs) $(tooldir)/include/w32api =09for i in $(HEADERS); do \ =09=09$(INSTALL_DATA) $(srcdir)/../include/$$i $(tooldir)/include/w32api/= $$i ; \ =09done Which will definitly install the headers in a subdirectory of include. Th= is needs a patch for mingw and I have allready started to do something which= is compatible for mingw and cygwin and can be used in the CVS if you want. Maybe you mean an other line in the makefile: dist: =09mkdir $(distdir)/include =09chmod 755 $(distdir)/include =09@for i in $(HEADERS); do \ =09=09cp -p $(srcdir)/../include/$$i $(distdir)/include/$$i ; \ =09done Which will put the headers to the right directory. But normaly you will use make install when compiling from source and not make dist. Maybe you don't run into this, because I suppose you are using dist not i= nstall when providing a new version of the binary distribution. > > > > However, if you are building a Cygwin cross-compiler > > for Linux, such questions and/or comments would be best posted > > (and best addressed) via the Cygwin mailing list since this > > mailing list is specific to Mingw. >=20 > Uhm, better yet would be to post at cro...@so.... I think I am ready with all this in a view hours/days. I will post my sol= ution for the mingw cross compiler to the crossgcc list. Maybe someone will rev= iew it and give some inputs. >=20 > > > > > > > > I have started all this after I got an email from Mumit Khan, > > > telling me, that his cross compiler howto is out of date, if want > > > to use the lates sources from Cygnus. >=20 > Have a look at the FAQ. You'll find links that may help. I did this as I started. It worked really fine. But all of this is done w= ith Mumit Khan's packages which are 10 months old. I want to use the newest s= ources for the compier, binutils, the runtime environment and so on. >=20 > > > > Well, here is the problem. The latest sources from Cygnus > > are specific to Cygwin, and are not likely to work when trying > > to build a Mingw cross-compiler. If you want to build a Mingw > > cross-compiler, then you should be using the source, etc. from > > http://sourceforge.net/project/showfiles.php?group_id=3D2435 As I started, I checked this and I didn't saw any reason why using the of= ficial gcc and patching it. The Cygnus people have developed the egcs and now th= ey are mainaining gcc, as far as I know (for binutils and gdb I am sure they= do). I thought the Cygnus gcc package is the right one for me, because there i= s a lot of mingw related configure things in it. >=20 > I don't know how true this is either. I would imagine that the Cygwin = gcc > source should be able to build a MinGW compiler. Yes, it does! I use it. > Mumit could answer to that > better than I but Mumit had one source tree for gcc and binutils I can > assume. Mumit used to maintain Cygwin's gcc also. I assumed the same as I started. There were only small changes necessary = to build the MinGW cross compiler. >=20 > > > > > I have seen on the mailing > > > list other persons which need a cross compiler. > > > > Yes, there are people who subscribe to this mailing list who > > are building, or have already sucessfully created a Linux cross- > > compilers based on Mingw source code. > > >=20 > Again, I say check the FAQ. I have done this, and all pointed me to Mumit Khan, but he has stopped do= ing something and he told me: My question to Mumit: To compile a cross compiler for target mingwin running on linux, do I s= till need to do all that is written in your howto? Or are some patches allre= ady gone to the distribution of gcc. I ask this, because the howto is from = 5. Apr 1999. This is very old. Maybe a lot has been changed since this date. His answer: The basic idea laid out there hasn't changed, but I must admit that I'v= e been out of touch for almost 8 months, so don't know. You can ask the Mingw mailing list for input from others. See http://www.mingw.org/ for details on the various lists. I know he is back. But I don't want until Mumit is ready. I think he has = much other things to do and it is very interesting for me to find problems and= to solve them. >=20 > Yes, I can say that we would be interested in hearing about your succes= s > stories. Remember when configuring you should specify --host=3Dmingw32= if you > expect to get a MinGW compiler. I did this! Shall I post to this list or to the developer list? > Be sure to look at the > http://www.mingw.org/mingwfaq.html for more tips and pointers. I did this as I started and all ends in a link to Mumit Khan. He seems to be the father of the Windows port. His work is really impressive (I hope I have found the right word in my dictionary). Thanks for all of this usefull inputs and explainations, Reinhard --=20 Ing. Reinhard Jessich mailto: rei...@eu... A-1190 Vienna, Goergengasse 2/2/1 phone: +43/1/3692600 http://members.eunet.at/jessich mobile: +43/664/1735439 |