From: Manu <ma...@wa...> - 2002-11-16 20:40:58
|
I've built autoconf-2.56, automake-1.7.1 for MSYS. And then make-3.80 for mingw using a patch based on make-3.80rc2's one. Meanwhile packages/patches are available, I'll describe the build steps for folks who would like to reproduce my results. I'd like also to provide new autoconf, automake for MSYS. 0. Requirements autoconf: http://ftp.gnu.org/gnu/autoconf/autoconf-2.56.tar.bz2 automake: http://ftp.gnu.org/gnu/automake/automake-1.7.1.tar.bz2 make: ftp://ftp.gnu.org/gnu/make/ make-3.80.tar.bz2 is 921645 bytes tar.bz2 unpacker, untbz2: http://mefriss1.swan.ac.uk/~jfonseca/gnu-win32/software/untbz2/index.html To build autoconf, automake: - msysDTK-1.0.0-alpha-1.tar.gz - msysDVLPR-1.0.0-alpha-1.tar.gz 1. Install MSYS and developers packages Assuming that you have already a working MSYS/MinGW to build make, you'll need also a build environment to target autoconf, automake for MSYS. For this, I used a separate install in c:/Dev/Msys-Dev, while my regular MSYS/MinGW lives in c:/Dev/Msys. That's a personal choice, I prefer not to mix up things. - Install MSYS there. - edit the MSYS shortcut in order to add "MSYS" to the command line, like "C:\DEV\MSYS-DEV\1.0\MSYS.BAT MSYS", and like "C:\DEV\MSYS-DEV\1.0\BIN" as starting directory. Doing so, MSYS will show "MSYS" in the title bar, instead of "MINGW32". - Unpack msysDTK-1.0.0-alpha-1.tar.gz and msysDVLPR-1.0.0-alpha-1.tar.gz into C:\Dev\Msys-Dev\1.0. 2. Build autoconf - unpack autoconf. - unpack attached autoconf-2.56-msys.zip into the autoconf source tree. - run your new MSYS environment (MSYS in the title bar, white background). - "CD" to the autoconf source tree. - run the "build-msys" script. - "$ make install" to install autoconf-2.56. 3. Build automake - unpack automake. - unpack attached automake-1.7.1-msys.zip into the automake source tree. - "CD" to the automake source tree. - run the "build-msys" script. - "$ make install" to install automake-1.7.1. - Quit MSYS. Note: Since "c:/dev/msys-dev/1.0/bin/aclocal-1.6" and "c:/dev/msys-dev/1.0/bin/automake-1.6" are no longer needed, I renamed the two files to _aclocal-1.6, _automake-1.6, to be sure there won't be any conflicts with previous automake. I'm not sure that it's needed but I preferred to play it safe. Also, I'm not sure how I can produce MSYS packages. I just know "$ make install" at the moment. 4. Install autoconf, automake for your regular MSYS/MinGW. - run your regular MSYS/MinGW environment. (MINGW32 in the title bar, yellow background.) - "CD" to autoconf-2.56 source tree. - "$ make install" - "CD" to automake-1.7.1 source tree. - "$ make install" Note: I've also renamed old automake-1.6 files. 5. Build make - unpack make. - unpack attached make-3.80-mingw.zip into the make source tree. - "CD" to make source tree. - "$ patch -p1 -i make-3.80-mingw.patch" to patch the sources. - "$ build-i386" Make should build successfully. --- C:\Dev\Visual-MinGW\Mingw\bin>make -v GNU Make 3.80 Copyright (C) 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. --- Enjoy, Manu. PS: I'll have a few warnings to turn off, but most of the work seems to be done. As a quick "real-life" test, I've built Visual-MinGW without troubles. --- a few warnings to turn off --- gcc -DLOCALEDIR=\"/usr/local/share/locale\" -DLIBDIR=\"/usr/local/lib\" -DINCLUD/include\" -DHA VE_CONFIG_H -I. -I. -I. -I./glob -I./w32/include -O2 -fno-rtti-c -o sub_proc.o `test -f 'w32/subproc/sub_proc.c' || echo './'`w32/subproc/sub_ w32/subproc/sub_proc.c: In function `process_pipe_io': w32/subproc/sub_proc.c:681: warning: passing arg 3 of `_beginthreadex' from incotype w32/subproc/sub_proc.c:694: warning: passing arg 3 of `_beginthreadex' from incotype w32/subproc/sub_proc.c:697: warning: passing arg 3 of `_beginthreadex' from incotype w32/subproc/sub_proc.c:765: warning: passing arg 2 of `GetExitCodeProcess' from ter type w32/subproc/sub_proc.c: At top level: w32/subproc/sub_proc.c:808: warning: type mismatch with previous implicit declar w32/subproc/sub_proc.c:159: warning: previous implicit declaration of `process_f w32/subproc/sub_proc.c:808: warning: `process_file_io' was previously implicitlyrn `int' w32/subproc/sub_proc.c: In function `process_file_io': w32/subproc/sub_proc.c:855: warning: passing arg 2 of `GetExitCodeProcess' from ter type |
From: Greg C. <chi...@mi...> - 2002-11-16 21:45:09
|
Manu wrote: > > I've built autoconf-2.56, automake-1.7.1 for MSYS. > And then make-3.80 for mingw using a patch based > on make-3.80rc2's one. Although I don't need this yet myself, I appreciate all the work being done by porters. Offering these tiny diffs makes much more sense that publishing complete patched sources. > make: ftp://ftp.gnu.org/gnu/make/ At least in the past, gnu make has differed from msys make. Does your make-3.80-mingw.zip patch capture whatever was unique to the msys variant? Since I don't know how they differed in the past, I'll also ask: have you offered this patch to gnu? |
From: Manu <con...@wa...> - 2002-11-17 00:22:54
|
Greg Chicares wrote: > Manu wrote: > > > > I've built autoconf-2.56, automake-1.7.1 for MSYS. > > And then make-3.80 for mingw using a patch based > > on make-3.80rc2's one. > > Although I don't need this yet myself, I appreciate all > the work being done by porters. Offering these tiny diffs > makes much more sense that publishing complete patched > sources. Yes, I agree. > > make: ftp://ftp.gnu.org/gnu/make/ > > At least in the past, gnu make has differed from msys make. > Does your make-3.80-mingw.zip patch capture whatever was > unique to the msys variant? Since I don't know how they > differed in the past, For example: --- snip from patched Makefile.am --- +if MINGW + w32_include = -I$(top_srcdir)/w32/include + w32_sources = w32/pathstuff.c w32/compat/dirent.c w32/subproc/sub_proc.c \ + w32/subproc/w32err.c + w32_misc = w32misc.o +endif + In short, then building for Windows, using either MinGW or "build_w32.bat", to build with... ... let's say ... another compiler. pathstuff.c and others are built to implement Unix stuff that Windows cannot. Then building for MSYS, msys-1.0.dll provides all needed POSIX stuff that Windows doesn't. Then, it's different, so, not the same :) Personally, this is what I've adopted: 1. "C:\Dev\Visual-MinGW\Mingw" This one is to build C/C++ apps for Win32 and only for Win32. I don't need to ./configure anything there, so I don't have MSYS and 'make' is the MinGW's one. 2. "C:\Dev\Msys\1.0\mingw" This one is for MSYS. I __NEED__ to './configure' here. 'make' is the MSYS' one. I accidentally attempted to build a GNU package with MinGW's make, once, after a clean install. I just forgot to rename /mingw/make.exe :) Try to do the same, with or without MSYS' make, you should find a big difference. (In the number of errors ;) > I'll also ask: have you offered this > patch to gnu? Not yet, it's for testing only. Though, a patch for make-3.80rc2 was already submitted by John Cronin, I think. (cf mingw-users and make-w32, about middle of september) My diff is based on the work John does, since changes won't be merged to make, I assume that we have still a little work to do. :) (I'm reading the "autobook", to understand the autotools arcane.) Manu. |
From: Earnie B. <ear...@ya...> - 2002-11-17 04:23:41
|
Manu wrote: > > (I'm reading the "autobook", to understand the autotools arcane.) > A good exercise for that is the autoconf, automake and libtool lists. Be prepared to receive posts in triplicate. :) Earnie. |
From: Earnie B. <ear...@ya...> - 2002-11-16 21:58:18
|
Manu wrote: > > 2. Build autoconf > > - unpack autoconf. > - unpack attached autoconf-2.56-msys.zip into the autoconf source tree. > - run your new MSYS environment (MSYS in the title bar, white background). > - "CD" to the autoconf source tree. > - run the "build-msys" script. Hopefully your script uses --prefix=/usr when configuring. > - "$ make install" to install autoconf-2.56. > > 3. Build automake > > - unpack automake. > - unpack attached automake-1.7.1-msys.zip into the automake source tree. > - "CD" to the automake source tree. > - run the "build-msys" script. Hopefully your script uses --prefix=/usr when configuring. > - "$ make install" to install automake-1.7.1. > - Quit MSYS. > > Note: Since "c:/dev/msys-dev/1.0/bin/aclocal-1.6" and > "c:/dev/msys-dev/1.0/bin/automake-1.6" are no longer needed, > I renamed the two files to _aclocal-1.6, _automake-1.6, to be > sure there won't be any conflicts with previous automake. > I'm not sure that it's needed but I preferred to play it safe. > Not necessary if you used --prefix=/usr. > Also, I'm not sure how I can produce MSYS packages. > I just know "$ make install" at the moment. > We can discuss this in the mingw-dvlpr list. > 4. Install autoconf, automake for your regular MSYS/MinGW. > > - run your regular MSYS/MinGW environment. (MINGW32 in the > title bar, yellow background.) > - "CD" to autoconf-2.56 source tree. > - "$ make install" > - "CD" to automake-1.7.1 source tree. > - "$ make install" > > Note: I've also renamed old automake-1.6 files. > > 5. Build make > > - unpack make. > - unpack attached make-3.80-mingw.zip into the make source tree. > - "CD" to make source tree. > - "$ patch -p1 -i make-3.80-mingw.patch" to patch the sources. > - "$ build-i386" > Hopefully this was configured with --prefix=/mingw. Earnie. P.S.: I'm planning an msysDTK release shortly after 1.0.8 is out. |
From: Manu <ma...@wa...> - 2002-11-17 00:22:59
|
Earnie Boyd wrote: > Manu wrote: > > > > 2. Build autoconf > > > > - unpack autoconf. > > - unpack attached autoconf-2.56-msys.zip into the autoconf source tree. > > - run your new MSYS environment (MSYS in the title bar, white background). > > - "CD" to the autoconf source tree. > > - run the "build-msys" script. > > Hopefully your script uses --prefix=/usr when configuring. :) not exactly. --- build-msys --- #!/bin/sh # # ./configure --prefix= \ && make --- EOF The 'msysrlsbld' notes (msysDVLPR.rtf) wasn't obvious for me, I understood when doing my very first "$ make install". Indeed '--prefix=/usr' looks strange for a Windowsian, since there's no '/usr' dir. > > - "$ make install" to install autoconf-2.56. > > > > 3. Build automake > > > > - unpack automake. > > - unpack attached automake-1.7.1-msys.zip into the automake source tree. > > - "CD" to the automake source tree. > > - run the "build-msys" script. > > Hopefully your script uses --prefix=/usr when configuring. > > > - "$ make install" to install automake-1.7.1. > > - Quit MSYS. > > > > Note: Since "c:/dev/msys-dev/1.0/bin/aclocal-1.6" and > > "c:/dev/msys-dev/1.0/bin/automake-1.6" are no longer needed, > > I renamed the two files to _aclocal-1.6, _automake-1.6, to be > > sure there won't be any conflicts with previous automake. > > I'm not sure that it's needed but I preferred to play it safe. > > > > Not necessary if you used --prefix=/usr. Ok. > > Also, I'm not sure how I can produce MSYS packages. > > I just know "$ make install" at the moment. > > > > We can discuss this in the mingw-dvlpr list. Yes, I'd be pleased to. Though, I tried "$ msysrlsbld". I understood how I can "$ make install" anywhere I want to. Not obvious at first glance. > > 4. Install autoconf, automake for your regular MSYS/MinGW. > > > > - run your regular MSYS/MinGW environment. (MINGW32 in the > > title bar, yellow background.) > > - "CD" to autoconf-2.56 source tree. > > - "$ make install" > > - "CD" to automake-1.7.1 source tree. > > - "$ make install" > > > > Note: I've also renamed old automake-1.6 files. > > > > 5. Build make > > > > - unpack make. > > - unpack attached make-3.80-mingw.zip into the make source tree. > > - "CD" to make source tree. > > - "$ patch -p1 -i make-3.80-mingw.patch" to patch the sources. > > - "$ build-i386" > > > > Hopefully this was configured with --prefix=/mingw. No, since I didn't "$ make install", but I'll "./configure" that way now. > > Earnie. > > P.S.: I'm planning an msysDTK release shortly after 1.0.8 is out. Great! And thanks in advance, Manu. |
From: <dan...@ya...> - 2002-11-16 22:18:37
Attachments:
subproc.diff
|
--- Manu <ma...@wa...> wrote: > I've built autoconf-2.56, automake-> --- a few warnings to turn off --- > gcc -DLOCALEDIR=\"/usr/local/share/locale\" -DLIBDIR=\"/usr/local/lib\" > -DINCLUD/include\" -DHA > VE_CONFIG_H -I. -I. -I. -I./glob -I./w32/include -O2 -fno-rtti-c -o > sub_proc.o `test -f > 'w32/subproc/sub_proc.c' || echo './'`w32/subproc/sub_ > w32/subproc/sub_proc.c: In function `process_pipe_io': > w32/subproc/sub_proc.c:681: warning: passing arg 3 of `_beginthreadex' from > incotype > w32/subproc/sub_proc.c:694: warning: passing arg 3 of `_beginthreadex' from > incotype > w32/subproc/sub_proc.c:697: warning: passing arg 3 of `_beginthreadex' from > incotype > w32/subproc/sub_proc.c:765: warning: passing arg 2 of `GetExitCodeProcess' > from ter type > > Those warnings are not harmless. The attached patch is from the mingw distro of make 3.79-1 Danny http://careers.yahoo.com.au - Yahoo! Careers - 1,000's of jobs waiting online for you! |
From: Manu <ma...@wa...> - 2002-11-17 00:22:59
|
Danny Smith wrote: > --- Manu wrote: > I've built autoconf-2.56, automake-> > --- a few warnings to turn off --- [cut] > Those warnings are not harmless. The attached patch is from the mingw distro > of make 3.79-1 Thanks a lot Danny. The diff file is very instructive. Manu. |