Add new toolchain build structure for libg2c, libobjc, and libstdc++.

Note that old build system still exists under .if conditionals; this
will be removed once all platforms are using the new toolchain.
This commit is contained in:
tv 2001-07-24 19:44:47 +00:00
parent b224b62a84
commit f6709db6c6
15 changed files with 702 additions and 18 deletions

View File

@ -1,5 +1,13 @@
# $NetBSD: Makefile,v 1.23 2001/05/10 12:53:02 mason Exp $
# $NetBSD: Makefile,v 1.24 2001/07/24 19:44:47 tv Exp $
.if defined(USE_NEW_TOOLCHAIN)
SUBDIR+= libbfd libg2c libgcc libiberty libobjc libmalloc libstdc++
.else
#
# XXX - BEGIN - Old toolchain build goop - delete when everything migrated - XXX
#
HAVE_GCC29!= ${CXX} --version | egrep "^(2\.9)" ; echo
SUBDIR+= libbfd libmalloc
@ -10,5 +18,9 @@ SUBDIR+= libg2c libgcc libobjc
SUBDIR+= libstdc++
.endif
.endif
#
# XXX - END - Old toolchain build goop - delete when everything migrated - XXX
#
.endif
.include <bsd.subdir.mk>

View File

@ -1,8 +1,58 @@
# $NetBSD: Makefile,v 1.9 2001/01/08 08:29:59 itojun Exp $
# $NetBSD: Makefile,v 1.10 2001/07/24 19:44:48 tv Exp $
.include <bsd.own.mk>
LIB= g2c
MKLINT= no
.if defined(USE_NEW_TOOLCHAIN)
.include "${.CURDIR}/arch/${MACHINE_ARCH}/defs.mk"
TOP= ${.CURDIR}/../..
DIST= ${TOP}/dist/toolchain
SRCS= ${G_OBJS:.o=.c} ${G_OBJ:.o=.c}
GCPPFLAGS= ${G_ALL_CFLAGS:O:u}
CPPFLAGS+= -I${.CURDIR}/arch/${MACHINE_ARCH} \
${GCPPFLAGS:M-D*} ${GCPPFLAGS:M-I*:N-I.*} \
-DAllow_TYQUAD
.for c in F I U
CLEANFILES+= Version${c}.c
Version${c}.c: ${DIST}/libf2c/lib${c}77/Version.c
cp $> $@
.endfor
.for f in ${G_F2CEXT}
OBJS+= L${f}.o
L${f}.o: f2cext.c
${COMPILE.c} -DL${f} -o $@ ${>:M*.c}
.if ${MKPIC} != "no"
L${f}.so: f2cext.c
${COMPILE.c} ${CPICFLAGS} -DL${f} -o $@ ${>:M*.c}
.endif
.if ${MKPROFILE} != "no"
L${f}.po: f2cext.c
${COMPILE.c} -pg -DL${f} -o $@ ${>:M*.c}
.endif
.endfor
.PATH: ${DIST}/libf2c ${DIST}/libf2c/libF77 ${DIST}/libf2c/libI77 ${DIST}/libf2c/libU77
.include <bsd.lib.mk>
${OBJS}: ${.CURDIR}/arch/${MACHINE_ARCH}/defs.mk
.else
#
# XXX - BEGIN - Old toolchain build goop - delete when everything migrated - XXX
#
MKPIC=no # XXX hack; shlib_version mismatch
F77SRCS= F77_aloc.c Version.c main.c s_rnge.c abort_.c getarg_.c \
iargc_.c getenv_.c signal_.c s_stop.c s_paus.c system_.c \
@ -68,8 +118,6 @@ POBJS+= ${E77OBJS:.o=.po}
CLEANFILES+= ${LIBF77SRCS}
DPSRCS+= g2c.h
MKLINT= no
CPPFLAGS+= -I. -I${.CURDIR} -I${ARCH} -I${ARCH}/${ARCHSUBDIR} \
-I${DIST}/libf2c -I${DIST}/libf2c/libF77 \
-I${DIST}/libf2c/libI77 -I${DIST}/libf2c/libU77 \
@ -138,3 +186,7 @@ ${E77OBJS:.o=.po}: f2cext.c
.include <bsd.lib.mk>
${OBJS} ${SOBJS} ${POBJS}: g2c.h
#
# XXX - END - Old toolchain build goop - delete when everything migrated - XXX
#
.endif

View File

@ -0,0 +1,113 @@
/* This file is automatically generated. DO NOT EDIT! */
/* Generated from: NetBSD: toolchain2netbsd,v 1.3 2001/07/24 19:39:52 tv Exp */
/* config.h. Generated automatically by configure. */
/* config.hin. Generated automatically from configure.in by autoheader. */
/* Define to empty if the keyword does not work. */
/* #undef const */
/* Define if your struct stat has st_blksize. */
#define HAVE_ST_BLKSIZE 1
/* Define if your struct stat has st_blocks. */
#define HAVE_ST_BLOCKS 1
/* Define if your struct stat has st_rdev. */
#define HAVE_ST_RDEV 1
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef mode_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef pid_t */
/* Define to `unsigned' if <sys/types.h> doesn't define. */
/* #undef size_t */
/* Define if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/* Define if your <sys/time.h> declares struct tm. */
/* #undef TM_IN_SYS_TIME */
/* Define as the path of the `chmod' program. */
#define CHMOD_PATH "/bin/chmod"
/* Define if your sys/time.h defines struct timezone. */
#define HAVE_STRUCT_TIMEZONE 1
/* Define if you have the alarm function. */
#define HAVE_ALARM 1
/* Define if you have the clock function. */
#define HAVE_CLOCK 1
/* Define if you have the getcwd function. */
#define HAVE_GETCWD 1
/* Define if you have the getgid function. */
#define HAVE_GETGID 1
/* Define if you have the gethostname function. */
#define HAVE_GETHOSTNAME 1
/* Define if you have the getlogin function. */
#define HAVE_GETLOGIN 1
/* Define if you have the getrusage function. */
#define HAVE_GETRUSAGE 1
/* Define if you have the gettimeofday function. */
#define HAVE_GETTIMEOFDAY 1
/* Define if you have the getuid function. */
#define HAVE_GETUID 1
/* Define if you have the getwd function. */
#define HAVE_GETWD 1
/* Define if you have the kill function. */
#define HAVE_KILL 1
/* Define if you have the link function. */
#define HAVE_LINK 1
/* Define if you have the lstat function. */
#define HAVE_LSTAT 1
/* Define if you have the strerror function. */
#define HAVE_STRERROR 1
/* Define if you have the symlink function. */
#define HAVE_SYMLINK 1
/* Define if you have the times function. */
#define HAVE_TIMES 1
/* Define if you have the ttyname function. */
#define HAVE_TTYNAME 1
/* Define if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define if you have the <sys/times.h> header file. */
#define HAVE_SYS_TIMES_H 1
/* Define if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1

View File

@ -0,0 +1,10 @@
# This file is automatically generated. DO NOT EDIT!
# Generated from: NetBSD: toolchain2netbsd,v 1.3 2001/07/24 19:39:52 tv Exp
#
G_F2CEXT=abort derf derfc ef1asc ef1cmc erf erfc exit getarg getenv iargc signal system flush ftell fseek access besj0 besj1 besjn besy0 besy1 besyn chdir chmod ctime dbesj0 dbesj1 dbesjn dbesy0 dbesy1 dbesyn dtime etime fdate fgetc fget flush1 fnum fputc fput fstat gerror getcwd getgid getlog getpid getuid gmtime hostnm idate ierrno irand isatty itime kill link lnblnk lstat ltime mclock perror rand rename secnds second sleep srand stat symlnk time ttynam umask unlink vxttim alarm date_y2kbuggy date_y2kbug vxtidt_y2kbuggy vxtidt_y2kbug
G_ALL_CFLAGS=-I. -I${DIST}/libf2c/libF77 -I.. -I${DIST}/libf2c/libF77/.. -DSTDC_HEADERS=1 -DRETSIGTYPE=void -DIEEE_drem=1 -DSkip_f2c_Undefs=1 -g -O2
G_OBJS=F77_aloc.o VersionF.o main.o s_rnge.o abort_.o getarg_.o iargc_.o getenv_.o signal_.o s_stop.o s_paus.o system_.o cabs.o derf_.o derfc_.o erf_.o erfc_.o sig_die.o exit_.o setarg.o setsig.o pow_ci.o pow_dd.o pow_di.o pow_hh.o pow_ii.o pow_ri.o pow_zi.o pow_zz.o pow_qq.o c_abs.o c_cos.o c_div.o c_exp.o c_log.o c_sin.o c_sqrt.o z_abs.o z_cos.o z_div.o z_exp.o z_log.o z_sin.o z_sqrt.o r_abs.o r_acos.o r_asin.o r_atan.o r_atn2.o r_cnjg.o r_cos.o r_cosh.o r_dim.o r_exp.o r_imag.o r_int.o r_lg10.o r_log.o r_mod.o r_nint.o r_sign.o r_sin.o r_sinh.o r_sqrt.o r_tan.o r_tanh.o d_abs.o d_acos.o d_asin.o d_atan.o d_atn2.o d_cnjg.o d_cos.o d_cosh.o d_dim.o d_exp.o d_imag.o d_int.o d_lg10.o d_log.o d_mod.o d_nint.o d_prod.o d_sign.o d_sin.o d_sinh.o d_sqrt.o d_tan.o d_tanh.o i_abs.o i_dim.o i_dnnt.o i_indx.o i_len.o i_mod.o i_nint.o i_sign.o h_abs.o h_dim.o h_dnnt.o h_indx.o h_len.o h_mod.o h_nint.o h_sign.o l_ge.o l_gt.o l_le.o l_lt.o hl_ge.o hl_gt.o hl_le.o hl_lt.o ef1asc_.o ef1cmc_.o s_cat.o s_cmp.o s_copy.o lbitbits.o lbitshft.o qbitbits.o qbitshft.o
G_ALL_CFLAGS+=-I. -I${DIST}/libf2c/libI77 -I.. -I${DIST}/libf2c/libI77/.. -DSTDC_HEADERS=1 -D_POSIX_SOURCE=1 -DHAVE_TEMPNAM=1 -DNO_EOF_CHAR_CHECK=1 -DSkip_f2c_Undefs=1 -g -O2
G_OBJ+=VersionI.o backspace.o close.o dfe.o dolio.o due.o endfile.o err.o fmt.o fmtlib.o iio.o ilnw.o inquire.o lread.o lwrite.o open.o rdfmt.o rewind.o rsfe.o rsli.o rsne.o sfe.o sue.o typesize.o uio.o util.o wref.o wrtfmt.o wsfe.o wsle.o wsne.o xwsne.o ftell_.o
G_ALL_CFLAGS+=-I. -I${DIST}/libf2c/libU77 -I${DIST}/libf2c/libU77/../libI77 -I.. -I${DIST}/libf2c/libU77/.. -DHAVE_CONFIG_H -g -O2
G_OBJS+=VersionU.o gerror_.o perror_.o ierrno_.o itime_.o time_.o unlink_.o fnum_.o getpid_.o getuid_.o getgid_.o kill_.o rand_.o srand_.o irand_.o sleep_.o idate_.o ctime_.o etime_.o dtime_.o isatty_.o ltime_.o fstat_.o stat_.o lstat_.o access_.o link_.o getlog_.o ttynam_.o getcwd_.o symlnk_.o vxttime_.o vxtidate_.o gmtime_.o fdate_.o secnds_.o bes.o dbes.o chdir_.o chmod_.o lnblnk_.o hostnm_.o rename_.o fgetc_.o fputc_.o umask_.o sys_clock_.o date_.o second_.o flush1_.o mclock_.o alarm_.o datetime_.o

View File

@ -0,0 +1,239 @@
/* This file is automatically generated. DO NOT EDIT! */
/* Generated from: NetBSD: toolchain2netbsd,v 1.3 2001/07/24 19:39:52 tv Exp */
/* g2c.h -- g77 version of f2c (Standard Fortran to C header file) */
/* This file is generated by the g77 libg2c configuration process from a
file named g2c.hin. This process sets up the appropriate types,
defines the appropriate macros, and so on. The resulting g2c.h file
is used to build g77's copy of libf2c, named libg2c, and also can
be used when compiling C code produced by f2c to link the resulting
object file(s) with those produced by the same version of g77 that
produced this file, allowing inter-operability of f2c-compiled and
g77-compiled code. */
/** barf [ba:rf] 2. "He suggested using FORTRAN, and everybody barfed."
- From The Shogakukan DICTIONARY OF NEW ENGLISH (Second edition) */
#ifndef F2C_INCLUDE
#define F2C_INCLUDE
/* F2C_INTEGER will normally be `int' but would be `long' on 16-bit systems */
/* we assume short, float are OK */
typedef long int /* long int */ integer;
typedef unsigned long int /* long */ uinteger;
typedef char *address;
typedef short int shortint;
typedef float real;
typedef double doublereal;
typedef struct { real r, i; } complex;
typedef struct { doublereal r, i; } doublecomplex;
typedef long int /* long int */ logical;
typedef short int shortlogical;
typedef char logical1;
typedef char integer1;
typedef long long int /* long long */ longint; /* system-dependent */
typedef unsigned long long int /* long long */ ulongint; /* system-dependent */
#define qbit_clear(a,b) ((a) & ~((ulongint)1 << (b)))
#define qbit_set(a,b) ((a) | ((ulongint)1 << (b)))
#define TRUE_ (1)
#define FALSE_ (0)
/* Extern is for use with -E */
#ifndef Extern
#define Extern extern
#endif
/* I/O stuff */
#ifdef f2c_i2
#error "f2c_i2 will not work with g77!!!!"
/* for -i2 */
typedef short flag;
typedef short ftnlen;
typedef short ftnint;
#else
typedef long int /* long int */ flag;
typedef long int /* long int */ ftnlen;
typedef long int /* long int */ ftnint;
#endif
/*external read, write*/
typedef struct
{ flag cierr;
ftnint ciunit;
flag ciend;
char *cifmt;
ftnint cirec;
} cilist;
/*internal read, write*/
typedef struct
{ flag icierr;
char *iciunit;
flag iciend;
char *icifmt;
ftnint icirlen;
ftnint icirnum;
} icilist;
/*open*/
typedef struct
{ flag oerr;
ftnint ounit;
char *ofnm;
ftnlen ofnmlen;
char *osta;
char *oacc;
char *ofm;
ftnint orl;
char *oblnk;
} olist;
/*close*/
typedef struct
{ flag cerr;
ftnint cunit;
char *csta;
} cllist;
/*rewind, backspace, endfile*/
typedef struct
{ flag aerr;
ftnint aunit;
} alist;
/* inquire */
typedef struct
{ flag inerr;
ftnint inunit;
char *infile;
ftnlen infilen;
ftnint *inex; /*parameters in standard's order*/
ftnint *inopen;
ftnint *innum;
ftnint *innamed;
char *inname;
ftnlen innamlen;
char *inacc;
ftnlen inacclen;
char *inseq;
ftnlen inseqlen;
char *indir;
ftnlen indirlen;
char *infmt;
ftnlen infmtlen;
char *inform;
ftnint informlen;
char *inunf;
ftnlen inunflen;
ftnint *inrecl;
ftnint *innrec;
char *inblank;
ftnlen inblanklen;
} inlist;
#define VOID void
union Multitype { /* for multiple entry points */
integer1 g;
shortint h;
integer i;
/* longint j; */
real r;
doublereal d;
complex c;
doublecomplex z;
};
typedef union Multitype Multitype;
/*typedef long int Long;*/ /* No longer used; formerly in Namelist */
struct Vardesc { /* for Namelist */
char *name;
char *addr;
ftnlen *dims;
int type;
};
typedef struct Vardesc Vardesc;
struct Namelist {
char *name;
Vardesc **vars;
int nvars;
};
typedef struct Namelist Namelist;
#define abs(x) ((x) >= 0 ? (x) : -(x))
#define dabs(x) (doublereal)abs(x)
#define min(a,b) ((a) <= (b) ? (a) : (b))
#define max(a,b) ((a) >= (b) ? (a) : (b))
#define dmin(a,b) (doublereal)min(a,b)
#define dmax(a,b) (doublereal)max(a,b)
#define bit_test(a,b) ((a) >> (b) & 1)
#define bit_clear(a,b) ((a) & ~((uinteger)1 << (b)))
#define bit_set(a,b) ((a) | ((uinteger)1 << (b)))
/* procedure parameter types for -A and -C++ */
#define F2C_proc_par_types 1
#ifdef __cplusplus
typedef int /* Unknown procedure type */ (*U_fp)(...);
typedef shortint (*J_fp)(...);
typedef integer (*I_fp)(...);
typedef real (*R_fp)(...);
typedef doublereal (*D_fp)(...), (*E_fp)(...);
typedef /* Complex */ VOID (*C_fp)(...);
typedef /* Double Complex */ VOID (*Z_fp)(...);
typedef logical (*L_fp)(...);
typedef shortlogical (*K_fp)(...);
typedef /* Character */ VOID (*H_fp)(...);
typedef /* Subroutine */ int (*S_fp)(...);
#else
typedef int /* Unknown procedure type */ (*U_fp)();
typedef shortint (*J_fp)();
typedef integer (*I_fp)();
typedef real (*R_fp)();
typedef doublereal (*D_fp)(), (*E_fp)();
typedef /* Complex */ VOID (*C_fp)();
typedef /* Double Complex */ VOID (*Z_fp)();
typedef logical (*L_fp)();
typedef shortlogical (*K_fp)();
typedef /* Character */ VOID (*H_fp)();
typedef /* Subroutine */ int (*S_fp)();
#endif
/* E_fp is for real functions when -R is not specified */
typedef VOID C_f; /* complex function */
typedef VOID H_f; /* character function */
typedef VOID Z_f; /* double complex function */
typedef doublereal E_f; /* real function with -R not specified */
/* undef any lower-case symbols that your C compiler predefines, e.g.: */
#ifndef Skip_f2c_Undefs
/* (No such symbols should be defined in a strict ANSI C compiler.
We can avoid trouble with f2c-translated code by using
gcc -ansi [-traditional].) */
#undef cray
#undef gcos
#undef mc68010
#undef mc68020
#undef mips
#undef pdp11
#undef sgi
#undef sparc
#undef sun
#undef sun2
#undef sun3
#undef sun4
#undef u370
#undef u3b
#undef u3b2
#undef u3b5
#undef unix
#undef vax
#endif
#endif

View File

@ -1,3 +1,3 @@
# $NetBSD: shlib_version,v 1.2 1998/08/28 22:38:25 tv Exp $
major=0
# $NetBSD: shlib_version,v 1.3 2001/07/24 19:44:48 tv Exp $
major=1
minor=0

View File

@ -1,12 +1,52 @@
# $NetBSD: Makefile,v 1.11 2001/01/09 08:33:46 enami Exp $
# $NetBSD: Makefile,v 1.12 2001/07/24 19:44:49 tv Exp $
.include <bsd.own.mk>
LIB= objc
MKLINT= no
.if defined(USE_NEW_TOOLCHAIN)
# Machine-independent definitions (include file names).
.include "${.CURDIR}/defs.mk"
# Machine-dependent definitions (object files, -Ds).
.include "${.CURDIR}/${MACHINE_ARCH}.mk"
TOP= ${.CURDIR}/../..
DIST= ${TOP}/dist/toolchain
GCCARCH= ${TOP}/usr.bin/gcc/arch/${MACHINE_ARCH}
SRCS= ${G_OBJS:N[A-Z]*:Nlinking.o:.o=.c} ${G_OBJS:M[A-Z]*:.o=.m} linking.m
GCPPFLAGS= ${G_ALL_CFLAGS} ${G_INCLUDES}
CPPFLAGS+= -I. -I${GCCARCH} ${GCPPFLAGS:M-D*} ${GCPPFLAGS:M-I*:N-I.*}
INCS= ${G_OBJC_H}
INCSDIR= /usr/include/objc
DPSRCS+= runtime-info.h
CLEANFILES+= rtscratch rtscratch.s
runtime-info.h:
@touch rtscratch
`${OBJC} --print-prog-name=cc1obj` -print-objc-runtime-info rtscratch >$@
.PATH: ${DIST}/libobjc ${DIST}/libobjc/objc
.include <bsd.lib.mk>
${OBJS}: ${.CURDIR}/${MACHINE_ARCH}.mk runtime-info.h
.else
#
# XXX - BEGIN - Old toolchain build goop - delete when everything migrated - XXX
#
HAVE_GCC28!= ${CXX} --version | egrep "^(2\.8|egcs)" ; echo
.if (${HAVE_GCC28} != "")
LIB= objc
MKPIC=no # XXX hack; shlib_version mismatch
SRCS= hash.c sarray.c class.c sendmsg.c init.c archive.c \
encoding.c selector.c objects.c misc.c NXConstStr.m \
Object.m Protocol.m nil_method.c thr.c linking.m \
@ -32,8 +72,6 @@ ARCHSUBDIR= ${MACHINE_CPU}
CPPFLAGS+= -I. -I${ARCH}/${ARCHSUBDIR} -I${ARCH} \
-I${DIST}/config -I${DIST}
MKLINT= no
CLEANFILES+= rtscratch rtscratch.s
runtime-info.h:
@touch rtscratch
@ -51,3 +89,7 @@ sendmsg.o sendmsg.so sendmsg.po: runtime-info.h
${TARGETS}:
.endif
#
# XXX - END - Old toolchain build goop - delete when everything migrated - XXX
#
.endif

4
gnu/lib/libobjc/defs.mk Normal file
View File

@ -0,0 +1,4 @@
# This file is automatically generated. DO NOT EDIT!
# Generated from: NetBSD: toolchain2netbsd,v 1.3 2001/07/24 19:39:52 tv Exp
#
G_OBJC_H=hash.h objc-list.h sarray.h objc.h objc-api.h NXConstStr.h Object.h Protocol.h encoding.h typedstream.h thr.h

6
gnu/lib/libobjc/i386.mk Normal file
View File

@ -0,0 +1,6 @@
# This file is automatically generated. DO NOT EDIT!
# Generated from: NetBSD: toolchain2netbsd,v 1.3 2001/07/24 19:39:52 tv Exp
#
G_ALL_CFLAGS=-I. -I${DIST}/libobjc -g -O2 -DIN_GCC
G_INCLUDES=-I${DIST}/libobjc/objc -I${DIST}/libobjc/../gcc -I${DIST}/libobjc/../gcc/config -I../../gcc -I${DIST}/libobjc/../include
G_OBJS=archive.o class.o encoding.o gc.o hash.o init.o linking.o misc.o nil_method.o NXConstStr.o Object.o objects.o Protocol.o sarray.o selector.o sendmsg.o thr.o thr-single.o

View File

@ -1,3 +1,3 @@
# $NetBSD: shlib_version,v 1.2 1998/08/28 22:38:26 tv Exp $
major=0
# $NetBSD: shlib_version,v 1.3 2001/07/24 19:44:49 tv Exp $
major=1
minor=0

View File

@ -1,6 +1,78 @@
# $NetBSD: Makefile,v 1.9 1999/02/13 02:54:23 lukem Exp $
# $NetBSD: Makefile,v 1.10 2001/07/24 19:44:49 tv Exp $
.include <bsd.own.mk>
LIB= stdc++
MKLINT= no
.if defined(USE_NEW_TOOLCHAIN)
.include "${.CURDIR}/arch/${MACHINE_ARCH}/defs.mk"
SUBDIR= include
TOP= ${.CURDIR}/../..
DIST= ${TOP}/dist/toolchain
SRCS= ${G_OBJS:.o=.cc} ${G_LIBIBERTY_OBJS:.o=.c}
# Ugly, but they aren't identified individually in libio/Makefile:
.for f in ${G_LIBIOSTREAM_USE}
.if exists(${DIST}/libio/${f:.o=.c})
SRCS+= ${f:.o=.c}
.else
SRCS+= ${f:.o=.cc}
.endif
.endfor
GCPPFLAGS= ${G_XCFLAGS} ${G_CINCLUDES} ${G_MT_CFLAGS} ${G_CXXINCLUDES}
CPPFLAGS+= -nostdinc++ -I${.CURDIR}/arch/${MACHINE_ARCH} \
${GCPPFLAGS:M-D*} ${GCPPFLAGS:M-I*:N-I.*} \
-I${DIST}/gcc/cp/inc \
-I${.CURDIR}/../libiberty/arch/${MACHINE_ARCH} -I${DIST}/include
CXXFLAGS+= ${G_XCXXFLAGS:M-f*}
.PATH: ${DIST}/libstdc++ ${DIST}/libstdc++/stl ${DIST}/libio ${DIST}/libiberty
.for t in C
.for v in STRFUNCS STRIO
CLEANFILES+= ${t}${v}.cc
SRCS+= ${t}${v}.cc
${t}${v}.cc: Makefile ${.CURDIR}/arch/${MACHINE_ARCH}/defs.mk sinst.cc
echo '#define ${t}' >$@
.for f in ${G_${v}}
echo '#define ${f}' >>$@
.endfor
cat ${>:M*.cc} >>$@
.endfor
.endfor
.for t in F D LD
.for v in COMFUNCS COMIO
CLEANFILES+= ${t}${v}.cc
SRCS+= ${t}${v}.cc
${t}${v}.cc: Makefile ${.CURDIR}/arch/${MACHINE_ARCH}/defs.mk cinst.cc
echo '#define ${t}' >$@
.for f in ${G_${v}}
echo '#define ${f}' >>$@
.endfor
cat ${>:M*.cc} >>$@
.endfor
.endfor
.include <bsd.lib.mk>
.include <bsd.subdir.mk>
${OBJS}: ${.CURDIR}/arch/${MACHINE_ARCH}/defs.mk
.else
#
# XXX - BEGIN - Old toolchain build goop - delete when everything migrated - XXX
#
MKPIC=no # XXX hack; shlib_version mismatch
INCS= cassert cctype cerrno cfloat ciso646 climits clocale cmath \
complex csetjmp csignal cstdarg cstddef cstdio cstdlib \
@ -30,9 +102,6 @@ SRCS= PlotFile.cc SFile.cc builtinbuf.cc editbuf.cc filebuf.cc fstream.cc \
DIST= ${.CURDIR}/../../dist
CPPFLAGS+= -I${DESTDIR}/usr/include/g++ -I${DIST}/libstdc++
MKMAN= no
MKLINT= no
TEXINFO= iostream.texi
.PATH: ${DIST}/libstdc++ ${DIST}/libstdc++/stl ${DIST}/libio
@ -73,6 +142,10 @@ ${_TYPE_}inst.cc: cinst.cc
.include <bsd.info.mk>
.include <bsd.lib.mk>
.include <bsd.subdir.mk>
#
# XXX - END - Old toolchain build goop - delete when everything migrated - XXX
#
.endif
.if (${OBJECT_FMT} == "a.out")
LDADD= ${DESTDIR}/usr/lib/c++rt0.o

View File

@ -0,0 +1,91 @@
/* This file is automatically generated. DO NOT EDIT! */
/* Generated from: NetBSD: toolchain2netbsd,v 1.3 2001/07/24 19:39:52 tv Exp */
/* AUTOMATICALLY GENERATED; DO NOT EDIT! */
#ifndef _G_config_h
#define _G_config_h
#define _G_NAMES_HAVE_UNDERSCORE 0
#define _G_VTABLE_LABEL_HAS_LENGTH 1
#define _G_VTABLE_LABEL_PREFIX "__vt_"
#define _G_USING_THUNKS
#define _G_VTABLE_LABEL_PREFIX_ID __vt_
#define _G_HAVE_ST_BLKSIZE 1
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
typedef int _G_int8_t __attribute__((__mode__(__QI__)));
typedef unsigned int _G_uint8_t __attribute__((__mode__(__QI__)));
typedef int _G_int16_t __attribute__((__mode__(__HI__)));
typedef unsigned int _G_uint16_t __attribute__((__mode__(__HI__)));
typedef int _G_int32_t __attribute__((__mode__(__SI__)));
typedef unsigned int _G_uint32_t __attribute__((__mode__(__SI__)));
typedef int _G_int64_t __attribute__((__mode__(__DI__)));
typedef unsigned int _G_uint64_t __attribute__((__mode__(__DI__)));
#if __GNUC__ > 2 || __GNUC_MINOR__ >= 8
__extension__ typedef long long _G_llong;
__extension__ typedef unsigned long long _G_ullong;
#endif
#else
typedef short _G_int16_t;
typedef unsigned short _G_uint16_t;
typedef int _G_int32_t;
typedef unsigned int _G_uint32_t;
#endif
typedef unsigned long _G_clock_t;
typedef unsigned int _G_dev_t;
typedef _G_llong _G_fpos_t;
typedef unsigned int _G_gid_t;
typedef unsigned int _G_ino_t;
typedef unsigned int _G_mode_t;
typedef unsigned int _G_nlink_t;
typedef _G_llong _G_off_t;
typedef int _G_pid_t;
#ifndef __PTRDIFF_TYPE__
#define __PTRDIFF_TYPE__ int
#endif
typedef __PTRDIFF_TYPE__ _G_ptrdiff_t;
typedef int /* default */ _G_sigset_t;
#ifndef __SIZE_TYPE__
#define __SIZE_TYPE__ unsigned int
#endif
typedef __SIZE_TYPE__ _G_size_t;
typedef long _G_time_t;
typedef unsigned int _G_uid_t;
typedef int _G_wchar_t;
#define _G_BUFSIZ 1024
#define _G_FOPEN_MAX 20
#define _G_FILENAME_MAX 1024
#if defined (__cplusplus) || defined (__STDC__)
#define _G_ARGS(ARGLIST) ARGLIST
#else
#define _G_ARGS(ARGLIST) ()
#endif
#if !defined (__GNUG__) || defined (__STRICT_ANSI__)
#define _G_NO_NRV
#endif
#if !defined (__GNUG__)
#define _G_NO_EXTERN_TEMPLATES
#endif
typedef int _G_ssize_t;
typedef int _G_wint_t;
typedef char * _G_va_list;
#define _G_signal_return_type void
#define _G_sprintf_return_type int
#define _G_HAVE_ATEXIT 1
#define _G_HAVE_SYS_RESOURCE 1
#define _G_HAVE_SYS_TIMES 1
#define _G_HAVE_SYS_SOCKET 1
#define _G_HAVE_SYS_CDEFS 1
#define _G_HAVE_SYS_WAIT 1
#define _G_HAVE_UNISTD 1
#define _G_HAVE_DIRENT 1
#define _G_HAVE_CURSES 1
#define _G_MATH_H_INLINES 0
#define _G_HAVE_BOOL 1
#define _G_HAVE_PRINTF_FP 0
#define _G_HAVE_LONG_DOUBLE_IO 0
#undef NULL
#define __need_NULL
#include <stddef.h>
#endif /* !_G_config_h */

View File

@ -0,0 +1,18 @@
# This file is automatically generated. DO NOT EDIT!
# Generated from: NetBSD: toolchain2netbsd,v 1.3 2001/07/24 19:39:52 tv Exp
#
G_CINCLUDES=-I. -I${DIST}/libio
G_LIBIOSTREAM_USE=filedoalloc.o floatconv.o genops.o fileops.o iovfprintf.o iovfscanf.o ioignore.o iopadn.o iofgetpos.o iofread.o iofscanf.o iofsetpos.o iogetdelim.o iogetline.o ioprintf.o ioseekoff.o ioseekpos.o outfloat.o strops.o iofclose.o iopopen.o ioungetc.o peekc.o iogetc.o ioputc.o iofeof.o ioferror.o builtinbuf.o filebuf.o fstream.o indstream.o ioassign.o ioextend.o iomanip.o iostream.o isgetline.o isgetsb.o isscan.o osform.o procbuf.o sbform.o sbgetline.o sbscan.o stdiostream.o stdstrbufs.o stdstreams.o stream.o streambuf.o strstream.o PlotFile.o SFile.o parsestream.o pfstream.o editbuf.o ioprims.o iostrerror.o cleanup.o
G_MT_CFLAGS=
G_XCFLAGS=-g
G_XCXXFLAGS=-g -O2 -fno-implicit-templates
G_LIBIBERTY_OBJS=strncmp.o strerror.o
G_COMFUNCS=MAIN ADDCC ADDCF ADDFC SUBCC SUBCF SUBFC MULCC MULCF MULFC DIVCC DIVCF DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS ARG POLAR CONJ NORM COS COSH EXP LOG POWCC POWCF POWCI POWFC SIN SINH SQRT
G_COMIO=EXTRACT INSERT
G_CXXINCLUDES=-I${DIST}/libstdc++ -I${DIST}/libstdc++/stl -I../libio -I${DIST}/libstdc++/../libio -nostdinc++
G_HEADERS=cassert cctype cerrno cfloat ciso646 climits clocale cmath complex csetjmp csignal cstdarg cstddef cstdio cstdlib cstring ctime cwchar cwctype string stdexcept algorithm deque functional hash_map hash_set iterator list map memory numeric pthread_alloc queue rope set slist stack utility vector fstream iomanip iostream strstream iosfwd bitset valarray sstream
G_OBJS=cstringi.o stdexcepti.o cstdlibi.o cmathi.o stlinst.o valarray.o
G_STRFUNCS=REP MAIN TRAITS ADDSS ADDPS ADDCS ADDSP ADDSC EQSS EQPS EQSP NESS NEPS NESP LTSS LTPS LTSP GTSS GTPS GTSP LESS LEPS LESP GESS GEPS GESP
G_STRIO=EXTRACT INSERT GETLINE
STD_HEADERS= complex.h stl.h std/bastring.h std/complext.h std/dcomplex.h std/fcomplex.h std/gslice.h std/gslice_array.h std/indirect_array.h std/ldcomplex.h std/mask_array.h std/slice.h std/slice_array.h std/std_valarray.h std/straits.h std/valarray_array.h std/valarray_meta.h std/bastring.cc std/complext.cc std/valarray_array.tcc
STL_HEADERS= algo.h algobase.h alloc.h bvector.h defalloc.h deque.h function.h hash_map.h hash_set.h hashtable.h heap.h iterator.h list.h map.h multimap.h multiset.h pair.h pthread_alloc.h rope.h ropeimpl.h set.h slist.h stack.h stl_algo.h stl_algobase.h stl_alloc.h stl_bvector.h stl_config.h stl_construct.h stl_deque.h stl_function.h stl_hash_fun.h stl_hash_map.h stl_hash_set.h stl_hashtable.h stl_heap.h stl_iterator.h stl_list.h stl_map.h stl_multimap.h stl_multiset.h stl_numeric.h stl_pair.h stl_queue.h stl_raw_storage_iter.h stl_relops.h stl_rope.h stl_set.h stl_slist.h stl_stack.h stl_tempbuf.h stl_tree.h stl_uninitialized.h stl_vector.h tempbuf.h tree.h type_traits.h vector.h

View File

@ -0,0 +1,24 @@
# $NetBSD: Makefile,v 1.1 2001/07/24 19:44:50 tv Exp $
.include <bsd.own.mk>
# This include file keeps the includes/build of libstdc++ separate,
# to avoid issues like "iostream.cc" using the default ".cc:" rule
# to build the "iostream" file (which is actually a header).
.if defined(USE_NEW_TOOLCHAIN)
.include "${.CURDIR}/../arch/${MACHINE_ARCH}/defs.mk"
TOP= ${.CURDIR}/../../..
DIST= ${TOP}/dist/toolchain
INCS= ${G_HEADERS} ${STD_HEADERS} ${STL_HEADERS}
INCSDIR= /usr/include/g++
.PATH: ${DIST}/libstdc++ ${DIST}/libstdc++/stl
# Get default targets including <bsd.inc.mk>.
.include <bsd.prog.mk>
.endif

View File

@ -1,3 +1,3 @@
# $NetBSD: shlib_version,v 1.3 1998/08/28 22:38:26 tv Exp $
major=2
# $NetBSD: shlib_version,v 1.4 2001/07/24 19:44:50 tv Exp $
major=3
minor=0