All -
I have been experimenting with trying to build ooRexx on Windows using the
CygWin environment. Using GCC to do the build is problematic at best and
downright awful when it comes to the finished product in this environment.
So I have been trying to substitute the standard MS Visual C++ compiler
and linker for GCC under CygWin. And I finally got this to work!
Here are some things you need to know in order to get this to work.
1. First, you obviously need to install CygWin on your Windows build
machine. You should include all the standard applications for building
applications including make, autoconf, automake, libtool, gcc, and ld (gcc
and ld are optional since we will not be using these applications, but
they are installed in my CygWin environment)
2. When creating your configure.ac file, especially if you are starting
with a pre-existing one, you will need to set the following:
CC_WARNINGS=
CXX_WARNINGS=
In a gcc environment these are flags for the c and c++ compiler. You
should probably do some kind of test and set them to null strings only if
you are in a CygWin environent. I don't have details for this yet, all I
know right now is that it works if these are null strings.
3. After creating the configure script you need to run the script. Here is
where we are going to substitute the VC++ compiler and linker.
./configure CC=cl CXX=cl LD=link CFLAGS= LDFLAGS=
If you want to specify multiple CFLAGS or LDFLAGS be sure to enclose the
whole thing in double quotes like this
"CFLAGS=/G5 /Og"
Otherwise you will get a configure error.
When the configure script completes run make (not nmake).
I have tested this on a small example application that creates one exe and
one dll. You get a few warnings during the build but the executable and
dll that were created do NOT require the cygwin.dll to run.
As I get better at this I will pass along some additional notes.
Obviously, the goal here is to use one set of build instructions for
building ooRexx for all platforms. This will make building ooRexx a lot
easier.
Thanks,
W. David Ashley
IBM Linux Technology Center
OpenHPI and Open Object Rexx Team
Home Office: 512-246-9106
Mobile Phone: 512-289-7506
IBM Phone: 512-838-0609 T/L 678-0609
Intranet: David Ashley/Austin/IBM@...
Internet: dashley@...
Alternate Internet: dashley@...
|