Search
lxdream.org :: lxdream/configure.in
lxdream 0.9.1
released Jun 29
Download Now
filename configure.in
changeset 658:f5926310bfbe
prev657:c4143facbfcb
next660:d1b2695347c6
author nkeynes
date Wed Apr 16 12:43:52 2008 +0000 (11 years ago)
permissions -rw-r--r--
last change Start removing X11isms from gtkui into drivers
Overhaul the configure rules for figuring out the video driver
view annotate diff log raw
     1 dnl Process this file with autoconf to produce a configure script.
     3 AC_INIT(configure.in)
     4 AM_INIT_AUTOMAKE(lxdream, 0.8.1)
     5 AM_MAINTAINER_MODE
     6 AM_CONFIG_HEADER(config.h)
     8 AC_ISC_POSIX
     9 AC_PROG_CC
    10 AM_PROG_CC_STDC
    11 AM_PROG_AS
    12 AC_HEADER_STDC
    13 AC_CANONICAL_BUILD
    14 AC_CANONICAL_HOST
    15 AC_ARG_ENABLE( trace, 
    16    AS_HELP_STRING( [--enable-trace], [Enable generation of IO traces (warning: hurts performance)]),
    17    [if test "$enableval" == "yes"; then
    18      AC_DEFINE(ENABLE_TRACE_IO, 1, [Enable IO tracing])
    19     fi] )
    20 AC_ARG_ENABLE( watch,
    21    AS_HELP_STRING( [--enable-watch], [Enable watchpoints in the debugger (warning: hurts performance)]),
    22    [if test "$enableval" == "yes"; then
    23      AC_DEFINE(ENABLE_WATCH, 1, [Enable watchpoints])
    24    fi] )
    25 AC_ARG_WITH( osmesa,
    26    AS_HELP_STRING( [--with-osmesa], [Build with the osmesa GL library (software rendering)]),
    27    [], [with_osmesa=no])
    30 dnl ----------- Check for mandatory dependencies --------------
    31 dnl Building on MAC?
    32 AC_CHECK_HEADER([Cocoa/Cocoa.h], [
    33    HAVE_COCOA='yes'
    34    APPLE_BUILD='yes'
    35    LIBS="$LIBS -framework AppKit"
    36    LIBS="$LIBS -Wl,-dylib_file,/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib -framework OpenGL"
    37    AC_DEFINE(HAVE_COCOA,[1],[Have Cocoa framework])
    38    AC_DEFINE(APPLE_BUILD,[1],[Building on an apple platform. Things are different...])
    39 ])
    40 AM_CONDITIONAL(GUI_CARBON, [test "$HAVE_COCOA" = 'yes'])
    42 dnl Check for libpng (required)
    43 PKG_CHECK_MODULES(LIBPNG, [libpng] )
    45 dnl Implied by libpng, but check explicitly just in case
    46 AC_CHECK_LIB(z, uncompress, [], [
    47     echo "Zlib (libz.so) could not be found, but is required."
    48     exit 1])
    51 dnl Check for GTK (currently compulsory)
    52 PKG_CHECK_MODULES(GTK, gtk+-2.0, [
    53     HAVE_GTK='yes'
    54     AC_DEFINE([HAVE_GTK],1,[Have GTK libraries])
    55 ])
    56 AM_CONDITIONAL(GUI_GTK, [test "$HAVE_GTK" = 'yes'])
    58 dnl Which GTK port do we have?
    59 LIBS="$LIBS $GTK_LIBS"
    60 AC_CHECK_FUNC(gdk_x11_display_get_xdisplay, [ 
    61    HAVE_GTK_X11='yes'
    62    AC_DEFINE([HAVE_GTK_X11],1,[Building with GTK+X11]) ], [])
    63 AC_CHECK_FUNC(gdk_quartz_window_get_nsview, [ 
    64    HAVE_GTK_OSX='yes'
    65    AC_DEFINE([HAVE_GTK_OSX],1,[Building with GTK+Cocoa]) ], [])
    67 dnl ------------------ Video driver support -------------------
    68 AS_IF([test "x$with_osmesa" != xno], [ 
    70 dnl User requested OSMesa (ie pure software rendering)
    71   AC_CHECK_LIB([OSMesa], [OSMesaCreateContext], [],
    72     [AC_MSG_FAILURE( [--with-osmesa was given, but OSMesa library could not be found])])
    73   AC_CHECK_HEADER([GL/osmesa.h], [],
    74     [AC_MSG_FAILURE( [--with-osmesa was given, but osmesa.h could not be found])])
    75   HAVE_OSMESA='yes'
    76   AC_DEFINE([HAVE_OSMESA],1,[Building with the OSMesa video driver]) ], [
    78 dnl Otherwise we want a real GL library (unless we're on darwin, in which case it's already
    79 dnl taken care of above).
    80    if test "x$APPLE_BUILD" != 'xyes'; then
    81       AC_CHECK_LIB(GL, glVertex3f, [], [
    82           AC_MSG_FAILURE( ["The OpenGL library (libGL.so) could not be found, but is required."])])
    83       AC_CHECK_HEADER([GL/gl.h], [], [
    84           AC_MSG_FAILURE( ["The OpenGL header files (eg GL/gl.h) could not be found, but are required."])])
    85    fi
    87 dnl Now work out how to get from the UI to GL - this is usually the painful part.
    88    if test "x$HAVE_GTK_X11" = "xyes"; then
    89       if test "x$APPLE_BUILD" = "xyes"; then
    90          LIBS="$LIBS -L/usr/X11/lib -lGL"
    91       fi
    92       AC_CHECK_FUNC(glXQueryVersion, [
    93          HAVE_GLX='yes'
    94          AC_DEFINE([HAVE_GLX], 1, [Have GLX support]) ] )
    95    elif test "x$HAVE_GTK_OSX" = "xyes"; then
    96       AC_CHECK_FUNC(NSOpenGLGetVersion, [
    97          HAVE_NSGL='yes'
    98          AC_DEFINE([HAVE_NSGL],1, [Have NSOpenGL support]) ] )
    99    fi
   101 ])
   104 dnl OK, now decide which video driver(s) we can build
   105 if test "x$HAVE_OSMESA" = "x" -a "x$HAVE_GLX" = "x" -a "x$HAVE_NSGL" = "x"; then
   106    echo "Warning: Building with no video support"
   107 fi
   109 AM_CONDITIONAL(VIDEO_OSMESA, [test "x$HAVE_OSMESA" = "xyes"])
   110 AM_CONDITIONAL(VIDEO_GLX, [test "x$HAVE_GLX" = "xyes"])
   111 AM_CONDITIONAL(VIDEO_NSGL, [test "x$HAVE_NSGL" = "xyes"])
   113 dnl Check for optional (but highly desireable) OpenGL features
   114 AC_CHECK_FUNC(glGenFramebuffersEXT, [ AC_DEFINE([HAVE_OPENGL_FBO],1,[Have EXT_framebuffer_object support]) ], [])
   115 AC_CHECK_FUNC(glCreateShader, [ AC_DEFINE([HAVE_OPENGL_SHADER],1,[Have 2.0 shader support]) ], [])
   116 AC_CHECK_FUNC(glCreateShaderObjectARB, [ AC_DEFINE([HAVE_OPENGL_SHADER_ARB],1,[Have ARB shader support]) ], [])
   119 dnl Check for a supported cpu target for translation purposes
   120 case $host_cpu in
   121     i386|i486|i586|i686)
   122 	SH4_TRANSLATOR="x86"
   123         AC_DEFINE_UNQUOTED(SH4_TRANSLATOR,[TARGET_X86], [SH4 Translator to use (if any)] );;
   124     x86_64)
   125 	SH4_TRANSLATOR="x86_64"
   126         AC_DEFINE_UNQUOTED(SH4_TRANSLATOR,[TARGET_X86_64], [SH4 Translator to use (if any)] );;
   127     *)
   128 	echo "Warning: No translator available for $host. Building emulation core only";;
   129 esac
   130 AM_CONDITIONAL(BUILD_SH4X86, [test "$SH4_TRANSLATOR" = "x86" -o "$SH4_TRANSLATOR" = "x86_64"])
   131 AM_CONDITIONAL(BUILD_X86_64, [test "$SH4_TRANSLATOR" = "x86_64"])
   133 dnl ------------------ Optional driver support -------------------
   134 dnl Check for pulseaudio
   135 PKG_CHECK_MODULES(PULSE, [libpulse-simple], [
   136      HAVE_PULSE='yes'
   137      AC_DEFINE([HAVE_PULSE],1,[Have pulseaudio support]) ], [true])
   138 AM_CONDITIONAL( AUDIO_PULSE, [test "$HAVE_PULSE" = 'yes'] )
   140 dnl Check for esound
   141 PKG_CHECK_MODULES(ESOUND, [esound], [ 
   142      HAVE_ESOUND='yes'
   143      AC_DEFINE([HAVE_ESOUND],1,[Have esound support]) ], [true])
   144 AM_CONDITIONAL( AUDIO_ESOUND, [test "$HAVE_ESOUND" = 'yes'] )
   146 dnl Check for alsa support
   147 PKG_CHECK_MODULES(ALSA, [alsa], [ 
   148      HAVE_ALSA='yes'
   149      AC_DEFINE([HAVE_ALSA],1,[Have alsa support]) ], [true])
   150 AM_CONDITIONAL( AUDIO_ALSA, [test "$HAVE_ALSA" = 'yes'] )
   152 if test "x$HAVE_ESOUND" = "x" -a "x$HAVE_ALSA" = "x" -a "x$HAVE_PULSE" = "x"; then
   153    echo "Warning: Building without audio support"
   154 fi
   156 dnl Check for linux cdrom device support
   157 AC_CHECK_HEADER([linux/cdrom.h], [HAVE_LINUX_CDROM_H=yes], [
   158     echo "Linux CDROM support not found, building without it."]  )
   159 AM_CONDITIONAL(CDROM_LINUX, [test "$HAVE_LINUX_CDROM_H" = "yes"])
   161 AC_CHECK_HEADER([linux/joystick.h], [
   162     HAVE_LINUX_JOYSTICK_H=yes
   163     AC_DEFINE([HAVE_LINUX_JOYSTICK], 1, [Have linux joystick support]) ], 
   164   [ echo "Linux Joystick support not found, building without it."] )
   165 AM_CONDITIONAL(JOY_LINUX, [test "$HAVE_LINUX_JOYSTICK_H" = "yes"])
   167 dnl Check for cross-compiler availability - needed for system tests
   168 AC_PATH_PROG(SHCC, [sh-elf-gcc])
   169 AC_PATH_PROG(SHLD, [sh-elf-ld])
   170 AC_PATH_PROG(SHOBJCOPY, [sh-elf-objcopy])
   171 AC_PATH_PROG(ARMCC, [arm-elf-gcc])
   172 AC_PATH_PROG(ARMLD, [arm-elf-ld])
   173 AC_PATH_PROG(ARMOBJCOPY, [arm-elf-objcopy])
   175 if test "x$SHCC" = "x" -o "x$SHLD" = "x" -o "x$SHOBJCOPY" = "x"; then
   176   BUILD_SH="no"
   177   echo "Warning: SH4 cross-compiler not found, system tests will be disabled."
   178 else
   179   BUILD_SH="yes"
   180 fi
   181 if test "x$ARMCC" = "x" -o "x$ARMLD" = "x" -o "x$ARMOBJCOPY" = "x"; then
   182   BUILD_ARM="no"
   183   echo "Warning: ARM cross-compiler not found, AICA tests will be disabled."
   184 else
   185   BUILD_ARM="yes"
   186 fi
   187 AM_CONDITIONAL(BUILD_SYSTEST, [test "$BUILD_SH" = "yes"])
   188 AM_CONDITIONAL(BUILD_ARMTEST, [test "$BUILD_ARM" = "yes"])
   191 dnl ----------------------- All done, finish up -----------------------
   192 GETTEXT_PACKAGE=lxdream
   193 AC_SUBST(GETTEXT_PACKAGE)
   194 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[translation domain])
   196 dnl Add the languages which your application supports here.
   197 ALL_LINGUAS="de pt_BR"
   198 AM_GLIB_GNU_GETTEXT
   200 AC_OUTPUT([
   201 Makefile
   202 src/Makefile
   203 po/Makefile.in
   204 test/Makefile
   205 ])
.