~ubuntu-branches/debian/sid/kdevelop/sid

« back to all changes in this revision

Viewing changes to parts/appwizard/common/gnome/macros/curses.m4

  • Committer: Bazaar Package Importer
  • Author(s): Jeremy Lainé
  • Date: 2006-05-23 18:39:42 UTC
  • Revision ID: james.westby@ubuntu.com-20060523183942-hucifbvh68k2bwz7
Tags: upstream-3.3.2
Import upstream version 3.3.2

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_WARN(Use of the bsdcurses extension has some)
 
205
dnl     AC_WARN(display/input problems.)
 
206
dnl     AC_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