Wand updates from Evgeny
[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 "  libc version:                      $libc_version"
45 echo "  Relocating allocator for buffers:  $with_rel_alloc"
46 echo "  GNU version of malloc:             ${GNU_MALLOC}${GNU_MALLOC_reason}"
47 case "$ld_switch_site" in
48   *nocombreloc*) echo "  Linking with \`-z nocombreloc'.
49     - Consider configuring with --with-pdump." ;;
50 esac
51
52 echo "
53 Build Options:"
54
55 if test -n "$with_site_includes"; then
56   echo "  Additional header files:           $with_site_includes"
57 fi
58 if test -n "$with_site_libraries"; then
59   echo "  Additional libraries:              $with_site_libraries"
60 fi
61 if test -n "$with_site_prefixes"; then
62   echo "  Additional prefixes:               $with_site_prefixes"
63 fi
64 if test -n "$runpath"; then
65   echo "  Runtime library search path:       $runpath"
66 fi
67
68 echo "  Runtime behaviour:"
69 if test "$with_prefix" = "yes"; then
70   echo "    - Value of \$prefix is compiled into the binary."
71 elif test "$with_prefix" = "no"; then
72   echo "    - Value of \$prefix is not compiled into the binary."
73 fi
74 if test "$with_modules" != "no"; then
75   echo "
76     - Module search path:"
77   echo -e "       ${MODULE_PATH//:/\\n       }"
78 fi
79 echo "
80     - Package search path:"
81 echo -e "       ${PACKAGE_PATH//:/\\n       }"
82
83
84 echo "
85 Debugging options:"
86
87 OG_MULTIARG_SUMMARY([error-checking], [Runtime Error Checking], [  ])
88
89 if test "$tmp_enabled" != "None."; then
90   echo "    WARNING: ---------------------------------------------------------"
91   echo "    WARNING: SXEmacs will run noticeably more slowly as a result."
92   echo "    WARNING: Error checking is on by default for SXEmacs beta releases."
93   echo "    WARNING: ---------------------------------------------------------"
94 elif test "${sxemacs_betaname}" != ""; then
95   echo "    WARNING: ---------------------------------------------------------"
96   echo "    WARNING: This SXEmacs is a beta release."
97   echo "    WARNING: By disabling all error checking there will be limited "
98   echo "    WARNING: troubleshooting information available."
99   echo "    WARNING: ---------------------------------------------------------"
100 fi
101 unset tmp_enabled 
102
103
104 echo "
105 Internals:"
106
107 if test "$with_dynamic" = "yes"; then
108   echo "  How to link external libraries:  dynamic"
109 elif test "$with_dynamic" = "no"; then
110   echo "  How to link external libraries:  static"
111 else
112   echo "  How to link external libraries:  uncertain"
113 fi
114
115 echo "  Foreign Function Interface:"
116 if test "$have_ffi" = yes; then
117   echo "    Compiling in support for FFI."
118 elif test "$have_ffi" = no; then
119   echo "    No support for FFI."
120 else
121   echo "    Good question ... where is it?"
122 fi
123
124 dnl summary for ENT and ASE
125 OG_MULTIARG_SUMMARY([ent], [Enhanced Number Types], [  ])
126 dnl OG_MULTIARG_SUMMARY([ase], [Algebraic Structures based on ENT], [  ])
127 dnl summary for EF
128 OG_MULTIARG_SUMMARY([experimental-features], [Experimental Features], [  ])
129
130 echo "
131 Window System:"
132 if test "$with_x11" = "yes"; then
133   echo "  Compiling in support for the X window system:"
134   echo "    - X Windows headers location:                 $x_includes"
135   echo "    - X Windows libraries location:               $x_libraries"
136   if test "$with_xauth" != yes; then
137     echo "    - Xau (X authority) not available."
138   fi
139   if test "$with_xmu" != yes; then
140     echo "    - Xmu library not available; substituting equivalent routines."
141   fi
142   if test "$with_wmcommand" != no; then
143     echo "    - Handling WM_COMMAND properly."
144   fi
145 fi
146 if test "$need_athena" = "yes"; then
147   echo "  Compiling in support for the Athena widget set:"
148   echo "    - Athena headers location:                    $athena_h_path"
149   echo "    - Athena library to link:                     $athena_lib"
150 fi
151 case "$with_menubars" in
152   gtk   ) echo "  Using GTK menubars."   ;;
153   lucid ) echo "  Using Lucid menubars." ;;
154   motif ) echo "  Using Motif menubars."
155           echo "  *WARNING*  The Motif menubar implementation is currently buggy."
156           echo "             We recommend using the Lucid menubar instead."
157           echo "             Re-run configure with --with-menubars='lucid'." ;;
158   * )      echo "  No support for menubars."   ;;
159 esac
160 case "$with_scrollbars" in
161   gtk    ) echo "  Using GTK scrollbars."        ;;
162   lucid  ) echo "  Using Lucid scrollbars."      ;;
163   motif  ) echo "  Using Motif scrollbars."      ;;
164   athena ) echo "  Using Athena scrollbars."     ;;
165   * )      echo "  No support for scrollbars."   ;;
166 esac
167 case "$with_dialogs" in
168   gtk    ) echo "  Using GTK dialog boxes." ;;
169   motif  ) echo "  Using Motif dialog boxes."
170            if test "$unexec" = "unexaix.o"; then if test "`uname -v`" = 4 -a "`uname -r`" -ge 3; then
171              echo "  *WARNING*  The Motif dialog boxes cause problems on AIX 4.3 and higher."
172              echo "             We recommend using the Athena dialog boxes instead."
173              echo "             Install libXaw and re-run configure with --with-dialogs='athena'."
174              echo "             Read the PROBLEMS file for more information."
175            fi; fi ;;
176   athena ) echo "  Using Athena dialog boxes."     ;;
177   * )      echo "  No support for dialog boxes." ;;
178 esac
179 case "$with_widgets" in
180   gtk    ) echo "  Using GTK native widgets."        ;;
181   motif  ) echo "  Using Motif native widgets."      ;;
182   athena ) echo "  Using Athena native widgets."     ;;
183   * )      echo "  No support for native widgets."   ;;
184 esac
185 case "$with_toolbars" in
186   yes | gtk ) echo "  Support for toolbars."         ;;
187   no )        echo "  No support for toolbars."      ;;
188   * ) ;;
189 esac
190
191 echo "
192 TTY:"
193 test "$with_ncurses" = yes && echo "  Compiling in support for ncurses."
194 test "$with_gpm" = yes && echo "  Compiling in support for GPM (General Purpose Mouse)."
195
196 echo "
197 Databases:"
198 OG_MULTIARG_SUMMARY([database], [File-based Databases], [  ])
199
200 echo "  Compiling in support for further database interfaces:"
201 if test "$have_ldap" = "yes"; then
202   echo $ECHO_N "    - LDAP"$ECHO_C
203   if test "$have_ldap_lber" = "yes" -o "$have_ldap_krb" -o "$have_ldap_des"; then
204         echo $ECHO_N " (with"$ECHO_C
205         test "$have_ldap_lber" = "yes" && echo $ECHO_N " lber"$ECHO_C
206         test "$have_ldap_krb" = "yes" && echo $ECHO_N " krb"$ECHO_C
207         test "$have_ldap_des" = "yes" && echo $ECHO_N " des"$ECHO_C
208         echo $ECHO_N ")"$ECHO_C
209   fi
210   echo "."
211 fi
212 if test "$have_postgresql" = "yes"; then
213   echo $ECHO_N "    - PostgreSQL"$ECHO_C
214   test "$have_postgresqlv7" = yes && \
215         echo $ECHO_N " (V7 bindings)"$ECHO_C
216   echo "."
217 fi
218
219 echo "
220 Media:"
221 dnl
222 OG_MULTIARG_SUMMARY([image], [Image Formats], [  ])
223 OG_MULTIARG_SUMMARY([sound], [Audio Outputs], [  ])
224 test "$with_pulseaudio" = yes && echo "    PulseAudio has been enabled.  Good luck!"
225 OG_MULTIARG_SUMMARY([media], [Media Stream Handlers], [  ])
226
227 dnl old stuff ... originally these were elifs
228 dnl if test "$with_x11" = yes; then
229 dnl   echo "    WARNING: -----------------------------------------------------------"
230 dnl   echo "    WARNING: Compiling without XPM image support."
231 dnl   if test "$xpm_problem" != ""; then
232 dnl     echo "    Reason: $xpm_problem"
233 dnl   fi
234 dnl   echo "    WARNING: You should strongly consider installing XPM."
235 dnl   echo "    WARNING: Otherwise toolbars and other graphics will look suboptimal."
236 dnl   echo "    WARNING: -----------------------------------------------------------"
237 dnl fi
238 dnl if test "$window_system" != "none"; then
239 dnl   echo "    WARNING: -----------------------------------------------------------"
240 dnl   echo "    WARNING: Compiling without PNG image support."
241 dnl   if test "$png_problem" != ""; then
242 dnl     echo "    Reason: $png_problem"
243 dnl   fi
244 dnl   echo "    WARNING: You should strongly consider installing the PNG libraries."
245 dnl   echo "    WARNING: Otherwise certain images and glyphs may not display."
246 dnl   echo "    WARNING: -----------------------------------------------------------"
247 dnl fi
248
249 echo "
250 Cryptography:"
251 if test "$have_openssl $with_openssl" = "yes yes"; then
252   echo "  Compiling in support for OpenSSL ciphers and digests."
253   echo "    - Submodules: RAND MD HMAC CIPHER HYBRID SIGN" \
254   `test "$openssl_no_rsa" = no && echo "RSA"` \
255   `test "$openssl_no_dsa" = no && echo "DSA"` \
256   `test "$openssl_no_ec" = no && echo "EC"` \
257   `test "$openssl_no_dh" = no && echo "DH"` \
258   "PEM" \
259   `test "$openssl_ssl" = yes && echo "SSL"`
260 fi
261
262 echo "
263 Internationalization:"
264 test "$with_mule" = yes && echo "  Compiling in support for Mule (multi-lingual Emacs)."
265 test "$with_file_coding" = yes && echo "  Compiling in support for file coding."
266 test "$with_xim" != no && echo "  Compiling in support for XIM (X11R5+ I18N input method)."
267 test "$with_xim" = motif && echo "    - Using Motif to provide XIM support."
268 test "$with_xim" = xlib && echo "    - Using raw Xlib to provide XIM support."
269 test "$with_xfs" = yes && echo "    - Using XFontSet to provide bilingual menubar."
270 test "$with_canna" = yes && echo "  Compiling in support for Canna on Mule."
271 if test "$with_wnn" = yes; then
272   echo "  Compiling in support for the WNN input method on Mule."
273   test "$with_wnn6" = yes && echo "    - Using WNN version 6."
274 fi
275
276 echo "
277 Mail:"
278 test "$with_pop" = yes && echo "  Compiling in support for POP mail retrieval."
279 test "$with_kerberos" = yes && echo "  Compiling in support for Kerberos POP authentication."
280 test "$with_hesiod" = yes && echo "  Compiling in support for Hesiod POP server access."
281 test -n "$with_mail_locking" && echo "  Compiling in support for \"$with_mail_locking\" mail spool file locking method."
282
283 echo "
284 Modules:"
285 OG_MULTIARG_SUMMARY([modules], [Dynamic Shared Object Modules], [  ])
286 OG_MULTIARG_SUMMARY([static-modules], [Static Modules], [  ])
287
288 echo "
289 Other Features:"
290 test "$with_ipv6_cname" = no && echo "  Inhibiting IPv6 canonicalization at startup."
291 test "$with_socks" = yes && echo "  Compiling in support for SOCKS."
292 test "$with_dnet" = yes && echo "  Compiling in support for DNET."
293 if test "$with_regex_malloc" = no; then
294   echo "  WARNING: -----------------------------------------------------------"
295   echo "  Using alloca to allocate the failure stack."
296   echo "  It may be impossible to detect stack exhaustion, and you will crash."
297   echo "  Do NOT use this build of SXEmacs for ordinary work."
298   echo "  WARNING: -----------------------------------------------------------"
299 fi
300 test "$with_pdump" = yes && echo "  Using the new portable dumper."
301 test "$with_debug" = yes && echo "  Compiling in support for extra debugging code."
302 test "$usage_tracking" = yes && echo "  Compiling in support for active usage tracking (Sun internal)."
303 echo ""
304
305 ## explanation for flags
306 echo "Footnotes:"
307 echo "  + means not requested but enabled"
308 echo "  * means requested but disabled"
309 echo ""
310
311 ## bogus configure opts
312 if test -n "$bogus_cmd_opts"; then
313         echo "The following option were unrecognised and will be ignored:
314 ----------------------------------------------------------"
315         echo "$bogus_cmd_opts"
316         echo ""
317         echo "I'm tempted to remove the entire directory now ..."
318         echo "... fortunately I think I'm in a good mood, so have a nice build anyway."
319 else
320         echo "No bogus options. Have a nice build :)"
321 fi
322 echo ""
323 ) | tee -a Installation
324 dnl echo "The above configure report is appended to \"Installation\" file."
325
326         popdef([CODENAME])
327 ])dnl SXE_SUMMARY
328
329 dnl sxe-summary.m4 ends here