summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cross/COMMON/PLIST-binutils25
-rw-r--r--cross/COMMON/PLIST-egcs-ss187
-rw-r--r--cross/COMMON/cross.mk137
-rw-r--r--cross/COMMON/netbsd.mk15
-rw-r--r--cross/COMMON/patches-egcs-ss/patch-aa20
5 files changed, 384 insertions, 0 deletions
diff --git a/cross/COMMON/PLIST-binutils b/cross/COMMON/PLIST-binutils
new file mode 100644
index 00000000000..ad65a1000b3
--- /dev/null
+++ b/cross/COMMON/PLIST-binutils
@@ -0,0 +1,25 @@
+@comment $NetBSD: PLIST-binutils,v 1.1 1998/08/12 02:42:28 tv Exp $
+${TARGET_ARCH}/bin/addr2line
+${TARGET_ARCH}/bin/ar
+${TARGET_ARCH}/bin/as
+${TARGET_ARCH}/bin/gasp
+${TARGET_ARCH}/bin/ld
+${TARGET_ARCH}/bin/nm
+${TARGET_ARCH}/bin/objcopy
+${TARGET_ARCH}/bin/objdump
+${TARGET_ARCH}/bin/ranlib
+${TARGET_ARCH}/bin/size
+${TARGET_ARCH}/bin/strings
+${TARGET_ARCH}/bin/strip
+bin/${TARGET_ARCH}-addr2line
+bin/${TARGET_ARCH}-ar
+bin/${TARGET_ARCH}-as
+bin/${TARGET_ARCH}-gasp
+bin/${TARGET_ARCH}-ld
+bin/${TARGET_ARCH}-nm
+bin/${TARGET_ARCH}-objcopy
+bin/${TARGET_ARCH}-objdump
+bin/${TARGET_ARCH}-ranlib
+bin/${TARGET_ARCH}-size
+bin/${TARGET_ARCH}-strings
+bin/${TARGET_ARCH}-strip
diff --git a/cross/COMMON/PLIST-egcs-ss b/cross/COMMON/PLIST-egcs-ss
new file mode 100644
index 00000000000..079cdf41c68
--- /dev/null
+++ b/cross/COMMON/PLIST-egcs-ss
@@ -0,0 +1,187 @@
+@comment $NetBSD: PLIST-egcs-ss,v 1.1 1998/08/12 02:42:28 tv Exp $
+${TARGET_ARCH}/bin/c++
+${TARGET_ARCH}/bin/c++filt
+${TARGET_ARCH}/bin/cc
+${TARGET_ARCH}/bin/f77
+${TARGET_ARCH}/bin/g++
+${TARGET_ARCH}/bin/g77
+${TARGET_ARCH}/bin/gcc
+${TARGET_ARCH}/lib/libstdc++.a
+bin/${TARGET_ARCH}-c++
+bin/${TARGET_ARCH}-c++filt
+bin/${TARGET_ARCH}-cc
+bin/${TARGET_ARCH}-f77
+bin/${TARGET_ARCH}-g++
+bin/${TARGET_ARCH}-g77
+bin/${TARGET_ARCH}-gcc
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/cc1
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/cc1obj
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/cc1plus
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/collect2
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/cpp
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/f771
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/README
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/exception
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/float.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/algo.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/algobase.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/algorithm
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/alloc.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/bvector.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/cassert
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/cctype
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/cerrno
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/cfloat
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/ciso646
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/climits
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/clocale
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/cmath
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/complex
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/complex.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/csetjmp
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/csignal
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/cstdarg
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/cstddef
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/cstdio
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/cstdlib
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/cstring
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/ctime
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/cwchar
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/cwctype
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/defalloc.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/deque
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/deque.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/fstream
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/function.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/functional
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/hash_map
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/hash_map.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/hash_set
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/hash_set.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/hashtable.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/heap.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/iomanip
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/iosfwd
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/iostream
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/iterator
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/iterator.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/list
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/list.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/map
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/map.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/memory
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/multimap.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/multiset.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/numeric
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/pair.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/pthread_alloc
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/pthread_alloc.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/queue
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/rope
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/rope.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/ropeimpl.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/set
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/set.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/slist
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/slist.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stack
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stack.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/std/bastring.cc
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/std/bastring.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/std/complext.cc
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/std/complext.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/std/dcomplex.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/std/fcomplex.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/std/ldcomplex.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/std/straits.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stdexcept
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_algo.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_algobase.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_alloc.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_bvector.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_config.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_construct.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_deque.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_function.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_hash_fun.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_hash_map.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_hash_set.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_hashtable.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_heap.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_iterator.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_list.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_map.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_multimap.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_multiset.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_numeric.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_pair.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_queue.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_raw_storage_iter.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_relops.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_rope.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_set.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_slist.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_stack.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_tempbuf.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_tree.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_uninitialized.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/stl_vector.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/string
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/strstream
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/tempbuf.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/tree.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/type_traits.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/utility
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/vector
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g++/vector.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/g2c.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/iso646.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/limits.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/new
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/new.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/objc/NXConstStr.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/objc/Object.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/objc/Protocol.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/objc/encoding.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/objc/hash.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/objc/objc-api.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/objc/objc-list.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/objc/objc.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/objc/sarray.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/objc/thr.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/objc/typedstream.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/proto.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/stdarg.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/stdbool.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/stddef.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/syslimits.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/typeinfo
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/va-alpha.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/va-arc.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/va-clipper.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/va-h8300.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/va-i860.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/va-i960.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/va-m32r.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/va-m88k.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/va-mips.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/va-mn10200.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/va-mn10300.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/va-pa.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/va-ppc.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/va-pyr.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/va-sh.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/va-sparc.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/va-spur.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/va-v850.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/varargs.h
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/libg2c.a
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/libgcc.a
+lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/specs
+@dirrm lib/gcc-lib/i386-linuxglibc1/egcs-2.91.53/include/objc
+@dirrm lib/gcc-lib/i386-linuxglibc1/egcs-2.91.53/include/g++/std
+@dirrm lib/gcc-lib/i386-linuxglibc1/egcs-2.91.53/include/g++
+@dirrm lib/gcc-lib/i386-linuxglibc1/egcs-2.91.53/include
+@dirrm lib/gcc-lib/i386-linuxglibc1/egcs-2.91.53
+@dirrm lib/gcc-lib/i386-linuxglibc1
diff --git a/cross/COMMON/cross.mk b/cross/COMMON/cross.mk
new file mode 100644
index 00000000000..8c4d22a8491
--- /dev/null
+++ b/cross/COMMON/cross.mk
@@ -0,0 +1,137 @@
+# $NetBSD: cross.mk,v 1.1 1998/08/12 02:42:29 tv Exp $
+
+# Shared definitions for building a cross-compile environment.
+
+DISTNAME= cross-${TARGET_ARCH}-${DISTVERSION}
+CATEGORIES+= cross lang
+USE_CROSSBASE= yes
+PLIST_SRC= ${WRKDIR}/.PLIST_SRC
+
+TARGET_DIR= ${PREFIX}/${TARGET_ARCH}
+COMMON_DIR= ${PKGSRCDIR}/cross/COMMON
+PLIST_PRE?= ${PKGDIR}/PLIST
+
+do-install: do-install-dirs
+do-install-dirs:
+ ${INSTALL_DATA_DIR} ${PREFIX}
+ ${INSTALL_DATA_DIR} ${PREFIX}/bin
+ ${INSTALL_DATA_DIR} ${PREFIX}/lib
+ ${INSTALL_DATA_DIR} ${TARGET_DIR}
+ ${INSTALL_DATA_DIR} ${TARGET_DIR}/bin
+ ${INSTALL_DATA_DIR} ${TARGET_DIR}/include
+ ${INSTALL_DATA_DIR} ${TARGET_DIR}/lib
+
+.if defined(USE_CROSS_GNU)
+BINUTILS_DISTNAME= binutils-2.9.1
+CROSS_DISTFILES+= ${BINUTILS_DISTNAME}.tar.gz
+MASTER_SITES+= ${MASTER_SITE_GNU}
+CONFIGURE_ARGS+= --with-gnu-as --with-gnu-ld
+PLIST_PRE+= ${COMMON_DIR}/PLIST-binutils
+USE_CROSS_EGCS= yes
+
+post-extract: post-extract-binutils
+post-extract-binutils:
+ @cd ${WRKSRC} && \
+ ${LN} -sf ../${BINUTILS_DISTNAME}/bfd && \
+ ${LN} -sf ../${BINUTILS_DISTNAME}/binutils && \
+ ${LN} -sf ../${BINUTILS_DISTNAME}/gas && \
+ ${LN} -sf ../${BINUTILS_DISTNAME}/ld && \
+ ${LN} -sf ../${BINUTILS_DISTNAME}/opcodes && \
+ ${LN} -sf ../gas/as-new gcc/as && \
+ ${LN} -sf ../ld/ld-new gcc/ld
+ @cd ${WRKDIR}/${BINUTILS_DISTNAME} && \
+ ${RM} -rf libiberty texinfo && \
+ ${LN} -sf ../${EGCS_DISTNAME}/libiberty
+
+do-install: do-install-binutils
+do-install-binutils:
+ @cd ${WRKSRC}/binutils && ${GMAKE} install-exec
+ @cd ${WRKSRC}/gas && ${GMAKE} install-exec
+ @cd ${WRKSRC}/ld && ${GMAKE} install-exec
+ for file in addr2line c++filt gasp objcopy objdump size strings; do \
+ ${LN} -f ${PREFIX}/bin/${TARGET_ARCH}-$$file ${TARGET_DIR}/bin/$$file; \
+ done
+.endif
+
+.if defined(USE_CROSS_EGCS)
+#.if defined(USE_CROSS_EGCS_SNAPSHOT)
+EGCS_DISTNAME= egcs-19980803
+EGCS_DISTDIR= snapshots/1998-08-03
+EGCS_INTVERSION= egcs-2.91.53
+EGCS_PLIST_PRE= ${COMMON_DIR}/PLIST-egcs-ss
+CROSS_PATCHFILES+= ${COMMON_DIR}/patches-egcs-ss/patch-*
+#.else
+#EGCS_DISTNAME= egcs-1.1
+#EGCS_DISTDIR= releases/egcs-1.1
+#EGCS_INTVERSION= egcs-2.??.??
+#.endif
+
+CROSS_DISTFILES+= ${EGCS_DISTNAME}.tar.gz
+MASTER_SITES+= ftp://egcs.cygnus.com/pub/egcs/${EGCS_DISTDIR}/
+WRKSRC= ${WRKDIR}/${EGCS_DISTNAME}
+PLIST_PRE+= ${EGCS_PLIST_PRE}
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+= --target=${TARGET_ARCH} \
+ --enable-version-specific-runtime-libs
+CONFIGURE_ENV+= CXXFLAGS="${CXXFLAGS}"
+USE_GMAKE= yes
+MAKE_FLAGS+= CC_FOR_TARGET="${WRKSRC}/gcc/xgcc -B${WRKSRC}/gcc/ -idirafter ${SYS_INCLUDE} -L${SYS_LIB}" \
+ GCC_FOR_TARGET='$${CC_FOR_TARGET}' \
+ CXX_FOR_TARGET='$${CC_FOR_TARGET}' \
+ LANGUAGES="c c++ f77 objc" \
+ SYSTEM_HEADER_DIR="${SYS_INCLUDE}"
+
+post-extract: post-extract-egcs
+post-extract-egcs:
+ @cd ${WRKSRC} && ${RM} -rf texinfo
+
+do-install: do-install-egcs
+do-install-egcs:
+ @cd ${WRKSRC}/gcc && ${GMAKE} ${MAKE_FLAGS} install-common install-headers install-libgcc install-driver
+ chown -R ${BINOWN}:${BINGRP} ${PREFIX}/lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}
+ @cd ${WRKSRC} && ${GMAKE} ${MAKE_FLAGS} install-target-libf2c install-target-libstdc++
+ ${LN} -f ${PREFIX}/bin/${TARGET_ARCH}-gcc ${PREFIX}/bin/${TARGET_ARCH}-cc
+ ${LN} -f ${PREFIX}/bin/${TARGET_ARCH}-g77 ${PREFIX}/bin/${TARGET_ARCH}-f77
+ for file in cc c++ f77 g++ g77; do \
+ ${LN} -f ${PREFIX}/bin/${TARGET_ARCH}-$$file ${TARGET_DIR}/bin/$$file; \
+ done
+ @${RMDIR} -p ${PREFIX}/info 2>/dev/null || ${TRUE}
+ @${RMDIR} -p ${PREFIX}/man/man1 2>/dev/null || ${TRUE}
+.endif
+
+.if defined(SYS_INCLUDE)
+do-install: do-install-includes
+do-install-includes:
+ cd ${SYS_INCLUDE} && pax -rw . ${TARGET_DIR}/include
+.endif
+
+.if defined(SYS_LIB)
+do-install: do-install-lib
+do-install-lib:
+ cd ${SYS_LIB} && pax -rw . ${TARGET_DIR}/lib
+.endif
+
+post-install: post-install-plist
+post-install-plist:
+ @${SED} -e 's|$${TARGET_ARCH}|${TARGET_ARCH}|' \
+ -e 's|$${EGCS_INTVERSION}|${EGCS_INTVERSION}|' \
+ ${PLIST_PRE} >${PLIST_SRC}
+ @${ECHO} '@dirrm ${TARGET_ARCH}/bin' >>${PLIST_SRC}
+ @${ECHO} '@dirrm ${TARGET_ARCH}/include' >>${PLIST_SRC}
+ @${ECHO} '@dirrm ${TARGET_ARCH}/lib' >>${PLIST_SRC}
+ @${ECHO} '@dirrm ${TARGET_ARCH}' >>${PLIST_SRC}
+
+.if defined(CROSS_PATCHFILES)
+PATCHFILES+= ${CROSS_PATCHFILES}
+ALLFILES= ${DISTFILES} # don't checksum shared patches
+.endif
+
+.if defined(CROSS_DISTFILES)
+DISTFILES+= ${CROSS_DISTFILES}
+.if defined(EXTRACT_ONLY)
+EXTRACT_ONLY+= ${CROSS_DISTFILES}
+.endif
+.endif
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/cross/COMMON/netbsd.mk b/cross/COMMON/netbsd.mk
new file mode 100644
index 00000000000..16426376683
--- /dev/null
+++ b/cross/COMMON/netbsd.mk
@@ -0,0 +1,15 @@
+# $NetBSD: netbsd.mk,v 1.1 1998/08/12 02:42:29 tv Exp $
+
+# Definitions for building a cross-compile environment for a NetBSD target.
+
+# If the MACHINE_ARCH matches the package target, we can use a special
+# "shortcut" hack that makes use of the native compiler with a bundle of
+# includes and libraries for the target version of NetBSD. Otherwise, or
+# if USE_EGCS_FOR_NATIVE is set in mk.conf, we use the standard egcs+binutils
+# cross setup. (For now, we just use egcs.)
+
+#.include "../../mk/bsd.prefs.mk"
+#.if defined(USE_EGCS_FOR_NATIVE) || (${MACHINE_ARCH} != ${TARGET_ARCH})
+.include "../files/cross.mk"
+#.else
+#.endif
diff --git a/cross/COMMON/patches-egcs-ss/patch-aa b/cross/COMMON/patches-egcs-ss/patch-aa
new file mode 100644
index 00000000000..2f73356289e
--- /dev/null
+++ b/cross/COMMON/patches-egcs-ss/patch-aa
@@ -0,0 +1,20 @@
+$NetBSD: patch-aa,v 1.1 1998/08/12 02:42:31 tv Exp $
+
+--- Makefile.in.orig Sat Jun 27 18:08:28 1998
++++ Makefile.in Mon Aug 3 18:24:12 1998
+@@ -349,6 +349,7 @@
+ "NM_FOR_TARGET=$(NM_FOR_TARGET)" \
+ "RANLIB_FOR_TARGET=$(RANLIB_FOR_TARGET)" \
+ "SHELL=$(SHELL)" \
++ "SYSTEM_HEADER_DIR=$(SYSTEM_HEADER_DIR)" \
+ "EXPECT=$(EXPECT)" \
+ "RUNTEST=$(RUNTEST)" \
+ "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
+@@ -356,6 +357,7 @@
+ "WINDRES_FOR_TARGET=$(WINDRES_FOR_TARGET)" \
+ "YACC=$(YACC)" \
+ "exec_prefix=$(exec_prefix)" \
++ "enable_version_specific_runtime_libs=$(enable_version_specific_runtime_libs)" \
+ "prefix=$(prefix)" \
+ "tooldir=$(tooldir)" \
+ "gxx_include_dir=$(gxx_include_dir)" \