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 dnl These must be up here for the compiler search list to actually work
7 AC_PROG_CC([cc gcc clang])
8 AC_PROG_CXX([c++ g++ clang++])
11 AC_PREFIX_DEFAULT(/usr/dt)
13 AC_ENABLE_STATIC([no])
17 dnl todo: determine what version of autoconf we depend on
23 dnl global CDE versioning
29 AC_SUBST(CDE_VERSION_MAJOR)
30 AC_SUBST(CDE_VERSION_MINOR)
31 AC_SUBST(CDE_VERSION_MICRO)
33 dnl SOURCE_DEFINES - start with CDE project default
34 SOURCE_CPP_DEFINES="-DANSICPP -DMULTIBYTE -DNLS16"
36 dnl CPP_COMPILER_FLAGS - CPP/C/C++ compiler flags
39 dnl CXX_COMPILER_FLAGS - C++ compiler flags
42 dnl C_COMPILER_FLAGS - C compiler flags
46 dnl These OS version checks are deprecated and should be replaced with
47 dnl feature checks where appropriate
58 dnl For now, we need to fake the OSMAJORVERSION, OSMINORVERSION. In Linux
59 dnl this never mattered anyway as it was always the kernel version. We will
60 dnl choose defaults here. These need to be removed in the code in favor
61 dnl of actual checks for functionality. So this should be considered
67 dnl locations of libs/includes if not in 'standard' places like on
77 SOURCE_CPP_DEFINES="${SOURCE_CPP_DEFINES} -D_POSIX_SOURCE \
78 -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE"
79 CPP_COMPILER_FLAGS="-fno-strict-aliasing -Wno-write-strings \
113 AM_CONDITIONAL([LINUX], [test "$build_linux" = "yes"])
114 AM_CONDITIONAL([BSD], [test "$bsd" = "yes"])
115 AM_CONDITIONAL([FREEBSD], [test "$build_freebsd" = "yes"])
116 AM_CONDITIONAL([OPENBSD], [test "$build_openbsd" = "yes"])
117 AM_CONDITIONAL([NETBSD], [test "$build_netbsd" = "yes"])
118 AM_CONDITIONAL([SOLARIS], [test "$build_solaris" = "yes"])
119 AM_CONDITIONAL([AIX], [test "$build_aix" = "yes"])
120 AM_CONDITIONAL([HPUX], [test "$build_hpux" = "yes"])
122 dnl Add osmajor/minor version to cppflags.
123 OSVERSION="-DOSMAJORVERSION=$OSMAJORVERSION -DOSMINORVERSION=$OSMINORVERSION"
125 dnl set CSRG_BASED define for the BSD's
126 if test "$bsd" = "yes"
128 SOURCE_CPP_DEFINES="${SOURCE_CPP_DEFINES} -DCSRG_BASED"
129 MOTIF_LIB="-L/usr/local/lib -R/usr/local/lib"
130 MOTIF_INC="-I/usr/local/include -I/usr/X11R6/include/freetype2"
140 case "${host_cpu}" in
161 AM_CONDITIONAL([I386], [test "$is_i386" = yes])
162 AM_CONDITIONAL([X86_64], [test "$is_x86_64" = yes])
163 AM_CONDITIONAL([ARM], [test "$is_arm" = yes])
164 AM_CONDITIONAL([SPARC], [test "$is_sparc" = yes])
165 AM_CONDITIONAL([MIPS], [test "is_mips" = yes])
166 AM_CONDITIONAL([PPC], [test "is_ppc" = yes])
168 dnl our main libraries
169 dnl we use single quotes so that $top_buildir is evaluated in the makefiles,
171 AC_SUBST(LIBTT, '$(top_builddir)/lib/tt/lib/libtt.la')
172 AC_SUBST(LIBXIN, '$(top_builddir)/lib/DtXinerama/libDtXinerama.la')
173 AC_SUBST(LIBWIDGET, '$(top_builddir)/lib/DtWidget/libDtWidget.la')
174 AC_SUBST(LIBTERM, '$(top_builddir)/lib/DtTerm/libDtTerm.la')
175 AC_SUBST(LIBSVC, '$(top_builddir)/lib/DtSvc/libDtSvc.la')
176 AC_SUBST(LIBSEARCH, '$(top_builddir)/lib/DtSearch/lbiDtSearch.la')
177 AC_SUBST(LIBPRINT, '$(top_builddir)/lib/DtPrint/libDtPrint.la')
178 AC_SUBST(LIBMRM, '$(top_builddir)/lib/DtMrm/libDtMrm.la')
179 AC_SUBST(LIBMMDB, '$(top_builddir)/lib/DtMmdb/libDtMmdb.la')
180 AC_SUBST(LIBHELP, '$(top_builddir)/lib/DtHelp/libDtHelp.la')
181 AC_SUBST(LIBCSA, '$(top_builddir)/lib/csa/libcsa.la')
183 AC_SUBST(DTCLIENTLIBS, '$(LIBPRINT) $(LIBHELP) $(LIBWIDGET) $(LIBSVC) \
186 dnl set up come convenience replacements for global include dirs
187 AC_SUBST(DT_INCDIR, '-I$(top_builddir)/include/Dt')
188 AC_SUBST(DTI_INCDIR, '-I$(top_builddir)/include/DtI')
189 AC_SUBST(TT_INCDIR, '-I$(top_builddir)/include/Tt')
190 AC_SUBST(XM_INCDIR, '-I$(top_builddir)/include/Xm')
191 AC_SUBST(CSA_INCDIR, '-I$(top_builddir)/include/csa')
192 AC_SUBST(SPC_INCDIR, '-I$(top_builddir)/include/SPC')
194 AC_ARG_ENABLE(japanese, [--build-japanese Build Japanese (default=no)])
195 AM_CONDITIONAL([JAPANESE], [test "build_japanese" = "yes"])
197 AC_ARG_ENABLE(german, [--build-german Build German (default=no)])
198 AM_CONDITIONAL([GERMAN], [test "build_german" = "yes"])
200 AC_ARG_ENABLE(italian, [--build-italian Build Italian (default=no)])
201 AM_CONDITIONAL([ITALIAN], [test "build_italian" = "yes"])
203 AC_ARG_ENABLE(french, [--build-french Build French (default=no)])
204 AM_CONDITIONAL([FRENCH], [test "build_french" = "yes"])
206 AC_ARG_ENABLE(spanish, --build-spanish Build Spanish (default=no)])
207 AM_CONDITIONAL([SPANISH], [test "build_spanish" = "yes"])
215 dnl these should be configurable someday...
216 CDE_INSTALLATION_TOP="$ac_default_prefix"
217 CDE_LOGFILES_TOP=/var/dt
218 CDE_CONFIGURATION_TOP=/etc/dt
221 AC_SUBST(CDE_INSTALLATION_TOP)
222 AC_SUBST(CDE_CONFIGURATION_TOP)
223 AC_SUBST(CDE_LOGFILES_TOP)
224 AC_SUBST(CDE_USER_TOP)
228 dnl we need a real preprocessor, not gcc -E. We will call it GENCPP.
229 dnl We will go with BSD's tradcpp here... This is used for
230 dnl pre-processing during building of CDE - in the way imake used to
231 dnl do. This is not a replacement for cpp, used at runtime by
232 dnl software such as tt_type_comp.
233 AC_SUBST(GENCPP, '$(top_builddir)/util/tradcpp/tradcpp')
237 dnl the above YACC macro sets YACC variable to 'yacc' even if no program
238 dnl is found, it's pants, so check it really exists here
240 dnl this doesn't quite work yet, as when YACC is set to 'bison -y' this
242 dnl AC_CHECK_PROG(YACC_CHECK,YACC,yes)
243 dnl AS_IF([test x"$YACC_CHECK" != x"yes"], [AC_MSG_ERROR([yacc/bison/byacc program not found])])
261 AC_C_FLEXIBLE_ARRAY_MEMBER
273 dnl programs with full paths
275 AC_CHECK_PROG(KSH_CHECK, ksh, yes)
276 AS_IF([test x"$KSH_CHECK" != x"yes"], [AC_MSG_ERROR([ksh not found])])
277 AC_PATH_PROG(KSH, ksh)
278 AC_PATH_PROG(XRDB, xrdb)
279 dnl we need to use cpp for some things, like tooltalk and other
280 dnl runtime uses. So look for the system's cpp. NOTE: this is NOT
281 dnl the CPP (gcc -E) set by AC_PROG_CPP. At this point I don't know
282 dnl if we should even bother looking for that as we can't really use
284 AC_PATH_PROG(CPP_PROGRAM, cpp, ,
285 [/lib:/usr/bin:/usr/ccs/lib/:/usr/lib:/usr/libexec:/opt/langtools/lbin:$PATH])
288 AC_CHECK_PROGS(BDFTOPCF, bdftopcf)
289 AC_CHECK_PROGS(MKFONTDIR, mkfontdir)
290 AC_CHECK_PROGS(GZIP, gzip)
291 AC_CHECK_PROGS(M4, m4)
292 AC_CHECK_PROGS(RPCGEN, rpcgen)
293 AC_CHECK_PROGS(GENCAT, gencat)
297 AC_CHECK_HEADERS([locale.h])
298 AC_CHECK_HEADERS([Xm/Xm.h], ,[AC_MSG_ERROR([libxm headers not found])])
299 AC_CHECK_HEADERS([X11/Intrinsic.h], ,[AC_MSG_ERROR([libxt headers not found])])
300 AC_CHECK_HEADERS([X11/Xmu/Xmu.h], ,[AC_MSG_ERROR([libxmu headers not found])])
301 AC_CHECK_HEADERS([X11/extensions/scrnsaver.h], ,[AC_MSG_ERROR([libxss headers not found])])
302 AC_CHECK_HEADERS([jpeglib.h], ,[AC_MSG_ERROR([libjpeg headers not found])])
305 AC_CHECK_LIB(m, cosf)
306 AC_CHECK_LIB(crypt, crypt)
307 dnl this should be configurable, for now it is required
308 AC_CHECK_LIB(Xinerama, XineramaQueryScreens,
309 [SOURCE_CPP_DEFINES="${SOURCE_CPP_DEFINES} -DUSE_XINERAMA"],
310 [AC_MSG_ERROR([libXinerama not found])], $X_LIBS)
312 dnl Special check for tirpc...
313 AC_CHECK_LIB(tirpc, svc_register,
314 [CFLAGS="${CFLAGS} -DOPT_TIRPC -I/usr/include/tirpc";
315 CXXFLAGS="${CXXFLAGS} -DOPT_TIRPC -I/usr/include/tirpc";
319 dnl Setup XTOOLLIB - we do it in this specific order to avoid ordering
322 AC_CHECK_LIB(X11, XOpenDisplay, [XTOOLLIB="-lX11"], , $X_LIBS)
323 AC_CHECK_LIB(Xau, XauReadAuth, [XTOOLLIB="-lXau ${XTOOLLIB}"], , $X_LIBS)
324 AC_CHECK_LIB(Xt, XtInitialize, [XTOOLLIB="-lXt ${XTOOLLIB}"], , $X_LIBS)
325 AC_CHECK_LIB(ICE, IceCloseConnection, [XTOOLLIB="-lICE ${XTOOLLIB}"], , $X_LIBS)
326 AC_CHECK_LIB(SM, SmcOpenConnection, [XTOOLLIB="-lSM ${XTOOLLIB}"], , $X_LIBS)
327 AC_CHECK_LIB(Xm, XmTextSetString, [XTOOLLIB="-lXm ${XTOOLLIB}"], , [$MOTIF_LIB $X_LIBS])
328 XTOOLLIB="$X_LIBS $MOTIF_LIB ${XTOOLLIB}"
331 dnl set CPPFLAGS, CFLAGS, and CXXFLAGS.
332 dnl The Autoconf manual says that these are user variables and
333 dnl shouldn't be modified. It suggests that you create a special
334 dnl variable and presumably add those to your Makefile.am files. We
335 dnl have 192 of these currently, so... The user will just have to
336 dnl deal, or modify them here directly.
337 CPPFLAGS="${CPPFLAGS} ${SOURCE_CPP_DEFINES} ${CPP_COMPILER_FLAGS} ${OSVERSION}"
338 CFLAGS="${CFLAGS} ${C_COMPILER_FLAGS} ${X_CFLAGS} ${MOTIF_INC} ${PTHREAD_CFLAGS}"
339 CXXFLAGS="${CXXFLAGS} ${CXX_COMPILER_FLAGS} ${X_CFLAGS} ${MOTIF_INC} ${PTHREAD_CFLAGS}"
340 LIBS="${X_LIBS} ${LIBS} ${PTHREAD_LIBS}"
342 dnl All of the makefiles we need to generate go here...
347 util/tradcpp/Makefile
351 lib/DtXinerama/Makefile
354 lib/tt/mini_isam/Makefile
357 lib/tt/lib/api/Makefile
358 lib/tt/lib/api/dnd/Makefile
359 lib/tt/lib/api/c/Makefile
360 lib/tt/lib/tttk/Makefile
361 lib/tt/lib/db/Makefile
362 lib/tt/lib/mp/Makefile
363 lib/tt/lib/util/Makefile
365 lib/tt/bin/shell/Makefile
366 lib/tt/bin/ttauth/Makefile
367 lib/tt/bin/scripts/Makefile
368 lib/tt/bin/tttar/Makefile
369 lib/tt/bin/tt_type_comp/Makefile
370 lib/tt/bin/tttrace/Makefile
371 lib/tt/bin/dbck/Makefile
372 lib/tt/bin/ttdbserverd/Makefile
373 lib/tt/bin/ttsession/Makefile
377 lib/DtSearch/Makefile
378 lib/DtSearch/raima/Makefile
380 lib/DtWidget/Makefile
383 lib/DtHelp/il/Makefile
387 lib/DtTerm/Term/Makefile
389 lib/DtTerm/TermView/Makefile
390 lib/DtTerm/util/Makefile
391 lib/DtTerm/TermPrim/Makefile
399 programs/backdrops/Makefile
401 programs/palettes/Makefile
403 programs/icons/Makefile
405 programs/dsdm/Makefile
407 programs/dtmail/Makefile
408 programs/dtmail/dtmail/Makefile
409 programs/dtmail/MotifApp/Makefile
410 programs/dtmail/dtmailpr/Makefile
411 programs/dtmail/libDtMail/Makefile
412 programs/dtmail/libDtMail/RFC/Makefile
413 programs/dtmail/libDtMail/Common/Makefile
415 programs/dtpad/Makefile
417 programs/dtfile/Makefile
418 programs/dtfile/dtcopy/Makefile
420 programs/dtwm/Makefile
422 programs/dtlogin/Makefile
423 programs/dtlogin/config/Makefile
425 programs/dtsession/Makefile
427 programs/dthello/Makefile
429 programs/dtstyle/Makefile
431 programs/dtexec/Makefile
433 programs/dtdbcache/Makefile
435 programs/dticon/Makefile
437 programs/dtterm/Makefile
439 programs/dtcalc/Makefile
441 programs/dtaction/Makefile
443 programs/dtspcd/Makefile
445 programs/dtscreen/Makefile
447 programs/dtcm/Makefile
448 programs/dtcm/libDtCmP/Makefile
449 programs/dtcm/server/Makefile
450 programs/dtcm/dtcm/Makefile
452 programs/dtsearchpath/Makefile
453 programs/dtsearchpath/libCliSrv/Makefile
454 programs/dtsearchpath/dtsp/Makefile
455 programs/dtsearchpath/dtappg/Makefile
457 programs/dtappintegrate/Makefile
459 programs/dtprintegrate/Makefile
461 programs/dtconfig/Makefile
462 programs/dtconfig/sun/Makefile
464 programs/dtcreate/Makefile
466 programs/dtprintinfo/Makefile
468 programs/fontaliases/Makefile
469 programs/fontaliases/bdf/Makefile
470 programs/fontaliases/linux/Makefile
471 programs/fontaliases/linux/C/Makefile
472 programs/fontaliases/linux/en_US.UTF-8/Makefile
473 programs/fontaliases/sun/Makefile
474 programs/fontaliases/sun/C/Makefile
475 programs/fontaliases/netbsd/Makefile
476 programs/fontaliases/netbsd/C/Makefile
477 programs/fontaliases/openbsd/Makefile
478 programs/fontaliases/openbsd/C/Makefile
479 programs/fontaliases/freebsd/Makefile
480 programs/fontaliases/freebsd/C/Makefile
482 programs/dtdspmsg/Makefile
484 programs/dtimsstart/Makefile
486 programs/dtpdm/Makefile
488 programs/dtsr/Makefile
490 programs/dtpdmd/Makefile
492 programs/types/Makefile
494 programs/tttypes/Makefile
496 programs/util/Makefile
497 programs/util/dttypes/Makefile
499 programs/dtopen/Makefile
501 programs/localized/Makefile
502 programs/localized/util/Makefile
503 programs/localized/C/Makefile
504 programs/localized/C/app-defaults/Makefile
505 programs/localized/C/config/Makefile
506 programs/localized/C/backdrops/Makefile
507 programs/localized/C/types/Makefile
508 programs/localized/C/palettes/Makefile
509 programs/localized/C/msg/Makefile
510 programs/localized/de_DE.UTF-8/Makefile
511 programs/localized/de_DE.UTF-8/app-defaults/Makefile
512 programs/localized/de_DE.UTF-8/config/Makefile
513 programs/localized/de_DE.UTF-8/backdrops/Makefile
514 programs/localized/de_DE.UTF-8/types/Makefile
515 programs/localized/de_DE.UTF-8/palettes/Makefile
516 programs/localized/de_DE.UTF-8/msg/Makefile
517 programs/localized/fr_FR.UTF-8/Makefile
518 programs/localized/fr_FR.UTF-8/app-defaults/Makefile
519 programs/localized/fr_FR.UTF-8/config/Makefile
520 programs/localized/fr_FR.UTF-8/backdrops/Makefile
521 programs/localized/fr_FR.UTF-8/types/Makefile
522 programs/localized/fr_FR.UTF-8/palettes/Makefile
523 programs/localized/fr_FR.UTF-8/msg/Makefile
524 programs/localized/it_IT.UTF-8/Makefile
525 programs/localized/it_IT.UTF-8/app-defaults/Makefile
526 programs/localized/it_IT.UTF-8/config/Makefile
527 programs/localized/it_IT.UTF-8/backdrops/Makefile
528 programs/localized/it_IT.UTF-8/types/Makefile
529 programs/localized/it_IT.UTF-8/palettes/Makefile
530 programs/localized/it_IT.UTF-8/msg/Makefile
531 programs/localized/es_ES.UTF-8/Makefile
532 programs/localized/es_ES.UTF-8/app-defaults/Makefile
533 programs/localized/es_ES.UTF-8/config/Makefile
534 programs/localized/es_ES.UTF-8/backdrops/Makefile
535 programs/localized/es_ES.UTF-8/types/Makefile
536 programs/localized/es_ES.UTF-8/palettes/Makefile
537 programs/localized/es_ES.UTF-8/msg/Makefile
543 dnl not currently building
544 dnl programs/dthelp/Makefile
545 dnl programs/dthelp/dthelpgen/Makefile
546 dnl programs/dthelp/dthelpprint/Makefile
547 dnl programs/dthelp/parser/pass1/helptag/Makefile
548 dnl programs/dthelp/parser/pass1/Makefile
549 dnl programs/dthelp/parser/pass1/eltdef/Makefile
550 dnl programs/dthelp/parser/pass1/build/Makefile
551 dnl programs/dthelp/parser/Makefile
552 dnl programs/dthelp/parser/canon1/Makefile
553 dnl programs/dthelp/parser/pass2/Makefile
554 dnl programs/dthelp/dthelpview/Makefile