Search
lxdream.org :: lxdream/configure.in
lxdream 0.9.1
released Jun 29
Download Now
filename configure.in
changeset 687:6bdc2b7032ea
prev681:1755a126b109
next697:479b8c213f61
author nkeynes
date Sat Jun 14 11:54:15 2008 +0000 (11 years ago)
permissions -rw-r--r--
last change Change colour params to float
Convert background processing over to scene structure (fixes some depth issues as well)
Add color unclamp when supported
file annotate diff log raw
nkeynes@1
     1
dnl Process this file with autoconf to produce a configure script.
nkeynes@1
     2
nkeynes@1
     3
AC_INIT(configure.in)
nkeynes@503
     4
AM_INIT_AUTOMAKE(lxdream, 0.8.1)
nkeynes@1
     5
AM_MAINTAINER_MODE
nkeynes@1
     6
AM_CONFIG_HEADER(config.h)
nkeynes@1
     7
nkeynes@1
     8
AC_ISC_POSIX
nkeynes@1
     9
AC_PROG_CC
nkeynes@1
    10
AM_PROG_CC_STDC
nkeynes@586
    11
AM_PROG_AS
nkeynes@675
    12
AC_CHECK_SIZEOF([void *])
nkeynes@1
    13
AC_HEADER_STDC
nkeynes@521
    14
AC_CANONICAL_BUILD
nkeynes@521
    15
AC_CANONICAL_HOST
nkeynes@586
    16
AC_ARG_ENABLE( trace, 
nkeynes@586
    17
   AS_HELP_STRING( [--enable-trace], [Enable generation of IO traces (warning: hurts performance)]),
nkeynes@586
    18
   [if test "$enableval" == "yes"; then
nkeynes@586
    19
     AC_DEFINE(ENABLE_TRACE_IO, 1, [Enable IO tracing])
nkeynes@586
    20
    fi] )
nkeynes@586
    21
AC_ARG_ENABLE( watch,
nkeynes@586
    22
   AS_HELP_STRING( [--enable-watch], [Enable watchpoints in the debugger (warning: hurts performance)]),
nkeynes@586
    23
   [if test "$enableval" == "yes"; then
nkeynes@586
    24
     AC_DEFINE(ENABLE_WATCH, 1, [Enable watchpoints])
nkeynes@586
    25
   fi] )
nkeynes@671
    26
AC_ARG_ENABLE( sh4stats,
nkeynes@671
    27
   AS_HELP_STRING( [--enable-sh4stats], [Enable statistics on executed sh4 instructions]),
nkeynes@671
    28
   [if test "$enableval" == "yes"; then
nkeynes@671
    29
     AC_DEFINE(ENABLE_SH4STATS, 1, [Enable SH4 statistics])
nkeynes@671
    30
    fi] )
nkeynes@653
    31
AC_ARG_WITH( osmesa,
nkeynes@653
    32
   AS_HELP_STRING( [--with-osmesa], [Build with the osmesa GL library (software rendering)]),
nkeynes@653
    33
   [], [with_osmesa=no])
nkeynes@681
    34
AC_ARG_WITH( gtk,
nkeynes@681
    35
   AS_HELP_STRING( [--with-gtk], [Build with the GTK UI. Default on X11 systems]), [with_gtk=yes], [with_gtk=x11] )
nkeynes@653
    36
nkeynes@681
    37
dnl ------------ Check if we're building on Darwin --------------
nkeynes@660
    38
nkeynes@660
    39
dnl For starters, do we have a working objective-c compiler?
nkeynes@660
    40
lxdream_save_cppflags="$CPPFLAGS"
nkeynes@660
    41
CPPFLAGS="$CPPFLAGS -x objective-c"
nkeynes@660
    42
AC_TRY_COMPILE([@interface Foo @end],, [
nkeynes@660
    43
nkeynes@660
    44
   AC_CHECK_HEADER([Cocoa/Cocoa.h], [
nkeynes@660
    45
      HAVE_COCOA='yes'
nkeynes@660
    46
      APPLE_BUILD='yes'
nkeynes@660
    47
      LIBS="$LIBS -framework AppKit"
nkeynes@660
    48
      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"
nkeynes@660
    49
      AC_DEFINE(HAVE_COCOA,[1],[Have Cocoa framework])
nkeynes@660
    50
      AC_DEFINE(APPLE_BUILD,[1],[Building on an apple platform. Things are different...])
nkeynes@660
    51
   ])
nkeynes@660
    52
nkeynes@681
    53
   if test "x$with_gtk" = "xx11"; then
nkeynes@681
    54
      with_gtk=no
nkeynes@681
    55
   fi
nkeynes@681
    56
nkeynes@660
    57
], [CPPFLAGS="$lxdream_save_cppflags"] )
nkeynes@681
    58
AM_CONDITIONAL(GUI_COCOA, [test "$HAVE_COCOA" = 'yes' -a "$with_gtk" = "no"])
nkeynes@660
    59
nkeynes@537
    60
dnl ----------- Check for mandatory dependencies --------------
nkeynes@537
    61
dnl Check for libpng (required)
nkeynes@537
    62
PKG_CHECK_MODULES(LIBPNG, [libpng] )
nkeynes@529
    63
nkeynes@539
    64
dnl Implied by libpng, but check explicitly just in case
nkeynes@539
    65
AC_CHECK_LIB(z, uncompress, [], [
nkeynes@539
    66
    echo "Zlib (libz.so) could not be found, but is required."
nkeynes@539
    67
    exit 1])
nkeynes@539
    68
nkeynes@681
    69
if test "x$with_gtk" = "xno"; then
nkeynes@681
    70
   dnl Check for GLIB only
nkeynes@681
    71
   PKG_CHECK_MODULES(GLIB, glib-2.0)
nkeynes@681
    72
else
nkeynes@681
    73
   dnl Check for GTK
nkeynes@681
    74
   PKG_CHECK_MODULES(GTK, gtk+-2.0, [
nkeynes@681
    75
       HAVE_GTK='yes'
nkeynes@681
    76
       AC_DEFINE([HAVE_GTK],1,[Have GTK libraries])
nkeynes@681
    77
   ])
nkeynes@658
    78
nkeynes@681
    79
   dnl Which GTK port do we have?
nkeynes@681
    80
   LIBS="$LIBS $GTK_LIBS"
nkeynes@681
    81
   AC_CHECK_FUNC(gdk_x11_display_get_xdisplay, [ 
nkeynes@681
    82
      HAVE_GTK_X11='yes'
nkeynes@681
    83
      AC_DEFINE([HAVE_GTK_X11],1,[Building with GTK+X11]) ], [])
nkeynes@681
    84
   AC_CHECK_FUNC(gdk_quartz_window_get_nsview, [ 
nkeynes@681
    85
      HAVE_GTK_OSX='yes'
nkeynes@681
    86
      AC_DEFINE([HAVE_GTK_OSX],1,[Building with GTK+Cocoa]) ], [])
nkeynes@681
    87
fi
nkeynes@681
    88
nkeynes@658
    89
AM_CONDITIONAL(GUI_GTK, [test "$HAVE_GTK" = 'yes'])
nkeynes@658
    90
nkeynes@658
    91
dnl ------------------ Video driver support -------------------
nkeynes@658
    92
AS_IF([test "x$with_osmesa" != xno], [ 
nkeynes@658
    93
nkeynes@658
    94
dnl User requested OSMesa (ie pure software rendering)
nkeynes@658
    95
  AC_CHECK_LIB([OSMesa], [OSMesaCreateContext], [],
nkeynes@658
    96
    [AC_MSG_FAILURE( [--with-osmesa was given, but OSMesa library could not be found])])
nkeynes@658
    97
  AC_CHECK_HEADER([GL/osmesa.h], [],
nkeynes@658
    98
    [AC_MSG_FAILURE( [--with-osmesa was given, but osmesa.h could not be found])])
nkeynes@658
    99
  HAVE_OSMESA='yes'
nkeynes@658
   100
  AC_DEFINE([HAVE_OSMESA],1,[Building with the OSMesa video driver]) ], [
nkeynes@658
   101
nkeynes@658
   102
dnl Otherwise we want a real GL library (unless we're on darwin, in which case it's already
nkeynes@658
   103
dnl taken care of above).
nkeynes@658
   104
   if test "x$APPLE_BUILD" != 'xyes'; then
nkeynes@658
   105
      AC_CHECK_LIB(GL, glVertex3f, [], [
nkeynes@658
   106
          AC_MSG_FAILURE( ["The OpenGL library (libGL.so) could not be found, but is required."])])
nkeynes@658
   107
      AC_CHECK_HEADER([GL/gl.h], [], [
nkeynes@658
   108
          AC_MSG_FAILURE( ["The OpenGL header files (eg GL/gl.h) could not be found, but are required."])])
nkeynes@681
   109
   else
nkeynes@681
   110
      AC_CHECK_FUNC(NSOpenGLGetVersion, [
nkeynes@681
   111
         HAVE_NSGL='yes'
nkeynes@681
   112
         AC_DEFINE([HAVE_NSGL],1, [Have NSOpenGL support]) ] )
nkeynes@658
   113
   fi
nkeynes@658
   114
nkeynes@658
   115
dnl Now work out how to get from the UI to GL - this is usually the painful part.
nkeynes@658
   116
   if test "x$HAVE_GTK_X11" = "xyes"; then
nkeynes@658
   117
      if test "x$APPLE_BUILD" = "xyes"; then
nkeynes@658
   118
         LIBS="$LIBS -L/usr/X11/lib -lGL"
nkeynes@658
   119
      fi
nkeynes@658
   120
      AC_CHECK_FUNC(glXQueryVersion, [
nkeynes@658
   121
         HAVE_GLX='yes'
nkeynes@658
   122
         AC_DEFINE([HAVE_GLX], 1, [Have GLX support]) ] )
nkeynes@681
   123
dnl   elif test "x$HAVE_GTK_OSX" = "xyes"; then
nkeynes@658
   124
   fi
nkeynes@658
   125
      
nkeynes@658
   126
])
nkeynes@658
   127
nkeynes@658
   128
nkeynes@658
   129
dnl OK, now decide which video driver(s) we can build
nkeynes@658
   130
if test "x$HAVE_OSMESA" = "x" -a "x$HAVE_GLX" = "x" -a "x$HAVE_NSGL" = "x"; then
nkeynes@658
   131
   echo "Warning: Building with no video support"
nkeynes@653
   132
fi
nkeynes@537
   133
nkeynes@658
   134
AM_CONDITIONAL(VIDEO_OSMESA, [test "x$HAVE_OSMESA" = "xyes"])
nkeynes@658
   135
AM_CONDITIONAL(VIDEO_GLX, [test "x$HAVE_GLX" = "xyes"])
nkeynes@658
   136
AM_CONDITIONAL(VIDEO_NSGL, [test "x$HAVE_NSGL" = "xyes"])
nkeynes@658
   137
nkeynes@658
   138
dnl Check for optional (but highly desireable) OpenGL features
nkeynes@656
   139
AC_CHECK_FUNC(glGenFramebuffersEXT, [ AC_DEFINE([HAVE_OPENGL_FBO],1,[Have EXT_framebuffer_object support]) ], [])
nkeynes@656
   140
AC_CHECK_FUNC(glCreateShader, [ AC_DEFINE([HAVE_OPENGL_SHADER],1,[Have 2.0 shader support]) ], [])
nkeynes@656
   141
AC_CHECK_FUNC(glCreateShaderObjectARB, [ AC_DEFINE([HAVE_OPENGL_SHADER_ARB],1,[Have ARB shader support]) ], [])
nkeynes@687
   142
AC_CHECK_FUNC(glClampColorARB, [ AC_DEFINE([HAVE_OPENGL_CLAMP_COLOR],1,[Have Color Clamp]) ], [])
nkeynes@656
   143
nkeynes@521
   144
nkeynes@521
   145
dnl Check for a supported cpu target for translation purposes
nkeynes@521
   146
case $host_cpu in
nkeynes@675
   147
    i386|i486|i586|i686|x86_64)
nkeynes@526
   148
	SH4_TRANSLATOR="x86"
nkeynes@528
   149
        AC_DEFINE_UNQUOTED(SH4_TRANSLATOR,[TARGET_X86], [SH4 Translator to use (if any)] );;
nkeynes@521
   150
    *)
nkeynes@521
   151
	echo "Warning: No translator available for $host. Building emulation core only";;
nkeynes@521
   152
esac
nkeynes@526
   153
AM_CONDITIONAL(BUILD_SH4X86, [test "$SH4_TRANSLATOR" = "x86" -o "$SH4_TRANSLATOR" = "x86_64"])
nkeynes@586
   154
AM_CONDITIONAL(BUILD_X86_64, [test "$SH4_TRANSLATOR" = "x86_64"])
nkeynes@94
   155
nkeynes@537
   156
dnl ------------------ Optional driver support -------------------
nkeynes@657
   157
dnl Check for pulseaudio
nkeynes@657
   158
PKG_CHECK_MODULES(PULSE, [libpulse-simple], [
nkeynes@657
   159
     HAVE_PULSE='yes'
nkeynes@657
   160
     AC_DEFINE([HAVE_PULSE],1,[Have pulseaudio support]) ], [true])
nkeynes@657
   161
AM_CONDITIONAL( AUDIO_PULSE, [test "$HAVE_PULSE" = 'yes'] )
nkeynes@657
   162
nkeynes@537
   163
dnl Check for esound
nkeynes@537
   164
PKG_CHECK_MODULES(ESOUND, [esound], [ 
nkeynes@537
   165
     HAVE_ESOUND='yes'
nkeynes@657
   166
     AC_DEFINE([HAVE_ESOUND],1,[Have esound support]) ], [true])
nkeynes@537
   167
AM_CONDITIONAL( AUDIO_ESOUND, [test "$HAVE_ESOUND" = 'yes'] )
nkeynes@537
   168
bhaal22@643
   169
dnl Check for alsa support
bhaal22@643
   170
PKG_CHECK_MODULES(ALSA, [alsa], [ 
bhaal22@643
   171
     HAVE_ALSA='yes'
nkeynes@657
   172
     AC_DEFINE([HAVE_ALSA],1,[Have alsa support]) ], [true])
bhaal22@643
   173
AM_CONDITIONAL( AUDIO_ALSA, [test "$HAVE_ALSA" = 'yes'] )
bhaal22@643
   174
nkeynes@657
   175
if test "x$HAVE_ESOUND" = "x" -a "x$HAVE_ALSA" = "x" -a "x$HAVE_PULSE" = "x"; then
nkeynes@657
   176
   echo "Warning: Building without audio support"
nkeynes@657
   177
fi
nkeynes@657
   178
nkeynes@537
   179
dnl Check for linux cdrom device support
nkeynes@489
   180
AC_CHECK_HEADER([linux/cdrom.h], [HAVE_LINUX_CDROM_H=yes], [
nkeynes@489
   181
    echo "Linux CDROM support not found, building without it."]  )
nkeynes@489
   182
AM_CONDITIONAL(CDROM_LINUX, [test "$HAVE_LINUX_CDROM_H" = "yes"])
nkeynes@489
   183
nkeynes@614
   184
AC_CHECK_HEADER([linux/joystick.h], [
nkeynes@614
   185
    HAVE_LINUX_JOYSTICK_H=yes
nkeynes@614
   186
    AC_DEFINE([HAVE_LINUX_JOYSTICK], 1, [Have linux joystick support]) ], 
nkeynes@614
   187
  [ echo "Linux Joystick support not found, building without it."] )
nkeynes@614
   188
AM_CONDITIONAL(JOY_LINUX, [test "$HAVE_LINUX_JOYSTICK_H" = "yes"])
nkeynes@614
   189
nkeynes@537
   190
dnl Check for cross-compiler availability - needed for system tests
nkeynes@521
   191
AC_PATH_PROG(SHCC, [sh-elf-gcc])
nkeynes@521
   192
AC_PATH_PROG(SHLD, [sh-elf-ld])
nkeynes@521
   193
AC_PATH_PROG(SHOBJCOPY, [sh-elf-objcopy])
nkeynes@521
   194
AC_PATH_PROG(ARMCC, [arm-elf-gcc])
nkeynes@521
   195
AC_PATH_PROG(ARMLD, [arm-elf-ld])
nkeynes@521
   196
AC_PATH_PROG(ARMOBJCOPY, [arm-elf-objcopy])
nkeynes@521
   197
nkeynes@521
   198
if test "x$SHCC" = "x" -o "x$SHLD" = "x" -o "x$SHOBJCOPY" = "x"; then
nkeynes@521
   199
  BUILD_SH="no"
nkeynes@521
   200
  echo "Warning: SH4 cross-compiler not found, system tests will be disabled."
nkeynes@521
   201
else
nkeynes@521
   202
  BUILD_SH="yes"
nkeynes@521
   203
fi
nkeynes@521
   204
if test "x$ARMCC" = "x" -o "x$ARMLD" = "x" -o "x$ARMOBJCOPY" = "x"; then
nkeynes@521
   205
  BUILD_ARM="no"
nkeynes@521
   206
  echo "Warning: ARM cross-compiler not found, AICA tests will be disabled."
nkeynes@521
   207
else
nkeynes@521
   208
  BUILD_ARM="yes"
nkeynes@521
   209
fi
nkeynes@521
   210
AM_CONDITIONAL(BUILD_SYSTEST, [test "$BUILD_SH" = "yes"])
nkeynes@521
   211
AM_CONDITIONAL(BUILD_ARMTEST, [test "$BUILD_ARM" = "yes"])
nkeynes@521
   212
nkeynes@537
   213
nkeynes@537
   214
dnl ----------------------- All done, finish up -----------------------
nkeynes@503
   215
GETTEXT_PACKAGE=lxdream
nkeynes@1
   216
AC_SUBST(GETTEXT_PACKAGE)
nkeynes@529
   217
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[translation domain])
nkeynes@1
   218
nkeynes@1
   219
dnl Add the languages which your application supports here.
nkeynes@664
   220
ALL_LINGUAS="de es it pt_BR"
nkeynes@1
   221
AM_GLIB_GNU_GETTEXT
nkeynes@1
   222
nkeynes@1
   223
AC_OUTPUT([
nkeynes@1
   224
Makefile
nkeynes@1
   225
src/Makefile
nkeynes@1
   226
po/Makefile.in
nkeynes@521
   227
test/Makefile
nkeynes@1
   228
])
nkeynes@1
   229
.