view lwlib/Makefile.in @ 108656:0b28d05fa415

Initial reimplementation of calculating line edge positions in bidi lines. dispextern.h (struct glyph_row): New members minpos and maxpos. (MATRIX_ROW_START_CHARPOS, MATRIX_ROW_START_BYTEPOS) (MATRIX_ROW_END_CHARPOS, MATRIX_ROW_END_BYTEPOS): Reference minpos and maxpos members instead of start.pos and end.pos, respectively. xdisp.c (display_line): Compare IT_CHARPOS with the position in row->start.pos, rather than with MATRIX_ROW_START_CHARPOS. (cursor_row_p): Use row->end.pos rather than MATRIX_ROW_END_CHARPOS. (try_window_reusing_current_matrix, try_window_id): Use ROW->minpos rather than ROW->start.pos. (init_from_display_pos, init_iterator): Use EMACS_INT for character and byte positions. (find_row_edges): Renamed from find_row_end. Accept additional arguments for minimum and maximum buffer positions seen by display_line for this row. Don't use iterator to find the position following the maximum one; instead, increment the position found by display_line directly. (display_line): Record minimum and maximum buffer positions for glyphs in this row. Record the position of the newline that terminates the line. dispnew.c (increment_row_positions, check_matrix_invariants): Increment and check row->start.pos and row->end.pos, in addition to MATRIX_ROW_START_CHARPOS and MATRIX_ROW_END_CHARPOS.
author Eli Zaretskii <eliz@gnu.org>
date Tue, 18 May 2010 18:22:15 +0300
parents 36240284aaab
children b7e047772c64
line wrap: on
line source

# Copyright (C) 1992, 1993 Lucid, Inc.
# Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
#   2009, 2010  Free Software Foundation, Inc.
# 
# This file is part of the Lucid Widget Library.
# 
# The Lucid Widget Library 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 1, or (at your option)
# any later version.
# 
# The Lucid Widget Library 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 GNU Emacs; see the file COPYING.  If not, write to
# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.


# This was taken from the output of Imake using Lucid's Imakefile.
# and set up to be configured by ../configure.

srcdir=@srcdir@
VPATH=@srcdir@
C_SWITCH_X_SITE=@C_SWITCH_X_SITE@
C_SWITCH_X_SYSTEM=@C_SWITCH_X_SYSTEM@
C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@
C_SWITCH_MACHINE=@C_SWITCH_MACHINE@

CC=@CC@
CFLAGS=@CFLAGS@
CPPFLAGS=@CPPFLAGS@
RANLIB=@RANLIB@
# See below--@X_TOOLKIT_TYPE@ is used below.
USE_X_TOOLKIT=@X_TOOLKIT_TYPE@

AR = ar cq
RM = rm -f

LUCID_OBJS = lwlib-Xlw.o xlwmenu.o lwlib-Xaw.o
MOTIF_OBJS = lwlib-Xm.o

TOOLKIT_DEFINES = 
TOOLKIT_OBJS = $(@X_TOOLKIT_TYPE@_OBJS)

OBJS = lwlib.o $(TOOLKIT_OBJS) lwlib-utils.o

# ../src is needed to find config.h.
ALL_CFLAGS= $(C_SWITCH_SYSTEM) $(C_SWITCH_X_SITE) \
  $(C_SWITCH_X_SYSTEM) $(C_SWITCH_MACHINE) $(CFLAGS) \
  -DHAVE_CONFIG_H -Demacs -I. -I../src -I${srcdir} -I${srcdir}/../src

.c.o:
	$(CC) -c $(CPPFLAGS) ${ALL_CFLAGS} $<

all:: liblw.a

liblw.a: $(OBJS)
	$(RM) $@
	$(AR) $@ $(OBJS)
	$(RANLIB) $@

# Depend on Makefile so that we recompile if TOOLKIT_DEFINES changes.
lwlib.o:  $(srcdir)/lwlib.c  Makefile
	$(CC) -c $(CPPFLAGS) $(TOOLKIT_DEFINES) $(ALL_CFLAGS) $(srcdir)/lwlib.c

lwlib-utils.o: lwlib-utils.c lwlib-utils.h
lwlib.o:       lwlib.c lwlib.h lwlib-int.h lwlib-Xaw.h lwlib-Xlw.h
lwlib-Xlw.o:   lwlib-Xlw.c lwlib.h lwlib-int.h lwlib-Xlw.h
lwlib-Xaw.o:   lwlib-Xaw.c lwlib-Xaw.h lwlib.h lwlib-int.h
lwlib-Xm.o:    lwlib-Xm.c lwlib-Xm.h lwlib.h lwlib-int.h lwlib-utils.h
xlwmenu.o: xlwmenu.c xlwmenu.h lwlib.h xlwmenuP.h

mostlyclean:
	$(RM) *.o core liblw.a \#*

clean: mostlyclean
distclean: clean
	$(RM) Makefile
maintainer-clean: distclean
	$(RM) TAGS

TAGS:
	../lib-src/etags $(srcdir)/*.[ch]
tags: TAGS
.PHONY: tags