gcc3's fault. Worse, programs got built against the wrong
(main tree) libgcc.
Now that this is fixed, set a netbsdelf2.0 target on -current,
to get both thread support and crt*.o files.
Also, use the usual buildlink magic to avoid picking up
a GNU pth from /usr/pkg.
pkgsrc/mail/imap-uw builds with a gcc3 set up this way.
_GCC_ARCHSUBDIR, which happens to be the location of
libgcc.
This makes the buildlink stuff work independantly of
the exact GNU_PLATFORM gcc3 was compiled for.
The OpenJIT project is an ongoing Java[tm] the programming language JIT
compiler project as a collaborative effort between Tokyo Institute of
Technology and Fujitsu Laboratory, partly sponsored by the Information
Promotion Agency of Japan.
OpenJIT is a "reflective" JIT compiler in that not only it is almost
entirely written in Java, but also that it bootstraps and compiles
itself during execution of the user program, and compiler components
coexist as first-class objects in user heap space.
This was imported from wip/jdk-openjit, provided by Todd Vierling
<tv at pobox dot com> with some minor changes by me.
If NetBSD and /usr/include/pthread.h is present, add --enable-threads to
configure arguments. Could set --host=i386--netbsdelf2.0 instead, but that
causes many other packages (eg: mail/imap-uw) to fail to link with
'/usr/bin/ld: cannot find -lgcc_eh'
even when they
.if defined(USE_GCC3)
. include "../../lang/gcc3/buildlink2.mk"
.endif
With this change a 1.6U/i386 machine can build mozilla with gcc3.
* Rename PERL5_DIST_VERS to PERL5_VERS so that the variable name is more
accurate.
* Make it easier to test perl5 snapshots using the existing perl5 package
(just to make my life simpler). Now we simply define PERL5_SNAPSHOT to
the perl snapshot version and set PERL5_VERS to the appropriate version
number for the release candidate for the next release of perl5.
Version 1.33
Charles Hayden fixed a nasty GC bug of the new stack frame, while in
the process of porting TinyScheme to C++. He also submitted other
changes, and other people also had comments or requests, but the GC
bug was so important that this version is put through the door to
correct it.
Version 1.32
Stephen Gildea put some quality time on TinyScheme again, and made
a whole lot of changes to the interpreter that made it noticeably
faster.
* For consistency use SYS_bsd for system type
on powerpc. We differ from SYS_elf (presumably Linux) on
a few points here anyway.
* Fix signal handling on powerpc which caused a
seg fault when compiling native code version of coq.
* Install ocamllex.opt, camlp4o.opt and camlp4r.opt too.
libgcc.a isn't linked "whole archive" into the perl executable on newer
NetBSD systems (>1.5.x). Newer NetBSD systems have libgcc_pic.a linked
into shared libraries, so this hack isn't needed. This change was tested
by building and testing textproc/xerces-p, a C++ perl5 module that uses
functions in libgcc.a.
now and not NetBSD-*-arm32. Changes include one or more of:
- Change MACHINE_ARCH == arm32 to also match arm
- Where ONLY_FOR_PLATFORM includes NetBSD-*-arm32, add NetBSD-*-arm
- Where BROKEN or worked around for arm gcc bugs, set USE_GCC3
The last may shake out a few more broken packages the next bulk build.
and ensure that the built compiler uses it. This fixes a problem reported by
abs compiling perl, among other things. Apparently, gcc-3.3 triggers a bug in
gas:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10877
Bump ${PKGREVISION}.
This is a bugfix release.
Also, use the LINK_ALL_LIBGCC_HACK just introduced to link the
interpreter against libgcc. This should fix PR pkg/16144 in the
Python2.2 (and NetBSD-1.5) case.
Notable changes in this latest version are listed here. Some code
cleanup work and documentation editing has also been done.
256-color limit removed
Icon's X-windows interface previously limited each window to 256
colors at one time. This limitation has been removed for the TrueColor
displays provided by most modern computers. Median-cut quantization is
used to select 256 image colors when WriteImage() is called to write a
GIF file.
Library changes
As usual, several files in the Icon program library have been added or
edited. The core library files, however, remain stable.
Minor changes
* The command "icon - [args]" can now be used to execute a source
program read from standard input.
* A new "icont -N" flag suppresses embedding of an iconx path in the
generated executable
* The configuration directory has been restructured.
* Several obsolete configurations have been removed.
* The environment variables HEAPSIZE and BLOCKSIZE no longer
function as undocumented alternatives to BLKSIZE. The GNU ls
utility uses BLOCKSIZE for other purposes, leading to confusion.
* "make Install" has been changed to never delete anything. It now
creates a new directory rather than altering an existing one.
C and Pascal.
* Remove dependencies on gmp, rx, ncurses. They're not needed for
general Pascal programming, only for some of the units, and
can be installed later if required.
* Bump PKGREVISION.
of libc functions. Otherwise, it dies when libpthread.so is dynamically
loaded by dl_open(3).
Supposed to fix PR21522, Gnucash dies on startup.
Bump revision to 2.
libstdc++ in gcc3.
when defined, USE_GCC_SHLIB ensures that the correct rpath is passed
to the linker, and a full dependency on the compiler package is
registered.
packages which define USE_GCC_SHLIB should not include
mk/gcc.buildlink2.mk (or gcc{,3}/buildlink2.mk) as it is handled
automatically.
we install them into a private directory under the the normal Perl
installation and configure Perl so that site-specific Perl man3 pages
are installed into a private directory within site_perl. This avoids
manpage conflicts between 3rd-party modules, the standard Perl library,
and other packages.
The changes implement some unfinished work that is alluded to in the
MakeMaker.pm module by allowing "installsiteman{1,3}dir" to be set
during the configuration process and are used to provide default values
for INSTALLSITEMAN{1,3}DIR during the Perl module build/install process.
Bump PKGREVISIONs for lang/perl5 and lang/perl58.
platforms, and remove the related Solaris MESSAGE and PLIST.
prevents gcc from always searching ${PREFIX}/{include,lib} for
include files and libraries which breaks buildlink2, preventing
some packages from being built, depending on what is already
installed.
noted by Mark Davies and others, and address my PR pkg/21122.
bump PKGREVISION.
note: if you update to this version, be sure to rebuild libtool-base
since the path to crti.o, crtbegin.o, etc is hardcoded in libtool at
compile-time.
Tested on NetBSD-current and Solaris 9.
Caveats
* The preprocessor no longer accepts multi-line string literals.
They were deprecated in 3.0, 3.1, and 3.2.
* The preprocessor no longer supports the -A- switch when appearing
alone. -A- followed by an assertion is still supported.
* Support for all the systems obsoleted in GCC 3.1 has been removed
from GCC 3.3.
* Checking for null format arguments has been decoupled from the rest
of the format checking mechanism. Programs which use the format
attribute may regain this functionality by using the new nonnull
function attribute. Note that all functions for which GCC has a
built-in format attribute, an appropriate built-in nonnull attribute
is also applied.
* The DWARF (version 1) debugging format has been deprecated and will
be removed in a future version of GCC. Version 2 of the DWARF
debugging format will continue to be supported for the foreseeable
future.
* The C and Objective-C compilers no longer accept the "Naming Types"
extension (typedef foo = bar); it was already unavailable in C++.
Code which uses it will need to be changed to use the "typeof"
extension instead: typedef typeof(bar) foo. (We have removed this
extension without a period of deprecation because it has caused
the compiler to crash since version 3.0 and no one noticed until
very recently. Thus we conclude it is not in widespread use.)
* The -traditional C compiler option has been removed. It was
deprecated in 3.1 and 3.2. (Traditional preprocessing remains
available.) The <varargs.h> header, used for writing variadic
functions in traditional C, still exists but will produce an error
message if used.
New Targets and Target Specific Improvements [trimmed for length and
relevance to NetBSD]
* The SPARC, HP-PA, SH4, and x86/pentium ports have been converted
to use the DFA processor pipeline description.
* The following NetBSD configurations for the SuperH processor family
have been added:
o SH3, big-endian, sh-*-netbsdelf*
o SH3, little-endian, shle-*-netbsdelf*
o SH5, SHmedia, big-endian, 32-bit default, sh5-*-netbsd*
o SH5, SHmedia, little-endian, 32-bit default, sh5le-*-netbsd*
o SH5, SHmedia, big-endian, 64-bit default, sh64-*-netbsd*
o SH5, SHmedia, little-endian, 64-bit default, sh64le-*-netbsd*
* The following changes have been made to the IA-32/x86-64 port:
o SSE2 and 3dNOW! intrinsics are now supported.
o Support for thread local storage has been added to the IA-32
and x86-64 ports.
o The x86-64 port has been significantly improved.
The full list of changes can be found at:
http://gcc.gnu.org/gcc-3.3/changes.html
use an old or non-compatible version that may be in the base system.
This makes this package install flawlessly under Linux, and even though it does
not directly address PR pkg/20880 (which I could not reproduce), it covers
similar problems.
The following method overrides "libgcc_link_spec" in the generated specs
file, which gives you a compiler that automatically inserts the correct
rpath argument at link time. This should work for any pkgsrc target
platform, as no platform-specific config overrides it.
Additionally, part of this fix changes the "scrubbed" LDFLAGS by
overriding that in CONFIGURE_ENV, rather than globally. Other changes to
the pkgsrc Makefile (including one I plan to submit for threads support)
may need access to the "real" LDFLAGS, so overriding it wholesale in the
pkg Makefile is Bad.
Bump version to 3.2.2nb2.
Package changes:
Put documentation in the canonical pkgsrc directories.
Add test target support.
Gmake is not needed anymore.
Things changed in release 1.0:
- Many bugfixes
- Declaration specifier `compress-literals' and compiler-option
`-compress-literals N'
- Chicken now compiles on OpenBSD [Thanks to Steve Elkins]
- `library' unit:
(chicken-version)
- A new version of the portable syntax-case macro system is now used, which
provides `identifier-syntax', `fluid-let-syntax' and `datum->syntax-object',
allows low-level macros (`define-macro') in combination with hygienic
macros and supports the module system used in Chez Scheme (but does not
handle separate compilation)
- The syntax `(define-syntax (name var) ...)' is allowed
- Chicken supports now SRFI-37 officially (A new library unit named `srfi-37'
has been added)
- The old module system has been removed. It was rather hackishly implemented
and didn't integrate well with the highlevel macro system
- The scheduler and the threading system have been massively overhauled
and scale a little better
- The pattern-matcher is now available in combination with the highlevel
macro system, enter `(include "match")' or `(require-for-syntax 'match)'
to make it available
- SRFI-22 script interpreters `scheme-chicken' and `scheme-chicken-hygienic'
have been added
- Compiled `#!' scheme scripts with an invocation line of `csi -script' or
`scheme-chicken'/`scheme-chicken-hygienic' automagically link with all
libraries which would normally be available under the interpreter.
- Type-checks of fixed size objects are slightly more efficient
- Extension-libraries can now be stored alternatively in a directory given
by the CHICKEN_REGISTRY environment variable or in `$HOME/.chicken-registry'
- The new library unit `tcp' provides a PLTish socket interface,
`tcp-accept' and I/O from socket ports do not block other running threads
- The new compiler/interpreter option `-strict-letrec' enables a fully R5RS
compliant expansion of `letrec'
- Chicken should now pass all tests of Scott G. Millers `r5rs_pitfalls.scm'
- Jonah Beckford ported SWIG (<http://www.swig.org>) to Chicken!
Check out a preliminary version at
<http://beckford.netfirms.com/hobbies/swig/>
- On Windows (Cygwin, Mingw32 and MSVC), CHICKEN now supports shared libraries
and dynamic loading. Many thanks to Jonah Beckford for his tremendous work!
Things changed in release 0.1082:
- Bugfixes.
- Support for SRFI's 26 (cut) and 30 (block comments).
- Peter Keller translated the manual into LaTeX. Pdf and html
documentation is available.
- Peter Keller has contributed a comprehensive testing framework
(fully R5RS compliant).
- Declaration specifiers:
export
compile-time-macros-only
- Library unit `extras':
hash-table-remove!
->string
- Library unit `posix':
sleep
- Library unit `lolevel':
pointer-offset
pointer-u8-ref pointer-u8-set!
pointer-s8-ref pointer-s8-set!
pointer-u16-ref pointer-u16-set!
pointer-s16-ref pointer-s16-set!
pointer-u32-ref pointer-u32-set!
pointer-s32-ref pointer-s32-set!
pointer-f32-ref pointer-f32-set!
pointer-f64-ref pointer-f64-set!
- Dynamic loading is now supported on older HP-UX systems that
provide `shl_load()' instead of `dlopen()'
(Thanks to Tony Garnock-Jones)
- Error messages have been (slightly) improved.
- A system for simplified packaging, building and installation
of extension-libraries (based on shared libraries) is now provided.
- New data type `locatives' allow to create pointers into arbitrary
sections of various kinds of Scheme data objects.
- So called `locations' simplify passing pointers to local or global
Scheme variables to foreign procedures.
- FFI-generated code is a little bit more compact and efficient.
- Chicken supports alternative keyword syntaxes (CL/DSSSL) via the
compiler/interpreter option `-keyword-style' and the parameter
`keyword-style'
- `define-record-printer' now handles SRFI-9 record types.
- The regex-libraries now allow the creation of precompiled regular
expressions (new procedures `regexp' and `regexp?').
Changes:
* (Compiler) Initial support for parametric types.
* (Compiler) New option `--uses <ext-ident>' lists uses of the
declaration <ext-ident>. Scope of the search is the transitive
closure of all modules given on the command line.
* (Compiler) New option `--all' or `-A'. When used with `--make',
rebuild all modules for which sources are available.
* (IO:Select) Fix `Init' to call base type initializer as well.
Notable changes include:
* Dynamic loading now works on NetBSD ELF systems.
* Integration of SRFI-9 (records)
* Accepts mailto: links in the browser
* <Scroll-Frame>, <Toolbar> STklos classes.
* Integration of some finals SRFI (0, 2, 6, 8)
* define-syntax (but not let-syntax and let-syntax*)
* New License Policy (request for commercial apps no more needed).
* A console mode (which is used by default on Windows, but can
be used with the -console option on Unix)
* A new editor with Scheme fontification and indentation
* New kind of ports: virtual ports
* All the code dealing with files has been rewritten.
* Tk level is 8.0.3 (the latest stable Tk release)
* New STklos Classes:
+ <Hierarchy-tree> and <Hierarchy-item> to draw
hierarchy such as files/directories, class/metaclasses ...
+ <Notepad> to define ... notepads
+ <Scheme-text> which extends <Text> to "font-lockify"
Scheme buffers
* Method and generic function editor
* A class browser (type "(class-browser)" to access it)
* some new manual pages
* Base64 Encoding/Decoding extension
* Locale extension to treat strings and character using locale information
* Better installation scripts (+ some corrections)
* Lot of bug fixes.
# New code generation engine: The new code generation engine is the core of
the Mono JIT, and now also features a code pre-compiler.
# Runtime: Mono now provides the GC system with object maps, providing better
collection and improving applications speed. Also debugging information
works across application domains.
# ASP.NET: WebForms parser has been rewritten.
# Remoting: Plenty of updates to the remoting infrastructure.
# C# compiler: Various speed improvements, plus support for C# 2.0 iterators.
# XML: XML deserialization, RELAX NG validating XmlReader, improved
XmlNodeReader, XmlTextReader non-UTF8 stream support by default, plus a
primitive DTD parser.
# Windows.Forms: Lots of updates, and System.Drawing progress.
# Globalization: Data files for supporting the various cultures are in,
Chinese encoding support.
# New tools: Binding generator for C programs, security tools, mono-xsd.
# Ongoing development: ILASM, JScript, Soap, XmlSerialization.
# Mono Basic: Many improvements.
# Security: Uses new BigInteger, many new classes.
# 152 bugs closed, 3397 individual CVS commits.
The full announcement and list of changes can be found at:
http://www.gnomedesktop.org/article.php?sid=1104
in subdirectory and need to execute setup.py in that directory, but
still need WRKSRC set to the base directory for configure/patch targets
to handle this, add PYSETUPSUBDIR variable (default empty), and
change do-build+do-install targets to use working directory
${WRKSRC}/${PYSETUPSUBDIR} when executing setup.py
So we get native threads on -current in the default case.
The stacksize bug is still annoying. To survive the selftests, we'd
have to limit the recursion depth to 13. But then, people trying the
first recursive function would be disappointed if they can't even
calculate fac(15)...
Otoh, add-ons like py-gtk and py-wxwindows pull in dynamic libraries
which require libpthread, so we have to cope with it somehow.
In short, OOC is an Internet based project providing an Oberon-2
development platform. It consists of
* an optimizing compiler,
* a number of source code and compiler related tools,
* a set of standard library modules, and
* a reference manual.
oo2c is the first complete working compiler of the OOC project.
Instead of translating Oberon-2 modules to machine code, it generates
code for the most portable assembler in existence: ANSI-C. The
compiler was initially intended as a prototype backend for OOC, which
could then be used to evaluate and debug the frontend and the
optimization modules. However, it is now a full-fledged development
system, and among other things, it is being used to develop native
code OOC backends.
with some minor modifications by me.
Yabasic implements the most common and simple elements of the basic language;
It comes with goto/gosub, with various loops, with user defined subroutines
and Libraries. Yabasic does monochrome line graphics and printing.
Yabasic runs under Unix and Windows; it is small (around 200KB) and free.
Changes to the Mercury language:
* Support for constrained polymorphic modes.
* Addition of state variable syntax.
* Improved support for higher-order functions.
* Predicate and function equivalence type and mode declarations.
* Support for defining predicates or functions
using different clauses for different modes.
* Support for Haskell-like "@" expressions.
* Generalized foreign language interface.
Changes to the Mercury compiler:
* A new `--make' option, for simpler building of programs.
* A new `--smart-recompilation' option, for fine-grained dependency tracking.
* A new optional warning: `--warn-non-tail-recursion'.
* A new optimization: `--constraint-propagation'.
* A new optimization: `--loop-invariants'.
* Support for arbitrary mappings from module name to source file name.
Portability improvements:
* Mac OS X is now supported "out-of-the-box".
* On Windows we now support generating non-Cygwin executables.
* Better conformance to ANSI/ISO C.
Changes to the compiler back-ends:
* The native code Linux/x86 back-end is now "release quality".
* The .NET CLR back-end is much improved.
Major improvements to the Mercury debugger, including:
* Support for source-linked debugging using vim (rather than emacs).
* Command-line completion.
* Ability to display values of higher-order terms.
* Declarative debugging.
* Support for transparent retries across I/O.
A new profiler, which we call the Mercury deep profiler or mdprof:
* Supports both time and memory profiling.
* Gathers information about individual call sites as well as procedures.
* Eliminates the assumption that all calls to a procedure have equal cost.
* Allows users to explore the gathered data interactively with a web browser.
Numerous minor improvements to the Mercury standard library.
A new testing tool in the extras distribution.
Changes since 13-1.0.7:
- A de-serialized GregorianCalendar did not correctly handle the
Calendar.set(int field, int value) method.
- Java Plug-in Security Warning dialog did not show buttons.
- java.beans.Introspector returned results depending on the order
that classes were loaded by the Virtual Machine.
- A help viewer search would sometimes yield NullPointerExceptions,
and search hit highlighting was unstable.
- The "~" character was not properly displayed in an HTML file
using the SJIS character set.
- There was a system crash generating a Fatal: unhandled ci exception.
- Plugin regional locale parameters were incorrectly displayed.
- The VM crashed while running a large application.
- An application ignored the nohup(1) command, caught and processed
the SIGHUP signal, resulting in application exit with a return code
of 129.
- In some cases, the text field caret did not return when window
focus was moved and then restored.
- SIGSEGV during C2 compilation of a method.
- System crashed with hotspot errors.
- Plug-in crashed when the ethernet cable was unplugged.
- Signed applet failed only on JRE 1.3.1_06.
- System crashed when attempting to widen the range check of an IF
node during compilation.
- The background color of a Menu was different from that of the
MenuBar for classic style.
- Application crashed due to problems in JVM/plug-in/Mozilla.
- Serviceability is improved by exposing VM version and flags to
Serviceability Agent.
- Double primitive lost value when using -client.
- White background persisted when applet exited to a different web
page.
- An applet could access a local resource without permission on
IE60+JRE1.3.1_06.
Erlang is a programming language which has many features more commonly
associated with an operating system than with a programming language:
concurrent processes, scheduling, memory management, distribution,
networking, etc.
The initial open-source Erlang release contains the implementation of
Erlang, as well as a large part of Ericsson's middleware for building
distributed high-availability systems.
* Changes from version 4.0 to 5.0
-------------------------------
Language:
+ lexical scoping.
+ Lua coroutines.
+ standard libraries now packaged in tables.
+ tags replaced by metatables and tag methods replaced by metamethods,
stored in metatables.
+ proper tail calls.
+ each function can have its own global table, which can be shared.
+ new __newindex metamethod, called when we insert a new key into a table.
+ new block comments: --[[ ... ]].
+ new generic for.
+ new weak tables.
+ new boolean type.
+ new syntax "local function".
+ (f()) returns the first value returned by f.
+ {f()} fills a table with all values returned by f.
+ \n ignored in [[\n .
+ fixed and-or priorities.
+ more general syntax for function definition (e.g. function a.x.y:f()...end).
+ more general syntax for function calls (e.g. (print or write)(9)).
+ new functions (time/date, tmpfile, unpack, require, load*, etc.).
API:
+ chunks are loaded by using lua_load; new luaL_loadfile and luaL_loadbuffer.
+ introduced lightweight userdata, a simple "void*" without a metatable.
+ new error handling protocol: the core no longer prints error messages;
all errors are reported to the caller on the stack.
+ new lua_atpanic for host cleanup.
+ new, signal-safe, hook scheme.
Implementation:
+ new license: MIT.
+ new, faster, register-based virtual machine.
+ support for external multithreading and coroutines.
+ new and consistent error message format.
+ the core no longer needs "stdio.h" for anything (except for a single
use of sprintf to convert numbers to strings).
+ lua.c now runs the environment variable LUA_INIT, if present. It can
be "@filename", to run a file, or the chunk itself.
+ support for user extensions in lua.c.
sample implementation given for command line editing.
+ new dynamic loading library, active by default on several platforms.
+ safe garbage-collector metamethods.
+ precompiled bytecodes checked for integrity (secure binary dostring).
+ strings are fully aligned.
+ position capture in string.find.
+ read('*l') can read lines with embedded zeros.
Lua is a powerful, light-weight programming language designed for
extending applications. Lua is also frequently used as a
general-purpose, stand-alone language.
GHC documentation for details.
The most import change is that this package (which has been broken since the
conversion from a.out to ELF) has been re-ported to NetBSD by Urban Boquist,
boquist@crt.se.