dnl Process this file with autoconf to produce a configure script. AC_INIT(include/allegro.h) AC_CONFIG_AUX_DIR(misc) AC_CONFIG_HEADER(include/allegro/platform/alunixac.h:include/allegro/platform/alunixac.hin) AC_PREREQ(2.53) AC_ARG_PROGRAM dnl Build CFLAGS from scratch CFLAGS= dnl Enable asm code in the library (default) AC_ARG_ENABLE(asm, [ --enable-asm[=x] enable the use of asm code [default=yes]], test "X$enableval" != "Xno" && allegro_enable_asm=yes, allegro_enable_asm=yes) dnl Enable 8-bpp color depth (default). AH_TEMPLATE([ALLEGRO_COLOR8], [Define if you want support for 8 bpp modes.]) AC_ARG_ENABLE(color8, [ --enable-color8[=x] enable support for 8-bpp modes [default=yes]], test "X$enableval" != "Xno" && AC_DEFINE(ALLEGRO_COLOR8), AC_DEFINE(ALLEGRO_COLOR8)) dnl Enable 16-bpp color depth (default). AH_TEMPLATE([ALLEGRO_COLOR16], [Define if you want support for 16 bpp modes.]) AC_ARG_ENABLE(color16, [ --enable-color16[=x] enable support for 16-bpp modes [default=yes]], test "X$enableval" != "Xno" && AC_DEFINE(ALLEGRO_COLOR16), AC_DEFINE(ALLEGRO_COLOR16)) dnl Enable 24-bpp color depth (default). AH_TEMPLATE([ALLEGRO_COLOR24], [Define if you want support for 24 bpp modes.]) AC_ARG_ENABLE(color24, [ --enable-color24[=x] enable support for 24-bpp modes [default=yes]], test "X$enableval" != "Xno" && AC_DEFINE(ALLEGRO_COLOR24), AC_DEFINE(ALLEGRO_COLOR24)) dnl Enable 32-bpp color depth (default). AH_TEMPLATE([ALLEGRO_COLOR32], [Define if you want support for 32 bpp modes.]) AC_ARG_ENABLE(color32, [ --enable-color32[=x] enable support for 32-bpp modes [default=yes]], test "X$enableval" != "Xno" && AC_DEFINE(ALLEGRO_COLOR32), AC_DEFINE(ALLEGRO_COLOR32)) dnl Enable static library. AC_ARG_ENABLE(static, [ --enable-static[=x] build static libraries [default=no]], test "X$enableval" != "Xno" && allegro_static_libraries=yes) dnl Enable shared library. AC_ARG_ENABLE(shared, [ --enable-shared[=x] build shared libraries [default=yes]], test "X$enableval" != "Xno" && allegro_shared_libraries=yes, allegro_shared_libraries=yes) dnl Enable building normal library (default). AC_ARG_ENABLE(stdlib, [ --enable-stdlib[=x] enable building normal library [default=yes]], test "X$enableval" != "Xno" && allegro_build_normal_library=yes, allegro_build_normal_library=yes) dnl Enable building debugging library. AC_ARG_ENABLE(dbglib, [ --enable-dbglib[=x] enable building debugging library [default=no]], test "X$enableval" != "Xno" && allegro_build_debugging_library=yes) dnl Enable building profiling library. AC_ARG_ENABLE(proflib, [ --enable-proflib[=x] enable building profiling library [default=no]], test "X$enableval" != "Xno" && allegro_build_profiling_library=yes) dnl Enable building debugging programs. AC_ARG_ENABLE(dbgprog, [ --enable-dbgprog[=x] enable building debugging programs [default=no]], test "X$enableval" != "Xno" && allegro_build_debugging_programs=yes) dnl Enable building profiling programs. AC_ARG_ENABLE(profprog, [ --enable-profprog[=x] enable building profiling programs [default=no]], test "X$enableval" != "Xno" && allegro_build_profiling_programs=yes) dnl Link programs with static library rather than shared (if available) AC_ARG_ENABLE(staticprog, [ --enable-staticprog[=x] link programs with static library [default=no]], test "X$enableval" != "Xno" && allegro_build_static_programs=yes) dnl Enable x86 processor-specific optimizations. AC_ARG_ENABLE(opts, [ --enable-opts=CPU enable x86 processor optimizations [pentium]], test "X$enableval" != "Xyes" && allegro_optimizations=$enableval, allegro_optimizations=pentium) dnl Enable x86 processor-specific exclusive optimizations. AC_ARG_ENABLE(exclopts, [ --enable-exclopts=CPU enable x86 processor exclusive optimizations [none]], test "X$enableval" != "Xyes" && allegro_exclusive_optimizations=$enableval, allegro_exclusive_optimizations=none) dnl Sanity check on shared/static options if test "X$allegro_static_libraries" != "Xyes"; then if test "X$allegro_shared_libraries" != "Xyes"; then AC_MSG_WARN([static and shared libraries all disabled, assuming shared]) allegro_shared_libraries=yes fi elif test "X$allegro_shared_libraries" != "Xyes"; then allegro_build_static_programs=yes fi dnl How strict should we be about compiler warnings AC_ARG_ENABLE(strictwarn, [ --enable-strictwarn[=x] produce strict compiler warnings [default=no]], test "X$enableval" != "Xno" && allegro_strict_warnings=yes) if test "X$allegro_strict_warnings" = "Xyes"; then _warnmode="Building Allegro with strict warnings." else _warnmode="Ignoring compiler warnings." fi dnl Enable magic main (default: no). AC_ARG_ENABLE(magicmain, [ --enable-magicmain[=x] enable magic main [default=no]], test "X$enableval" == "Xyes" && AC_DEFINE(ALLEGRO_WITH_MAGIC_MAIN,1,[Define if you need to use a magic main.])) dnl Check that $prefix is set (needed for ALLEGRO_ACTEST_GCC_INCLUDE_PREFIX) test "$prefix" = NONE && prefix=/usr/local dnl Check for tools. AC_PROG_CC ALLEGRO_ACTEST_GCC_VERSION ALLEGRO_ACTEST_GCC_INCLUDE_PREFIX AC_PROG_CPP ALLEGRO_ACTEST_GCC_CXX ALLEGRO_ACTEST_PROG_LD_S AC_PROG_INSTALL AC_PROG_MAKE_SET AC_PROG_LN_S dnl LDCONFIG is used for installing shared libraries, in Linux/ELF at least AC_PATH_PROG(LDCONFIG, ldconfig, [echo ought to run ldconfig], $PATH:/sbin:/usr/sbin) dnl MAKEINFO is needed for producing the info pages AC_PATH_PROG(MAKEINFO, makeinfo, [echo ought to run makeinfo], $PATH:/sbin:/usr/sbin) dnl INSTALL_INFO is needed for installing the info pages AC_PATH_PROG(INSTALL_INFO, install-info, [echo ought to run install-info], $PATH:/sbin:/usr/sbin) dnl Test for processor type. ALLEGRO_ACTEST_PROCESSOR_TYPE dnl Test for -mtune i386 option if test "X$allegro_cv_processor_type" = "Xi386"; then ALLEGRO_ACTEST_GCC_I386_MTUNE fi dnl Test for -mtune AMD64 option if test "X$allegro_cv_processor_type" = "Xamd64"; then ALLEGRO_ACTEST_GCC_AMD64_MTUNE fi dnl Test for asm support. if test "X$allegro_enable_asm" = "Xyes"; then if test "X$allegro_cv_processor_type" = "Xi386"; then ALLEGRO_MAYBE_ASM_FILES=ALLEGRO_SRC_I386_FILES _code_features="i386 asm" dnl Test for MMX support. ALLEGRO_ACTEST_SUPPORT_MMX if test "X$allegro_cv_support_mmx" = "Xyes"; then AC_DEFINE(ALLEGRO_MMX,1,[Define if assembler supports MMX.]) _code_features="$_code_features, MMX" fi dnl Test for SSE support. ALLEGRO_ACTEST_SUPPORT_SSE if test "X$allegro_cv_support_sse" = "Xyes"; then AC_DEFINE(ALLEGRO_SSE,1,[Define if assembler supports SSE.]) _code_features="$_code_features, SSE" fi elif test "X$allegro_cv_processor_type" = "Xamd64"; then ALLEGRO_MAYBE_ASM_FILES=ALLEGRO_SRC_AMD64_FILES _code_features="amd64 asm" dnl MMX support available if AMD64 is available, but we can't use it yet. dnl AC_DEFINE(ALLEGRO_MMX,1,[Define if assembler supports MMX.]) dnl _code_features="$_code_features, MMX" dnl SSE support available if AMD64 is available, but we can't use it yet. dnl AC_DEFINE(ALLEGRO_SSE,1,[Define if assembler supports SSE.]) dnl _code_features="$_code_features, SSE" fi fi if test -z "$ALLEGRO_MAYBE_ASM_FILES"; then ALLEGRO_MAYBE_ASM_FILES=ALLEGRO_SRC_C_FILES CFLAGS="$CFLAGS -DALLEGRO_USE_C" AC_DEFINE(ALLEGRO_NO_ASM,1, [Define for Unix platforms, to use C convention for bank switching.]) _code_features="C only" fi AC_SUBST(ALLEGRO_MAYBE_ASM_FILES) dnl Test for underscore prepended by compiler. ALLEGRO_ACTEST_ASM_PREFIX if test "$allegro_cv_asm_prefix" != ""; then AC_DEFINE_UNQUOTED(ALLEGRO_ASM_PREFIX, "$allegro_cv_asm_prefix", [Define if compiler prepends underscore to symbols.]) fi dnl Test target machine endianess. AC_C_BIGENDIAN if test "$ac_cv_c_bigendian" = yes; then AC_DEFINE(ALLEGRO_BIG_ENDIAN,1,[Define if target machine is big endian.]) _code_features="big endian, $_code_features" else AC_DEFINE(ALLEGRO_LITTLE_ENDIAN,1,[Define if target machine is little endian.]) _code_features="little endian, $_code_features" fi dnl Test for MAP_FAILED presence. ALLEGRO_ACTEST_MAP_FAILED if test "$Xallegro_cv_have_map_failed" = "Xno"; then AC_DEFINE(MAP_FAILED, [(void *)-1], [Define to (void *)-1, if MAP_FAILED is not defined.]) fi dnl Test for sched_yield (SunOS). ALLEGRO_ACTEST_SCHED_YIELD if test "X$allegro_cv_support_sched_yield" = "Xyes"; then AC_DEFINE(ALLEGRO_USE_SCHED_YIELD,1,[Define if sched_yield is provided by some library.]) fi dnl Test for constructor attribute support. ALLEGRO_ACTEST_CONSTRUCTOR if test "X$allegro_support_constructor" = "Xyes"; then AC_DEFINE(ALLEGRO_USE_CONSTRUCTOR,1, [Define if constructor attribute is supported.]) fi dnl Test for modules support. ALLEGRO_ACTEST_MODULES if test -n "$allegro_support_modules"; then AC_DEFINE(ALLEGRO_WITH_MODULES,1, [Define if dynamically loaded modules are supported.]) _modules="Some drivers will be built as dynamic modules." else _modules="All drivers will be statically linked." fi dnl Do we need to pass the include prefix to the compiler? if test "$allegro_cv_support_include_prefix" = "yes"; then INCLUDE_PREFIX="$prefix" else INCLUDE_PREFIX= fi AC_SUBST(INCLUDE_PREFIX) dnl Which version of library to link with (static, shared, normal, debugging, profiling)? if test "X$allegro_build_debugging_programs" = "Xyes"; then COMPILE_PROGRAM=COMPILE_DEBUG COMPILE_CXX_PROGRAM=COMPILE_CXX_DEBUG COMPILE_S_PROGRAM=COMPILE_S_DEBUG PROG_LDFLAGS="-g \$(LDFLAGS)" LIB_TO_LINK=alld PLUGIN_LIB=lib/unix/libaddat.a allegro_build_debugging_library=yes _programs="debug" elif test "X$allegro_build_profiling_programs" = "Xyes"; then COMPILE_PROGRAM=COMPILE_PROFILE COMPILE_CXX_PROGRAM=COMPILE_CXX_PROFILE COMPILE_S_PROGRAM=COMPILE_S_PROFILE PROG_LDFLAGS="-pg \$(LDFLAGS)" LIB_TO_LINK=allp PLUGIN_LIB=lib/unix/libapdat.a allegro_build_profiling_library=yes _programs="profile" else COMPILE_PROGRAM=COMPILE_NORMAL COMPILE_CXX_PROGRAM=COMPILE_CXX_NORMAL COMPILE_S_PROGRAM=COMPILE_S_NORMAL if test "X$allegro_cv_prog_ld_s" = "Xyes"; then PROG_LDFLAGS="-s \$(LDFLAGS)" else PROG_LDFLAGS="\$(LDFLAGS)" fi LIB_TO_LINK=alleg PLUGIN_LIB=lib/unix/libaldat.a allegro_build_normal_library=yes _programs="release" fi if test "X$allegro_build_static_programs" = "Xyes"; then LIBALLEG=lib/unix/lib$LIB_TO_LINK.a LINK_LIBALLEG="$LIBALLEG \$(LIBS)" LINK_WITH_STATIC_LIBS=yes allegro_static_libraries=yes _programs="statically linked $_programs" else LIBALLEG="lib/unix/lib${LIB_TO_LINK}-\$(shared_version).so lib/unix/lib${LIB_TO_LINK}_unsharable.a" LINK_LIBALLEG="-Llib/unix -l${LIB_TO_LINK}-\$(shared_version) -l${LIB_TO_LINK}_unsharable -lm" LINK_WITH_STATIC_LIBS=no allegro_shared_libraries=yes _programs="dynamically linked $_programs" fi AC_SUBST(LIBALLEG) AC_SUBST(LINK_LIBALLEG) AC_SUBST(PLUGIN_LIB) AC_SUBST(COMPILE_PROGRAM) AC_SUBST(COMPILE_CXX_PROGRAM) AC_SUBST(COMPILE_S_PROGRAM) AC_SUBST(PROG_LDFLAGS) AC_SUBST(LIB_TO_LINK) AC_SUBST(LINK_WITH_STATIC_LIBS) dnl Which libraries to build (static, shared, normal, debugging, profiling)? ALLEGRO_LIB_TARGETS= if test "X$allegro_static_libraries" = "Xyes"; then _libraries=" static" if test "X$allegro_build_normal_library" = "Xyes"; then ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballeg.a" _libraries="$_libraries release" fi if test "X$allegro_build_debugging_library" = "Xyes"; then ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballd.a" _libraries="$_libraries debug" fi if test "X$allegro_build_profiling_library" = "Xyes"; then ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballp.a" _libraries="$_libraries profile" fi fi if test "X$allegro_shared_libraries" = "Xyes"; then if test -n "$_libraries"; then _libraries="$_libraries," fi _libraries="$_libraries shared" if test "X$allegro_build_normal_library" = "Xyes"; then ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballeg-\$(shared_version).so lib/unix/liballeg_unsharable.a" _libraries="$_libraries release" fi if test "X$allegro_build_debugging_library" = "Xyes"; then ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballd-\$(shared_version).so lib/unix/liballd_unsharable.a" _libraries="$_libraries debug" fi if test "X$allegro_build_profiling_library" = "Xyes"; then ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballp-\$(shared_version).so lib/unix/liballp_unsharable.a" _libraries="$_libraries profile" fi fi AC_SUBST(ALLEGRO_LIB_TARGETS) dnl Test for debugging with Fortify. ALLEGRO_ACTEST_DEBUG_WITH_FORTIFY if test -n "$allegro_debug_with_fortify"; then LIBS="$LIBS -lfortify" fi dnl Test for debugging with DMalloc. ALLEGRO_ACTEST_DEBUG_WITH_DMALLOC if test -n "$allegro_debug_with_dmalloc"; then LIBS="$LIBS -ldmalloc" fi dnl Test for OSS drivers. ALLEGRO_ACTEST_OSSDIGI if test -n "$allegro_support_ossdigi"; then AC_DEFINE(ALLEGRO_WITH_OSSDIGI,1,[Define if OSS DIGI driver is supported.]) _enabled_modules="ossdigi $_enabled_modules" else _disabled_modules="ossdigi $_disabled_modules" fi dnl Test for ALSA drivers. ALLEGRO_ACTEST_ALSADIGI if test "$allegro_cv_support_alsadigi" = yes; then AC_DEFINE(ALLEGRO_WITH_ALSADIGI,1,[Define if ALSA DIGI driver is supported.]) if test "$allegro_cv_alsa_version" = 9; then AC_DEFINE(ALLEGRO_ALSA_VERSION,9,[Define to the installed ALSA version.]) else AC_DEFINE(ALLEGRO_ALSA_VERSION,5,[Define to the installed ALSA version.]) fi _enabled_modules="alsadigi $_enabled_modules" else _disabled_modules="alsadigi $_disabled_modules" fi ALLEGRO_ACTEST_ALSAMIDI if test "$allegro_cv_support_alsamidi" = yes; then AC_DEFINE(ALLEGRO_WITH_ALSAMIDI,1,[Define if ALSA MIDI driver is supported.]) if test "$allegro_cv_alsa_version" = 9; then AC_DEFINE(ALLEGRO_ALSA_VERSION,9,[Define to the installed ALSA version.]) else AC_DEFINE(ALLEGRO_ALSA_VERSION,5,[Define to the installed ALSA version.]) fi _enabled_modules="alsamidi $_enabled_modules" else _disabled_modules="alsamidi $_disabled_modules" fi dnl Test for ESD drivers. ALLEGRO_ACTEST_ESDDIGI if test -n "$allegro_support_esddigi"; then AC_DEFINE(ALLEGRO_WITH_ESDDIGI,1,[Define if ESD DIGI driver is supported.]) _enabled_modules="esddigi $_enabled_modules" else _disabled_modules="esddigi $_disabled_modules" fi dnl Test for aRts drivers. ALLEGRO_ACTEST_ARTSDIGI if test -n "$allegro_support_artsdigi"; then AC_DEFINE(ALLEGRO_WITH_ARTSDIGI,1,[Define if aRts DIGI driver is supported.]) _enabled_modules="artsdigi $_enabled_modules" else _disabled_modules="artsdigi $_disabled_modules" fi dnl Test for SGI AL drivers. ALLEGRO_ACTEST_SGIALDIGI if test "$allegro_cv_support_sgialdigi" = yes; then AC_DEFINE(ALLEGRO_WITH_SGIALDIGI,1,[Define if SGI AL DIGI driver is supported.]) _enabled_modules="sgialdigi $_enabled_modules" else _disabled_modules="sgialdigi $_disabled_modules" fi dnl Test for OSS MIDI drivers. ALLEGRO_ACTEST_OSSMIDI if test -n "$allegro_support_ossmidi"; then AC_DEFINE(ALLEGRO_WITH_OSSMIDI,1,[Define if OSS MIDI driver is supported.]) _enabled_modules="ossmidi $_enabled_modules" else _disabled_modules="ossmidi $_disabled_modules" fi dnl Test for System V procfs ALLEGRO_SV_PROCFS if test "$allegro_sv_procfs" = yes; then AC_DEFINE(ALLEGRO_HAVE_SV_PROCFS,1, [Define to 1 if you have a System V sys/procfs.h]) ALLEGRO_PROCFS_ARGCV if test "$allegro_procfs_argcv" = yes; then AC_DEFINE(ALLEGRO_HAVE_PROCFS_ARGCV,1, [Define to 1 if procfs reveals argc and argv]) fi fi dnl Test for Solaris like getexecname(). ALLEGRO_SYS_GETEXECNAME if test "$allegro_sys_getexecname" = yes; then AC_DEFINE(ALLEGRO_HAVE_GETEXECNAME,1, [Define to 1 if you have getexecname]) fi dnl Test for X-Windows support. ALLEGRO_ACTEST_SUPPORT_XWINDOWS if test "$allegro_support_xwindows" = yes; then ALLEGRO_MAYBE_XWINDOWS_FILES=ALLEGRO_SRC_X_FILES ALLEGRO_MAYBE_LIB_X_EXE_SOURCES=ALLEGRO_LIB_X_EXE_SOURCES ALLEGRO_MAYBE_LIB_X_EXES=ALLEGRO_LIB_X_EXES else ALLEGRO_MAYBE_XWINDOWS_FILES=ALLEGRO_EMPTY_LIST ALLEGRO_MAYBE_LIB_X_EXE_SOURCES=ALLEGRO_EMPTY_LIST ALLEGRO_MAYBE_LIB_X_EXES=ALLEGRO_EMPTY_LIST fi AC_SUBST(ALLEGRO_MAYBE_XWINDOWS_FILES) AC_SUBST(ALLEGRO_MAYBE_LIB_X_EXE_SOURCES) AC_SUBST(ALLEGRO_MAYBE_LIB_X_EXES) AC_SUBST(ALLEGRO_XWINDOWS_LIBDIR) dnl Enable pthreads AC_ARG_ENABLE(pthreads, [ --enable-pthreads[=x] enable use of pthreads [default=yes]], test "X$enableval" != "Xno" && allegro_enable_pthreads=yes, allegro_enable_pthreads=yes) dnl Enable Linux console support AC_ARG_ENABLE(linux, [ --enable-linux[=x] enable Linux console support [default=yes]], test "X$enableval" != "Xno" && allegro_enable_linux=yes, allegro_enable_linux=yes) _linux_console="Linux console support:" if test "X$allegro_enable_linux" != "Xyes"; then _linux_console="$_linux_console disabled" else _linux_console="$_linux_console enabled" fi dnl Enable Linux console VGA driver AC_ARG_ENABLE(vga, [ --enable-vga[=x] enable VGA graphics driver [default=yes]], test "X$enableval" != "Xno" && allegro_enable_vga=yes, allegro_enable_vga=yes) dnl Enable Linux console fbcon driver AC_ARG_ENABLE(fbcon, [ --enable-fbcon[=x] enable fbcon graphics driver [default=yes]], test "X$enableval" != "Xno" && allegro_enable_fbcon=yes, allegro_enable_fbcon=yes) dnl Enable Linux console VBE/AF driver AC_ARG_ENABLE(vbeaf, [ --enable-vbeaf[=x] enable VBE/AF graphics driver [default=no]], test "X$enableval" != "Xno" && allegro_enable_vbeaf=yes, allegro_enable_vbeaf=no) dnl Enable Linux console SVGAlib driver AC_ARG_ENABLE(svgalib, [ --enable-svgalib[=x] enable SVGAlib graphics driver [default=yes]], test "X$enableval" != "Xno" && allegro_enable_svgalib=yes, allegro_enable_svgalib=yes) dnl Some miscellaneous defines. ALLEGRO_MAYBE_LINUX_FILES=ALLEGRO_EMPTY_LIST allegro_system=`uname -s | tr A-Z a-z` case "$allegro_system" in *linux*) if test "X$allegro_enable_linux" = "Xyes"; then AC_DEFINE(ALLEGRO_LINUX,1,[Define if target platform is linux.]) ALLEGRO_MAYBE_LINUX_FILES=ALLEGRO_SRC_LINUX_FILES AC_CHECK_HEADERS(sys/io.h linux/joystick.h linux/input.h) if test "X$allegro_cv_processor_type" = "Xi386" -a "X$allegro_enable_vga" = "Xyes"; then allegro_support_vga=yes AC_DEFINE(ALLEGRO_LINUX_VGA,1, [Define to enable Linux console VGA driver.]) _enabled_modules="vga $_enabled_modules" else _disabled_modules="vga $_disabled_modules" fi if test "X$allegro_cv_processor_type" = "Xi386" -a "X$allegro_enable_vbeaf" = "Xyes"; then AC_DEFINE(ALLEGRO_LINUX_VBEAF,1, [Define to enable Linux console VBE/AF driver.]) _enabled_modules="vbeaf $_enabled_modules" else _disabled_modules="vbeaf $_disabled_modules" fi _do_fbcon="no" if test "X$allegro_enable_fbcon" = "Xyes"; then ALLEGRO_ACTEST_FBCON if test "X$allegro_cv_support_fbcon" = "Xyes"; then AC_DEFINE(ALLEGRO_LINUX_FBCON,1, [Define to enable Linux console fbcon driver.]) _do_fbcon="yes" fi fi if test "$_do_fbcon" = yes; then _enabled_modules="fbcon $_enabled_modules" else _disabled_modules="fbcon $_disabled_modules" fi _do_svgalib="no" if test "X$allegro_enable_svgalib" = "Xyes"; then ALLEGRO_ACTEST_SVGALIB if test "X$allegro_cv_support_svgalib" = "Xyes"; then AC_DEFINE(ALLEGRO_LINUX_SVGALIB,1, [Define to enable Linux console SVGAlib driver.]) _do_svgalib="yes" if test -z "$allegro_support_modules"; then LIBS="-lvga $LIBS" fi if test "X$allegro_cv_have_vga_version" = "Xyes"; then AC_DEFINE(ALLEGRO_LINUX_SVGALIB_HAVE_VGA_VERSION,1, [Define if SVGAlib driver can check vga_version.]) fi fi fi if test "$_do_svgalib" = yes; then _enabled_modules="svgalib $_enabled_modules" else _disabled_modules="svgalib $_disabled_modules" fi fi ;; esac AC_SUBST(ALLEGRO_MAYBE_LINUX_FILES) _do_pthread="no" dnl Test for pthreads. if test "X$allegro_enable_pthreads" = "Xyes"; then ALLEGRO_ACTEST_PTHREADS if test "X$allegro_cv_support_pthreads" = "Xyes"; then AC_DEFINE(HAVE_LIBPTHREAD,1, [Define if you have the pthread library.]) _do_pthread="yes" fi fi if test "$_do_pthread" = yes; then _code_features="multithreaded, $_code_features" else _code_features="signals instead of threads, $_code_features" fi dnl Test for JACK driver ALLEGRO_ACTEST_JACK if test "X$allegro_cv_support_jackdigi" = "Xyes"; then if test "X$_do_pthread" = "Xyes"; then AC_DEFINE(ALLEGRO_WITH_JACKDIGI,1,[Define if JACK DIGI driver is supported.]) _enabled_modules="jackdigi $_enabled_modules" else echo Warning: Jack will be disabled, since pthreads support is missing/disabled. _disabled_modules="jackdigi $_disabled_modules" fi else _disabled_modules="jackdigi $_disabled_modules" fi if test "X$allegro_support_xf86dga2" = "Xyes"; then _enabled_modules="dga2 $_enabled_modules" else _disabled_modules="dga2 $_disabled_modules" fi dnl Modules. if test -n "$allegro_support_modules"; then dnl VGA/ModeX. if test "X$allegro_support_vga" = "Xyes"; then ALLEGRO_MODULE_TARGETS="$ALLEGRO_MODULE_TARGETS lib/unix/alleg-vga.so" fi dnl SVGAlib. if test "X$allegro_cv_support_svgalib" = "Xyes"; then ALLEGRO_MODULE_TARGETS="$ALLEGRO_MODULE_TARGETS lib/unix/alleg-svgalib.so" fi dnl fbcon. if test "X$allegro_cv_support_fbcon" = "Xyes"; then ALLEGRO_MODULE_TARGETS="$ALLEGRO_MODULE_TARGETS lib/unix/alleg-fbcon.so" fi dnl DGA2. if test "X$allegro_support_xf86dga2" = "Xyes"; then ALLEGRO_MODULE_TARGETS="$ALLEGRO_MODULE_TARGETS lib/unix/alleg-dga2.so" fi dnl ALSA DIGI. if test "X$allegro_cv_support_alsadigi" = "Xyes"; then ALLEGRO_MODULE_TARGETS="$ALLEGRO_MODULE_TARGETS lib/unix/alleg-alsadigi.so" fi dnl ALSA MIDI. if test "X$allegro_cv_support_alsamidi" = "Xyes"; then ALLEGRO_MODULE_TARGETS="$ALLEGRO_MODULE_TARGETS lib/unix/alleg-alsamidi.so" fi dnl ESD DIGI. if test "X$allegro_support_esddigi" = "Xyes"; then ALLEGRO_MODULE_TARGETS="$ALLEGRO_MODULE_TARGETS lib/unix/alleg-esddigi.so" fi dnl aRts DIGI. if test "X$allegro_support_artsdigi" = "Xyes"; then ALLEGRO_MODULE_TARGETS="$ALLEGRO_MODULE_TARGETS lib/unix/alleg-artsdigi.so" fi dnl SGI AL DIGI. if test "X$allegro_cv_support_sgialdigi" = "Xyes"; then ALLEGRO_MODULE_TARGETS="$ALLEGRO_MODULE_TARGETS lib/unix/alleg-sgialdigi.so" fi dnl JACK DIGI. if test "X$allegro_cv_support_jackdigi" = "Xyes"; then ALLEGRO_MODULE_TARGETS="$ALLEGRO_MODULE_TARGETS lib/unix/alleg-jackdigi.so" fi fi AC_SUBST(ALLEGRO_MODULE_TARGETS) dnl Additional libraries. LIBS="-lm $LIBS" case "$allegro_system" in *darwin*) AC_DEFINE(ALLEGRO_DARWIN,1,[Define if target platform is Darwin.]) LIBS="-lcc_dynamic $LIBS" AR="\$(LD) -r -keep_private_externs -o" ;; *) AR="ar rvs" ;; esac AC_SUBST(LIBS) AC_SUBST(AR) dnl Headers, features, functions and macros. AC_HEADER_STDC AC_HEADER_DIRENT AC_HEADER_TIME AC_CHECK_HEADERS(fcntl.h limits.h sys/time.h unistd.h sys/utsname.h) AC_C_CONST AC_C_INLINE AC_TYPE_SIZE_T AC_STRUCT_TM AC_TYPE_SIGNAL AC_CHECK_FUNCS(mmap memcmp mkstemp stricmp strlwr strupr vprintf) dnl Tweak header files for library build CFLAGS="$CFLAGS -DALLEGRO_LIB_BUILD" dnl How to compile C and asm files. if test -n "$GCC"; then if test "X$allegro_strict_warnings" = "Xyes"; then WFLAGS="-Wall -W -Wstrict-prototypes -Wno-unused-parameter -Werror" else WFLAGS="-Wall -Wno-unused" fi if test "X$allegro_cv_processor_type" = "Xi386"; then if test "$allegro_exclusive_optimizations" != none; then TARGET_ARCH="-march=$allegro_exclusive_optimizations" elif test "X$allegro_cv_support_i386_mtune" = "Xyes"; then TARGET_ARCH="-mtune=$allegro_optimizations" else TARGET_ARCH="-mcpu=$allegro_optimizations" fi elif test "X$allegro_cv_processor_type" = "Xamd64"; then dnl Change default pentium->athlon64 if test "X$allegro_optimizations" = "Xpentium"; then allegro_optimizations="k8" fi if test "$allegro_exclusive_optimizations" != none; then TARGET_ARCH="-march=$allegro_exclusive_optimizations" elif test "X$allegro_cv_support_amd64_mtune" = "Xyes"; then TARGET_ARCH="-mtune=$allegro_optimizations" else TARGET_ARCH="-mcpu=$allegro_optimizations" fi else TARGET_ARCH= fi dnl Allow to specify additional flags. CFLAGS="$CFLAGS $XCFLAGS" WFLAGS="$WFLAGS $WCFLAGS" dnl In this order... ALLEGRO_DEBUG_CFLAGS="$CFLAGS -g $WFLAGS -DDEBUGMODE" if test "X$allegro_debug_with_fortify" = "Xyes"; then ALLEGRO_DEBUG_CFLAGS="$ALLEGRO_DEBUG_CFLAGS -DFORTIFY" fi if test "X$allegro_debug_with_dmalloc" = "Xyes"; then ALLEGRO_DEBUG_CFLAGS="$ALLEGRO_DEBUG_CFLAGS -DDMALLOC" fi ALLEGRO_PROFILE_CFLAGS="$CFLAGS -pg $TARGET_ARCH -O2 -funroll-loops -ffast-math $WFLAGS" if test "X$allegro_cv_support_fomit_frame_pointer" = "Xyes"; then CFLAGS="$CFLAGS $TARGET_ARCH -O2 -funroll-loops -ffast-math -fomit-frame-pointer $WFLAGS" else CFLAGS="$CFLAGS $TARGET_ARCH -O2 -funroll-loops -ffast-math $WFLAGS" fi ALLEGRO_SFLAGS="-x assembler-with-cpp" ALLEGRO_SHAREDLIB_CFLAGS="-fPIC -DALLEGRO_SHARED" else ALLEGRO_DEBUG_CFLAGS="$CFLAGS" ALLEGRO_PROFILE_CFLAGS="$CFLAGS" ALLEGRO_SFLAGS= ALLEGRO_SHAREDLIB_CFLAGS= fi AC_SUBST(CFLAGS) AC_SUBST(ALLEGRO_DEBUG_CFLAGS) AC_SUBST(ALLEGRO_PROFILE_CFLAGS) AC_SUBST(ALLEGRO_SFLAGS) AC_SUBST(ALLEGRO_SHAREDLIB_CFLAGS) dnl How to compile C++ files. if test "X$allegro_cv_support_cplusplus" = "Xyes"; then CXX="$CC" CXXFLAGS="-fno-exceptions $CFLAGS" ALLEGRO_DEBUG_CXXFLAGS="-fno-exceptions $ALLEGRO_DEBUG_CFLAGS" ALLEGRO_PROFILE_CXXFLAGS="-fno-exceptions $ALLEGRO_PROFILE_CFLAGS" else CXX= CXXFLAGS= ALLEGRO_DEBUG_CXXFLAGS= ALLEGRO_PROFILE_CXXFLAGS= fi AC_SUBST(CXX) AC_SUBST(CXXFLAGS) AC_SUBST(ALLEGRO_DEBUG_CXXFLAGS) AC_SUBST(ALLEGRO_PROFILE_CXXFLAGS) cat > makefile.info << EOF $_modules Enabled modules: $_enabled_modules Disabled modules: $_disabled_modules Generated code: $_code_features Generated libraries:$_libraries Compiled programs: $_programs $_warnmode $_x11 $_linux_console EOF dnl Warn if neither X11 nor Linux console support is going to be built, dnl or just if X11 support is not going to be built. if test "X$allegro_support_xwindows" != "Xyes"; then if test "X$allegro_enable_linux" != "Xyes"; then cat >> makefile.info << EOF Warning: the library will not be built with either X11 or Linux console support. This configuration is useless for most purposes. EOF else cat >> makefile.info << EOF Warning: the library will not be built with X11 support. If you were expecting X11 support then you may need to install the appropriate development packages from your distribution. Otherwise, ignore this warning (it's just that a lot of new users trip up on this). EOF fi fi dnl Warn if passed --enable-dbg-with-fortify if test -n "$allegro_debug_with_fortify"; then if test -z "$allegro_build_debugging_library"; then cat >> makefile.info << EOF Warning: the library will not be built with Fortify support. The support is only enabled with the debug version. EOF fi if test -z "$allegro_build_debugging_programs"; then cat >> makefile.info << EOF Warning: the programs will not be built with Fortify support. The support is only enabled with the debug version. EOF fi fi dnl Warn if passed --enable-dbg-with-dmalloc if test -n "$allegro_debug_with_dmalloc"; then if test -z "$allegro_build_debugging_library"; then cat >> makefile.info << EOF Warning: the library will not be built with DMalloc support. The support is only enabled with the debug version. EOF fi if test -z "$allegro_build_debugging_programs"; then cat >> makefile.info << EOF Warning: the programs will not be built with DMalloc support. The support is only enabled with the debug version. EOF fi fi dnl Prepare initial dependencies file (if missing). if test -f "$srcdir/makefile.dep"; then if test `cd "$srcdir" ; pwd` != `cd . ; pwd`; then cp "$srcdir/makefile.dep" makefile.dep dnl Wait for a moment, to ensure the makefile gets a nice late dnl timestamp, otherwise `makefile.dep' looks too new. echo 'Having a snooze...' sleep 1 fi elif test ! -f makefile.dep; then allegro_make_depend="yes" fi dnl Cosmetics for allegro-config FRAMEWORKS= AC_SUBST(FRAMEWORKS) dnl Prepare makefile and allegro-config. AC_OUTPUT(makefile:makefile.in allegro-config:misc/allegro-config.in, [test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h]) dnl The makefile doesn't work with non-GNU make so test for its presence. if ${MAKE-make} -v -f /dev/null 2>/dev/null | grep -i "gnu" >/dev/null; then gnu_make="yes" fi dnl Run "make depend" if necessary. if test "X$allegro_make_depend" = "Xyes"; then if test "X$gnu_make" = "Xyes"; then ${MAKE-make} depend else AC_MSG_WARN([Non-GNU make detected, trying gmake to build dependencies.]) gmake depend fi fi dnl Display configuration informations if test "X$gnu_make" = "Xyes"; then ${MAKE-make} info else gmake info fi if test "X$gnu_make" != "Xyes"; then AC_MSG_WARN([You need to use GNU make to build Allegro.]) AC_MSG_WARN([This might be called gmake on your system.]) fi