1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-23 00:43:28 +00:00

From maintainer:

ELF building fix. Many part of fix from editors/emacs.

PR:		9451
Submitted by:	maintainer
This commit is contained in:
Steve Price 1999-01-18 03:21:53 +00:00
parent 0f19588737
commit 4cd1769255
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=16141
6 changed files with 109 additions and 25 deletions

View File

@ -3,7 +3,7 @@
# Date created: 12 Mar 1998
# Whom: CHOI Junho <junker@jazz.snu.ac.kr>
#
# $Id: Makefile,v 1.1.1.1 1998/05/17 22:25:54 kuriyama Exp $
# $Id: Makefile,v 1.2 1998/10/16 01:12:22 jseger Exp $
#
DISTNAME= hanemacs-19.34b-1
@ -14,12 +14,11 @@ MASTER_SITES= ftp://ftp.kaist.ac.kr/pub/hangul/editor/HanEmacs/ \
MAINTAINER= junker@jazz.snu.ac.kr
BROKEN_ELF= yes
WRKSRC= ${WRKDIR}/hanemacs-19.34
GNU_CONFIGURE= yes
USE_GMAKE= yes
CONFIGURE_ARGS= i386--freebsd --with-x-toolkit --prefix=${PREFIX}
CONFIGURE_ARGS= i386--freebsd --with-x-toolkit \
--sharedstatedir=/var/run
STRIP=
MAN1= emacs.1 etags.1 ctags.1
@ -42,5 +41,10 @@ post-install:
.for info in emacs vip viper forms gnus mh-e cl sc dired-x ediff ccmode message
install-info ${PREFIX}/info/${info} ${PREFIX}/info/dir
.endfor
# install emacs.sh into ${PREFIX}/etc/rc.d
${MKDIR} /var/run/emacs/lock
chmod 1777 /var/run/emacs/lock
@${MKDIR} ${PREFIX}/etc/rc.d
@${INSTALL_SCRIPT} ${FILESDIR}/emacs.sh ${PREFIX}/etc/rc.d
.include <bsd.port.mk>

View File

@ -0,0 +1,10 @@
#!/bin/sh
if [ -d /var/run/emacs/lock ]
then
rm -f /var/run/emacs/lock/*
else
mkdir -p /var/run/emacs/lock
fi
chmod 1777 /var/run/emacs/lock
exit 0

View File

@ -1,33 +1,69 @@
--- src/s/freebsd.h.orig Sun Jun 9 13:14:32 1996
+++ src/s/freebsd.h Wed Dec 3 17:36:40 1997
@@ -33,9 +33,16 @@
--- orig/s/freebsd.h Mon Jun 10 05:14:32 1996
+++ src/s/freebsd.h Tue Sep 29 11:35:32 1998
@@ -1,5 +1,15 @@
/* s/ file for freebsd system. */
#define LIBS_DEBUG
#define LIBS_SYSTEM -lutil
-#define LIBS_TERMCAP -ltermcap
#define LIB_GCC -lgcc
+#ifdef HAVE_LIBNCURSES
+#define TERMINFO
+#define LIBS_TERMCAP -lncurses
+/* Get the correct __FreeBSD_version, even if this is before that was
+ defined. */
+#ifndef __FreeBSD__
+#define __FreeBSD_version 199401
+#elif __FreeBSD__ == 1
+#define __FreeBSD_version 199405
+#else
+#define LIBS_TERMCAP -ltermcap
+#include <osreldate.h>
+#endif
+
+
/* '__FreeBSD__' is defined by the preprocessor on FreeBSD-1.1 and up.
Earlier versions do not have shared libraries, so inhibit them.
You can inhibit them on newer systems if you wish
@@ -34,7 +44,6 @@
#define LIBS_DEBUG
#define LIBS_SYSTEM -lutil
#define LIBS_TERMCAP -ltermcap
-#define LIB_GCC -lgcc
#define SYSV_SYSTEM_DIR
/* freebsd has POSIX-style pgrp behavior. */
@@ -46,7 +53,7 @@
@@ -42,12 +51,28 @@
#undef BSD_PGRPS
#define GETPGRP_NO_ARG
+#ifdef __ELF__
+
+#define LD_SWITCH_SYSTEM
+#define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o
+#define UNEXEC unexelf.o
+#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o /usr/lib/crtn.o
+#undef LIB_GCC
+#define LIB_GCC
+
+#else /* not __ELF__ */
+
#ifndef NO_SHARED_LIBS
#define LD_SWITCH_SYSTEM -e start -dc -dp
#define HAVE_TEXT_START /* No need to define `start_of_text'. */
+#if __FreeBSD_version >= 300002
+#define START_FILES pre-crt0.o /usr/lib/aout/crt0.o
+#else /* __FreeBSD_version < 300002 */
#define START_FILES pre-crt0.o /usr/lib/crt0.o
-#define UNEXEC unexsunos4.o
+#endif /* __FreeBSD_version < 300002 */
+#define UNEXEC unexfreebsd.o
#define RUN_TIME_REMAP
+#define LIB_GCC -lgcc
#ifndef N_TRELOFF
@@ -80,6 +87,8 @@
#define N_PAGSIZ(x) __LDPGSZ
@@ -63,6 +88,8 @@
#endif /* __FreeBSD__ */
#endif /* NO_SHARED_LIBS */
+#endif /* not __ELF__ */
+
#define HAVE_WAIT_HEADER
#define HAVE_GETLOADAVG
/*#define HAVE_GETPAGESIZE /* configure now puts this in config.h */
@@ -80,6 +107,8 @@
#define BSD 199103
#elif __FreeBSD__ == 2
#define BSD 199306

View File

@ -1,6 +1,6 @@
diff -uNr hanemacs-19.34-old/Makefile.in Makefile.in
--- hanemacs-19.34-old/Makefile.in Tue Oct 29 13:19:31 1996
+++ Makefile.in Fri Mar 13 08:39:14 1998
--- Makefile.in.orig Tue Oct 29 07:19:31 1996
+++ Makefile.in Sun Jan 17 13:53:01 1999
@@ -184,7 +184,7 @@
# Subdirectories to make recursively. `lisp' is not included
# because the compiled lisp files are part of the distribution
@ -25,7 +25,17 @@ diff -uNr hanemacs-19.34-old/Makefile.in Makefile.in
### Install the files that are machine-independent.
### Most of them come straight from the distribution;
@@ -369,14 +369,8 @@
@@ -355,8 +355,7 @@
if [ `(cd ./etc; /bin/pwd)` != `(cd ${docdir}; /bin/pwd)` ]; \
then \
echo "Copying etc/DOC-* to ${docdir} ..." ; \
- (cd ./etc; tar -cf - DOC*)|(cd ${docdir}; umask 0; tar -xvf - ); \
- (cd $(docdir); chmod a+r DOC*; rm DOC) \
+ (cd $(docdir); rm DOC-${version}*; mv DOC DOC-${version}; chmod a+r DOC*) \
else true; fi
if [ -r ./lisp ] \
&& [ x`(cd ./lisp; /bin/pwd)` != x`(cd ${lispdir}; /bin/pwd)` ] \
@@ -369,14 +368,8 @@
if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \
then \
(cd ${infodir}; \
@ -41,7 +51,7 @@ diff -uNr hanemacs-19.34-old/Makefile.in Makefile.in
(cd $${thisdir}; \
${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f; \
chmod a+r ${infodir}/$$f); \
@@ -421,15 +415,15 @@
@@ -421,15 +414,15 @@
* ) rm -rf $${dir} ;; \
esac ; \
case $${dir} in \

View File

@ -0,0 +1,22 @@
--- src/unexelf.c.orig Fri Oct 2 12:55:43 1998
+++ src/unexelf.c Fri Oct 2 13:02:05 1998
@@ -678,7 +678,8 @@
if (n < 0)
fatal ("Couldn't find segment next to .bss in %s\n", old_name, 0);
- NEW_PROGRAM_H (n).p_filesz += new_data2_size;
+/* NEW_PROGRAM_H (n).p_filesz += new_data2_size; */
+ NEW_PROGRAM_H (n).p_filesz = new_bss_addr - NEW_PROGRAM_H (n).p_vaddr; /* From emacs 20.3 */
NEW_PROGRAM_H (n).p_memsz = NEW_PROGRAM_H (n).p_filesz;
#if 0 /* Maybe allow section after data2 - does this ever happen? */
@@ -845,7 +846,9 @@
for (; symp < symendp; symp ++)
if (strcmp ((char *) (symnames + symp->st_name), "_end") == 0
- || strcmp ((char *) (symnames + symp->st_name), "_edata") == 0)
+ || strcmp ((char *) (symnames + symp->st_name), "end") == 0
+ || strcmp ((char *) (symnames + symp->st_name), "_edata") == 0
+ || strcmp ((char *) (symnames + symp->st_name), "edata") == 0)
memcpy (&symp->st_value, &new_bss_addr, sizeof (new_bss_addr));
}

View File

@ -8,6 +8,8 @@ bin/etags
bin/emacsclient
@exec if [ ! -d %d/share/hanemacs/site-lisp ]; then mkdir -p %D/share/hanemacs/site-lisp; fi
@exec if [ ! -d %d/share/hanemacs/19.34/site-lisp ]; then mkdir -p %D/share/hanemacs/19.34/site-lisp; fi
@exec mkdir -p /var/run/emacs/lock ; chmod 1777 /var/run/emacs/lock
etc/rc.d/emacs.sh
@comment these two can fail if other ports are installed, no need to
@comment scare user in that case
@unexec %D/share/hanemacs/site-lisp 2>/dev/null || true
@ -133,7 +135,7 @@ share/hanemacs/19.34/etc/COOKIES
share/hanemacs/19.34/etc/COPYING
share/hanemacs/19.34/etc/DEBUG
share/hanemacs/19.34/etc/DISTRIB
share/hanemacs/19.34/etc/DOC-19.34.1
share/hanemacs/19.34/etc/DOC-19.34
share/hanemacs/19.34/etc/FAQ
share/hanemacs/19.34/etc/FTP
share/hanemacs/19.34/etc/GNU