Add i386-msdosdjgpp, a cross environment for a target of MS-DOS on 386+

with DPMI.  (Includes Win'95 and WinNT command windows.)
This commit is contained in:
tv 1998-08-12 12:30:58 +00:00
parent 0f64486f1a
commit d83206c83a
8 changed files with 272 additions and 1 deletions

View file

@ -1,5 +1,6 @@
# $NetBSD: Makefile,v 1.1 1998/08/12 02:45:27 tv Exp $
# $NetBSD: Makefile,v 1.2 1998/08/12 12:30:58 tv Exp $
SUBDIR += i386-linuxglibc1
SUBDIR += i386-msdosdjgpp
.include "../mk/bsd.pkg.subdir.mk"

View file

@ -0,0 +1,49 @@
# $NetBSD: Makefile,v 1.1 1998/08/12 12:30:59 tv Exp $
#
DISTVERSION= 2.01.1
DISTFILES= ${DJGPP_FILES}
EXTRACT_ONLY= # none of the djgpp files
MASTER_SITES= ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2/ \
ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2misc/ \
ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2tk/
USE_CROSS_GNU= yes
BUILD_DEPENDS= unzip:../../archivers/unzip
DJGPP_FILES= djcrx201.zip wmemu2b.zip
TARGET_ARCH= i386-msdosdjgpp
SYS_INCLUDE= ${WRKDIR}/djgpp/include
SYS_LIB= ${WRKDIR}/djgpp/lib
post-extract:
@${MKDIR} ${WRKDIR}/djgpp
@cd ${WRKDIR}/djgpp; \
for file in ${DJGPP_FILES}; do \
unzip -Loq ${_DISTDIR}/$$file; \
done; \
echo 'Stripping CR-LF in includes...'; \
for file in `find include -type f`; do \
${CAT} $$file | col >$$file.new; \
${MV} -f $$file.new $$file; \
done
@${LN} -f ${SYS_LIB}/crt0.o ${WRKSRC}/gcc/
@${RM} -f ${SYS_LIB}/djgpp.djl ${SYS_LIB}/specs
post-patch:
@${RM} -f ${SYS_INCLUDE}/sys/djtypes.h.orig
post-build:
cd ${WRKDIR}/djgpp/src/stub && ${LINK.c} -o stubedit stubedit.c
cd ${WRKDIR}/djgpp/src/stub && ${LINK.c} -o stubify stubify.c
post-install:
${INSTALL_PROGRAM} ${WRKDIR}/djgpp/src/stub/stubedit ${TARGET_DIR}/bin/
${LN} -f ${TARGET_DIR}/bin/stubedit ${PREFIX}/bin/${TARGET_ARCH}-stubedit
${INSTALL_PROGRAM} ${WRKDIR}/djgpp/src/stub/stubify ${TARGET_DIR}/bin/
${LN} -f ${TARGET_DIR}/bin/stubedit ${PREFIX}/bin/${TARGET_ARCH}-stubify
${INSTALL_DATA} ${WRKDIR}/djgpp/bin/wmemu387.dxe ${TARGET_DIR}/lib/
.include "../COMMON/cross.mk"

View file

@ -0,0 +1,7 @@
$NetBSD: md5,v 1.1 1998/08/12 12:30:59 tv Exp $
MD5 (csdpmi4b.zip) = ef5ecf6cb7911a12bade9b2081ce82ab
MD5 (djcrx201.zip) = 384d9b738457892fe35cdee159a425ee
MD5 (wmemu2b.zip) = 463860356d5d7a48777f606dbae95b91
MD5 (binutils-2.9.1.tar.gz) = 8f9ad1a6e96742fd3069479171a63c22
MD5 (egcs-19980803.tar.gz) = 3c6e28dd25140187e322c890231bfc72

View file

@ -0,0 +1,13 @@
$NetBSD: patch-aa,v 1.1 1998/08/12 12:30:59 tv Exp $
--- ld/scripttempl/i386go32.sc.orig Sun Aug 2 15:02:47 1998
+++ ld/scripttempl/i386go32.sc Sun Aug 2 15:02:59 1998
@@ -27,8 +27,6 @@
${RELOCATING+ edata = . ; _edata = .};
${RELOCATING+ . = ALIGN(${SEGMENT_SIZE});}
}
- ${CONSTRUCTING+${RELOCATING-.ctor : { *(.ctor) }}}
- ${CONSTRUCTING+${RELOCATING-.dtor : { *(.dtor) }}}
.bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} :
{
*(.bss)

View file

@ -0,0 +1,29 @@
$NetBSD: patch-ab,v 1.1 1998/08/12 12:30:59 tv Exp $
--- djgpp/include/sys/djtypes.h.orig Mon Aug 3 09:21:37 1998
+++ djgpp/include/sys/djtypes.h Mon Aug 3 09:36:57 1998
@@ -2,15 +2,21 @@
#ifndef __DJ_sys_djtypes_h_
#define __DJ_sys_djtypes_h_
+#define __need_size_t
+#define __need_wchar_t
+#define __need___va_list
+#include <stdarg.h>
+#include <stddef.h>
+
#define __DJ_clock_t typedef int clock_t;
#define __DJ_gid_t typedef int gid_t;
#define __DJ_off_t typedef int off_t;
#define __DJ_pid_t typedef int pid_t;
-#define __DJ_size_t typedef long unsigned int size_t;
+#define __DJ_size_t /* provided by gcc stddef.h */
#define __DJ_ssize_t typedef int ssize_t;
#define __DJ_time_t typedef unsigned int time_t;
#define __DJ_uid_t typedef int uid_t;
-#define __DJ_va_list typedef void *va_list;
-#define __DJ_wchar_t typedef int wchar_t;
+#define __DJ_va_list /* provided by gcc stddef.h */
+#define __DJ_wchar_t /* provided by gcc stddef.h */
#endif

View file

@ -0,0 +1 @@
Cross-compile environment for MS-DOS on 386 and higher.

View file

@ -0,0 +1,10 @@
This cross-compile environment is for MS-DOS on the 386 and higher
processors, with some kind of DPMI 0.9 or later layer. The produced
binaries will run on MS-DOS with a DPMI driver (one of which can be
obtained from the DJGPP distribution site), Windows 3.1 with Win32s,
Windows 95, and Windows NT.
Additional includes and libraries put into $CROSSBASE/i386-msdosdjgpp/ can
provide other services. Available are pdcurses, winsock drivers
(<sys/socket.h> based on Winsock), and more. Look at the DJGPP web-site,
http://www.delorie.com/djgpp/, for more information.

View file

@ -0,0 +1,161 @@
@comment $NetBSD: PLIST,v 1.1 1998/08/12 12:31:00 tv Exp $
${TARGET_ARCH}/bin/stubedit
${TARGET_ARCH}/bin/stubify
${TARGET_ARCH}/include/_ansi
${TARGET_ARCH}/include/ar.h
${TARGET_ARCH}/include/assert.h
${TARGET_ARCH}/include/bios.h
${TARGET_ARCH}/include/coff.h
${TARGET_ARCH}/include/conio.h
${TARGET_ARCH}/include/crt0.h
${TARGET_ARCH}/include/ctype.h
${TARGET_ARCH}/include/debug/_ansi
${TARGET_ARCH}/include/debug/dbgcom.h
${TARGET_ARCH}/include/debug/stab.h
${TARGET_ARCH}/include/debug/syms.h
${TARGET_ARCH}/include/debug/tss.h
${TARGET_ARCH}/include/debug/v2load.h
${TARGET_ARCH}/include/debug/wild.h
${TARGET_ARCH}/include/dir.h
${TARGET_ARCH}/include/direct.h
${TARGET_ARCH}/include/dirent.h
${TARGET_ARCH}/include/dos.h
${TARGET_ARCH}/include/dpmi.h
${TARGET_ARCH}/include/errno.h
${TARGET_ARCH}/include/fcntl.h
${TARGET_ARCH}/include/file.h
${TARGET_ARCH}/include/flexlexe.h
${TARGET_ARCH}/include/float.h
${TARGET_ARCH}/include/fnmatch.h
${TARGET_ARCH}/include/ftw.h
${TARGET_ARCH}/include/getpages.h
${TARGET_ARCH}/include/glob.h
${TARGET_ARCH}/include/go32.h
${TARGET_ARCH}/include/gppconio.h
${TARGET_ARCH}/include/grp.h
${TARGET_ARCH}/include/inlines/_inline
${TARGET_ARCH}/include/inlines/ctype.ha
${TARGET_ARCH}/include/inlines/ctype.hd
${TARGET_ARCH}/include/inlines/pc.h
${TARGET_ARCH}/include/io.h
${TARGET_ARCH}/include/keys.h
${TARGET_ARCH}/include/libc/_ansi
${TARGET_ARCH}/include/libc/asmdefs.h
${TARGET_ARCH}/include/libc/atexit.h
${TARGET_ARCH}/include/libc/bss.h
${TARGET_ARCH}/include/libc/dosexec.h
${TARGET_ARCH}/include/libc/dosio.h
${TARGET_ARCH}/include/libc/environ.h
${TARGET_ARCH}/include/libc/farptrgs.h
${TARGET_ARCH}/include/libc/file.h
${TARGET_ARCH}/include/libc/ieee.h
${TARGET_ARCH}/include/libc/internal.h
${TARGET_ARCH}/include/libc/local.h
${TARGET_ARCH}/include/libc/mkfargs.bat
${TARGET_ARCH}/include/libc/stdiohk.h
${TARGET_ARCH}/include/libc/stubs.h
${TARGET_ARCH}/include/libc/ttyprvt.h
${TARGET_ARCH}/include/libc/unconst.h
${TARGET_ARCH}/include/libm/math.h
${TARGET_ARCH}/include/limits.h
${TARGET_ARCH}/include/locale.h
${TARGET_ARCH}/include/machine/asm.h
${TARGET_ARCH}/include/machine/endian.h
${TARGET_ARCH}/include/malloc.h
${TARGET_ARCH}/include/math.h
${TARGET_ARCH}/include/mem.h
${TARGET_ARCH}/include/memory.h
${TARGET_ARCH}/include/mntent.h
${TARGET_ARCH}/include/netinet/_ansi
${TARGET_ARCH}/include/netinet/in.h
${TARGET_ARCH}/include/osfcn.h
${TARGET_ARCH}/include/pc.h
${TARGET_ARCH}/include/process.h
${TARGET_ARCH}/include/pwd.h
${TARGET_ARCH}/include/random.h
${TARGET_ARCH}/include/regex.h
${TARGET_ARCH}/include/search.h
${TARGET_ARCH}/include/setjmp.h
${TARGET_ARCH}/include/share.h
${TARGET_ARCH}/include/signal.h
${TARGET_ARCH}/include/std.h
${TARGET_ARCH}/include/stdarg.h
${TARGET_ARCH}/include/stddef.h
${TARGET_ARCH}/include/stdio.h
${TARGET_ARCH}/include/stdlib.h
${TARGET_ARCH}/include/string.h
${TARGET_ARCH}/include/strings.h
${TARGET_ARCH}/include/stubinfo.h
${TARGET_ARCH}/include/sys/_ansi
${TARGET_ARCH}/include/sys/cdefs.h
${TARGET_ARCH}/include/sys/config.h
${TARGET_ARCH}/include/sys/dir.h
${TARGET_ARCH}/include/sys/djtypes.h
${TARGET_ARCH}/include/sys/dxe.h
${TARGET_ARCH}/include/sys/errno.h
${TARGET_ARCH}/include/sys/exceptn.h
${TARGET_ARCH}/include/sys/farptr.h
${TARGET_ARCH}/include/sys/fcntl.h
${TARGET_ARCH}/include/sys/file.h
${TARGET_ARCH}/include/sys/fsext.h
${TARGET_ARCH}/include/sys/ioctl.h
${TARGET_ARCH}/include/sys/mman.h
${TARGET_ARCH}/include/sys/mono.h
${TARGET_ARCH}/include/sys/movedata.h
${TARGET_ARCH}/include/sys/nearptr.h
${TARGET_ARCH}/include/sys/param.h
${TARGET_ARCH}/include/sys/resource.h
${TARGET_ARCH}/include/sys/segments.h
${TARGET_ARCH}/include/sys/stat.h
${TARGET_ARCH}/include/sys/system.h
${TARGET_ARCH}/include/sys/time.h
${TARGET_ARCH}/include/sys/timeb.h
${TARGET_ARCH}/include/sys/times.h
${TARGET_ARCH}/include/sys/types.h
${TARGET_ARCH}/include/sys/utsname.h
${TARGET_ARCH}/include/sys/vfs.h
${TARGET_ARCH}/include/sys/wait.h
${TARGET_ARCH}/include/termios.h
${TARGET_ARCH}/include/time.h
${TARGET_ARCH}/include/tzfile.h
${TARGET_ARCH}/include/unistd.h
${TARGET_ARCH}/include/utime.h
${TARGET_ARCH}/include/values.h
${TARGET_ARCH}/include/varargs.h
${TARGET_ARCH}/lib/crt0.o
${TARGET_ARCH}/lib/dxe.ld
${TARGET_ARCH}/lib/gcrt0.o
${TARGET_ARCH}/lib/libc.a
${TARGET_ARCH}/lib/libdbg.a
${TARGET_ARCH}/lib/libemu.a
${TARGET_ARCH}/lib/libg.a
${TARGET_ARCH}/lib/libgcc.a
${TARGET_ARCH}/lib/libm.a
${TARGET_ARCH}/lib/libpc.a
${TARGET_ARCH}/lib/libwmemu.a
${TARGET_ARCH}/lib/wmemu387.dxe
bin/${TARGET_ARCH}-stubedit
bin/${TARGET_ARCH}-stubify
lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/assert.h
lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/fixed
lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/flexlexe.h
lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/locale.h
lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/math.h
lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/stdio.h
lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/stdlib.h
lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/string.h
lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/sys/dir.h
lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/sys/file.h
lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/sys/param.h
lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/sys/types.h
lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/sys/wait.h
lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/time.h
lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/unistd.h
@dirrm ${TARGET_ARCH}/include/debug
@dirrm ${TARGET_ARCH}/include/inlines
@dirrm ${TARGET_ARCH}/include/libc
@dirrm ${TARGET_ARCH}/include/libm
@dirrm ${TARGET_ARCH}/include/machine
@dirrm ${TARGET_ARCH}/include/netinet
@dirrm ${TARGET_ARCH}/include/sys
@dirrm lib/gcc-lib/${TARGET_ARCH}/${EGCS_INTVERSION}/include/sys