[GRASS5] Cygwin build of Grass5

To Grass list,

There is a new build of the grass5 binaries for Windows
NT running the Cygwin shell. It is over 33MB. (Markus,
it is already uploaded, name grass-000821.zip)

Every time I rebuild I try to add more of the code. This
build includes most of grass5 from the cvs with some
small exceptions such as rim, postgres, etc.

John Huddleston, P.E.
Computer Engineer
USDA - NRCS
John.Huddleston@usda.gov

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

Could you send me a log of the make/install process? I'd
like to add cygwin support to the experimental Makefile
tweaking I've been working on lately.

John Huddleston wrote:

To Grass list,

There is a new build of the grass5 binaries for Windows
NT running the Cygwin shell. It is over 33MB. (Markus,
it is already uploaded, name grass-000821.zip)

Every time I rebuild I try to add more of the code. This
build includes most of grass5 from the cvs with some
small exceptions such as rim, postgres, etc.

John Huddleston, P.E.
Computer Engineer
USDA - NRCS
John.Huddleston@usda.gov

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

--
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=+
| Eric B. Mitchell mailto:emitchell@altaira.com |
| tel: (301) 809 - 3534 Altair Aerospace Corporation |
| tel: (800) 7 - ALTAIR 4201 Northview Dr. Suite 410 |
| fax: (301) 805 - 8122 Bowie, MD 20716 |
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=+
              ,___
          /"\ / o=\ /"""---===/
         / \_/ \__/ ---===/
         | //\ || /""TT""/ //\ || ||""\
         | // \ || || // \ || ||__/
         | //--==\ |L--/ || //--==\ || || "=,
          \ ---===/
           \____---===/

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

Eric,

I was wondering when someone was going to get around
to asking me "how" it is done for Cygwin. It's not easy.
I've added Gmakefiles throughout all my directory
structure and in case that doesn't work I have buildcyg.sh
shell scripts to allow me to remember what needs to be
done.

The latest Cygwin 1.1.2 is very much like "Unix" in its
operation. Probably the biggest hurdle is putting all the
other public domain libraries and include files into the
/usr/local area. See the src/CMD/head/os_specific
cygwin32 file. Once those have been built the compiles
work OK. The only other gotcha is that file names in upper
case are seen as lower case.

I offered to help Markus get the configure script working
and autoconf; however, I also am finishing up a PhD
at CSU in Civil Engineering. I will have more time
after next may. Concentrate on the configure script
rather than a makefile, then tweak the Makefile.in

I'd be glad to be a testing agent for now.

John Huddleston

----- Original Message -----
From: "Eric Mitchell" <emitchell@altaira.com>
To: <grass5@geog.uni-hannover.de>
Sent: Friday, August 25, 2000 10:27 AM
Subject: Re: [GRASS5] Cygwin build of Grass5

Could you send me a log of the make/install process? I'd
like to add cygwin support to the experimental Makefile
tweaking I've been working on lately.

John Huddleston wrote:
>
> To Grass list,
>
> There is a new build of the grass5 binaries for Windows
> NT running the Cygwin shell. It is over 33MB. (Markus,
> it is already uploaded, name grass-000821.zip)
>
> Every time I rebuild I try to add more of the code. This
> build includes most of grass5 from the cvs with some
> small exceptions such as rim, postgres, etc.
>
> John Huddleston, P.E.
> Computer Engineer
> USDA - NRCS
> John.Huddleston@usda.gov
>
> ----------------------------------------
> If you want to unsubscribe from GRASS Development Team mailing list

write to:

> minordomo@geog.uni-hannover.de with
> subject 'unsubscribe grass5'

--
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=+
| Eric B. Mitchell mailto:emitchell@altaira.com |
| tel: (301) 809 - 3534 Altair Aerospace Corporation |
| tel: (800) 7 - ALTAIR 4201 Northview Dr. Suite 410 |
| fax: (301) 805 - 8122 Bowie, MD 20716 |
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=+
              ,___
          /"\ / o=\ /"""---===/
         / \_/ \__/ ---===/
         | //\ || /""TT""/ //\ || ||""\
         | // \ || || // \ || ||__/
         | file://--==\ |L--/ || file://--==\ || || "=,
          \ ---===/
           \____---===/

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write

to:

minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

John,

Part of the problem is knowing what to check for in the
autoconf part of the make process. Are you building
shared libraries (DLLs)?

Part of my Makefile strategy is to rely on generic rules
that are included from makefiles in a "well-defined"
location. I have fairly generic rules in there, but they
may need tweaking for Cygwin builds. If you have a log
of the build process, I'd love to have it around for
reference, to make sure my generic rules can be tweaked
accordingly.

John Huddleston wrote:

Eric,

I was wondering when someone was going to get around
to asking me "how" it is done for Cygwin. It's not easy.
I've added Gmakefiles throughout all my directory
structure and in case that doesn't work I have buildcyg.sh
shell scripts to allow me to remember what needs to be
done.

The latest Cygwin 1.1.2 is very much like "Unix" in its
operation. Probably the biggest hurdle is putting all the
other public domain libraries and include files into the
/usr/local area. See the src/CMD/head/os_specific
cygwin32 file. Once those have been built the compiles
work OK. The only other gotcha is that file names in upper
case are seen as lower case.

I offered to help Markus get the configure script working
and autoconf; however, I also am finishing up a PhD
at CSU in Civil Engineering. I will have more time
after next may. Concentrate on the configure script
rather than a makefile, then tweak the Makefile.in

I'd be glad to be a testing agent for now.

John Huddleston

----- Original Message -----
From: "Eric Mitchell" <emitchell@altaira.com>
To: <grass5@geog.uni-hannover.de>
Sent: Friday, August 25, 2000 10:27 AM
Subject: Re: [GRASS5] Cygwin build of Grass5

>
> Could you send me a log of the make/install process? I'd
> like to add cygwin support to the experimental Makefile
> tweaking I've been working on lately.
>
> John Huddleston wrote:
> >
> > To Grass list,
> >
> > There is a new build of the grass5 binaries for Windows
> > NT running the Cygwin shell. It is over 33MB. (Markus,
> > it is already uploaded, name grass-000821.zip)
> >
> > Every time I rebuild I try to add more of the code. This
> > build includes most of grass5 from the cvs with some
> > small exceptions such as rim, postgres, etc.
> >
> > John Huddleston, P.E.
> > Computer Engineer
> > USDA - NRCS
> > John.Huddleston@usda.gov

--
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=+
| Eric B. Mitchell mailto:emitchell@altaira.com |
| tel: (301) 809 - 3534 Altair Aerospace Corporation |
| tel: (800) 7 - ALTAIR 4201 Northview Dr. Suite 410 |
| fax: (301) 805 - 8122 Bowie, MD 20716 |
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=+
              ,___
          /"\ / o=\ /"""---===/
         / \_/ \__/ ---===/
         | //\ || /""TT""/ //\ || ||""\
         | // \ || || // \ || ||__/
         | //--==\ |L--/ || //--==\ || || "=,
          \ ---===/
           \____---===/

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

Hi Eric,

No shared (DLL) libraries are being built. The binaries
both .a and .exe are placed under the /usr/local/grass-5.0b
area as well as all the other support files during the gmake5
process. It builds the same as the Unix build. Except for
executables with .exe, all the files look like Unix files.

I guess the major secret is that I added a Gmakefile in all
the directories where they did not exist. The lines in the
Gmakefile are

all:
    $(MAKEALL)

That's most of it. I ran the testgrass.sh and it passed all
except for the last which was supposed to fail. Actually,
I would like Markus, and others, to add more to the testgrass.sh
to verify that all programs will run.

John Huddleston

----- Original Message -----
From: "Eric Mitchell" <emitchell@altaira.com>
To: <grass5@geog.uni-hannover.de>
Sent: Tuesday, August 29, 2000 8:27 AM
Subject: Re: [GRASS5] Cygwin build of Grass5

John,

Part of the problem is knowing what to check for in the
autoconf part of the make process. Are you building
shared libraries (DLLs)?

Part of my Makefile strategy is to rely on generic rules
that are included from makefiles in a "well-defined"
location. I have fairly generic rules in there, but they
may need tweaking for Cygwin builds. If you have a log
of the build process, I'd love to have it around for
reference, to make sure my generic rules can be tweaked
accordingly.

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

On Mon, Sep 04, 2000 at 09:22:12AM -0600, John Huddleston wrote:

Hi Eric,

No shared (DLL) libraries are being built. The binaries
both .a and .exe are placed under the /usr/local/grass-5.0b
area as well as all the other support files during the gmake5
process. It builds the same as the Unix build. Except for
executables with .exe, all the files look like Unix files.

I guess the major secret is that I added a Gmakefile in all
the directories where they did not exist. The lines in the
Gmakefile are

all:
    $(MAKEALL)

That's most of it.

Eric, John and all,

as the new Makefiles may require a better source code structure,
I would be glad to go for it. Actually I am not too happy with
current code structure! But I am not shure how we can manage
a major restructuring in CVS (John, you will know...).
Shall we check in the restructured GRASS from scratch?

Eric, please send suggestions for a new directory structure.
I already have some ideas, but you already have experience
what's required for the new Makefiles.

I ran the testgrass.sh and it passed all
except for the last which was supposed to fail. Actually,
I would like Markus, and others, to add more to the testgrass.sh
to verify that all programs will run.

.. yes, please add further tests. I have limited time
these days, so you are welcome to add further things.

What could be tested:
- generate raster/vector files, convert to contrary format,
  convert back and compare
- generate synthetic pattern, compare different modules to
  measure perimeter, area, average etc.
- ...

As GRASS is scriptable, we should be able to write a sophisticated
test suite.

Yours

Markus

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

On Mon, Sep 04, 2000 at 09:22:12AM -0600, John Huddleston wrote:
> Hi Eric,
>
> No shared (DLL) libraries are being built. The binaries
> both .a and .exe are placed under the /usr/local/grass-5.0b
> area as well as all the other support files during the gmake5
> process. It builds the same as the Unix build. Except for
> executables with .exe, all the files look like Unix files.

as the new Makefiles may require a better source code structure,
I would be glad to go for it. Actually I am not too happy with
current code structure!

Hear, hear!!

Eric, please send suggestions for a new directory structure.
I already have some ideas, but you already have experience
what's required for the new Makefiles.

I tried rearranging the code and makefiles recently to build Win32 DLL's for
each sub-directory of the libes directory because I wanted to be able to use
the Grass library with Moscow ML. Most of the transition went smoothly but
I gave up on the various subdirectories in vect32, which are interdependent.

Win32 DLL's need to have all references resolved at link time which is not
the case for Unix so those interdependencies need to be eliminated, or
vect32 needs to be built as one big DLL rather than separate ones as the
current arrangement dictates.

I posted a couple of emails about this recently but got no response. I
realise that DLL's are of no interest for normal GRASS development, so these
comments may not be relevant, but just in case....

Cheers

Mike Thomas.

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

On Tue, Sep 05, 2000 at 08:03:01AM +1000, Mike Thomas wrote:

> On Mon, Sep 04, 2000 at 09:22:12AM -0600, John Huddleston wrote:
> > Hi Eric,
> >
> > No shared (DLL) libraries are being built. The binaries
> > both .a and .exe are placed under the /usr/local/grass-5.0b
> > area as well as all the other support files during the gmake5
> > process. It builds the same as the Unix build. Except for
> > executables with .exe, all the files look like Unix files.

> as the new Makefiles may require a better source code structure,
> I would be glad to go for it. Actually I am not too happy with
> current code structure!

Hear, hear!!

> Eric, please send suggestions for a new directory structure.
> I already have some ideas, but you already have experience
> what's required for the new Makefiles.

I tried rearranging the code and makefiles recently to build Win32 DLL's for
each sub-directory of the libes directory because I wanted to be able to use
the Grass library with Moscow ML. Most of the transition went smoothly but
I gave up on the various subdirectories in vect32, which are interdependent.

Win32 DLL's need to have all references resolved at link time which is not
the case for Unix so those interdependencies need to be eliminated, or
vect32 needs to be built as one big DLL rather than separate ones as the
current arrangement dictates.

I posted a couple of emails about this recently but got no response. I
realise that DLL's are of no interest for normal GRASS development, so these
comments may not be relevant, but just in case....

Mike,

please don't give up! :slight_smile: I suggest you put all your comments into
a file "windows_dll.txt" and store it in CVS in
/documents/windows_dll.txt

I would be glad if your comments are stored there. If required
I can put this file into CVS for you.

Probably we add another file: "new_code_structure.txt" or similar?

Yours

Markus

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

My only suggestions for easier Makefile reworking:

- source for either a library or executables (or scripts) in
  each individual directory

- "branch" nodes in the directory tree contain no source

- only "leaf" nodes in the directory tree contain any source

There has been talk of dividing grass into modules somehow,
e.g. a "base" module, a "raster/vector" module, the NVIZ
module, etc. What would make sense as far as submodules
for dividing grass?

> > as the new Makefiles may require a better source code structure,
> > I would be glad to go for it. Actually I am not too happy with
> > current code structure!
>
> Hear, hear!!
>
> > Eric, please send suggestions for a new directory structure.
> > I already have some ideas, but you already have experience
> > what's required for the new Makefiles.

-- ebm
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=+
| Eric B. Mitchell mailto:emitchell@altaira.com |
| tel: (301) 809 - 3534 Altair Aerospace Corporation |
| tel: (800) 7 - ALTAIR 4201 Northview Dr. Suite 410 |
| fax: (301) 805 - 8122 Bowie, MD 20716 |
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=+
              ,___
          /"\ / o=\ /"""---===/
         / \_/ \__/ ---===/
         | //\ || /""TT""/ //\ || ||""\
         | // \ || || // \ || ||__/
         | //--==\ |L--/ || //--==\ || || "=,
          \ ---===/
           \____---===/

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

Hi Markus.

please don't give up! :slight_smile: I suggest you put all your comments into
a file "windows_dll.txt" and store it in CVS in
/documents/windows_dll.txt

I would be glad if your comments are stored there. If required
I can put this file into CVS for you.

Probably we add another file: "new_code_structure.txt" or similar?

Sounds good. I'm trying to avioid the computer for a week due to neck
problems so I'll do it then.

Yours

Markus

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write

to:

minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'