Mercurial > hg > xemacs-beta
annotate modules/canna/configure.ac @ 4477:e34711681f30
Don't determine whether to call general device-type code at startup,
rather decide in the device-specific code itself.
lisp/ChangeLog addition:
2008-07-07 Aidan Kehoe <kehoea@parhasard.net>
Patch to make it up to the device-specific code whether
various Lisp functions should be called during device creation,
not relying on the startup code to decide this. Also, rename
initial-window-system to initial-device-type (which makes more
sense in this scheme), always set it.
* startup.el (command-line):
Use initial-device-type, not initial-window-system; just call
#'make-device, leave the special behaviour to be done the first
time a console type is initialised to be decided on by the
respective console code.
* x-init.el (x-app-defaults-directory): Declare that it should be
bound.
(x-define-dead-key): Have the macro take a DEVICE argument.
(x-initialize-compose): Have the function take a DEVICE argument,
and use it when checking if various keysyms are available on the
keyboard.
(x-initialize-keyboard): Have the function take a DEVICE argument,
allowing device-specific keyboard initialisation.
(make-device-early-x-entry-point-called-p): New.
(make-device-late-x-entry-point-called-p): New. Rename
pre-x-win-initted, x-win-initted.
(make-device-early-x-entry-point): Rename init-pre-x-win, take the
call to make-x-device out (it should be called from the
device-creation code, not vice-versa).
(make-device-late-x-entry-point): Rename init-post-x-win, have it
take a DEVICE argument, use that DEVICE argument when working out
what device-specific things need doing. Don't use
create-console-hook in core code.
* x-win-xfree86.el (x-win-init-xfree86): Take a DEVICE argument;
use it.
* x-win-sun.el (x-win-init-sun): Take a DEVICE argument; use it.
* mule/mule-x-init.el: Remove #'init-mule-x-win, an empty
function.
* tty-init.el (make-device-early-tty-entry-point-called-p): New.
Rename pre-tty-win-initted.
(make-device-early-tty-entry-point): New.
Rename init-pre-tty-win.
(make-frame-after-init-entry-point): New.
Rename init-post-tty-win to better reflect when it's called.
* gtk-init.el (gtk-early-lisp-options-file): New.
Move this path to a documented variable.
(gtk-command-switch-alist): Wrap the docstring to fewer than 79
columns.
(make-device-early-gtk-entry-point-called-p): New.
(make-device-late-gtk-entry-point-called-p): New.
Renamed gtk-pre-win-initted, gtk-post-win-initted to these.
(make-device-early-gtk-entry-point): New.
(make-device-late-gtk-entry-point): New.
Renamed init-pre-gtk-win, init-post-gtk-win to these.
Have make-device-late-gtk-entry-point take a device argument, and use
it; have make-device-early-gtk-entry-point load the GTK-specific
startup code, instead of doing that in C.
(init-gtk-win): Deleted, functionality moved to the GTK device
creation code.
(gtk-define-dead-key): Have it take a DEVICE argument; use this
argument.
(gtk-initialize-compose): Ditto.
* coding.el (set-terminal-coding-system):
Correct the docstring; the function isn't broken.
src/ChangeLog addition:
2008-07-07 Aidan Kehoe <kehoea@parhasard.net>
Patch to make it up to the device-specific code whether
various Lisp functions should be called during device creation,
not relying on the startup code to decide this. Also, rename
initial-window-system to initial-device-type (which makes more
sense in this scheme), always set it.
* redisplay.c (Vinitial_device_type): New.
(Vinitial_window_system): Removed.
Rename initial-window-system to initial-device type, making it
a stream if we're noninteractive. Update its docstring.
* device-x.c (Qmake_device_early_x_entry_point,
Qmake_device_late_x_entry_point): New.
Rename Qinit_pre_x_win, Qinit_post_x_win.
(x_init_device): Call #'make-device-early-x-entry-point earlier,
now we rely on it to find the application class and the
app-defaults directory.
(x_finish_init_device): Call #'make-device-late-x-entry-point with
the created device.
(Vx_app_defaults_directory): Always make this available, to
simplify code in x-init.el.
* device-tty.c (Qmake_device_early_tty_entry_point): New.
Rename Qinit_pre_tty_win, rename Qinit_post_tty_win and move to
frame-tty.c as Qmake_frame_after_init_entry_point.
(tty_init_device): Call #'make-device-early-tty-entry-point before
doing anything.
* frame-tty.c (Qmake_frame_after_init_entry_point): New.
* frame-tty.c (tty_after_init_frame): Have it call the
better-named #'make-frame-after-init-entry-point function
instead of #'init-post-tty-win (since it's called after frame, not
device, creation).
* device-msw.c (Qmake_device_early_mswindows_entry_point,
Qmake_device_late_mswindows_entry_point): New.
Rename Qinit_pre_mswindows_win, Qinit_post_mswindows_win.
(mswindows_init_device): Call
#'make-device-early-mswindows-entry-point here, instead of having
its predecessor call us.
(mswindows_finish_init_device): Call
#'make-device-early-mswindows-entry-point, for symmetry with the
other device types (though it's an empty function).
* device-gtk.c (Qmake_device_early_gtk_entry_point,
Qmake_device_late_gtk_entry_point): New.
Rename Qinit_pre_gtk_win, Qinit_post_gtk_win.
(gtk_init_device): Call #'make-device-early-gtk-entry-point; don't
load ~/.xemacs/gtk-options.el ourselves, leave that to lisp.
(gtk_finish_init_device): Call #'make-device-late-gtk-entry-point
with the created device as an argument.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Wed, 09 Jul 2008 20:46:22 +0200 |
parents | bd7174adf0f2 |
children | 56b64a055043 |
rev | line source |
---|---|
2973 | 1 # Process this file with autoconf to produce a configure script. |
2 # This is only used for independent module building. | |
3 AC_INIT([Sample module], [1.0], [xemacs-beta@xemacs.org]) | |
4 AC_PREREQ(2.53) | |
3010 | 5 AC_REVISION($Revision: 1.3 $) |
2973 | 6 AC_COPYRIGHT([Configuration script for the sample module. |
7 Copyright (C) 2002 Jerry James. | |
8 | |
9 This file is part of XEmacs. | |
10 | |
11 XEmacs is free software; you can redistribute it and/or modify it | |
12 under the terms of the GNU General Public License as published by | |
13 the Free Software Foundation; either version 2, or (at your | |
14 option) any later version. | |
15 | |
16 XEmacs is distributed in the hope that it will be useful, but | |
17 WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
19 General Public License for more details. | |
20 | |
21 You should have received a copy of the GNU General Public License | |
22 along with XEmacs; see the file COPYING. If not, write to the Free | |
23 Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | |
24 02111-1307, USA.]) | |
25 | |
26 AC_CONFIG_SRCDIR([sample.c]) | |
27 AC_PROG_CC | |
28 AC_PROG_INSTALL | |
29 AC_SUBST(CFLAGS) | |
30 AC_SUBST(LDFLAGS) | |
31 | |
32 # Find ELLCC | |
33 AC_ARG_VAR([ELLCC], [The path to the ellcc module compiler]) | |
34 AC_PATH_PROG([ELLCC], [ellcc], ["FAIL"]) | |
35 AS_IF([test "$ELLCC" = "FAIL"], [AS_ERROR([Cannot find ellcc])]) | |
36 | |
37 # Insert autoconf macros here to find the headers, libraries, other | |
38 # programs, etc. needed by your module. If other libraries will be linked | |
39 # with your module, then after detecting them, use a line of this form last: | |
40 | |
41 # detect canna | |
42 canna_includes_found=no | |
43 if test "$with_canna" != "no"; then | |
44 AC_CHECK_HEADER(canna/jrkanji.h,canna_includes_found=yes) | |
45 fi | |
46 if test "$canna_includes_found" = "no" -a "$with_canna" != "no" -a \ | |
47 -d "/usr/local/canna/include"; then | |
48 save_c_switch_site="$c_switch_site" | |
49 c_switch_site="$c_switch_site -I/usr/local/canna/include" | |
50 AC_CHECK_HEADER(canna/jrkanji.h,canna_includes_found=yes) | |
51 if test "$canna_includes_found" != "yes"; then | |
52 c_switch_site="$save_c_switch_site" | |
53 with_canna="no" | |
54 fi | |
55 fi | |
56 | |
57 test -z "$with_canna" && { AC_CHECK_HEADER(canna/RK.h, , with_canna=no) } | |
58 test -z "$with_canna" && { AC_CHECK_LIB(RKC, RkBgnBun, [:],with_canna=no) } | |
59 test -z "$with_canna" && { AC_CHECK_LIB(canna,jrKanjiControl,[:],with_canna=no) } | |
60 test -z "$with_canna" && with_canna=yes | |
61 if test "$with_canna" = "yes"; then | |
62 AC_DEFINE(HAVE_CANNA) | |
63 LIBS="-lcanna -lRKC" | |
64 fi | |
65 | |
66 AC_SUBST(canna_libs, "$LIBS") | |
67 | |
68 # This part should appear unchanged in every module configure.ac | |
69 AC_SUBST(PROGNAME, "module") | |
70 AC_SUBST(MOD_CC, "@ELLCC@") | |
71 AC_SUBST(MODARCHDIR, "\$(shell @ELLCC@ --mod-archdir)") | |
72 AC_SUBST(MAKE_DOCFILE, "\$(MODARCHDIR)/make-docfile") | |
73 AC_SUBST(MODCFLAGS, "\$(CFLAGS) --mode=compile --mod-output=\$@ -I\$(MODARCHDIR)/include") | |
74 AC_SUBST(INSTALLPATH, "\$(shell @ELLCC@ --mod-site-location)") | |
75 AC_SUBST(MOD_INSTALL_PROGRAM, "@INSTALL_PROGRAM@") | |
76 AC_SUBST(OBJECT_TO_BUILD, "\$(MODNAME).ell") | |
77 | |
78 AC_CONFIG_FILES([Makefile.in Makefile]) | |
79 AC_OUTPUT |