Does OOC on Win32 use Mingw32? 
Author Message
 Does OOC on Win32 use Mingw32?

I noticed that oo2c on win32 apparently needs the Cygnus tools
to run. I was wondering if it used the -mno_cygwin switch to
gcc to avoid the cygwin library. Considering that the cygwin
library is not thread-safe and is a security hole, I think that
the mingw32 libs would be the best to use here.

Also, is there a version that is preconfigured for LCC-Win32,
seeing as oo2c generates ansi C, not Gnu C? I'd rather not
install the Cygnus tools at all if I could; they're too big,
they put files all over the place, and I already have good
native versions of all the unix tools I need.

Also :), has anyone tried oo2c with DJGPP? It has support for
autoconf, automake, configure, bash, and so on. I'd be willing
to test it if anyone's interested.




Wed, 29 Aug 2001 03:00:00 GMT  
 Does OOC on Win32 use Mingw32?

Quote:

> I noticed that oo2c on win32 apparently needs the Cygnus tools
> to run. I was wondering if it used the -mno_cygwin switch to
> gcc to avoid the cygwin library. Considering that the cygwin
> library is not thread-safe and is a security hole, I think that
> the mingw32 libs would be the best to use here.

I agree. The mingw32 environment is preferable.

There are two main reasons for using the cygnus tools:

1) They include autoconf, bash, sed, and various other utilities that
are used to build the OOC compiler itself.

2) The existing run-time library uses a couple of POSIX functions which
work properly under cygwin but are not supported in most Windows C
environments (including mingw32).

By removing the problematic run-time functions I have had OOC running
under mingw32. In fact, it ran under mingw32 before it ran under cygwin
(due to some problems with task synchronisation under cygwin/b18). A
proper mingw32 port (as opposed to the hack that I did) should be quite
easy. I'm currently working on a translator for generating interface
modules from C header files. This has been used to generate a Win32
interface, which means that any modules that need to access the native
Win32 API can now be written in Oberon-2.

Quote:
> Also, is there a version that is preconfigured for LCC-Win32,
> seeing as oo2c generates ansi C, not Gnu C? I'd rather not
> install the Cygnus tools at all if I could; they're too big,
> they put files all over the place, and I already have good
> native versions of all the unix tools I need.

When I checked, the garbage collector appeared not to work under
lcc-win32 :-(  Perhaps this has changed in later releases of the GC
(http://reality.sgi.com/boehm_mti/gc.html).

Quote:
> Also :), has anyone tried oo2c with DJGPP? It has support for
> autoconf, automake, configure, bash, and so on. I'd be willing
> to test it if anyone's interested.

Yes oo2c will run under DJGPP. As an experiment I cross-compiled it
using djgpp under Linux. With a little tinkering, the resulting compiler
ran fine under MS/DOS 5, and seemed to be able to compile most of its
own libraries and a few test programs that I wrote. The compiler itself
would probably not compile under DOS because of the 8.3 file name
restrictions. Several files in the distribution need more than 8
significant letters, or have multiple dots.

It might even be possible to port Visual Oberon to such an environment
using GRX, or JLib.

- Stewart



Thu, 30 Aug 2001 03:00:00 GMT  
 Does OOC on Win32 use Mingw32?
[a question about oo2c with Cygwin and Mingw32]

Quote:
>I agree. The mingw32 environment is preferable.

>There are two main reasons for using the cygnus tools:

>1) They include autoconf, bash, sed, and various other utilities that
>are used to build the OOC compiler itself.

>2) The existing run-time library uses a couple of POSIX functions which
>work properly under cygwin but are not supported in most Windows C
>environments (including mingw32).

>By removing the problematic run-time functions I have had OOC running
>under mingw32. In fact, it ran under mingw32 before it ran under cygwin
>(due to some problems with task synchronisation under cygwin/b18). A
>proper mingw32 port (as opposed to the hack that I did) should be quite
>easy. I'm currently working on a translator for generating interface
>modules from C header files. This has been used to generate a Win32
>interface, which means that any modules that need to access the native
>Win32 API can now be written in Oberon-2.

Have these changes been added to the main distribution, perhaps in
#ifdef's? Have you added the option -mno_cygwin to the default gcc
switches or do I need to change the configure script?

Cygwin b20 and above include the mingw32 libraries (you use them
when you use the switch -mno_cygwin) so you can have the best of
both worlds, the Cygwin tools (bash, sed, etc.) and the mingw32
libraries whenever you install Cygwin.

Quote:
>When I checked, the garbage collector appeared not to work under
>lcc-win32 :-(  Perhaps this has changed in later releases of the GC
>( http://reality.sgi.com/boehm_mti/gc.html ).

Speaking of which, what's the status of the Oberon-2 collector?
Can we adapt the collector from Native or Active Oberon?

Quote:
>Yes oo2c will run under DJGPP. As an experiment I cross-compiled it
>using djgpp under Linux. With a little tinkering, the resulting compiler
>ran fine under MS/DOS 5, and seemed to be able to compile most of its
>own libraries and a few test programs that I wrote. The compiler itself
>would probably not compile under DOS because of the 8.3 file name
>restrictions. Several files in the distribution need more than 8
>significant letters, or have multiple dots.

Good to hear! Since I work in Win98 (no choice, to my regret), 8.3
filenames are no limitation to me. Again, have you added the changes
to the main distribution or will I have to redo your efforts?

Quote:
>It might even be possible to port Visual Oberon to such an environment
>using GRX, or JLib.

Sounds like fun!




Fri, 31 Aug 2001 03:00:00 GMT  
 Does OOC on Win32 use Mingw32?

Quote:


> >By removing the problematic run-time functions I have had OOC running
> >under mingw32. In fact, it ran under mingw32 before it ran under cygwin
> >(due to some problems with task synchronisation under cygwin/b18). A
> >proper mingw32 port (as opposed to the hack that I did) should be quite
> >easy. I'm currently working on a translator for generating interface
> >modules from C header files. This has been used to generate a Win32
> >interface, which means that any modules that need to access the native
> >Win32 API can now be written in Oberon-2.

> Have these changes been added to the main distribution, perhaps in
> #ifdef's? Have you added the option -mno_cygwin to the default gcc
> switches or do I need to change the configure script?

> Cygwin b20 and above include the mingw32 libraries (you use them
> when you use the switch -mno_cygwin) so you can have the best of
> both worlds, the Cygwin tools (bash, sed, etc.) and the mingw32
> libraries whenever you install Cygwin.

The oo2c distribution is targeted at Unix systems (or Unix wannabes
like CygWin32).  For more esoteric systems there should be a different
distrib, because I don't want to put workarounds for all the strange
systems into the main distrib.  Most likely the difference between
oo2c/Unix and oo2c/mingw32 will be only in the low-level and
installation stuff (which have a very low update frequency), so I
could add the necessary diff file the main distrib.

I won't maintain the non-Unix version nor the diff, though :-))

-- Michael van Acken



Fri, 31 Aug 2001 03:00:00 GMT  
 Does OOC on Win32 use Mingw32?

Quote:
>The oo2c distribution is targeted at Unix systems (or Unix wannabes
>like CygWin32).  For more esoteric systems there should be a different
>distrib, because I don't want to put workarounds for all the strange
>systems into the main distrib.

DJGPP is the other standard "Unix wannabe" for the PC, and the only
one for DOS. It is Posix compliant, free, uses the gnu tools, runs
autoconf and configure, and is one of the best compilers for 32bit
DOS programs. If you insist that oo2c be built on a computer with
long filename support like Win9x or Linux, only minimal changes
need be made. Most of these changes could be done with autoconf,
the rest are portable. Boehm's GC already works on djgpp (something
you can't say about some Unixes and versions of Cygwin). Libtool
probably doesn't. I can even put prebuilt binary versions in the
djgpp archive for all to use, if only I got a little help here.
I've already begun the work, although I hear Stewart Greenhill

work already, but not said how.

Quote:
>I won't maintain the non-Unix version nor the diff, though :-))

I have little experience with autoconf, automake or rcs. With some
help I should be able to do the port, but I would need help putting
it in the main oo2c distribution. Your help.

Quote:
>-- Michael van Acken




Sat, 01 Sep 2001 03:00:00 GMT  
 
 [ 7 post ] 

 Relevant Pages 

1. Compiling Python 2.x with MinGW32 on Win32?

2. Mingw32 modules (was: "win32: cygwin modules")

3. libpython20.a for building extensions using mingw32

4. Tcl/Tk 8.0.3 patches for Mingw32 using EGCS

5. Win32 extensions using the .NET SDK and the Win32 Platform SDK

6. OOC

7. XML Library 3.0 for OOC

8. Where is OOC?

9. OOC Homepage

10. OOC Library - A legal loophole!

11. OOC Library should be LGPL

12. What happened to OOC page?

 

 
Powered by phpBB® Forum Software