From xemacs-m  Fri Mar 28 21:17:06 1997
Received: from altair.xemacs.org (steve@xemacs.miranova.com [206.190.83.19])
	by xemacs.org (8.8.5/8.8.5) with ESMTP id VAA14450
	for <xemacs-beta@xemacs.org>; Fri, 28 Mar 1997 21:17:04 -0600 (CST)
Received: (from steve@localhost)
	by altair.xemacs.org (8.8.5/8.8.5) id TAA03640;
	Fri, 28 Mar 1997 19:29:51 -0800
Mail-Copies-To: never
To: xemacs-beta@xemacs.org
Subject: Re: [20.1-b10 patch] problems building 20.1b10 (linux)
References: <333C2ED0.67BAE874@atype.com> <m2u3lvmxyw.fsf@altair.xemacs.org> <873etfe9d3.fsf@sbt.net>
X-Url: http://www.miranova.com/%7Esteve/
X-Face: #!T9!#9s-3o8)*uHlX{Ug[xW7E7Wr!*L46-OxqMu\xz23v|R9q}lH?cRS{rCNe^'[`^sr5"
 f8*@r4ipO6Jl!:Ccq<xoV[Qz2u8<8-+Vwf2gzJ44lf_/y9OaQ`@#Q65{U4/TC)i2`~/M&QI$X>p:9I
 OSS'2{-)-4wBnVeg0S\O4Al@)uC[pD|+
X-Attribution: sb
From: Steven L Baur <steve@miranova.com>
In-Reply-To: Michael Harnois's message of 28 Mar 1997 20:10:12 -0600
Mime-Version: 1.0 (generated by tm-edit 7.106)
Content-Type: text/plain; charset=US-ASCII
Date: 28 Mar 1997 19:29:49 -0800
Message-ID: <m2g1xfl6j6.fsf_-_@altair.xemacs.org>
Lines: 179
X-Mailer: Gnus v5.4.37/XEmacs 20.1(beta11)

Michael Harnois writes:

> Steven L Baur <steve@miranova.com> writes:
>> > After doing ./configure; make, the link step fails with
>> > tons of errors about undefined uses of error_check_*

(The externed inline functions)

>> On Linux?  :-(  O.K.  I guess some people don't need the horrible
>> inline.c but others do.  I'll post patches for this tonight along with 
>> fixes for configure after I get 19.15 announced.

> I didn't see this problem in my configuration. Should we be looking
> for a reason?

Yes, but I consider this a message from on high that 20.1 is not the
time for it.  I suspect it has something to do with optimization
levels -- one only needs this crud when compiling at low or no
optimization.

Note:  Apply this patch in the xemacs-20.1-b10/src directory.

Index: src/inline.c
===================================================================
RCS file: inline.c
diff -N inline.c
--- /dev/null	Sun Jul 17 16:46:18 1994
+++ inline.c	Fri Mar 28 19:19:36 1997
@@ -0,0 +1,78 @@
+/* Repository for inline functions
+   Copyright (C) 1995 Sun Microsystems, Inc.
+
+This file is part of XEmacs.
+
+XEmacs is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2, or (at your option) any
+later version.
+
+XEmacs is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with XEmacs; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+/* Synched up with: Not in FSF. */
+
+/* The purpose of this file is so that there is at least one actual
+   definition of each inline function.  This is needed under GCC.  The
+   reason is that under GCC we declare our inline functions `extern
+   inline', which causes the inlined version to get used only for
+   inlining, and in other cases to generate an external reference to
+   the function.  This is more efficient that declaring out inline
+   functions `static inline', which (in many cases) would cause a separate
+   version of the function to get inserted into every source file that
+   included the corresponding header file.
+
+   Some compilers that recognize `inline' may not do the same
+   `extern inline' business, so on those we just do `static inline'.
+   */
+   
+#define DONT_EXTERN_INLINE_FUNCTIONS
+
+#include <config.h>
+#include "lisp.h"
+#include "buffer.h"
+#include "bytecode.h"
+#include "console.h"
+#include "device.h"
+#include "events.h"
+#include "elhash.h"
+#include "extents.h"
+#include "faces.h"
+#include "frame.h"
+#include "glyphs.h"
+#include "keymap.h"
+#include "lstream.h"
+#include "objects.h"
+#include "opaque.h"
+#include "process.h"
+#include "specifier.h"
+#include "syntax.h"
+#include "toolbar.h"
+#include "window.h"
+
+#ifdef HAVE_DATABASE
+#include "database.h"
+#endif
+
+#ifdef HAVE_X_WINDOWS
+#include "console-x.h"
+#include "glyphs-x.h"
+#include "gui-x.h"
+#endif
+
+#ifdef MULE
+#include "mule-coding.h"
+#endif
+
+#ifdef TOOLTALK
+#include <tt_c.h>
+#include "tooltalk.h"
+#endif


Index: src/Makefile.in.in
===================================================================
RCS file: /usr/local/xemacs/xemacs-20.0/src/Makefile.in.in,v
retrieving revision 1.14
diff -u -r1.14 Makefile.in.in
--- Makefile.in.in	1997/03/22 06:03:19	1.14
+++ Makefile.in.in	1997/03/29 03:25:12
@@ -911,7 +911,7 @@
 	frame.o \
 	general.o getloadavg.o GIF_OBJS glyphs.o GUI_OBJS \
 	hash.o \
-	indent.o insdel.o intl.o \
+	indent.o inline.o insdel.o intl.o \
 	keymap.o $(RTC_PATCH_O) \
 	lread.o lstream.o \
 	macros.o marker.o md5.o MENUBAR_OBJS minibuf.o MOCKLISPOBJS \
@@ -1937,6 +1937,8 @@
 glyphs.o: mule-charset.h
 gui-x.o: mule-charset.h
 indent.o: mule-charset.h
+inline.o: mule-charset.h
+inline.o: mule-coding.h
 input-method-xlib.o: mule-charset.h
 input-method-xlib.o: mule-coding.h
 insdel.o: mule-charset.h
@@ -2944,6 +2946,40 @@
 indent.o: specifier.h
 indent.o: toolbar.h
 indent.o: window.h
+inline.o: $(LWLIBSRCDIR)/lwlib.h
+inline.o: blocktype.h
+inline.o: buffer.h
+inline.o: bufslots.h
+inline.o: bytecode.h
+inline.o: chartab.h
+inline.o: config.h
+inline.o: conslots.h
+inline.o: console-x.h
+inline.o: console.h
+inline.o: device.h
+inline.o: dynarr.h
+inline.o: elhash.h
+inline.o: events.h
+inline.o: extents.h
+inline.o: faces.h
+inline.o: frame.h
+inline.o: frameslots.h
+inline.o: glyphs-x.h
+inline.o: glyphs.h
+inline.o: gui-x.h
+inline.o: keymap.h
+inline.o: lstream.h
+inline.o: objects.h
+inline.o: opaque.h
+inline.o: process.h
+inline.o: redisplay.h
+inline.o: scrollbar.h
+inline.o: specifier.h
+inline.o: syntax.h
+inline.o: systime.h
+inline.o: toolbar.h
+inline.o: window.h
+inline.o: xintrinsic.h
 input-method-xlib.o: EmacsFrame.h
 input-method-xlib.o: blocktype.h
 input-method-xlib.o: buffer.h

-- 
steve@miranova.com baur
Unsolicited commercial e-mail will be billed at $250/message.

