~ubuntu-branches/ubuntu/jaunty/gnome-common/jaunty

« back to all changes in this revision

Viewing changes to macros/curses.m4

  • Committer: Bazaar Package Importer
  • Author(s): Jordi Mallach
  • Date: 2004-11-14 01:01:18 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20041114010118-cm3q525sf2y56kdh
Tags: 2.8.0-3
debian/patches/01_autogen_copy_files.patch: use --force only
if $REQUIRED_AUTOMAKE_VERSION != 1.4 (closes: #281063).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
dnl Curses detection: Munged from Midnight Commander's configure.in
2
 
dnl
3
 
dnl What it does:
4
 
dnl =============
5
 
dnl
6
 
dnl - Determine which version of curses is installed on your system
7
 
dnl   and set the -I/-L/-l compiler entries and add a few preprocessor
8
 
dnl   symbols 
9
 
dnl - Do an AC_SUBST on the CURSES_INCLUDEDIR and CURSES_LIBS so that
10
 
dnl   @CURSES_INCLUDEDIR@ and @CURSES_LIBS@ will be available in
11
 
dnl   Makefile.in's
12
 
dnl - Modify the following configure variables (these are the only
13
 
dnl   curses.m4 variables you can access from within configure.in)
14
 
dnl   CURSES_INCLUDEDIR - contains -I's and possibly -DRENAMED_CURSES if
15
 
dnl                       an ncurses.h that's been renamed to curses.h
16
 
dnl                       is found.
17
 
dnl   CURSES_LIBS       - sets -L and -l's appropriately
18
 
dnl   CFLAGS            - if --with-sco, add -D_SVID3 
19
 
dnl   has_curses        - exports result of tests to rest of configure
20
 
dnl
21
 
dnl Usage:
22
 
dnl ======
23
 
dnl 1) Add lines indicated below to acconfig.h
24
 
dnl 2) call AC_CHECK_CURSES after AC_PROG_CC in your configure.in
25
 
dnl 3) Instead of #include <curses.h> you should use the following to
26
 
dnl    properly locate ncurses or curses header file
27
 
dnl
28
 
dnl    #if defined(USE_NCURSES) && !defined(RENAMED_NCURSES)
29
 
dnl    #include <ncurses.h>
30
 
dnl    #else
31
 
dnl    #include <curses.h>
32
 
dnl    #endif
33
 
dnl
34
 
dnl 4) Make sure to add @CURSES_INCLUDEDIR@ to your preprocessor flags
35
 
dnl 5) Make sure to add @CURSES_LIBS@ to your linker flags or LIBS
36
 
dnl
37
 
dnl Notes with automake:
38
 
dnl - call AM_CONDITIONAL(HAS_CURSES, test "$has_curses" = true) from
39
 
dnl   configure.in
40
 
dnl - your Makefile.am can look something like this
41
 
dnl   -----------------------------------------------
42
 
dnl   INCLUDES= blah blah blah $(CURSES_INCLUDEDIR) 
43
 
dnl   if HAS_CURSES
44
 
dnl   CURSES_TARGETS=name_of_curses_prog
45
 
dnl   endif
46
 
dnl   bin_PROGRAMS = other_programs $(CURSES_TARGETS)
47
 
dnl   other_programs_SOURCES = blah blah blah
48
 
dnl   name_of_curses_prog_SOURCES = blah blah blah
49
 
dnl   other_programs_LDADD = blah
50
 
dnl   name_of_curses_prog_LDADD = blah $(CURSES_LIBS)
51
 
dnl   -----------------------------------------------
52
 
dnl
53
 
dnl
54
 
dnl The following lines should be added to acconfig.h:
55
 
dnl ==================================================
56
 
dnl
57
 
dnl /*=== Curses version detection defines ===*/
58
 
dnl /* Found some version of curses that we're going to use */
59
 
dnl #undef HAS_CURSES
60
 
dnl    
61
 
dnl /* Use SunOS SysV curses? */
62
 
dnl #undef USE_SUNOS_CURSES
63
 
dnl 
64
 
dnl /* Use old BSD curses - not used right now */
65
 
dnl #undef USE_BSD_CURSES
66
 
dnl 
67
 
dnl /* Use SystemV curses? */
68
 
dnl #undef USE_SYSV_CURSES
69
 
dnl 
70
 
dnl /* Use Ncurses? */
71
 
dnl #undef USE_NCURSES
72
 
dnl 
73
 
dnl /* If you Curses does not have color define this one */
74
 
dnl #undef NO_COLOR_CURSES
75
 
dnl 
76
 
dnl /* Define if you want to turn on SCO-specific code */
77
 
dnl #undef SCO_FLAVOR
78
 
dnl 
79
 
dnl /* Set to reflect version of ncurses *
80
 
dnl  *   0 = version 1.*
81
 
dnl  *   1 = version 1.9.9g
82
 
dnl  *   2 = version 4.0/4.1 */
83
 
dnl #undef NCURSES_970530
84
 
dnl
85
 
dnl /*=== End new stuff for acconfig.h ===*/
86
 
dnl 
87
 
 
88
 
 
89
 
AC_DEFUN([AC_CHECK_CURSES],[
90
 
        search_ncurses=true
91
 
        screen_manager=""
92
 
        has_curses=false
93
 
 
94
 
        CFLAGS=${CFLAGS--O}
95
 
 
96
 
        AC_SUBST(CURSES_LIBS)
97
 
        AC_SUBST(CURSES_INCLUDEDIR)
98
 
 
99
 
        AC_ARG_WITH(sco,
100
 
          [  --with-sco              Use this to turn on SCO-specific code],[
101
 
          if test x$withval = xyes; then
102
 
                AC_DEFINE(SCO_FLAVOR)
103
 
                CFLAGS="$CFLAGS -D_SVID3"
104
 
          fi
105
 
        ])
106
 
 
107
 
        AC_ARG_WITH(sunos-curses,
108
 
          [  --with-sunos-curses     Used to force SunOS 4.x curses],[
109
 
          if test x$withval = xyes; then
110
 
                AC_USE_SUNOS_CURSES
111
 
          fi
112
 
        ])
113
 
 
114
 
        AC_ARG_WITH(osf1-curses,
115
 
          [  --with-osf1-curses      Used to force OSF/1 curses],[
116
 
          if test x$withval = xyes; then
117
 
                AC_USE_OSF1_CURSES
118
 
          fi
119
 
        ])
120
 
 
121
 
        AC_ARG_WITH(vcurses,
122
 
          [  --with-vcurses[=incdir] Used to force SysV curses],
123
 
          if test x$withval != xyes; then
124
 
                CURSES_INCLUDEDIR="-I$withval"
125
 
          fi
126
 
          AC_USE_SYSV_CURSES
127
 
        )
128
 
 
129
 
        AC_ARG_WITH(ncurses,
130
 
          [  --with-ncurses[=dir]  Compile with ncurses/locate base dir],
131
 
          if test x$withval = xno ; then
132
 
                search_ncurses=false
133
 
          elif test x$withval != xyes ; then
134
 
                CURSES_LIBS="$LIBS -L$withval/lib -lncurses"
135
 
                CURSES_INCLUDEDIR="-I$withval/include"
136
 
                search_ncurses=false
137
 
                screen_manager="ncurses"
138
 
                AC_DEFINE(USE_NCURSES)
139
 
                AC_DEFINE(HAS_CURSES)
140
 
                has_curses=true
141
 
          fi
142
 
        )
143
 
 
144
 
        if $search_ncurses
145
 
        then
146
 
                AC_SEARCH_NCURSES()
147
 
        fi
148
 
 
149
 
 
150
 
])
151
 
 
152
 
 
153
 
AC_DEFUN([AC_USE_SUNOS_CURSES], [
154
 
        search_ncurses=false
155
 
        screen_manager="SunOS 4.x /usr/5include curses"
156
 
        AC_MSG_RESULT(Using SunOS 4.x /usr/5include curses)
157
 
        AC_DEFINE(USE_SUNOS_CURSES)
158
 
        AC_DEFINE(HAS_CURSES)
159
 
        has_curses=true
160
 
        AC_DEFINE(NO_COLOR_CURSES)
161
 
        AC_DEFINE(USE_SYSV_CURSES)
162
 
        CURSES_INCLUDEDIR="-I/usr/5include"
163
 
        CURSES_LIBS="/usr/5lib/libcurses.a /usr/5lib/libtermcap.a"
164
 
        AC_MSG_RESULT(Please note that some screen refreshs may fail)
165
 
])
166
 
 
167
 
AC_DEFUN([AC_USE_OSF1_CURSES], [
168
 
       AC_MSG_RESULT(Using OSF1 curses)
169
 
       search_ncurses=false
170
 
       screen_manager="OSF1 curses"
171
 
       AC_DEFINE(HAS_CURSES)
172
 
       has_curses=true
173
 
       AC_DEFINE(NO_COLOR_CURSES)
174
 
       AC_DEFINE(USE_SYSV_CURSES)
175
 
       CURSES_LIBS="-lcurses"
176
 
])
177
 
 
178
 
AC_DEFUN([AC_USE_SYSV_CURSES], [
179
 
        AC_MSG_RESULT(Using SysV curses)
180
 
        AC_DEFINE(HAS_CURSES)
181
 
        has_curses=true
182
 
        AC_DEFINE(USE_SYSV_CURSES)
183
 
        search_ncurses=false
184
 
        screen_manager="SysV/curses"
185
 
        CURSES_LIBS="-lcurses"
186
 
])
187
 
 
188
 
dnl AC_ARG_WITH(bsd-curses,
189
 
dnl [--with-bsd-curses         Used to compile with bsd curses, not very fancy],
190
 
dnl     search_ncurses=false
191
 
dnl     screen_manager="Ultrix/cursesX"
192
 
dnl     if test $system = ULTRIX
193
 
dnl     then
194
 
dnl         THIS_CURSES=cursesX
195
 
dnl        else
196
 
dnl         THIS_CURSES=curses
197
 
dnl     fi
198
 
dnl
199
 
dnl     CURSES_LIBS="-l$THIS_CURSES -ltermcap"
200
 
dnl     AC_DEFINE(HAS_CURSES)
201
 
dnl     has_curses=true
202
 
dnl     AC_DEFINE(USE_BSD_CURSES)
203
 
dnl     AC_MSG_RESULT(Please note that some screen refreshs may fail)
204
 
dnl     AC_MSG_WARN(Use of the bsdcurses extension has some)
205
 
dnl     AC_MSG_WARN(display/input problems.)
206
 
dnl     AC_MSG_WARN(Reconsider using xcurses)
207
 
dnl)
208
 
 
209
 
        
210
 
dnl
211
 
dnl Parameters: directory filename cureses_LIBS curses_INCLUDEDIR nicename
212
 
dnl
213
 
AC_DEFUN([AC_NCURSES], [
214
 
    if $search_ncurses
215
 
    then
216
 
        if test -f $1/$2
217
 
        then
218
 
            AC_MSG_RESULT(Found ncurses on $1/$2)
219
 
            CURSES_LIBS="$3"
220
 
            CURSES_INCLUDEDIR="$4"
221
 
            search_ncurses=false
222
 
            screen_manager=$5
223
 
            AC_DEFINE(HAS_CURSES)
224
 
            has_curses=true
225
 
            AC_DEFINE(USE_NCURSES)
226
 
        fi
227
 
    fi
228
 
])
229
 
 
230
 
AC_DEFUN([AC_SEARCH_NCURSES], [
231
 
    AC_CHECKING("location of ncurses.h file")
232
 
 
233
 
    AC_NCURSES(/usr/include, ncurses.h, -lncurses,, "ncurses on /usr/include")
234
 
    AC_NCURSES(/usr/include/ncurses, ncurses.h, -lncurses, -I/usr/include/ncurses, "ncurses on /usr/include/ncurses")
235
 
    AC_NCURSES(/usr/local/include, ncurses.h, -L/usr/local/lib -lncurses, -I/usr/local/include, "ncurses on /usr/local")
236
 
    AC_NCURSES(/usr/local/include/ncurses, ncurses.h, -L/usr/local/lib -L/usr/local/lib/ncurses -lncurses, -I/usr/local/include/ncurses, "ncurses on /usr/local/include/ncurses")
237
 
 
238
 
    AC_NCURSES(/usr/local/include/ncurses, curses.h, -L/usr/local/lib -lncurses, -I/usr/local/include/ncurses -DRENAMED_NCURSES, "renamed ncurses on /usr/local/.../ncurses")
239
 
 
240
 
    AC_NCURSES(/usr/include/ncurses, curses.h, -lncurses, -I/usr/include/ncurses -DRENAMED_NCURSES, "renamed ncurses on /usr/include/ncurses")
241
 
 
242
 
    dnl
243
 
    dnl We couldn't find ncurses, try SysV curses
244
 
    dnl
245
 
    if $search_ncurses 
246
 
    then
247
 
        AC_EGREP_HEADER(init_color, /usr/include/curses.h,
248
 
            AC_USE_SYSV_CURSES)
249
 
        AC_EGREP_CPP(USE_NCURSES,[
250
 
#include <curses.h>
251
 
#ifdef __NCURSES_H
252
 
#undef USE_NCURSES
253
 
USE_NCURSES
254
 
#endif
255
 
],[
256
 
        CURSES_INCLUDEDIR="$CURSES_INCLUDEDIR -DRENAMED_NCURSES"
257
 
        AC_DEFINE(HAS_CURSES)
258
 
        has_curses=true
259
 
        AC_DEFINE(USE_NCURSES)
260
 
        search_ncurses=false
261
 
        screen_manager="ncurses installed as curses"
262
 
])
263
 
    fi
264
 
 
265
 
    dnl
266
 
    dnl Try SunOS 4.x /usr/5{lib,include} ncurses
267
 
    dnl The flags USE_SUNOS_CURSES, USE_BSD_CURSES and BUGGY_CURSES
268
 
    dnl should be replaced by a more fine grained selection routine
269
 
    dnl
270
 
    if $search_ncurses
271
 
    then
272
 
        if test -f /usr/5include/curses.h
273
 
        then
274
 
            AC_USE_SUNOS_CURSES
275
 
        fi
276
 
    else
277
 
        # check for ncurses version, to properly ifdef mouse-fix
278
 
        AC_MSG_CHECKING(for ncurses version)
279
 
        ncurses_version=unknown
280
 
cat > conftest.$ac_ext <<EOF
281
 
[#]line __oline__ "configure"
282
 
#include "confdefs.h"
283
 
#ifdef RENAMED_NCURSES
284
 
#include <curses.h>
285
 
#else
286
 
#include <ncurses.h>
287
 
#endif
288
 
#undef VERSION
289
 
VERSION:NCURSES_VERSION
290
 
EOF
291
 
        if (eval "$ac_cpp conftest.$ac_ext") 2>&AC_FD_CC |
292
 
  egrep "VERSION:" >conftest.out 2>&1; then
293
 
changequote(,)dnl
294
 
            ncurses_version=`cat conftest.out|sed -e 's/^[^"]*"//' -e 's/".*//'`
295
 
changequote([,])dnl
296
 
        fi
297
 
        rm -rf conftest*
298
 
        AC_MSG_RESULT($ncurses_version)
299
 
        case "$ncurses_version" in
300
 
changequote(,)dnl
301
 
        4.[01])
302
 
changequote([,])dnl
303
 
            AC_DEFINE(NCURSES_970530,2)
304
 
            ;;
305
 
        1.9.9g)
306
 
            AC_DEFINE(NCURSES_970530,1)
307
 
            ;;
308
 
        1*)
309
 
            AC_DEFINE(NCURSES_970530,0)
310
 
            ;;
311
 
        esac
312
 
    fi
313
 
])
314
 
 
315
 
 
316
 
 
317
 
 
318