Slight changes, check compilation on i386.

This commit is contained in:
espie 1998-10-02 18:57:28 +00:00
parent 88322beb2b
commit 41e15dfbeb
30 changed files with 666 additions and 428 deletions

View File

@ -3,7 +3,7 @@
# Date created: 25 sep 98
# Whom: Marc Espie
#
# $OpenBSD: Makefile,v 1.1.1.1 1998/09/25 22:45:26 espie Exp $
# $OpenBSD: Makefile,v 1.2 1998/10/02 18:57:28 espie Exp $
#
# This is a configuration file for egcs, recent snapshot
@ -15,46 +15,48 @@ DISTNAME= egcs-${LATEST}
DISTFILES= egcs-core-${LATEST}${EXTRACT_SUFX}
DISTFILES+= egcs-g++-${LATEST}${EXTRACT_SUFX}
# see files/tests for testing procedure
DISTFILES+=egcs-tests-${LATEST}${EXTRACT_SUFX}
CATEGORIES= lang
MASTER_SITES= ftp://egcs.cygnus.com/pub/${DIRECTORY} \
ftp://ftp.lip6.fr/pub/${DIRECTORY}
MAINTAINER= Marc.Espie@openbsd.org
# Should be CONFIGURE_DEPENDS, if we had it
DEPENDS= ${PORTSDIR}/devel/autoconf:${PORTSDIR}/devel/autoconf
BUILD_DEPENDS= autoconf:${PORTSDIR}/devel/autoconf
ONLY_FOR_ARCHS= i386
# will improve over time as more and more architectures are handled
ONLY_FOR_ARCHS = i386
GNU_CONFIGURE= yes
USE_GMAKE= yes
MAKE_ENV="CFLAGS=-O2"
# don't make bootstrap if you're impatient/you know what you're doing
# use bootstrap-lean if you don't have room.
ALL_TARGET=bootstrap
# should remove --enable-shared for alpha
# use --enable-haifa- on some archs (alpha, sparc, pa-risc)
CONFIGURE_SCRIPT=../source/configure
CONFIGURE_ARGS=--verbose --enable-shared --program-prefix=e
INSTALL_TARGET= install
CONFIGURE_ENV=CFLAGS=-O2
CONFIGURE_ARGS= --prefix=${PREFIX} \
--verbose \
--program-transform-name=s,^,e,
.if (${MACHINE_ARCH} != "alpha")
CONFIGURE_ARGS+=--enable-shared
.endif
# get openbsd configuration files where they should be
post-extract:
cp -R files/* ${WRKSRC}
rm -rf ${WRKSRC}/texinfo
# we should change libstdc++ name so that we will get the right one
post-patch:
CONFIGURE_SCRIPT=../source/configure
cp -R ${FILESDIR}/config/* ${WRKSRC}
rm -rf ${WRKSRC}/texinfo ${WRKSRC}/gcc/ch
# rebuild configure file after patching, then move file around !!!
# XXX: don't try to autoconf the main configure file, it's not autoconf.
# + kludge to build in a separate directory.
pre-configure:
cd ${WRKSRC}/gcc && /usr/local/bin/autoconf
cd ${WRKSRC}/gcc && autoconf
mv ${WRKSRC} ${WRKDIR}/source
mkdir ${WRKSRC}

View File

@ -30,8 +30,13 @@
#undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE 32
/* there are conflicting reports about whether this system uses
a different assembler syntax. wilson@cygnus.com says # is right. */
/* $OpenBSD: openbsd.h,v 1.1 1998/10/02 18:57:29 espie Exp $ */
/* There are conflicting reports about whether this system uses
a different assembler syntax. wilson@cygnus.com says # is right. */
#undef COMMENT_BEGIN
#define COMMENT_BEGIN "#"
#undef ASM_APP_ON
#define ASM_APP_ON "#APP\n"
@ -58,7 +63,7 @@
we want to retain compatibility with older gcc versions. */
#define DEFAULT_PCC_STRUCT_RETURN 0
/* i386 netbsd still uses old binutils that don't insert nops by default
/* i386 openbsd still uses old binutils that don't insert nops by default
when the .align directive demands to insert extra space in the text
segment. */
#undef ASM_OUTPUT_ALIGN

View File

@ -1,19 +1,21 @@
/* $OpenBSD: openbsd.h,v 1.1 1998/10/02 18:57:29 espie Exp $ */
/* OPENBSD_NATIVE is defined when gcc is integrated into the OpenBSD
source tree so it can be configured appropriately when using the
'wrapper' makefile with the GNU configure/build mechanism. The
'wrapper' method and use of OPENBSD_NATIVE is NOT recommended
while building cross-compilers. */
'wrapper' makefile with the GNU configure/build mechanism. The
'wrapper' method and use of OPENBSD_NATIVE is NOT recommended
while building cross-compilers. */
#ifdef OPENBSD_NATIVE
/* Look for the include files in the system-defined places. */
#undef GPLUSPLUS_INCLUDE_DIR
#define GPLUSPLUS_INCLUDE_DIR "/usr/include/g++"
#undef GCC_INCLUDE_DIR
#define GCC_INCLUDE_DIR "/usr/include"
/* Look for the include files in the system-defined places. */
#undef INCLUDE_DEFAULTS
#define INCLUDE_DEFAULTS \
{ \
@ -30,8 +32,8 @@
#endif
/* we want gcc.c to call mktemp for each file it generates. We would
prefer mkstemp() but we will take what we get. XXX busted */
/* We want gcc.c to call mktemp() for each file it generates. We would
prefer mkstemp(), but we will take what we get. XXX busted */
#undef MKTEMP_EACH_FILE
/* Provide a CPP_SPEC appropriate for OpenBSD. Current we just deal with
@ -83,7 +85,7 @@
*/
/* Define the strings used for the .type, .size, and .set directives.
These strings generally do not vary from one system running OpenBSD
These strings generally do not vary from one system running openbsd
to another, but if a given system needs to use different pseudo-op
names for these, they may be overridden in the file which includes
this one. */

View File

@ -0,0 +1,6 @@
# Don't run fixproto
STMP_FIXPROTO =
# We don't need GCC's own include files but we do need lang specific ones.
USER_H = ${LANG_EXTRA_HEADERS}
INSTALL_ASSERT_H =

View File

@ -0,0 +1,6 @@
# Base shared lib for OpenBSD i386
LIBS = $(ARLIB) $(SHLIB) $(SHLINK) mshlink
SHFLAGS = -nostdlib -Wl,-Bshareable,-Bforcearchive
SHDEPS = -lm
DEPLIBS = ../$(SHLIB)

View File

@ -1,9 +0,0 @@
LIBGCC1=libgcc1.null
CROSS_LIBGCC1=libgcc1.null
LIBGCC1_TEST=
# Don't run fixproto
STMP_FIXPROTO =
# Don't install "assert.h" in gcc. We use the one in glibc.
INSTALL_ASSERT_H =

View File

@ -1,2 +1,3 @@
MD5 (egcs-core-19980921.tar.gz) = 13f5a29f18a96e4dd1e2a55441284037
MD5 (egcs-g++-19980921.tar.gz) = 371e5b3f05b685aa8585dfb911cca9bd
MD5 (egcs-tests-19980921.tar.gz) = ebbe2a432b20acf490f5861cad93b063

View File

@ -0,0 +1,16 @@
testing procedure:
- obtain a RECENT snapshot of dejagnu from egcs.cygnus.com.
I've used dejagnu-980528 for my tests. Installation should be easy.
It was almost a drop-in for dejagnu-1.3 in my case.
Edit framework.exp to remove *.core instead of core in case of failure...
- uncomment the egcs-test... line in the Makefile.
- after build, go to work/egcs-1.1b and perform a gmake check...
you may wish to use script to record the results as you go...
Look in the work/egcs-1.1b/gcc/testsuite directory for more details.
Disregard g77 tests until g77 is ported over.
To run the same testsuites under native gcc 2.8.1:
- move the site.exp file elsewhere, edit it to get the right paths.
- remove the -Os option from the various testsuite drivers, gcc 2.8.1
does not support -Os...
- run with e.g., GCC=/usr/bin/gcc runtest --tool gcc

View File

@ -0,0 +1,32 @@
Here are the test results on i386 for
the 980921 snapshot:
=== libio Summary ===
# of expected passes 40
=== libstdc++ Summary ===
# of expected passes 27
# of unexpected failures 1
# of expected failures 2
=== gcc Summary ===
# of expected passes 7573
# of unexpected failures 15
# of expected failures 7
# of unsupported tests 12
=== g++ Summary ===
# of expected passes 4459
# of unexpected failures 22
# of unexpected successes 1
# of expected failures 88
# of untested testcases 7
Some more thorough analysis will be needed, compared to 1.1b, since
there are more results, hence everything is not that easy to interpret.

View File

@ -1,17 +1,27 @@
--- gcc/configure.in.orig Fri Sep 25 15:26:12 1998
+++ gcc/configure.in Fri Sep 25 15:26:21 1998
@@ -950,6 +950,14 @@
tmake_file=t-netbsd
--- gcc/configure.in.orig Thu Oct 1 00:56:26 1998
+++ gcc/configure.in Thu Oct 1 00:57:40 1998
@@ -1003,15 +1003,21 @@
fixincludes=fixinc.wrap
tmake_file=i386/t-freebsd
;;
- # We are hoping OpenBSD is still close enough to NetBSD that we can
- # share the configurations.
changequote(,)dnl
- i[34567]86-*-netbsd* | i[34567]86-*-openbsd*)
+ i[34567]86-*-netbsd*)
changequote([,])dnl
tm_file=i386/netbsd.h
# On NetBSD, the headers are already okay, except for math.h.
fixincludes=fixinc.wrap
tmake_file=t-netbsd
+ ;;
+changequote(,)dnl
+ i[34567]86-*-openbsd*)
+changequote([,])dnl
+ tm_file=i386/openbsd.h
+ # On OpenBSD, the headers are already okay, except for math.h.
+ fixincludes=fixinc.wrap
+ tmake_file=t-openbsd
+ ;;
+changequote(,)dnl
;;
changequote(,)dnl
i[34567]86-*-coff*)
changequote([,])dnl
tm_file=i386/i386-coff.h

View File

@ -0,0 +1,10 @@
--- gcc/gcc.texi.orig Thu Oct 1 01:00:07 1998
+++ gcc/gcc.texi Thu Oct 1 01:00:19 1998
@@ -1,6 +1,6 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
-@setfilename gcc.info
+@setfilename egcs.info
@c @setfilename usegcc.info
@c @setfilename portgcc.info
@c To produce the full manual, use the "gcc.info" setfilename, and

View File

@ -0,0 +1,10 @@
--- libstdc++/configure.in.orig Thu Oct 1 00:58:32 1998
+++ libstdc++/configure.in Thu Oct 1 00:59:19 1998
@@ -49,6 +49,7 @@
*-*-irix[56]*) frags="${frags} irix5.ml" ;;
*-*-linux*aout*) ;;
*-*-linux*) frags="${frags} linux.ml" ;;
+ *-*-openbsd*) frags="${frags} openbsd.ml" ;;
*-*-sysv4*) frags="${frags} elf.ml" ;;
*-*-solaris*) frags="${frags} sol2shm.ml" ;;
*-*-sunos4*) frags="${frags} sunos4.ml" ;;

View File

@ -1 +1 @@
experimental version of the gcc C/C++ compiler, snapshot flavor
experimental version of the gnu cc compiler, snapshot version

View File

@ -1,5 +1,34 @@
This port is used for people who want/need to use a very recent version
of egcs. It tracks the latest snapshots. At any given point, it's likely
to be somewhat broken. Use egcs-stable for the released version.
egcs is an experimental spin-off of gcc that started when people got
fed up waiting for gcc 2.8. As the C++ standard finally emerged,
egcs people strove trying to implement as much of it as possible.
Accordingly, egcs C++ compiler is more suitable for C++ development as
gnu gcc. Its library approaches the standard, template support is almost
complete, namespace support is coming in, it also includes a newer
scheduler (haifa) that gives improved results on HPRisc and Alpha
architecture.
For more details, refer to to http://egcs.cygnus.org/
There is some on-going work in egcs that makes it interesting to make
a recent snapshot available.
As of ss-19980921, there are some problems: gmake bootstrap fails during the
build of libstdc++. Restarting gmake from that point finishes
the build. Accordingly, the tests show a regression in libstdc++... it
seems that either the build is not truely okay, or eg++ has trouble finding
some of its files...
Notably, the standard C++ library has been updated to a version much closer
to the ANSI standard. The namespace support is much better than the
release version.
Also, there is some on-going work in improving numerical computations
with C++.
Finally, some flavors of the scheduler have been improved.
For instance, there is a new sparc scheduler that is not available as
a release yet.
On the other hand, work upon the integration of pgcc with mainline egcs
is not ready yet.
See http://egcs.cygnus.com for more details.

View File

@ -2,21 +2,18 @@
@name egcs-19980921
@pkgdep autoconf-2.12
@pkgdep m4-1.4
bin/c++
bin/chill
bin/gcc
bin/g++
bin/protoize
bin/c++filt
bin/unprotoize
bin/ec++
bin/eprotoize
bin/eunprotoize
bin/ec++filt
bin/eg++
bin/gcov
bin/egcc
bin/i386-unknown-openbsd2.4-gcc
info/dir
info/cpp.info
info/cpp.info-1
info/chill.info
info/cpp.info-2
info/cpp.info-3
info/cpp.info-1
info/cpp.info
info/cpp.info-2
info/gcc.info
info/gcc.info-1
info/gcc.info-10
@ -27,6 +24,7 @@ info/gcc.info-14
info/gcc.info-15
info/gcc.info-16
info/gcc.info-17
info/dir
info/gcc.info-18
info/gcc.info-19
info/gcc.info-2
@ -47,159 +45,160 @@ info/gcc.info-6
info/gcc.info-7
info/gcc.info-8
info/gcc.info-9
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.92.11/cc1
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.92.11/cc1chill
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.92.11/cc1plus
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.92.11/collect2
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.92.11/specs
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.92.11/SYSCALLS.c.X
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.92.11/cpp
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.92.11/libstdc++.a
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.92.11/libgcc.a
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.91.57/cc1
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.91.57/collect2
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.91.57/specs
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.91.57/SYSCALLS.c.X
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.91.57/cpp
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.91.57/cc1plus
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.91.57/libgcc.a
lib/libiberty.a
lib/libstdc++.a.2.9.0
man/man1/g++.1
man/man1/gcc.1
lib/libstdc++.so
lib/libstdc++.a
lib/libstdc++.so.2.9.0
lib/libstdc++.so.2.9
man/man1/egcc.1
man/man1/cccp.1
include/g++-2/SFile.h
include/g++-2/PlotFile.h
include/g++-2/fstream.h
include/g++-2/floatio.h
include/g++-2/editbuf.h
include/g++-2/indstream.h
include/g++-2/iolibio.h
include/g++-2/iomanip.h
include/g++-2/iostdio.h
include/g++-2/iostream.h
include/g++-2/iostreamP.h
include/g++-2/istream.h
include/g++-2/libio.h
include/g++-2/libioP.h
include/g++-2/ostream.h
include/g++-2/parsestream.h
include/g++-2/pfstream.h
include/g++-2/procbuf.h
include/g++-2/stdiostream.h
include/g++-2/stream.h
include/g++-2/streambuf.h
include/g++-2/strfile.h
include/g++-2/std/bastring.cc
include/g++-2/std/bastring.h
include/g++-2/std/complext.cc
include/g++-2/std/complext.h
include/g++-2/std/dcomplex.h
include/g++-2/std/fcomplex.h
include/g++-2/std/ldcomplex.h
include/g++-2/std/straits.h
include/g++-2/map
include/g++-2/strstream.h
include/g++-2/cassert
include/g++-2/cctype
include/g++-2/cerrno
include/g++-2/cfloat
include/g++-2/ciso646
include/g++-2/climits
include/g++-2/clocale
include/g++-2/cmath
include/g++-2/complex
include/g++-2/csetjmp
include/g++-2/csignal
include/g++-2/cstdarg
include/g++-2/cstddef
include/g++-2/cstdio
include/g++-2/cstdlib
include/g++-2/cstring
include/g++-2/ctime
include/g++-2/cwchar
include/g++-2/cwctype
include/g++-2/string
include/g++-2/stdexcept
include/g++-2/algorithm
include/g++-2/deque
include/g++-2/functional
include/g++-2/hash_map
include/g++-2/hash_set
include/g++-2/iterator
include/g++-2/list
include/g++-2/memory
include/g++-2/numeric
include/g++-2/pthread_alloc
include/g++-2/queue
include/g++-2/rope
include/g++-2/set
include/g++-2/slist
include/g++-2/stack
include/g++-2/utility
include/g++-2/vector
include/g++-2/fstream
include/g++-2/iomanip
include/g++-2/iostream
include/g++-2/strstream
include/g++-2/iosfwd
include/g++-2/complex.h
include/g++-2/stl.h
include/g++-2/algo.h
include/g++-2/iterator.h
include/g++-2/algobase.h
include/g++-2/alloc.h
include/g++-2/bvector.h
include/g++-2/defalloc.h
include/g++-2/deque.h
include/g++-2/function.h
include/g++-2/hash_map.h
include/g++-2/hash_set.h
include/g++-2/hashtable.h
include/g++-2/heap.h
include/g++-2/list.h
include/g++-2/builtinbuf.h
include/g++-2/map.h
include/g++-2/multimap.h
include/g++-2/multiset.h
include/g++-2/pair.h
include/g++-2/pthread_alloc.h
include/g++-2/rope.h
include/g++-2/ropeimpl.h
include/g++-2/set.h
include/g++-2/slist.h
include/g++-2/stack.h
include/g++-2/stl_algo.h
include/g++-2/stl_algobase.h
include/g++-2/stl_alloc.h
include/g++-2/stl_bvector.h
include/g++-2/stl_config.h
include/g++-2/stl_construct.h
include/g++-2/stl_deque.h
include/g++-2/stl_function.h
include/g++-2/stl_hash_fun.h
include/g++-2/stl_hash_map.h
include/g++-2/stl_hash_set.h
include/g++-2/stl_hashtable.h
include/g++-2/tree.h
include/g++-2/stl_heap.h
include/g++-2/stl_iterator.h
include/g++-2/stl_list.h
include/g++-2/stl_map.h
include/g++-2/stl_multimap.h
include/g++-2/stl_multiset.h
include/g++-2/stl_numeric.h
include/g++-2/stl_pair.h
include/g++-2/stl_queue.h
include/g++-2/stl_raw_storage_iter.h
include/g++-2/stl_relops.h
include/g++-2/stl_rope.h
include/g++-2/stl_set.h
include/g++-2/stl_slist.h
include/g++-2/stl_stack.h
include/g++-2/stl_tempbuf.h
include/g++-2/stl_tree.h
include/g++-2/stl_uninitialized.h
include/g++-2/stl_vector.h
include/g++-2/tempbuf.h
include/g++-2/type_traits.h
include/g++-2/vector.h
man/man1/eg++.1
include/g++/std/bastring.h
include/g++/std/bastring.cc
include/g++/std/complext.cc
include/g++/std/complext.h
include/g++/std/dcomplex.h
include/g++/std/fcomplex.h
include/g++/std/ldcomplex.h
include/g++/std/straits.h
include/g++/editbuf.h
include/g++/SFile.h
include/g++/fstream.h
include/g++/builtinbuf.h
include/g++/floatio.h
include/g++/indstream.h
include/g++/iolibio.h
include/g++/iomanip.h
include/g++/iostdio.h
include/g++/iostream.h
include/g++/iostreamP.h
include/g++/istream.h
include/g++/libio.h
include/g++/libioP.h
include/g++/ostream.h
include/g++/parsestream.h
include/g++/pfstream.h
include/g++/procbuf.h
include/g++/stdiostream.h
include/g++/stream.h
include/g++/streambuf.h
include/g++/strfile.h
include/g++/strstream.h
include/g++/cassert
include/g++/cctype
include/g++/cerrno
include/g++/cfloat
include/g++/ciso646
include/g++/climits
include/g++/clocale
include/g++/cmath
include/g++/complex
include/g++/csetjmp
include/g++/csignal
include/g++/cstdarg
include/g++/cstddef
include/g++/cstdio
include/g++/cstdlib
include/g++/cstring
include/g++/ctime
include/g++/cwchar
include/g++/cwctype
include/g++/string
include/g++/stdexcept
include/g++/algorithm
include/g++/deque
include/g++/functional
include/g++/hash_map
include/g++/hash_set
include/g++/iterator
include/g++/list
include/g++/map
include/g++/memory
include/g++/numeric
include/g++/pthread_alloc
include/g++/queue
include/g++/rope
include/g++/set
include/g++/slist
include/g++/stack
include/g++/utility
include/g++/vector
include/g++/fstream
include/g++/iomanip
include/g++/iostream
include/g++/strstream
include/g++/iosfwd
include/g++/complex.h
include/g++/stl.h
include/g++/PlotFile.h
include/g++/algo.h
include/g++/algobase.h
include/g++/alloc.h
include/g++/bvector.h
include/g++/defalloc.h
include/g++/deque.h
include/g++/function.h
include/g++/hash_map.h
include/g++/hash_set.h
include/g++/hashtable.h
include/g++/heap.h
include/g++/iterator.h
include/g++/list.h
include/g++/map.h
include/g++/multimap.h
include/g++/multiset.h
include/g++/pair.h
include/g++/pthread_alloc.h
include/g++/rope.h
include/g++/ropeimpl.h
include/g++/set.h
include/g++/slist.h
include/g++/stack.h
include/g++/stl_algo.h
include/g++/stl_algobase.h
include/g++/stl_alloc.h
include/g++/stl_bvector.h
include/g++/stl_config.h
include/g++/stl_construct.h
include/g++/stl_deque.h
include/g++/stl_function.h
include/g++/stl_hash_fun.h
include/g++/stl_hash_map.h
include/g++/stl_hash_set.h
include/g++/stl_hashtable.h
include/g++/stl_heap.h
include/g++/stl_iterator.h
include/g++/stl_list.h
include/g++/stl_map.h
include/g++/stl_multimap.h
include/g++/stl_multiset.h
include/g++/stl_numeric.h
include/g++/stl_pair.h
include/g++/stl_queue.h
include/g++/stl_raw_storage_iter.h
include/g++/stl_relops.h
include/g++/stl_rope.h
include/g++/stl_set.h
include/g++/stl_slist.h
include/g++/stl_stack.h
include/g++/stl_tempbuf.h
include/g++/stl_tree.h
include/g++/stl_uninitialized.h
include/g++/stl_vector.h
include/g++/tempbuf.h
include/g++/tree.h
include/g++/type_traits.h
include/g++/vector.h
i386-unknown-openbsd2.4/include/_G_config.h
i386-unknown-openbsd2.4/lib/libiberty.a
@dirrm include/g++-2/std
@dirrm include/g++-2
@dirrm lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.92.11
@dirrm lib/gcc-lib/i386-unknown-openbsd2.4
@dirrm include/g++/std
@dirrm include/g++
@dirrm lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.91.57
@exec [ ! -x /sbin/ldconfig ] || /sbin/ldconfig -m /usr/local/lib

View File

@ -3,7 +3,7 @@
# Date created: 25 sep 98
# Whom: Marc Espie
#
# $OpenBSD: Makefile,v 1.1.1.1 1998/09/25 22:45:26 espie Exp $
# $OpenBSD: Makefile,v 1.2 1998/10/02 18:57:28 espie Exp $
#
# This is a configuration file for egcs, recent snapshot
@ -15,46 +15,48 @@ DISTNAME= egcs-${LATEST}
DISTFILES= egcs-core-${LATEST}${EXTRACT_SUFX}
DISTFILES+= egcs-g++-${LATEST}${EXTRACT_SUFX}
# see files/tests for testing procedure
DISTFILES+=egcs-tests-${LATEST}${EXTRACT_SUFX}
CATEGORIES= lang
MASTER_SITES= ftp://egcs.cygnus.com/pub/${DIRECTORY} \
ftp://ftp.lip6.fr/pub/${DIRECTORY}
MAINTAINER= Marc.Espie@openbsd.org
# Should be CONFIGURE_DEPENDS, if we had it
DEPENDS= ${PORTSDIR}/devel/autoconf:${PORTSDIR}/devel/autoconf
BUILD_DEPENDS= autoconf:${PORTSDIR}/devel/autoconf
ONLY_FOR_ARCHS= i386
# will improve over time as more and more architectures are handled
ONLY_FOR_ARCHS = i386
GNU_CONFIGURE= yes
USE_GMAKE= yes
MAKE_ENV="CFLAGS=-O2"
# don't make bootstrap if you're impatient/you know what you're doing
# use bootstrap-lean if you don't have room.
ALL_TARGET=bootstrap
# should remove --enable-shared for alpha
# use --enable-haifa- on some archs (alpha, sparc, pa-risc)
CONFIGURE_SCRIPT=../source/configure
CONFIGURE_ARGS=--verbose --enable-shared --program-prefix=e
INSTALL_TARGET= install
CONFIGURE_ENV=CFLAGS=-O2
CONFIGURE_ARGS= --prefix=${PREFIX} \
--verbose \
--program-transform-name=s,^,e,
.if (${MACHINE_ARCH} != "alpha")
CONFIGURE_ARGS+=--enable-shared
.endif
# get openbsd configuration files where they should be
post-extract:
cp -R files/* ${WRKSRC}
rm -rf ${WRKSRC}/texinfo
# we should change libstdc++ name so that we will get the right one
post-patch:
CONFIGURE_SCRIPT=../source/configure
cp -R ${FILESDIR}/config/* ${WRKSRC}
rm -rf ${WRKSRC}/texinfo ${WRKSRC}/gcc/ch
# rebuild configure file after patching, then move file around !!!
# XXX: don't try to autoconf the main configure file, it's not autoconf.
# + kludge to build in a separate directory.
pre-configure:
cd ${WRKSRC}/gcc && /usr/local/bin/autoconf
cd ${WRKSRC}/gcc && autoconf
mv ${WRKSRC} ${WRKDIR}/source
mkdir ${WRKSRC}

View File

@ -30,8 +30,13 @@
#undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE 32
/* there are conflicting reports about whether this system uses
a different assembler syntax. wilson@cygnus.com says # is right. */
/* $OpenBSD: openbsd.h,v 1.1 1998/10/02 18:57:29 espie Exp $ */
/* There are conflicting reports about whether this system uses
a different assembler syntax. wilson@cygnus.com says # is right. */
#undef COMMENT_BEGIN
#define COMMENT_BEGIN "#"
#undef ASM_APP_ON
#define ASM_APP_ON "#APP\n"
@ -58,7 +63,7 @@
we want to retain compatibility with older gcc versions. */
#define DEFAULT_PCC_STRUCT_RETURN 0
/* i386 netbsd still uses old binutils that don't insert nops by default
/* i386 openbsd still uses old binutils that don't insert nops by default
when the .align directive demands to insert extra space in the text
segment. */
#undef ASM_OUTPUT_ALIGN

View File

@ -1,19 +1,21 @@
/* $OpenBSD: openbsd.h,v 1.1 1998/10/02 18:57:29 espie Exp $ */
/* OPENBSD_NATIVE is defined when gcc is integrated into the OpenBSD
source tree so it can be configured appropriately when using the
'wrapper' makefile with the GNU configure/build mechanism. The
'wrapper' method and use of OPENBSD_NATIVE is NOT recommended
while building cross-compilers. */
'wrapper' makefile with the GNU configure/build mechanism. The
'wrapper' method and use of OPENBSD_NATIVE is NOT recommended
while building cross-compilers. */
#ifdef OPENBSD_NATIVE
/* Look for the include files in the system-defined places. */
#undef GPLUSPLUS_INCLUDE_DIR
#define GPLUSPLUS_INCLUDE_DIR "/usr/include/g++"
#undef GCC_INCLUDE_DIR
#define GCC_INCLUDE_DIR "/usr/include"
/* Look for the include files in the system-defined places. */
#undef INCLUDE_DEFAULTS
#define INCLUDE_DEFAULTS \
{ \
@ -30,8 +32,8 @@
#endif
/* we want gcc.c to call mktemp for each file it generates. We would
prefer mkstemp() but we will take what we get. XXX busted */
/* We want gcc.c to call mktemp() for each file it generates. We would
prefer mkstemp(), but we will take what we get. XXX busted */
#undef MKTEMP_EACH_FILE
/* Provide a CPP_SPEC appropriate for OpenBSD. Current we just deal with
@ -83,7 +85,7 @@
*/
/* Define the strings used for the .type, .size, and .set directives.
These strings generally do not vary from one system running OpenBSD
These strings generally do not vary from one system running openbsd
to another, but if a given system needs to use different pseudo-op
names for these, they may be overridden in the file which includes
this one. */

View File

@ -0,0 +1,6 @@
# Don't run fixproto
STMP_FIXPROTO =
# We don't need GCC's own include files but we do need lang specific ones.
USER_H = ${LANG_EXTRA_HEADERS}
INSTALL_ASSERT_H =

View File

@ -0,0 +1,6 @@
# Base shared lib for OpenBSD i386
LIBS = $(ARLIB) $(SHLIB) $(SHLINK) mshlink
SHFLAGS = -nostdlib -Wl,-Bshareable,-Bforcearchive
SHDEPS = -lm
DEPLIBS = ../$(SHLIB)

View File

@ -1,9 +0,0 @@
LIBGCC1=libgcc1.null
CROSS_LIBGCC1=libgcc1.null
LIBGCC1_TEST=
# Don't run fixproto
STMP_FIXPROTO =
# Don't install "assert.h" in gcc. We use the one in glibc.
INSTALL_ASSERT_H =

View File

@ -1,2 +1,3 @@
MD5 (egcs-core-19980921.tar.gz) = 13f5a29f18a96e4dd1e2a55441284037
MD5 (egcs-g++-19980921.tar.gz) = 371e5b3f05b685aa8585dfb911cca9bd
MD5 (egcs-tests-19980921.tar.gz) = ebbe2a432b20acf490f5861cad93b063

View File

@ -0,0 +1,16 @@
testing procedure:
- obtain a RECENT snapshot of dejagnu from egcs.cygnus.com.
I've used dejagnu-980528 for my tests. Installation should be easy.
It was almost a drop-in for dejagnu-1.3 in my case.
Edit framework.exp to remove *.core instead of core in case of failure...
- uncomment the egcs-test... line in the Makefile.
- after build, go to work/egcs-1.1b and perform a gmake check...
you may wish to use script to record the results as you go...
Look in the work/egcs-1.1b/gcc/testsuite directory for more details.
Disregard g77 tests until g77 is ported over.
To run the same testsuites under native gcc 2.8.1:
- move the site.exp file elsewhere, edit it to get the right paths.
- remove the -Os option from the various testsuite drivers, gcc 2.8.1
does not support -Os...
- run with e.g., GCC=/usr/bin/gcc runtest --tool gcc

View File

@ -0,0 +1,32 @@
Here are the test results on i386 for
the 980921 snapshot:
=== libio Summary ===
# of expected passes 40
=== libstdc++ Summary ===
# of expected passes 27
# of unexpected failures 1
# of expected failures 2
=== gcc Summary ===
# of expected passes 7573
# of unexpected failures 15
# of expected failures 7
# of unsupported tests 12
=== g++ Summary ===
# of expected passes 4459
# of unexpected failures 22
# of unexpected successes 1
# of expected failures 88
# of untested testcases 7
Some more thorough analysis will be needed, compared to 1.1b, since
there are more results, hence everything is not that easy to interpret.

View File

@ -1,17 +1,27 @@
--- gcc/configure.in.orig Fri Sep 25 15:26:12 1998
+++ gcc/configure.in Fri Sep 25 15:26:21 1998
@@ -950,6 +950,14 @@
tmake_file=t-netbsd
--- gcc/configure.in.orig Thu Oct 1 00:56:26 1998
+++ gcc/configure.in Thu Oct 1 00:57:40 1998
@@ -1003,15 +1003,21 @@
fixincludes=fixinc.wrap
tmake_file=i386/t-freebsd
;;
- # We are hoping OpenBSD is still close enough to NetBSD that we can
- # share the configurations.
changequote(,)dnl
- i[34567]86-*-netbsd* | i[34567]86-*-openbsd*)
+ i[34567]86-*-netbsd*)
changequote([,])dnl
tm_file=i386/netbsd.h
# On NetBSD, the headers are already okay, except for math.h.
fixincludes=fixinc.wrap
tmake_file=t-netbsd
+ ;;
+changequote(,)dnl
+ i[34567]86-*-openbsd*)
+changequote([,])dnl
+ tm_file=i386/openbsd.h
+ # On OpenBSD, the headers are already okay, except for math.h.
+ fixincludes=fixinc.wrap
+ tmake_file=t-openbsd
+ ;;
+changequote(,)dnl
;;
changequote(,)dnl
i[34567]86-*-coff*)
changequote([,])dnl
tm_file=i386/i386-coff.h

View File

@ -0,0 +1,10 @@
--- gcc/gcc.texi.orig Thu Oct 1 01:00:07 1998
+++ gcc/gcc.texi Thu Oct 1 01:00:19 1998
@@ -1,6 +1,6 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
-@setfilename gcc.info
+@setfilename egcs.info
@c @setfilename usegcc.info
@c @setfilename portgcc.info
@c To produce the full manual, use the "gcc.info" setfilename, and

View File

@ -0,0 +1,10 @@
--- libstdc++/configure.in.orig Thu Oct 1 00:58:32 1998
+++ libstdc++/configure.in Thu Oct 1 00:59:19 1998
@@ -49,6 +49,7 @@
*-*-irix[56]*) frags="${frags} irix5.ml" ;;
*-*-linux*aout*) ;;
*-*-linux*) frags="${frags} linux.ml" ;;
+ *-*-openbsd*) frags="${frags} openbsd.ml" ;;
*-*-sysv4*) frags="${frags} elf.ml" ;;
*-*-solaris*) frags="${frags} sol2shm.ml" ;;
*-*-sunos4*) frags="${frags} sunos4.ml" ;;

View File

@ -1 +1 @@
experimental version of the gcc C/C++ compiler, snapshot flavor
experimental version of the gnu cc compiler, snapshot version

View File

@ -1,5 +1,34 @@
This port is used for people who want/need to use a very recent version
of egcs. It tracks the latest snapshots. At any given point, it's likely
to be somewhat broken. Use egcs-stable for the released version.
egcs is an experimental spin-off of gcc that started when people got
fed up waiting for gcc 2.8. As the C++ standard finally emerged,
egcs people strove trying to implement as much of it as possible.
Accordingly, egcs C++ compiler is more suitable for C++ development as
gnu gcc. Its library approaches the standard, template support is almost
complete, namespace support is coming in, it also includes a newer
scheduler (haifa) that gives improved results on HPRisc and Alpha
architecture.
For more details, refer to to http://egcs.cygnus.org/
There is some on-going work in egcs that makes it interesting to make
a recent snapshot available.
As of ss-19980921, there are some problems: gmake bootstrap fails during the
build of libstdc++. Restarting gmake from that point finishes
the build. Accordingly, the tests show a regression in libstdc++... it
seems that either the build is not truely okay, or eg++ has trouble finding
some of its files...
Notably, the standard C++ library has been updated to a version much closer
to the ANSI standard. The namespace support is much better than the
release version.
Also, there is some on-going work in improving numerical computations
with C++.
Finally, some flavors of the scheduler have been improved.
For instance, there is a new sparc scheduler that is not available as
a release yet.
On the other hand, work upon the integration of pgcc with mainline egcs
is not ready yet.
See http://egcs.cygnus.com for more details.

View File

@ -2,21 +2,18 @@
@name egcs-19980921
@pkgdep autoconf-2.12
@pkgdep m4-1.4
bin/c++
bin/chill
bin/gcc
bin/g++
bin/protoize
bin/c++filt
bin/unprotoize
bin/ec++
bin/eprotoize
bin/eunprotoize
bin/ec++filt
bin/eg++
bin/gcov
bin/egcc
bin/i386-unknown-openbsd2.4-gcc
info/dir
info/cpp.info
info/cpp.info-1
info/chill.info
info/cpp.info-2
info/cpp.info-3
info/cpp.info-1
info/cpp.info
info/cpp.info-2
info/gcc.info
info/gcc.info-1
info/gcc.info-10
@ -27,6 +24,7 @@ info/gcc.info-14
info/gcc.info-15
info/gcc.info-16
info/gcc.info-17
info/dir
info/gcc.info-18
info/gcc.info-19
info/gcc.info-2
@ -47,159 +45,160 @@ info/gcc.info-6
info/gcc.info-7
info/gcc.info-8
info/gcc.info-9
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.92.11/cc1
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.92.11/cc1chill
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.92.11/cc1plus
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.92.11/collect2
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.92.11/specs
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.92.11/SYSCALLS.c.X
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.92.11/cpp
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.92.11/libstdc++.a
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.92.11/libgcc.a
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.91.57/cc1
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.91.57/collect2
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.91.57/specs
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.91.57/SYSCALLS.c.X
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.91.57/cpp
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.91.57/cc1plus
lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.91.57/libgcc.a
lib/libiberty.a
lib/libstdc++.a.2.9.0
man/man1/g++.1
man/man1/gcc.1
lib/libstdc++.so
lib/libstdc++.a
lib/libstdc++.so.2.9.0
lib/libstdc++.so.2.9
man/man1/egcc.1
man/man1/cccp.1
include/g++-2/SFile.h
include/g++-2/PlotFile.h
include/g++-2/fstream.h
include/g++-2/floatio.h
include/g++-2/editbuf.h
include/g++-2/indstream.h
include/g++-2/iolibio.h
include/g++-2/iomanip.h
include/g++-2/iostdio.h
include/g++-2/iostream.h
include/g++-2/iostreamP.h
include/g++-2/istream.h
include/g++-2/libio.h
include/g++-2/libioP.h
include/g++-2/ostream.h
include/g++-2/parsestream.h
include/g++-2/pfstream.h
include/g++-2/procbuf.h
include/g++-2/stdiostream.h
include/g++-2/stream.h
include/g++-2/streambuf.h
include/g++-2/strfile.h
include/g++-2/std/bastring.cc
include/g++-2/std/bastring.h
include/g++-2/std/complext.cc
include/g++-2/std/complext.h
include/g++-2/std/dcomplex.h
include/g++-2/std/fcomplex.h
include/g++-2/std/ldcomplex.h
include/g++-2/std/straits.h
include/g++-2/map
include/g++-2/strstream.h
include/g++-2/cassert
include/g++-2/cctype
include/g++-2/cerrno
include/g++-2/cfloat
include/g++-2/ciso646
include/g++-2/climits
include/g++-2/clocale
include/g++-2/cmath
include/g++-2/complex
include/g++-2/csetjmp
include/g++-2/csignal
include/g++-2/cstdarg
include/g++-2/cstddef
include/g++-2/cstdio
include/g++-2/cstdlib
include/g++-2/cstring
include/g++-2/ctime
include/g++-2/cwchar
include/g++-2/cwctype
include/g++-2/string
include/g++-2/stdexcept
include/g++-2/algorithm
include/g++-2/deque
include/g++-2/functional
include/g++-2/hash_map
include/g++-2/hash_set
include/g++-2/iterator
include/g++-2/list
include/g++-2/memory
include/g++-2/numeric
include/g++-2/pthread_alloc
include/g++-2/queue
include/g++-2/rope
include/g++-2/set
include/g++-2/slist
include/g++-2/stack
include/g++-2/utility
include/g++-2/vector
include/g++-2/fstream
include/g++-2/iomanip
include/g++-2/iostream
include/g++-2/strstream
include/g++-2/iosfwd
include/g++-2/complex.h
include/g++-2/stl.h
include/g++-2/algo.h
include/g++-2/iterator.h
include/g++-2/algobase.h
include/g++-2/alloc.h
include/g++-2/bvector.h
include/g++-2/defalloc.h
include/g++-2/deque.h
include/g++-2/function.h
include/g++-2/hash_map.h
include/g++-2/hash_set.h
include/g++-2/hashtable.h
include/g++-2/heap.h
include/g++-2/list.h
include/g++-2/builtinbuf.h
include/g++-2/map.h
include/g++-2/multimap.h
include/g++-2/multiset.h
include/g++-2/pair.h
include/g++-2/pthread_alloc.h
include/g++-2/rope.h
include/g++-2/ropeimpl.h
include/g++-2/set.h
include/g++-2/slist.h
include/g++-2/stack.h
include/g++-2/stl_algo.h
include/g++-2/stl_algobase.h
include/g++-2/stl_alloc.h
include/g++-2/stl_bvector.h
include/g++-2/stl_config.h
include/g++-2/stl_construct.h
include/g++-2/stl_deque.h
include/g++-2/stl_function.h
include/g++-2/stl_hash_fun.h
include/g++-2/stl_hash_map.h
include/g++-2/stl_hash_set.h
include/g++-2/stl_hashtable.h
include/g++-2/tree.h
include/g++-2/stl_heap.h
include/g++-2/stl_iterator.h
include/g++-2/stl_list.h
include/g++-2/stl_map.h
include/g++-2/stl_multimap.h
include/g++-2/stl_multiset.h
include/g++-2/stl_numeric.h
include/g++-2/stl_pair.h
include/g++-2/stl_queue.h
include/g++-2/stl_raw_storage_iter.h
include/g++-2/stl_relops.h
include/g++-2/stl_rope.h
include/g++-2/stl_set.h
include/g++-2/stl_slist.h
include/g++-2/stl_stack.h
include/g++-2/stl_tempbuf.h
include/g++-2/stl_tree.h
include/g++-2/stl_uninitialized.h
include/g++-2/stl_vector.h
include/g++-2/tempbuf.h
include/g++-2/type_traits.h
include/g++-2/vector.h
man/man1/eg++.1
include/g++/std/bastring.h
include/g++/std/bastring.cc
include/g++/std/complext.cc
include/g++/std/complext.h
include/g++/std/dcomplex.h
include/g++/std/fcomplex.h
include/g++/std/ldcomplex.h
include/g++/std/straits.h
include/g++/editbuf.h
include/g++/SFile.h
include/g++/fstream.h
include/g++/builtinbuf.h
include/g++/floatio.h
include/g++/indstream.h
include/g++/iolibio.h
include/g++/iomanip.h
include/g++/iostdio.h
include/g++/iostream.h
include/g++/iostreamP.h
include/g++/istream.h
include/g++/libio.h
include/g++/libioP.h
include/g++/ostream.h
include/g++/parsestream.h
include/g++/pfstream.h
include/g++/procbuf.h
include/g++/stdiostream.h
include/g++/stream.h
include/g++/streambuf.h
include/g++/strfile.h
include/g++/strstream.h
include/g++/cassert
include/g++/cctype
include/g++/cerrno
include/g++/cfloat
include/g++/ciso646
include/g++/climits
include/g++/clocale
include/g++/cmath
include/g++/complex
include/g++/csetjmp
include/g++/csignal
include/g++/cstdarg
include/g++/cstddef
include/g++/cstdio
include/g++/cstdlib
include/g++/cstring
include/g++/ctime
include/g++/cwchar
include/g++/cwctype
include/g++/string
include/g++/stdexcept
include/g++/algorithm
include/g++/deque
include/g++/functional
include/g++/hash_map
include/g++/hash_set
include/g++/iterator
include/g++/list
include/g++/map
include/g++/memory
include/g++/numeric
include/g++/pthread_alloc
include/g++/queue
include/g++/rope
include/g++/set
include/g++/slist
include/g++/stack
include/g++/utility
include/g++/vector
include/g++/fstream
include/g++/iomanip
include/g++/iostream
include/g++/strstream
include/g++/iosfwd
include/g++/complex.h
include/g++/stl.h
include/g++/PlotFile.h
include/g++/algo.h
include/g++/algobase.h
include/g++/alloc.h
include/g++/bvector.h
include/g++/defalloc.h
include/g++/deque.h
include/g++/function.h
include/g++/hash_map.h
include/g++/hash_set.h
include/g++/hashtable.h
include/g++/heap.h
include/g++/iterator.h
include/g++/list.h
include/g++/map.h
include/g++/multimap.h
include/g++/multiset.h
include/g++/pair.h
include/g++/pthread_alloc.h
include/g++/rope.h
include/g++/ropeimpl.h
include/g++/set.h
include/g++/slist.h
include/g++/stack.h
include/g++/stl_algo.h
include/g++/stl_algobase.h
include/g++/stl_alloc.h
include/g++/stl_bvector.h
include/g++/stl_config.h
include/g++/stl_construct.h
include/g++/stl_deque.h
include/g++/stl_function.h
include/g++/stl_hash_fun.h
include/g++/stl_hash_map.h
include/g++/stl_hash_set.h
include/g++/stl_hashtable.h
include/g++/stl_heap.h
include/g++/stl_iterator.h
include/g++/stl_list.h
include/g++/stl_map.h
include/g++/stl_multimap.h
include/g++/stl_multiset.h
include/g++/stl_numeric.h
include/g++/stl_pair.h
include/g++/stl_queue.h
include/g++/stl_raw_storage_iter.h
include/g++/stl_relops.h
include/g++/stl_rope.h
include/g++/stl_set.h
include/g++/stl_slist.h
include/g++/stl_stack.h
include/g++/stl_tempbuf.h
include/g++/stl_tree.h
include/g++/stl_uninitialized.h
include/g++/stl_vector.h
include/g++/tempbuf.h
include/g++/tree.h
include/g++/type_traits.h
include/g++/vector.h
i386-unknown-openbsd2.4/include/_G_config.h
i386-unknown-openbsd2.4/lib/libiberty.a
@dirrm include/g++-2/std
@dirrm include/g++-2
@dirrm lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.92.11
@dirrm lib/gcc-lib/i386-unknown-openbsd2.4
@dirrm include/g++/std
@dirrm include/g++
@dirrm lib/gcc-lib/i386-unknown-openbsd2.4/egcs-2.91.57
@exec [ ! -x /sbin/ldconfig ] || /sbin/ldconfig -m /usr/local/lib