1 AC_INIT([cde-desktop], [2.3.1], [jon@radscan.com])
2 AC_CONFIG_HEADERS([include/autotools_config.h])
3 AC_CONFIG_MACRO_DIRS([m4])
4 AM_INIT_AUTOMAKE([foreign subdir-objects])
6 AC_PREFIX_DEFAULT(/usr/dt)
12 dnl todo: determine what version of autoconf we depend on
18 dnl global CDE versioning
24 AC_SUBST(CDE_VERSION_MAJOR)
25 AC_SUBST(CDE_VERSION_MINOR)
26 AC_SUBST(CDE_VERSION_MICRO)
28 dnl SOURCE_DEFINES - start with CDE project default
29 SOURCE_CPP_DEFINES="-DANSICPP -DMULTIBYTE -DNLS16"
31 dnl CPP_COMPILER_FLAGS - CPP/C/C++ compiler flags
34 dnl CXX_COMPILER_FLAGS - C++ compiler flags
37 dnl C_COMPILER_FLAGS - C compiler flags
41 dnl These OS version checks are deprecated and should be replaced with
42 dnl feature checks where appropriate
53 dnl For now, we need to fake the OSMAJORVERSION, OSMINORVERSION. In Linux
54 dnl this never mattered anyway as it was always the kernel version. We will
55 dnl choose defaults here. These need to be removed in the code in favor
56 dnl of actual checks for functionality. So this should be considered
62 dnl locations of libs/includes if not in 'standard' places like on
72 SOURCE_CPP_DEFINES="${SOURCE_CPP_DEFINES} -D_POSIX_SOURCE \
73 -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE"
74 CPP_COMPILER_FLAGS="-fno-strict-aliasing -Wno-write-strings \
108 AM_CONDITIONAL([LINUX], [test "$build_linux" = "yes"])
109 AM_CONDITIONAL([BSD], [test "$bsd" = "yes"])
110 AM_CONDITIONAL([FREEBSD], [test "$build_freebsd" = "yes"])
111 AM_CONDITIONAL([OPENBSD], [test "$build_openbsd" = "yes"])
112 AM_CONDITIONAL([NETBSD], [test "$build_netbsd" = "yes"])
113 AM_CONDITIONAL([SOLARIS], [test "$build_solaris" = "yes"])
114 AM_CONDITIONAL([AIX], [test "$build_aix" = "yes"])
115 AM_CONDITIONAL([HPUX], [test "$build_hpux" = "yes"])
117 dnl Add osmajor/minor version to cppflags.
118 OSVERSION="-DOSMAJORVERSION=$OSMAJORVERSION -DOSMINORVERSION=$OSMINORVERSION"
120 dnl set CSRG_BASED define for the BSD's
121 if test "$bsd" = "yes"
123 SOURCE_CPP_DEFINES="${SOURCE_CPP_DEFINES} -DCSRG_BASED"
124 MOTIF_LIB="-L/usr/local/lib -R/usr/local/lib"
125 MOTIF_INC="-I/usr/local/include -I/usr/X11R6/include/freetype2"
135 case "${host_cpu}" in
156 AM_CONDITIONAL([I386], [test "$is_i386" = yes])
157 AM_CONDITIONAL([X86_64], [test "$is_x86_64" = yes])
158 AM_CONDITIONAL([ARM], [test "$is_arm" = yes])
159 AM_CONDITIONAL([SPARC], [test "$is_sparc" = yes])
160 AM_CONDITIONAL([MIPS], [test "is_mips" = yes])
161 AM_CONDITIONAL([PPC], [test "is_ppc" = yes])
163 dnl our main libraries
164 dnl we use single quotes so that $top_buildir is evaluated in the makefiles,
166 AC_SUBST(LIBTT, '$(top_builddir)/lib/tt/lib/libtt.la')
167 AC_SUBST(LIBXIN, '$(top_builddir)/lib/DtXinerama/libDtXinerama.la')
168 AC_SUBST(LIBWIDGET, '$(top_builddir)/lib/DtWidget/libDtWidget.la')
169 AC_SUBST(LIBTERM, '$(top_builddir)/lib/DtTerm/libDtTerm.la')
170 AC_SUBST(LIBSVC, '$(top_builddir)/lib/DtSvc/libDtSvc.la')
171 AC_SUBST(LIBSEARCH, '$(top_builddir)/lib/DtSearch/lbiDtSearch.la')
172 AC_SUBST(LIBPRINT, '$(top_builddir)/lib/DtPrint/libDtPrint.la')
173 AC_SUBST(LIBMRM, '$(top_builddir)/lib/DtMrm/libDtMrm.la')
174 AC_SUBST(LIBMMDB, '$(top_builddir)/lib/DtMmdb/libDtMmdb.la')
175 AC_SUBST(LIBHELP, '$(top_builddir)/lib/DtHelp/libDtHelp.la')
176 AC_SUBST(LIBCSA, '$(top_builddir)/lib/csa/libcsa.la')
178 AC_SUBST(DTCLIENTLIBS, '$(LIBPRINT) $(LIBHELP) $(LIBWIDGET) $(LIBSVC) \
181 dnl set up come convenience replacements for global include dirs
182 AC_SUBST(DT_INCDIR, '-I$(top_builddir)/include/Dt')
183 AC_SUBST(DTI_INCDIR, '-I$(top_builddir)/include/DtI')
184 AC_SUBST(TT_INCDIR, '-I$(top_builddir)/include/Tt')
185 AC_SUBST(XM_INCDIR, '-I$(top_builddir)/include/Xm')
186 AC_SUBST(CSA_INCDIR, '-I$(top_builddir)/include/csa')
187 AC_SUBST(SPC_INCDIR, '-I$(top_builddir)/include/SPC')
189 AC_ARG_ENABLE(japanese, [--build-japanese Build Japanese (default=no)])
190 AM_CONDITIONAL([JAPANESE], [test "build_japanese" = "yes"])
192 AC_ARG_ENABLE(german, [--build-german Build German (default=no)])
193 AM_CONDITIONAL([GERMAN], [test "build_german" = "yes"])
195 AC_ARG_ENABLE(italian, [--build-italian Build Italian (default=no)])
196 AM_CONDITIONAL([ITALIAN], [test "build_italian" = "yes"])
198 AC_ARG_ENABLE(french, [--build-french Build French (default=no)])
199 AM_CONDITIONAL([FRENCH], [test "build_french" = "yes"])
201 AC_ARG_ENABLE(spanish, --build-spanish Build Spanish (default=no)])
202 AM_CONDITIONAL([SPANISH], [test "build_spanish" = "yes"])
210 dnl these should be configurable someday...
211 CDE_INSTALLATION_TOP="$ac_default_prefix"
212 CDE_LOGFILES_TOP=/var/dt
213 CDE_CONFIGURATION_TOP=/etc/dt
216 AC_SUBST(CDE_INSTALLATION_TOP)
217 AC_SUBST(CDE_CONFIGURATION_TOP)
218 AC_SUBST(CDE_LOGFILES_TOP)
219 AC_SUBST(CDE_USER_TOP)
226 dnl we need a real preprocessor, not gcc -E. We will call it GENCPP.
227 dnl We will go with BSD's tradcpp here... This is used for
228 dnl pre-processing during building of CDE - in the way imake used to
229 dnl do. This is not a replacement for cpp, used at runtime by
230 dnl software such as tt_type_comp.
231 AC_SUBST(GENCPP, '$(top_builddir)/util/tradcpp/tradcpp')
251 AC_C_FLEXIBLE_ARRAY_MEMBER
263 dnl programs with full paths
265 AC_PATH_PROG(KSH, ksh)
266 AC_PATH_PROG(XRDB, xrdb)
267 dnl we need to use cpp for some things, like tooltalk and other
268 dnl runtime uses. So look for the system's cpp. NOTE: this is NOT
269 dnl the CPP (gcc -E) set by AC_PROG_CPP. At this point I don't know
270 dnl if we should even bother looking for that as we can't really use
272 AC_PATH_PROG(CPP_PROGRAM, cpp, ,
273 [/lib:/usr/bin:/usr/ccs/lib/:/usr/lib:/usr/libexec:/opt/langtools/lbin:$PATH])
276 AC_CHECK_PROGS(BDFTOPCF, bdftopcf)
277 AC_CHECK_PROGS(MKFONTDIR, mkfontdir)
278 AC_CHECK_PROGS(GZIP, gzip)
279 AC_CHECK_PROGS(M4, m4)
280 AC_CHECK_PROGS(RPCGEN, rpcgen)
281 AC_CHECK_PROGS(GENCAT, gencat)
285 AC_CHECK_HEADERS([locale.h])
288 AC_CHECK_LIB(m, cosf)
289 AC_CHECK_LIB(crypt, crypt)
290 dnl this should be configurable, for now it is required
291 AC_CHECK_LIB(Xinerama, XineramaQueryScreens,
292 [SOURCE_CPP_DEFINES="${SOURCE_CPP_DEFINES} -DUSE_XINERAMA"],
293 [AC_MSG_ERROR([libXinerama not found])], $X_LIBS)
295 dnl Special check for tirpc...
296 AC_CHECK_LIB(tirpc, svc_register,
297 [CFLAGS="${CFLAGS} -DOPT_TIRPC -I/usr/include/tirpc";
298 CXXFLAGS="${CXXFLAGS} -DOPT_TIRPC -I/usr/include/tirpc";
302 dnl Setup XTOOLLIB - we do it in this specific order to avoid ordering
305 AC_CHECK_LIB(X11, XOpenDisplay, [XTOOLLIB="-lX11"], , $X_LIBS)
306 AC_CHECK_LIB(Xau, XauReadAuth, [XTOOLLIB="-lXau ${XTOOLLIB}"], , $X_LIBS)
307 AC_CHECK_LIB(Xt, XtInitialize, [XTOOLLIB="-lXt ${XTOOLLIB}"], , $X_LIBS)
308 AC_CHECK_LIB(ICE, IceCloseConnection, [XTOOLLIB="-lICE ${XTOOLLIB}"], , $X_LIBS)
309 AC_CHECK_LIB(SM, SmcOpenConnection, [XTOOLLIB="-lSM ${XTOOLLIB}"], , $X_LIBS)
310 AC_CHECK_LIB(Xm, XmTextSetString, [XTOOLLIB="-lXm ${XTOOLLIB}"], , [$MOTIF_LIB $X_LIBS])
311 XTOOLLIB="$X_LIBS $MOTIF_LIB ${XTOOLLIB}"
314 dnl set CPPFLAGS, CFLAGS, and CXXFLAGS.
315 dnl The Autoconf manual says that these are user variables and
316 dnl shouldn't be modified. It suggests that you create a special
317 dnl variable and presumably add those to your Makefile.am files. We
318 dnl have 192 of these currently, so... The user will just have to
319 dnl deal, or modify them here directly.
320 CPPFLAGS="${CPPFLAGS} ${SOURCE_CPP_DEFINES} ${CPP_COMPILER_FLAGS} ${OSVERSION}"
321 CFLAGS="${CFLAGS} ${C_COMPILER_FLAGS} ${X_CFLAGS} ${MOTIF_INC} ${PTHREAD_CFLAGS}"
322 CXXFLAGS="${CXXFLAGS} ${CXX_COMPILER_FLAGS} ${X_CFLAGS} ${MOTIF_INC} ${PTHREAD_CFLAGS}"
323 LIBS="${LIBS} ${PTHREAD_LIBS}"
325 dnl All of the makefiles we need to generate go here...
330 util/tradcpp/Makefile
334 lib/DtXinerama/Makefile
337 lib/tt/mini_isam/Makefile
340 lib/tt/lib/api/Makefile
341 lib/tt/lib/api/dnd/Makefile
342 lib/tt/lib/api/c/Makefile
343 lib/tt/lib/tttk/Makefile
344 lib/tt/lib/db/Makefile
345 lib/tt/lib/mp/Makefile
346 lib/tt/lib/util/Makefile
348 lib/tt/bin/shell/Makefile
349 lib/tt/bin/ttauth/Makefile
350 lib/tt/bin/scripts/Makefile
351 lib/tt/bin/tttar/Makefile
352 lib/tt/bin/tt_type_comp/Makefile
353 lib/tt/bin/tttrace/Makefile
354 lib/tt/bin/dbck/Makefile
355 lib/tt/bin/ttdbserverd/Makefile
356 lib/tt/bin/ttsession/Makefile
360 lib/DtSearch/Makefile
361 lib/DtSearch/raima/Makefile
363 lib/DtWidget/Makefile
366 lib/DtHelp/il/Makefile
370 lib/DtTerm/Term/Makefile
372 lib/DtTerm/TermView/Makefile
373 lib/DtTerm/util/Makefile
374 lib/DtTerm/TermPrim/Makefile
382 programs/backdrops/Makefile
384 programs/palettes/Makefile
386 programs/icons/Makefile
388 programs/dthelp/Makefile
389 programs/dthelp/dthelpgen/Makefile
390 programs/dthelp/dthelpprint/Makefile
391 programs/dthelp/parser/pass1/helptag/Makefile
392 programs/dthelp/parser/pass1/Makefile
393 programs/dthelp/parser/pass1/eltdef/Makefile
394 programs/dthelp/parser/pass1/build/Makefile
395 programs/dthelp/parser/Makefile
396 programs/dthelp/parser/canon1/Makefile
397 programs/dthelp/parser/pass2/Makefile
398 programs/dthelp/dthelpview/Makefile
400 programs/dsdm/Makefile
402 programs/dtmail/Makefile
403 programs/dtmail/dtmail/Makefile
404 programs/dtmail/MotifApp/Makefile
405 programs/dtmail/dtmailpr/Makefile
406 programs/dtmail/libDtMail/Makefile
407 programs/dtmail/libDtMail/RFC/Makefile
408 programs/dtmail/libDtMail/Common/Makefile
410 programs/dtpad/Makefile
412 programs/dtfile/Makefile
413 programs/dtfile/dtcopy/Makefile
415 programs/dtwm/Makefile
417 programs/dtlogin/Makefile
418 programs/dtlogin/config/Makefile
420 programs/dtsession/Makefile
422 programs/dthello/Makefile
424 programs/dtstyle/Makefile
426 programs/dtexec/Makefile
428 programs/dtdbcache/Makefile
430 programs/dticon/Makefile
432 programs/dtterm/Makefile
434 programs/dtcalc/Makefile
436 programs/dtaction/Makefile
438 programs/dtspcd/Makefile
440 programs/dtscreen/Makefile
442 programs/dtcm/Makefile
443 programs/dtcm/libDtCmP/Makefile
444 programs/dtcm/server/Makefile
445 programs/dtcm/dtcm/Makefile
447 programs/dtsearchpath/Makefile
448 programs/dtsearchpath/libCliSrv/Makefile
449 programs/dtsearchpath/dtsp/Makefile
450 programs/dtsearchpath/dtappg/Makefile
452 programs/dtappintegrate/Makefile
454 programs/dtprintegrate/Makefile
456 programs/dtconfig/Makefile
457 programs/dtconfig/sun/Makefile
459 programs/dtcreate/Makefile
461 programs/dtprintinfo/Makefile
463 programs/fontaliases/Makefile
464 programs/fontaliases/bdf/Makefile
465 programs/fontaliases/linux/Makefile
466 programs/fontaliases/linux/C/Makefile
467 programs/fontaliases/linux/en_US.UTF-8/Makefile
468 programs/fontaliases/sun/Makefile
469 programs/fontaliases/sun/C/Makefile
470 programs/fontaliases/netbsd/Makefile
471 programs/fontaliases/netbsd/C/Makefile
472 programs/fontaliases/openbsd/Makefile
473 programs/fontaliases/openbsd/C/Makefile
474 programs/fontaliases/freebsd/Makefile
475 programs/fontaliases/freebsd/C/Makefile
477 programs/dtdspmsg/Makefile
479 programs/dtimsstart/Makefile
481 programs/dtpdm/Makefile
483 programs/dtsr/Makefile
485 programs/dtpdmd/Makefile
487 programs/types/Makefile
489 programs/tttypes/Makefile
491 programs/util/Makefile
492 programs/util/dttypes/Makefile
494 programs/dtopen/Makefile
496 programs/localized/Makefile
497 programs/localized/util/Makefile
498 programs/localized/C/Makefile
499 programs/localized/C/app-defaults/Makefile
500 programs/localized/C/config/Makefile
501 programs/localized/C/backdrops/Makefile
502 programs/localized/C/types/Makefile
503 programs/localized/C/palettes/Makefile
504 programs/localized/C/msg/Makefile
505 programs/localized/de_DE.UTF-8/Makefile
506 programs/localized/de_DE.UTF-8/app-defaults/Makefile
507 programs/localized/de_DE.UTF-8/config/Makefile
508 programs/localized/de_DE.UTF-8/backdrops/Makefile
509 programs/localized/de_DE.UTF-8/types/Makefile
510 programs/localized/de_DE.UTF-8/palettes/Makefile
511 programs/localized/de_DE.UTF-8/msg/Makefile
512 programs/localized/fr_FR.UTF-8/Makefile
513 programs/localized/fr_FR.UTF-8/app-defaults/Makefile
514 programs/localized/fr_FR.UTF-8/config/Makefile
515 programs/localized/fr_FR.UTF-8/backdrops/Makefile
516 programs/localized/fr_FR.UTF-8/types/Makefile
517 programs/localized/fr_FR.UTF-8/palettes/Makefile
518 programs/localized/fr_FR.UTF-8/msg/Makefile
519 programs/localized/it_IT.UTF-8/Makefile
520 programs/localized/it_IT.UTF-8/app-defaults/Makefile
521 programs/localized/it_IT.UTF-8/config/Makefile
522 programs/localized/it_IT.UTF-8/backdrops/Makefile
523 programs/localized/it_IT.UTF-8/types/Makefile
524 programs/localized/it_IT.UTF-8/palettes/Makefile
525 programs/localized/it_IT.UTF-8/msg/Makefile
526 programs/localized/es_ES.UTF-8/Makefile
527 programs/localized/es_ES.UTF-8/app-defaults/Makefile
528 programs/localized/es_ES.UTF-8/config/Makefile
529 programs/localized/es_ES.UTF-8/backdrops/Makefile
530 programs/localized/es_ES.UTF-8/types/Makefile
531 programs/localized/es_ES.UTF-8/palettes/Makefile
532 programs/localized/es_ES.UTF-8/msg/Makefile