summaryrefslogtreecommitdiff
path: root/devel/crossgo32-djgpp2
diff options
context:
space:
mode:
authorThomas Gellekum <tg@FreeBSD.org>1997-08-13 09:38:10 +0000
committerThomas Gellekum <tg@FreeBSD.org>1997-08-13 09:38:10 +0000
commitfc9c8ce3b5584f12acce545f4e3348b7d3dcd9bd (patch)
tree9534f8978ab9b8bde2bef98fade53d428e220072 /devel/crossgo32-djgpp2
parentOops, forgot to commit the other half of hack to fix this for XFree86-3.3. (diff)
Port of the DJGPP2 libraries.
PR: 4008 Submitted by: Joel Sutton <sutton@aardvark.apana.org.au>
Notes
Notes: svn path=/head/; revision=7561
Diffstat (limited to 'devel/crossgo32-djgpp2')
-rw-r--r--devel/crossgo32-djgpp2/Makefile87
-rw-r--r--devel/crossgo32-djgpp2/distinfo1
-rw-r--r--devel/crossgo32-djgpp2/files/Makefile7
-rw-r--r--devel/crossgo32-djgpp2/files/patch-aa13
-rw-r--r--devel/crossgo32-djgpp2/files/patch-ab11
-rw-r--r--devel/crossgo32-djgpp2/files/patch-ac29
-rw-r--r--devel/crossgo32-djgpp2/pkg-comment1
-rw-r--r--devel/crossgo32-djgpp2/pkg-descr21
-rw-r--r--devel/crossgo32-djgpp2/pkg-plist153
9 files changed, 323 insertions, 0 deletions
diff --git a/devel/crossgo32-djgpp2/Makefile b/devel/crossgo32-djgpp2/Makefile
new file mode 100644
index 000000000000..b8eb4684638e
--- /dev/null
+++ b/devel/crossgo32-djgpp2/Makefile
@@ -0,0 +1,87 @@
+# New ports collection makefile for: djgpp2 cross compiler kit
+# Version required: 2.01
+# Date created: Sun Jun 22 16:57:39 EST 1997
+# Whom: Joel Sutton <sutton@aardvark.apana.org.au>
+# FreeBSD Version: 2.2.1-RELEASE
+#
+# $Id$
+#
+
+DISTNAME= djcrx201
+PKGNAME= crossgo32-djgpp2-2.01
+CATEGORIES= devel
+MASTER_SITES= ftp://ftp.tas.gov.au/pc/simtelnet/gnu/djgpp/v2/ \
+ ftp://ftp.cdrom.com/pub/simtelnet/gnu/djgpp/v2/
+EXTRACT_SUFX= .zip
+
+MAINTAINER= sutton@aardvark.apana.org.au
+
+FETCH_DEPENDS= unzip:${PORTSDIR}/archivers/zip
+RUN_DEPENDS= i386-go32-gcc:${PORTSDIR}/devel/crossgo32
+
+DIST_SUBDIR= djgpp
+EXTRACT_CMD= unzip
+EXTRACT_BEFORE_ARGS= -La
+
+# Source directories
+#
+NO_WRKSUBDIR= yes
+DJGPPLIB= ${WRKSRC}/lib
+DJGPPINCLUDE= ${WRKSRC}/include
+DJGPPDOC= ${WRKSRC}/cross
+DJGPPINFO= ${WRKSRC}/info
+STUBSRC= ${WRKSRC}/src/stub
+
+# Install directories
+#
+DOCDIR= ${PREFIX}/share/doc/djgpp2
+CROSSGO= ${PREFIX}/i386-go32
+CROSSGOGCC= ${PREFIX}/lib/gcc-lib/i386-go32/2.7.2.2/
+CROSSGOLIB= ${PREFIX}/i386-go32/lib
+CROSSGOINCLUDE= ${PREFIX}/i386-go32/include
+
+post-extract:
+ ${CP} ${FILESDIR}/Makefile ${STUBSRC}/
+
+post-patch:
+ -${RM} ${DJGPPLIB}/*.orig
+
+do-build:
+ @${ECHO_MSG} "===> Building stub utilities"
+ @cd ${STUBSRC} ;\
+ make all
+
+pre-install:
+ @${ECHO_MSG} "===> Moving old crossgo libs away"
+ @cd ${CROSSGO} ;\
+ ${MV} lib lib-newlib ;\
+ ${MV} include include-newlib
+ @cd ${CROSSGOGCC} ;\
+ ${MKDIR} old-newlib ;\
+ ${MV} include old-newlib ;\
+ ${MV} libgcc.a old-newlib ;\
+ ${MV} specs old-newlib ;\
+
+do-install:
+ @${ECHO_MSG} "===> Installing binaries"
+ ${INSTALL_PROGRAM} ${STUBSRC}/stubify ${PREFIX}/bin/i386-go32-stubify
+ ${INSTALL_PROGRAM} ${STUBSRC}/stubedit ${PREFIX}/bin/i386-go32-stubedit
+
+ @${ECHO_MSG} "===> Installing libraries"
+ ${CP} -R ${DJGPPLIB} ${CROSSGOLIB}
+
+ @${ECHO_MSG} "===> Installing include files"
+ ${CP} -R ${DJGPPINCLUDE} ${CROSSGOINCLUDE}
+
+ @${ECHO_MSG} "===> Installing info files"
+ ${INSTALL_DATA} ${DJGPPINFO}/libc.inf ${PREFIX}/info/libc.info
+
+.if !defined(NOPORTDOCS)
+ @${ECHO_MSG} "===> Installing documentation into ${DOCDIR}"
+ ${MKDIR} ${DOCDIR}
+ ${INSTALL_DATA} ${DJGPPDOC}/install ${DOCDIR}/
+ ${INSTALL_DATA} ${DJGPPDOC}/readme ${DOCDIR}/
+ ${INSTALL_DATA} ${PKGDIR}/DESCR ${DOCDIR}/Readme.FreeBSD
+.endif
+
+.include <bsd.port.mk>
diff --git a/devel/crossgo32-djgpp2/distinfo b/devel/crossgo32-djgpp2/distinfo
new file mode 100644
index 000000000000..0f4ea4246f61
--- /dev/null
+++ b/devel/crossgo32-djgpp2/distinfo
@@ -0,0 +1 @@
+MD5 (djgpp/djcrx201.zip) = 384d9b738457892fe35cdee159a425ee
diff --git a/devel/crossgo32-djgpp2/files/Makefile b/devel/crossgo32-djgpp2/files/Makefile
new file mode 100644
index 000000000000..21c2d72f698e
--- /dev/null
+++ b/devel/crossgo32-djgpp2/files/Makefile
@@ -0,0 +1,7 @@
+stubedit:
+ ${CC} -o stubedit stubedit.c
+
+stubify:
+ ${CC} -o stubify stubify.c
+
+all: stubedit stubify \ No newline at end of file
diff --git a/devel/crossgo32-djgpp2/files/patch-aa b/devel/crossgo32-djgpp2/files/patch-aa
new file mode 100644
index 000000000000..a362040ac59e
--- /dev/null
+++ b/devel/crossgo32-djgpp2/files/patch-aa
@@ -0,0 +1,13 @@
+*** lib/djgpp.djl Wed Oct 23 18:06:22 1996
+--- lib/djgpp.djl2 Sun Sep 8 22:40:06 1996
+***************
+*** 1,4 ****
+! OUTPUT_FORMAT("coff-go32")
+ ENTRY(start)
+ SECTIONS
+ {
+--- 1,4 ----
+! OUTPUT_FORMAT("coff-i386")
+ ENTRY(start)
+ SECTIONS
+ {
diff --git a/devel/crossgo32-djgpp2/files/patch-ab b/devel/crossgo32-djgpp2/files/patch-ab
new file mode 100644
index 000000000000..c8f8a86fc251
--- /dev/null
+++ b/devel/crossgo32-djgpp2/files/patch-ab
@@ -0,0 +1,11 @@
+--- lib/specs.orig Sun May 18 23:28:53 1997
++++ lib/specs Sun May 18 23:29:19 1997
+@@ -25,7 +25,7 @@
+ %{!A:%{!nostartfiles:%{!nostdlib:%S}}} %{static:}\
+ %{L*} %D %{T*} %o -Tdjgpp.djl\
+ %{!nostdlib:-lgcc %L -lgcc %{!A:%E}}}}}}}
+-%{!c:%{!M:%{!MM:%{!E:%{!S:stubify %{v} %{o*:%*} %{!o*:a.out}}}}}}
++%{!c:%{!M:%{!MM:%{!E:%{!S:i386-go32-stubify %{v} %{o*:%*} %{!o*:a.out}}}}}}
+
+ *lib:
+ -lc
diff --git a/devel/crossgo32-djgpp2/files/patch-ac b/devel/crossgo32-djgpp2/files/patch-ac
new file mode 100644
index 000000000000..681f0a33b3b1
--- /dev/null
+++ b/devel/crossgo32-djgpp2/files/patch-ac
@@ -0,0 +1,29 @@
+*** src/stub/stubedit.c.orig Sun Jun 22 16:51:08 1997
+--- src/stub/stubedit.c Sun Jun 22 16:57:54 1997
+***************
+*** 1,5 ****
+--- 1,6 ----
+ /* Copyright (C) 1996 DJ Delorie, see COPYING.DJ for details */
+ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */
++ /* Patched by Joel Sutton - Sun Jun 22 16:57:39 EST 1997 */
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+***************
+*** 70,76 ****
+ static char response[200];
+ printf("%s ? [%s] ", question, default_answer);
+ fflush(stdout);
+! gets(response);
+ if (response[0] == '\0')
+ return 0;
+ return response;
+--- 71,78 ----
+ static char response[200];
+ printf("%s ? [%s] ", question, default_answer);
+ fflush(stdout);
+! fgets(response, 200, stdin);
+! response[strlen(response)-1]='\0';
+ if (response[0] == '\0')
+ return 0;
+ return response;
diff --git a/devel/crossgo32-djgpp2/pkg-comment b/devel/crossgo32-djgpp2/pkg-comment
new file mode 100644
index 000000000000..f63e7c937845
--- /dev/null
+++ b/devel/crossgo32-djgpp2/pkg-comment
@@ -0,0 +1 @@
+DJGPP V2 libraries and compatability for crossgo32 crosscompiler
diff --git a/devel/crossgo32-djgpp2/pkg-descr b/devel/crossgo32-djgpp2/pkg-descr
new file mode 100644
index 000000000000..10a21156581b
--- /dev/null
+++ b/devel/crossgo32-djgpp2/pkg-descr
@@ -0,0 +1,21 @@
+This ports installs the DJGPP Version 2 libraries and stub utilities
+into the crossgo32 cross compiler port. The original libraries built
+by the crossgo32 port are moved aside until you run pkg_delete to
+un-install this port.
+
+The DJGPP libraries create larger binaries for smaller programs but
+this is less of an issue with larger programs.
+
+Two new utilities - i386-go32-stubify and i386-go32-stubedit - are
+also installed. It is no longer necessary to stubify the COFF binaries
+as a patch is included to do this automatically after
+compilation. Please refer to the DJGPP v2 FAQ for further information
+on this topic.
+
+Finally, this port also allows us to install a number of extra
+toolkits from the DJGPP collection.
+
+Share and enjoy,
+
+Joel...
+sutton@aardvark.apana.org.au
diff --git a/devel/crossgo32-djgpp2/pkg-plist b/devel/crossgo32-djgpp2/pkg-plist
new file mode 100644
index 000000000000..d7fea2617b77
--- /dev/null
+++ b/devel/crossgo32-djgpp2/pkg-plist
@@ -0,0 +1,153 @@
+@exec mv %D/i386-go32/lib %D/i386-go32/lib-newlib
+@exec mv %D/i386-go32/include %D/i386-go32/include-newlib
+@exec mkdir -p %D/lib/gcc-lib/i386-go32/2.7.2.2/old-newlib
+@exec mv %D/lib/gcc-lib/i386-go32/2.7.2.2/include %D/lib/gcc-lib/i386-go32/2.7.2.2/old-newlib/
+@exec mv %D/lib/gcc-lib/i386-go32/2.7.2.2/libgcc.a %D/lib/gcc-lib/i386-go32/2.7.2.2/old-newlib/
+@exec mv %D/lib/gcc-lib/i386-go32/2.7.2.2/specs %D/lib/gcc-lib/i386-go32/2.7.2.2/old-newlib/
+bin/i386-go32-stubify
+bin/i386-go32-stubedit
+i386-go32/lib/crt0.o
+i386-go32/lib/djgpp.djl
+i386-go32/lib/dxe.ld
+i386-go32/lib/gcrt0.o
+i386-go32/lib/libc.a
+i386-go32/lib/libdbg.a
+i386-go32/lib/libemu.a
+i386-go32/lib/libg.a
+i386-go32/lib/libgcc.a
+i386-go32/lib/libm.a
+i386-go32/lib/libpc.a
+i386-go32/lib/specs
+i386-go32/include/_ansi
+i386-go32/include/ar.h
+i386-go32/include/assert.h
+i386-go32/include/bios.h
+i386-go32/include/coff.h
+i386-go32/include/conio.h
+i386-go32/include/crt0.h
+i386-go32/include/ctype.h
+i386-go32/include/debug/_ansi
+i386-go32/include/debug/dbgcom.h
+i386-go32/include/debug/stab.h
+i386-go32/include/debug/syms.h
+i386-go32/include/debug/tss.h
+i386-go32/include/debug/v2load.h
+i386-go32/include/debug/wild.h
+i386-go32/include/dir.h
+i386-go32/include/direct.h
+i386-go32/include/dirent.h
+i386-go32/include/dos.h
+i386-go32/include/dpmi.h
+i386-go32/include/errno.h
+i386-go32/include/fcntl.h
+i386-go32/include/file.h
+i386-go32/include/flexlexe.h
+i386-go32/include/float.h
+i386-go32/include/fnmatch.h
+i386-go32/include/ftw.h
+i386-go32/include/getpages.h
+i386-go32/include/glob.h
+i386-go32/include/go32.h
+i386-go32/include/gppconio.h
+i386-go32/include/grp.h
+i386-go32/include/inlines/_inline
+i386-go32/include/inlines/ctype.ha
+i386-go32/include/inlines/ctype.hd
+i386-go32/include/inlines/pc.h
+i386-go32/include/io.h
+i386-go32/include/keys.h
+i386-go32/include/libc/_ansi
+i386-go32/include/libc/asmdefs.h
+i386-go32/include/libc/atexit.h
+i386-go32/include/libc/bss.h
+i386-go32/include/libc/dosexec.h
+i386-go32/include/libc/dosio.h
+i386-go32/include/libc/environ.h
+i386-go32/include/libc/farptrgs.h
+i386-go32/include/libc/file.h
+i386-go32/include/libc/ieee.h
+i386-go32/include/libc/internal.h
+i386-go32/include/libc/local.h
+i386-go32/include/libc/mkfargs.bat
+i386-go32/include/libc/stdiohk.h
+i386-go32/include/libc/stubs.h
+i386-go32/include/libc/ttyprvt.h
+i386-go32/include/libc/unconst.h
+i386-go32/include/libm/math.h
+i386-go32/include/limits.h
+i386-go32/include/locale.h
+i386-go32/include/machine/asm.h
+i386-go32/include/machine/endian.h
+i386-go32/include/malloc.h
+i386-go32/include/math.h
+i386-go32/include/mem.h
+i386-go32/include/memory.h
+i386-go32/include/mntent.h
+i386-go32/include/netinet/_ansi
+i386-go32/include/netinet/in.h
+i386-go32/include/osfcn.h
+i386-go32/include/pc.h
+i386-go32/include/process.h
+i386-go32/include/pwd.h
+i386-go32/include/random.h
+i386-go32/include/regex.h
+i386-go32/include/search.h
+i386-go32/include/setjmp.h
+i386-go32/include/share.h
+i386-go32/include/signal.h
+i386-go32/include/std.h
+i386-go32/include/stdarg.h
+i386-go32/include/stddef.h
+i386-go32/include/stdio.h
+i386-go32/include/stdlib.h
+i386-go32/include/string.h
+i386-go32/include/strings.h
+i386-go32/include/stubinfo.h
+i386-go32/include/sys/_ansi
+i386-go32/include/sys/cdefs.h
+i386-go32/include/sys/config.h
+i386-go32/include/sys/dir.h
+i386-go32/include/sys/djtypes.h
+i386-go32/include/sys/dxe.h
+i386-go32/include/sys/errno.h
+i386-go32/include/sys/exceptn.h
+i386-go32/include/sys/farptr.h
+i386-go32/include/sys/fcntl.h
+i386-go32/include/sys/file.h
+i386-go32/include/sys/fsext.h
+i386-go32/include/sys/ioctl.h
+i386-go32/include/sys/mman.h
+i386-go32/include/sys/mono.h
+i386-go32/include/sys/movedata.h
+i386-go32/include/sys/nearptr.h
+i386-go32/include/sys/param.h
+i386-go32/include/sys/resource.h
+i386-go32/include/sys/segments.h
+i386-go32/include/sys/stat.h
+i386-go32/include/sys/system.h
+i386-go32/include/sys/time.h
+i386-go32/include/sys/timeb.h
+i386-go32/include/sys/times.h
+i386-go32/include/sys/types.h
+i386-go32/include/sys/utsname.h
+i386-go32/include/sys/vfs.h
+i386-go32/include/sys/wait.h
+i386-go32/include/termios.h
+i386-go32/include/time.h
+i386-go32/include/tzfile.h
+i386-go32/include/unistd.h
+i386-go32/include/utime.h
+i386-go32/include/values.h
+i386-go32/include/varargs.h
+info/libc.info
+share/doc/djgpp2/install
+share/doc/djgpp2/readme
+share/doc/djgpp2/Readme.FreeBSD
+@dirrm share/doc/djgpp2
+@unexec rm -rf %D/i386-go32/lib
+@unexec rm -rf %D/i386-go32/include
+@unexec mv %D/i386-go32/lib-newlib %D/i386-go32/lib
+@unexec mv %D/i386-go32/include-newlib %D/i386-go32/include
+@unexec mv %D/lib/gcc-lib/i386-go32/2.7.2.2/old-newlib/include %D/lib/gcc-lib/i386-go32/2.7.2.2/
+@unexec mv %D/lib/gcc-lib/i386-go32/2.7.2.2/old-newlib/libgcc.a %D/lib/gcc-lib/i386-go32/2.7.2.2/
+@unexec mv %D/lib/gcc-lib/i386-go32/2.7.2.2/old-newlib/specs %D/lib/gcc-lib/i386-go32/2.7.2.2/