[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

oc-971204 & new server (old is invalid), 2nd try



Here are the usual pearls of wisdom from mva:

Bugfixes
========
- sometimes the front-end created a GSA cycle for type guards; this
  sent the scheduler into an infinite loop
- for conditional statements with lots of constants guard module
  GuardCond derived faulty control flow estimates; this in turn could
  cause parts of the conditional statements to disappear
- oo2c sometimes placed the declaration of an extended record into a
  function's parameter list


New
===

The library code has been updated.  Now it supports inter library
dependencies and has additional error checks.  From 1.3.0 on
installation will build a library liboo2c with all standard modules.
Depending on libtool both a shared and a static version are built and
installed.  If shared library of libtool is broken on your machine use
--disable-shared, if it won't work at all use --disable-libs.

Here is a short description on how to build libraries:

A library is defined like this:

  MODULE liboo2c [LIBRARY "oo2c" "0:0:0"; INTERFACE "C"];
  IMPORT ...;
  END liboo2c.

The first string is the library name, the second the version.   It has
the format `CURRENT[:REVISION[:AGE]]'.  Check the info pages of GNU
libtool for details on versioning.

oo2c --make-lib [--lib-path <path>] libfoo.Mod
This will create a library from all modules contributing to `libfoo'
that aren't part of another library already.  Unless specified
otherwise the installation path of the library defaults to the one
used during installation.  You should have write permission to the
destination directory, and it should be visible to the linker
(e.g. through the linker option -L<path>, see "oolibtool -n --finish
x" for other alternatives).

oo2c --install-lib [--config <cfg-file>] [--lib-path <path>] libfoo.Mod
This installs the library in the directory specified with --make-lib.
If you want to link against an uninstalled library you need to set the
"--libtool-link" option.  After installation you can remove the .la
file in the working directory and the subdirectoy .libs.  The
specified path has to be the same you used with --make-lib.  If you
build the lib under a user account and switch to root to install it
you should be aware that this might also change the configuration data
read by oo2c.  If user specific config files are used the list of
searched paths and other stuff might differ.  For this reason you
should explicitly specify a configuration file in this case.  Or
disable parsing of any config file altogether by using `--config ""',
add necessary command line options (if any) and give the full path to
the library module (instead of depending on oo2c to locate the file).

Additional options:
--libtool-cmd <cmd>     name of the libtool script
--install-cmd <cmd>     install command to copy libraries around


There is also a new type of file: for every Oberon-2 library `foo' a
file `foo.Lib' is created.  It's a kind of symbol file for libraries,
listing the library name, version, installation path, base libraries,
and modules.  I suggest you place in the same directory as your .Sym
files.  Btw: you should remove any old symbol files after installing
1.3.0 .


We are moving!
==============

The primary OOC ftp server is shut down.  Due to administrative
problems we can only move the files over to a http server.  This means
you need a http browser or a tool like GNU wget to get the latest
files.  We cannot update the files on cognac anymore.  For the moment
uploads of large files should be done on cognac (one of the incoming
directories, if ooc/incoming isn't there use the top-level Incoming)
and you should notify Juergen of this (see below for email address).
Smaller files can be sent to Juergen by email.

The URL of the new file server is
  http://www.uni-kl.de/OOC/files.html
NOTE: For now this is a rather simple interface which will improve in
      time.

The new location of the OOC home page is
  http://www.uni-kl.de/OOC/

Please report any wrong link in the pages to "jnzimmer@informatik.uni-kl.de",
so Juergen can correct the pages as soon as possible.


Files on the http server are updated twice a day at 11 AM and 11 PM local
time.  This means there will be some delay from the usual annoucements
until the files actually appear on the server.

Guy will try to mirror the files on his ftp server at
ftp://ftp.math.tau.ac.il/pub/guy/ooc .  If you can't live without ftp
use this address.  Btw: an additional mirror in the vincinity of the
US backbone would be a nice thing.  Could someone from the US set up
such a beast?

The email address oberon1@informatik.uni-kl.de is invalid by now.
Instead use 
  Juergen Zimmermann <jnzimmer@informatik.uni-kl.de>
or
  Michael van Acken <acken@informatik.uni-kl.de>
as contact address for oo2c and o2c (remember: o2c is no longer
maintained).  You'll get a faster response from Juergen, but bug
reports should be sent directly to me.

-- mva







The ChangeLog for "ooc"

1997-12-02  Michael van Acken  <acken@informatik.uni-kl.de>

	* frontend/ParseStatm.Mod (MarkSideEffectedVars):
	When calling a procedure which reads/writes
	$mem from within a module body the global variables weren't forced
	into $mem.

1997-11-26  Michael van Acken  <acken@informatik.uni-kl.de>

	* frontend/Parameter.Mod (ParseConfigFile):
	Setting the empty string as name of the
	configuration file (e.g. through env var or cmd line argument)
	disables reading of config file.

	* backend/ansi-c/GenDecl.Mod (Declaration):
	Make sure that a receiver's type is declared before the
	prototype declaration of the procedure, instead of within its
	parameter list.

1997-11-24  Michael van Acken  <acken@informatik.uni-kl.de>

	* backend/ansi-c/GenStatm.Mod: Removed cmd line option --vstack

1997-11-22  Michael van Acken  <acken@informatik.uni-kl.de>

	* backend/ansi-c/doc/Errors.ext: new: 513-515, 602

	* backend/ansi-c/oo2c.Mod:
	Fixed creation/installation of libraries.  Removed path part from cmd
	line options --make-lib/--install-lib.

	* backend/ansi-c/External.Mod: New file.

1997-11-17  Michael van Acken  <acken@informatik.uni-kl.de>

	* backend/ansi-c/lib/__StdTypes.h, backend/ansi-c/StdTypes.Mod:
	Renamed int64 to hugeint to avoid name clashes, e.g. with BeOS.

1997-11-07  Michael van Acken  <acken@informatik.uni-kl.de>

	* optimizers/GuardCond.Mod (Init):
	Fixed a rule that fouled up the derived data for some
	conditional statements with lots of constant expressions in them.


ChangeLog for "oo2c"
Note: Directory parts of files mentioned here refer to the
      OOC source tree, not the shrunk oo2c distribution.

1997-12-02  Michael van Acken  <acken@informatik.uni-kl.de>

	* frontend/ParseStatm.Mod (MarkSideEffectedVars):
	When calling a procedure which reads/writes
	$mem from within a module body the global variables weren't forced
	into $mem.

1997-11-26  Michael van Acken  <acken@informatik.uni-kl.de>

	* frontend/Parameter.Mod (ParseConfigFile):
	Setting the empty string as name of the
	configuration file (e.g. through env var or cmd line argument)
	disables reading of config file.

	* backend/ansi-c/GenDecl.Mod (Declaration):
	Make sure that a receiver's type is declared before the
	prototype declaration of the procedure, instead of within its
	parameter list.





So long,
  Juergen