ftp.nice.ch/pub/next/developer/languages/c/gcc-libs.2.7.2.3.3.README

This is the README for gcc-libs.2.7.2.3.3.NI.b.tar.gz [Download] [Browse] [Up]

gcc.2.7.2.3.3.README
(aka gcc-m68k.2.7.2.3.3.README)
(aka gcc-m68k.2.7.2.3.3.README)
(aka gcc-libs.2.7.2.3.3.README)
April 29, 1998

These packages are so interrelated, this single README is for them all.

file:  	gcc-m68k.2.7.2.3.3.NI.b.tar.gz
desc:  	gcc tools for m68k target binaries, Installer package 
sum:   	39483  3447
md5sum:	cac524ef9fc437880c7cb06b184070d0

file:  	gcc-i386.2.7.2.3.3.NI.b.tar.gz
desc:  	gcc tools for i386 target binaries, Installer package 
sum:   	24712  3465
md5sum:	634b7e29d971da73527f69feb55cdfba

file:  	gcc-libs.2.7.2.3.3.NI.b.tar.gz
desc:  	gcc target libs, Installer package
sum:   	57863  1697
md5sum:	cb024a620fa794228bc2bcd490f806b1

(**
 To be placed at:
  http://www.peak.org/next/apps/devtools/
  ftp://next-ftp.peak.org/pub/next/apps/devtools/
**)

These archives contain the following pre-built binaries/libs: 
gcc-2.7.2.3
g77-0.5.22
libg++-2.7.2

built on and for the 
m68k-next-nextstep3
i386-next-nextstep3 
platforms. Includes drivers for output targets for each platform, ie,
you can produce both m68k and i386 binaries on/for both platforms.


NOTES

Regarding the versioning of this package:  I tacked on my port
attempt numbers to the end of the gcc versions, ie, This represents
my third (.3) attempt at porting gcc v2.7.2.3 to NEXTSTEP.

These packages have been built for and tested on NEXTSTEP 3.3, but
may also work on other versions of NEXTSTEP 3.x.

This build CAN (but doesn't, by default) work on OpenStep for Mach
4.x, provided you have at your disposal a few of the binaries and
libraries from the DeveloperTools package from NEXTSTEP 3.3.  See
USING GCC ON OPENSTEP for details.


INSTALLATION

I've split the distribution into 3 logical parts (since it IS so
big), gcc-m68k, gcc-i386, and gcc-libs.  A full installation
includes: 1) gcc-m68k and/or gcc-i386, depending on the binaries
you wish to create; 2) gcc-libs.  gcc-m68k/gcc-i386 contains
(primarily) the gcc binaries, so these probably should be installed
thin for your native architecture only.  gcc-libs contains the
headers and libraries used to create the target libraries, so if
you want the capability to cross compile, install this fat (m68k+i386).

To install the pkg archives, use Installer.app to install to
/usr/local.

NOTE: you STILL need the nextstep developer packages (tested for
NEXTSTEP 3.3 only... earlier/other versions may or may not work)
installed in order to use this, as it uses NeXT's supplied C header
files and libraries.  Also, in order to build non-native binaries,
you need the DeveloperLibs installed for that other platform too.


ENVOCATION AND CROSS-COMPILING

To create m68k binaries envoke the compiler as:
m68k-next-nextstep3-gcc foo.c
(or, alternatively, gcc-ns3 -bm68k-next-nextstep3 foo.c )
To create i386 binaries envoke the compiler as:
i386-next-nextstep3-gcc foo.c
(or, alternatively, gcc-ns3 -bi386-next-nextstep3 foo.c )

A shortcut has been provided to create binaries for your native architecture
automatically, if you envoke the compiler as
gcc-ns3 foo.c
or just
gcc foo.c

I used the name gcc-ns3 to make life simpler for those using this on 
OpenStep for mach, where gcc, by itself, could possibly represent a 
native nextstep4 (OpenStep for Mach) compiler.  The two are not
compatible and should not be confused with one another.


USING GCC ON OPENSTEP (for Mach 4.x)

So, you want to use this compiler to create NEXTSTEP compatible
binaries, but you have OpenStep for Mach 4.x installed?  Not (much
of) a problem.  The developer environment changed enough between
NEXTSTEP 3.x and OpenStep 4.x, that gcc for NEXTSTEP 3.x won't work
without a few modifications.  Fortunately, these modifications are
minimal.

I will note that this distribution of gcc is compatible with a
native nextstep4 or openstep4 compiler.  Differing versions of the
compiler can peacefully coexist.  The only thing to worry about
is the main gcc binary: /usr/local/bin/gcc (and likewise for g++,
g77).  This package over-writes them, so that envoking 'gcc' will
use this nextstep3 compiler.  If you prefer 'gcc' to be a different
compiler, by default, simply link it (hard or soft) to the appropriate
binary in /usr/local/bin, like:
gcc -> i386-next-nextstep4-gcc
or
gcc -> m68k-next-nextstep3-gcc
Envoking the compiler is a little tricky now too.  This is especially
the case when you have native nextstep4/openstep4 gcc compiler
installed too.  To be safe, you should envoke gcc as gcc-ns3 and
always add the appropriate -b flag to the compiler, like:
gcc-ns3 -bi386-next-nextstep3

Furthermore, you need to obtain a few binaries and libraries from
the DeveloperTools package from NEXTSTEP 3.3 (Don't install the
DeveloperTools from NEXTSTEP 3.3 onto an OpenStep system, especially
if you already have the DeveloperTools from OpenStep 4.x installed)
Unfortunately, I can't package this gcc distribution with these
bits and pieces already installed/configured for you.  I CAN tell
you how to do it, however.  The items you need are:

Binaries (from /bin/): 
Install these to
/usr/local/m68k-next-nextstep3/bin/
and/or
/usr/local/i386-next-nextstep3/bin/

ld	REQUIRED 
	install as ld.nextstep3
as	OPTIONAL (can use OpenStep's as, if you already have it)
	install as as.nextstep3		
ar	OPTIONAL (can use OpenStep's ar, if you already have it)
ranlib	OPTIONAL (can use OpenStep's ranlib, if you already have it)

Libraries (from /lib/): ALL REQUIRED
Install these to
/usr/local/m68k-next-nextstep3/lib/
and/or
/usr/local/i386-next-nextstep3/lib/

crt0.o
crt1.o
gcrt0.o
gcrt1.o
libsys_s.a
posixcrt0.o

Header files (from /usr/include/): OPTIONAL (can use OpenStep's header files)
Install these to 
/usr/local/m68k-next-nextstep3/include/
and/or
/usr/local/i386-next-nextstep3/include/
You'll probably only need the ansi, bsd, and mach include subdirectories.


CHANGELOG

April 29, 1998 (port 3)
- Minor bugfix release, no real need to upgrade from port 2, as long 
  as you don't mind doing the c++ header file fix described below.
- Minor c++ header file config (_G_config.h) fix for missing sys/cdefs.h
  on NEXTSTEP 3.3 (Sorry, I had only tested this on OpenStep for Mach 4.x).
- Use gzipped (smaller) package install using pre_install script.
- Use symoblic links instead of shell scripts for gcc-ns3, g++-ns3,
  g77-ns3 (they are now made at install time).
- Add cute GNU head icon.

April 20, 1998 (port 2)
- Split distribution into 3 parts: m68k drivers, i386 drivers, target libs.
- Added section: USING ON OPENSTEP
- Add TOOL_INCLUDE + ansi/bsd dirs to include search paths.
- removed objc compiler/runtime.
- Full m68k/i386 distribution.
- update to g77-0.5.22


CREDITS

GNU Software, gcc source
http://www.gnu.ai.mit.edu/

Packager
Rex Dieter <rdieter@math.unl.edu>
Computer System Manager 
University of Nebraska-Lincoln  
Department of Mathematics and Statistics 
http://www.math.unl.edu/~rdieter/

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.