On NetBSD, link "temacs" against /usr/lib/crt{n,i}.o if they exist. Or

"temacs" fails to start.

(Actually, I don't understand the fact inside.)

Bump revision to 2.
This commit is contained in:
uebayasi 2003-07-06 16:10:18 +00:00
parent a491ddf992
commit 131916b44a
6 changed files with 91 additions and 28 deletions

View file

@ -1,8 +1,8 @@
# $NetBSD: Makefile,v 1.59 2003/06/23 13:24:29 seb Exp $
# $NetBSD: Makefile,v 1.60 2003/07/06 16:10:18 uebayasi Exp $
# FreeBSD Id: Makefile,v 1.30 1997/12/14 02:03:53 asami Exp
DISTNAME= emacs-21.3
PKGREVISION= 1
PKGREVISION= 2
CATEGORIES= editors
MASTER_SITES= ${MASTER_SITE_GNU:=emacs/}

View file

@ -1,11 +1,14 @@
$NetBSD: distinfo,v 1.12 2003/04/12 10:16:39 uebayasi Exp $
$NetBSD: distinfo,v 1.13 2003/07/06 16:10:18 uebayasi Exp $
SHA1 (emacs-21.3.tar.gz) = a8aae1b619e50ed6fed5b1351b54b38ed98c61b8
Size (emacs-21.3.tar.gz) = 20399831 bytes
SHA1 (patch-ae.work) = 6d47b2e82b8e21c68bd52214679423a24300f4a1
SHA1 (patch-ae.work) = 6d47b2e82b8e21c68bd52214679423a24300f4a1
SHA1 (patch-aa) = fee6fe91fb9a2f75300903cc5c6e023bb8de6be5
SHA1 (patch-ab) = dfb9fdf2dd97b60a2367736e702a6268ce2a00a0
SHA1 (patch-ad) = 39a11bc214ae3d2f9d634c30b196a46d473ab92f
SHA1 (patch-ae) = e2b66b23efb90608470aef5ebd0c75e27bcd6b55
SHA1 (patch-ag) = 3d64c0d53e3a8a737eeb04a6080a92a826b73620
SHA1 (patch-ak) = c37ecdcb1e0b0211b15baa7100dd43eab3f0830b
SHA1 (patch-xx) = 2fe2ac22cb293150da2fa8cc9d2e5da110eb141b
SHA1 (patch-bg) = 567ccce83e2b6d898a87f20763d5ff4b19c30deb
SHA1 (patch-xx) = a818041b6c851f8a675b17d4c7372ddb5f468c53

View file

@ -0,0 +1,27 @@
$NetBSD: patch-ab,v 1.16 2003/07/06 16:10:18 uebayasi Exp $
--- configure.orig Sat Jun 14 12:55:08 2003
+++ configure
@@ -9124,6 +9124,22 @@
fi
+# NETBSD: NetBSD's newer run-time linker fix.
+if test $opsys = netbsd; then
+ if test -f /usr/lib/crti.o; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_NETBSD_CRTI 1
+EOF
+
+ fi
+ if test -f /usr/lib/crtn.o; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_NETBSD_CRTN 1
+EOF
+
+ fi
+fi
+
# Set up the CFLAGS for real compilation, so we can substitute it.
CFLAGS="$REAL_CFLAGS"
CPPFLAGS="$REAL_CPPFLAGS"

View file

@ -0,0 +1,17 @@
$NetBSD: patch-ag,v 1.9 2003/07/06 16:10:18 uebayasi Exp $
--- src/config.in.orig Tue Jul 9 07:23:31 2002
+++ src/config.in
@@ -354,6 +354,12 @@ Boston, MA 02111-1307, USA. */
/* Define for large files, on AIX-style hosts. */
#undef _LARGE_FILES
+/* On NetBSD, Define HAVE_NETBSD_CRT{I,N} if a given system has crt{i,n}.o
+ installed under /usr/lib. These should be linked against temacs,
+ or it won't boot. */
+#undef HAVE_NETBSD_CRTI
+#undef HAVE_NETBSD_CRTN
+
#undef EMACS_CONFIGURATION
#undef EMACS_CONFIG_OPTIONS

View file

@ -0,0 +1,21 @@
$NetBSD: patch-bg,v 1.7 2003/07/06 16:10:19 uebayasi Exp $
--- configure.in.orig Fri Apr 18 19:04:25 2003
+++ configure.in
@@ -2177,6 +2177,16 @@
# Fixme: This should be replaced when we have autoconf 2.14.
AC_SIZE_T
+# NETBSD: NetBSD's newer run-time linker fix.
+if test $opsys = netbsd; then
+ if test -f /usr/lib/crti.o; then
+ AC_DEFINE(HAVE_NETBSD_CRTI)
+ fi
+ if test -f /usr/lib/crtn.o; then
+ AC_DEFINE(HAVE_NETBSD_CRTN)
+ fi
+fi
+
# Set up the CFLAGS for real compilation, so we can substitute it.
CFLAGS="$REAL_CFLAGS"
CPPFLAGS="$REAL_CPPFLAGS"

View file

@ -1,27 +1,22 @@
$NetBSD: patch-xx,v 1.4 2003/04/12 10:16:40 uebayasi Exp $
$NetBSD: patch-xx,v 1.5 2003/07/06 16:10:19 uebayasi Exp $
--- src/s/netbsd.h.orig Sat Jun 1 01:29:02 2002
--- src/s/netbsd.h.orig Fri Apr 18 19:04:10 2003
+++ src/s/netbsd.h
@@ -72,22 +72,6 @@
@@ -60,9 +60,17 @@
#endif /* not NO_SHARED_LIBS and not ELF */
#define AMPERSAND_FULL_NAME
-#ifdef __ELF__
-/* Here is how to find X Windows. LD_SWITCH_X_SITE_AUX gives an -R option
- says where to find X windows at run time. We convert it to a -rpath option
- which is what OSF1 uses. */
-#define LD_SWITCH_SYSTEM_tmp `echo LD_SWITCH_X_SITE_AUX | sed -e 's/-R/-Wl,-rpath,/'`
-#define LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_tmp -Wl,-rpath,/usr/pkg/lib -L/usr/pkg/lib -Wl,-rpath,/usr/local/lib -L/usr/local/lib
-
-/* The following is needed to make `configure' find Xpm, Xaw3d and
- image include and library files if using /usr/bin/gcc. That
- compiler seems to be modified to not find headers in
- /usr/local/include or libs in /usr/local/lib by default. */
-
-#define C_SWITCH_SYSTEM -I/usr/X11R6/include -I/usr/pkg/include -I/usr/local/include -L/usr/pkg/lib -L/usr/local/lib
-
-#endif /* __ELF__ */
-
/* On post 1.3 releases of NetBSD, gcc -nostdlib also clears
the library search parth, i.e. it won't search /usr/lib
for libc and friends. Using -nostartfiles instead avoids
#if !defined (NO_SHARED_LIBS) && defined (__ELF__)
+#if defined(HAVE_NETBSD_CRTI)
+#define START_FILES pre-crt0.o /usr/lib/crt0.o /usr/lib/crti.o /usr/lib/crtbegin.o
+#else
#define START_FILES pre-crt0.o /usr/lib/crt0.o /usr/lib/crtbegin.o
+#endif
#define UNEXEC unexelf.o
+#if defined(HAVE_NETBSD_CRTN)
+#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o /usr/lib/crtn.o
+#else
#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o
+#endif
#undef LIB_GCC
#define LIB_GCC
#endif