Improve TTY section of summary
[sxemacs] / m4 / sxe-summary.m4
1 dnl sxe-summary.m4 -- print a nice summary describing the build
2 dnl
3 dnl Copyright (C) 2005 Malcolm Purvis.
4 dnl Copyright (C) 2005, 2006, 2007 Steve Youngs.
5 dnl Copyright (C) 2006, 2007, 2008 Sebastian Freundt.
6 dnl
7 dnl This file is part of SXEmacs
8
9 dnl Start stdout redirection to '| tee -a Installation'
10 AC_DEFUN([SXE_SUMMARY], [dnl
11         pushdef([CODENAME], m4_ifdef([SXEM4CS_CODENAME],
12                 [SXEM4CS_CODENAME], [unknown]))
13
14 (
15 echo "
16
17 SXEmacs $sxemacs_git_version \"[]CODENAME[]\" configured for \`$ac_cv_build'.
18 "
19 echo "
20 Compilation Environment and Installation Defaults:"
21 echo "  Source code location:              $sxe_srcdir"
22 echo "  Installation prefix:               $prefix"
23 echo "  Arch-dependent files go to:        $ARCHLIBDIR"
24 echo "  Core emodules go to:               $MODULEDIR"
25 echo "  Core lisp files go to:             $LISPDIR"
26 echo "  Additional external data goes to:  $ETCDIR"
27
28 if test -n "$opsysfile"
29 then echo "  Operating system description file: \`$opsysfile'"
30 else echo "  Not using any operating system description file"
31 fi
32 if test -n "$machfile"
33 then echo "  Machine description file:          \`$machfile'"
34 else echo "  Not using any machine description file"
35 fi
36
37 echo "  Compiler version:                  $compiler_version"
38 if test -n "$gcc_compiler_specs"; then
39   echo "    - GCC specs file:                $gcc_compiler_specs"
40 fi
41 echo "    - Compiler command:              $CC $CFLAGS"
42 echo "    - Global CPPFLAGS:               $CPPFLAGS"
43 echo "    - Global LDFLAGS:                $LDFLAGS"
44 echo "    - C flags"
45 echo "              System:                $c_switch_system"
46 echo "              General:               $c_switch_general"
47 echo "              Window system:         $c_switch_window_system"
48 echo "              All:                   $c_switch_all"
49 echo "    - Linker flags"
50 echo "              System:                $ld_switch_system"
51 echo "              General:               $ld_switch_general"
52 echo "              Window system:         $ld_switch_window_system"
53 echo "              All:                   $ld_switch_all"
54 echo "    - Linked libraries:"
55 echo "              System:                $ld_libs_system"
56 echo "              General:               $ld_libs_general"
57 echo "              Window system:         $ld_libs_window_system"
58 echo "              All:                   $ld_libs_all"
59 echo ""
60 echo "  libc version:                      $libc_version"
61 echo "  Relocating allocator for buffers:  $with_rel_alloc"
62 echo "  GNU version of malloc:             ${GNU_MALLOC}${GNU_MALLOC_reason}"
63 case "$ld_switch_site" in
64   *nocombreloc*) echo "  Linking with \`-z nocombreloc'.
65     - Consider configuring with --with-pdump." ;;
66 esac
67 echo "
68 Build Options:"
69
70 if test -n "$with_site_includes"; then
71   echo "  Additional header files:           $with_site_includes"
72 fi
73 if test -n "$with_site_libraries"; then
74   echo "  Additional libraries:              $with_site_libraries"
75 fi
76 if test -n "$with_site_prefixes"; then
77   echo "  Additional prefixes:               $with_site_prefixes"
78 fi
79 if test -n "$runpath"; then
80   echo "  Runtime library search path:       $runpath"
81 fi
82
83 echo "  Runtime behaviour:"
84 if test "$with_prefix" = "yes"; then
85   echo "    - Value of prefix ($prefix) is compiled into the binary."
86 elif test "$with_prefix" = "no"; then
87   echo "    - Value of prefix ($prefix)is not compiled into the binary."
88 fi
89 if test "$with_modules" != "no"; then
90   echo "
91     - Module search path:"
92   echo ${MODULE_PATH} | ${AWK-awk} 'BEGIN {RS=":"} { print "       ",[$]1[] }'
93 fi
94 echo "
95     - Package search path:"
96   echo ${PACKAGE_PATH} | ${AWK-awk} 'BEGIN {RS=":"} { print "       ",[$]1[] }'
97
98 echo "
99 Debugging options:"
100
101 OG_MULTIARG_SUMMARY([error-checking], [Runtime Error Checking], [  ])
102
103 if test "$tmp_enabled" != "None."; then
104   echo "    WARNING: ---------------------------------------------------------"
105   echo "    WARNING: SXEmacs will run noticeably more slowly as a result."
106   echo "    WARNING: Error checking is on by default for SXEmacs beta releases."
107   echo "    WARNING: ---------------------------------------------------------"
108 elif test "${sxemacs_betaname}" != ""; then
109   echo "    WARNING: ---------------------------------------------------------"
110   echo "    WARNING: This SXEmacs is a beta release."
111   echo "    WARNING: By disabling all error checking there will be limited "
112   echo "    WARNING: troubleshooting information available."
113   echo "    WARNING: ---------------------------------------------------------"
114 fi
115 unset tmp_enabled
116
117
118 echo "
119 Internals:"
120
121 if test "$with_dynamic" = "yes"; then
122   echo "  How to link external libraries:  dynamic"
123 elif test "$with_dynamic" = "no"; then
124   echo "  How to link external libraries:  static"
125 else
126   echo "  How to link external libraries:  uncertain"
127 fi
128
129 echo "  Foreign Function Interface:"
130 if test "$have_ffi" = yes; then
131   echo "    Compiling in support for FFI."
132 elif test "$have_ffi" = no; then
133   echo "    No support for FFI."
134 else
135   echo "    Good question ... where is it?"
136 fi
137
138 if test "$have_compre" = yes; then
139   echo "  Compiled regex caching: yes"
140 else
141   echo "  Compiled regex caching: no"
142 fi
143
144 dnl summary for ENT and ASE
145 OG_MULTIARG_SUMMARY([ent], [Enhanced Number Types], [  ])
146 dnl OG_MULTIARG_SUMMARY([ase], [Algebraic Structures based on ENT], [  ])
147 dnl summary for EF
148 OG_MULTIARG_SUMMARY([experimental-features], [Experimental Features], [  ])
149
150 echo "
151 Window System:"
152 if test "$with_x11" = "yes"; then
153   echo "  Compiling in support for the X window system:"
154   echo "    - X Windows headers location:                 $x_includes"
155   echo "    - X Windows libraries location:               $x_libraries"
156   if test "$with_xauth" != yes; then
157     echo "    - Xau (X authority) not available."
158   fi
159   if test "$with_xmu" != yes; then
160     echo "    - Xmu library not available; substituting equivalent routines."
161   fi
162   if test "$with_wmcommand" != no; then
163     echo "    - Handling WM_COMMAND properly."
164   fi
165 fi
166 if test "$need_athena" = "yes"; then
167   echo "  Compiling in support for the Athena widget set:"
168   echo "    - Athena headers location:                    $athena_h_path"
169   echo "    - Athena library to link:                     $athena_lib"
170 fi
171 case "$with_menubars" in
172   lucid ) echo "  Using Lucid menubars." ;;
173   motif ) echo "  Using Motif menubars."
174           echo "  *WARNING*  The Motif menubar implementation is currently buggy."
175           echo "             We recommend using the Lucid menubar instead."
176           echo "             Re-run configure with --with-menubars='lucid'." ;;
177   * )      echo "  No support for menubars."   ;;
178 esac
179 case "$with_scrollbars" in
180   lucid  ) echo "  Using Lucid scrollbars."      ;;
181   motif  ) echo "  Using Motif scrollbars."      ;;
182   athena ) echo "  Using Athena scrollbars."     ;;
183   * )      echo "  No support for scrollbars."   ;;
184 esac
185 case "$with_dialogs" in
186   motif  ) echo "  Using Motif dialog boxes."
187            if test "$unexec" = "unexaix.o"; then if test "`uname -v`" = 4 -a "`uname -r`" -ge 3; then
188              echo "  *WARNING*  The Motif dialog boxes cause problems on AIX 4.3 and higher."
189              echo "             We recommend using the Athena dialog boxes instead."
190              echo "             Install libXaw and re-run configure with --with-dialogs='athena'."
191              echo "             Read the PROBLEMS file for more information."
192            fi; fi ;;
193   athena ) echo "  Using Athena dialog boxes."     ;;
194   * )      echo "  No support for dialog boxes." ;;
195 esac
196 case "$with_widgets" in
197   motif  ) echo "  Using Motif native widgets."      ;;
198   athena ) echo "  Using Athena native widgets."     ;;
199   * )      echo "  No support for native widgets."   ;;
200 esac
201 case "$with_toolbars" in
202   yes )       echo "  Support for toolbars."         ;;
203   no )        echo "  No support for toolbars."      ;;
204   * ) ;;
205 esac
206
207 echo "
208 TTY:"
209 test "$with_ncurses" = yes     && echo "  Compiling in support for ncurses."
210 test "$with_curses" = yes      && echo "  Compiling in support for curses."
211 test "$with_tinfo" = yes       && echo "  Compiling in support for tinfo."
212 test "$with_terminfo" = yes    && echo "  Compiling in support for terminfo."
213 test "$with_termlib" = yes     && echo "  WARNING! Compiling in support for termlib."  \
214                                && echo "  Consider installing ncurses."
215 test "$with_termcap" = yes     && echo "  WARNING! Compiling in support for termcap."  \
216                                && echo "  Consider installing ncurses."                \
217                                && echo "  You may need to set TERMCAP or have the file /etc/termcap."
218 test "$with_builtin_tty" = yes && echo "  WARNING! Using (brittle) builtin TTY." \
219                                && echo "  Consider installing ncurses."          \
220                                && echo "  You WILL need to set TERMCAP or have the file /etc/termcap."
221 test "$with_gpm" = yes && echo "  Compiling in support for GPM (General Purpose Mouse)."
222
223 echo "
224 Databases:"
225 OG_MULTIARG_SUMMARY([database], [File-based Databases], [  ])
226
227 echo "  Compiling in support for further database interfaces:"
228 if test "$have_ldap" = "yes"; then
229   echo $ECHO_N "    - LDAP"$ECHO_C
230   if test "$have_ldap_lber" = "yes" -o "$have_ldap_krb" -o "$have_ldap_des"; then
231         echo $ECHO_N " (with"$ECHO_C
232         test "$have_ldap_lber" = "yes" && echo $ECHO_N " lber"$ECHO_C
233         test "$have_ldap_krb" = "yes" && echo $ECHO_N " krb"$ECHO_C
234         test "$have_ldap_des" = "yes" && echo $ECHO_N " des"$ECHO_C
235         echo $ECHO_N ")"$ECHO_C
236   fi
237   echo "."
238 fi
239 if test "$have_postgresql" = "yes"; then
240   echo $ECHO_N "    - PostgreSQL"$ECHO_C
241   test "$have_postgresqlv7" = yes && \
242         echo $ECHO_N " (V7 bindings)"$ECHO_C
243   echo "."
244 fi
245
246 echo "
247 Media:"
248 dnl
249 OG_MULTIARG_SUMMARY([image], [Image Formats], [  ])
250 OG_MULTIARG_SUMMARY([sound], [Audio Outputs], [  ])
251 OG_MULTIARG_SUMMARY([media], [Media Stream Handlers], [  ])
252
253 dnl old stuff ... originally these were elifs
254 dnl if test "$with_x11" = yes; then
255 dnl   echo "    WARNING: -----------------------------------------------------------"
256 dnl   echo "    WARNING: Compiling without XPM image support."
257 dnl   if test "$xpm_problem" != ""; then
258 dnl     echo "    Reason: $xpm_problem"
259 dnl   fi
260 dnl   echo "    WARNING: You should strongly consider installing XPM."
261 dnl   echo "    WARNING: Otherwise toolbars and other graphics will look suboptimal."
262 dnl   echo "    WARNING: -----------------------------------------------------------"
263 dnl fi
264 dnl if test "$window_system" != "none"; then
265 dnl   echo "    WARNING: -----------------------------------------------------------"
266 dnl   echo "    WARNING: Compiling without PNG image support."
267 dnl   if test "$png_problem" != ""; then
268 dnl     echo "    Reason: $png_problem"
269 dnl   fi
270 dnl   echo "    WARNING: You should strongly consider installing the PNG libraries."
271 dnl   echo "    WARNING: Otherwise certain images and glyphs may not display."
272 dnl   echo "    WARNING: -----------------------------------------------------------"
273 dnl fi
274
275 echo "
276 Cryptography:"
277 if test "$have_openssl $with_openssl" = "yes yes"; then
278   echo "  Compiling in support for OpenSSL ciphers and digests."
279   echo "    - Submodules: RAND MD HMAC CIPHER HYBRID SIGN" \
280   `test "$openssl_no_rsa" = no && echo "RSA"` \
281   `test "$openssl_no_dsa" = no && echo "DSA"` \
282   `test "$openssl_no_ec" = no && echo "EC"` \
283   `test "$openssl_no_dh" = no && echo "DH"` \
284   "PEM" \
285   `test "$openssl_ssl" = yes && echo "SSL"`
286 fi
287
288 echo "
289 Internationalization:"
290 test "$with_mule" = yes && echo "  Compiling in support for Mule (multi-lingual Emacs)."
291 test "$with_file_coding" = yes && echo "  Compiling in support for file coding."
292 test "$with_xim" != no && echo "  Compiling in support for XIM (X11R5+ I18N input method)."
293 test "$with_xim" = motif && echo "    - Using Motif to provide XIM support."
294 test "$with_xim" = xlib && echo "    - Using raw Xlib to provide XIM support."
295 test "$with_xfs" = yes && echo "    - Using XFontSet to provide bilingual menubar."
296 test "$with_canna" = yes && echo "  Compiling in support for Canna on Mule."
297 if test "$with_wnn" = yes; then
298   echo "  Compiling in support for the WNN input method on Mule."
299   test "$with_wnn6" = yes && echo "    - Using WNN version 6."
300 fi
301
302 echo "
303 Mail:"
304 test "$with_pop" = yes && echo "  Compiling in support for POP mail retrieval."
305 test "$with_kerberos" = yes && echo "  Compiling in support for Kerberos POP authentication."
306 test "$with_hesiod" = yes && echo "  Compiling in support for Hesiod POP server access."
307 test -n "$with_mail_locking" && echo "  Compiling in support for \"$with_mail_locking\" mail spool file locking method."
308
309 echo "
310 Modules:"
311 OG_MULTIARG_SUMMARY([modules], [Dynamic Shared Object Modules], [  ])
312 OG_MULTIARG_SUMMARY([static-modules], [Static Modules], [  ])
313
314 echo "
315 Other Features:"
316 test "$with_ipv6_cname" = no && echo "  Inhibiting IPv6 canonicalization at startup."
317 test "$with_socks" = yes && echo "  Compiling in support for SOCKS."
318 test "$with_dnet" = yes && echo "  Compiling in support for DNET."
319 if test "$with_regex_malloc" = no; then
320   echo "  WARNING: -----------------------------------------------------------"
321   echo "  Using alloca to allocate the failure stack."
322   echo "  It may be impossible to detect stack exhaustion, and you will crash."
323   echo "  Do NOT use this build of SXEmacs for ordinary work."
324   echo "  WARNING: -----------------------------------------------------------"
325 fi
326 test "$with_pdump" = yes && echo "  Using the new portable dumper."
327 test "$with_debug" = yes && echo "  Compiling in support for extra debugging code."
328 test "$usage_tracking" = yes && echo "  Compiling in support for active usage tracking (Sun internal)."
329 echo ""
330
331 ## explanation for flags
332 echo "Footnotes:"
333 echo "  + means not requested but enabled"
334 echo "  * means requested but disabled"
335 echo ""
336
337 ## bogus configure opts
338 if test -n "$bogus_cmd_opts"; then
339         echo "The following option were unrecognised and will be ignored:
340 ----------------------------------------------------------"
341         echo "$bogus_cmd_opts"
342         echo ""
343         echo "I'm tempted to remove the entire directory now ..."
344         echo "... fortunately I think I'm in a good mood, so have a nice build anyway."
345 else
346         echo "No bogus options. Have a nice build :)"
347 fi
348 echo ""
349 ) | tee -a Installation
350 dnl echo "The above configure report is appended to \"Installation\" file."
351
352         popdef([CODENAME])
353 ])dnl SXE_SUMMARY
354
355 dnl sxe-summary.m4 ends here