dnl Process this file with autoconf to produce a configure script. AC_INIT(init.asm) AC_CONFIG_HEADER(config.h) ISODATE=`date +%Y-%m-%d` AC_SUBST(ISODATE) VERSION=pre1.43 AC_SUBST(VERSION) X8664="false" AC_SUBST(X8664) AC_ARG_WITH(nasm-prefix,[ --with-nasm-prefix=PFX Prefix where nasm is installed (optional)], nasm_prefix="$withval", nasm_prefix="") dnl -- Where is our compiler, and who are we compiling for? CFLAGS="$CFLAGS -pipe -I. -I/usr/local/include -I/usr/include" dnl -- You might wanna change -I/usr/include if you're trying to do this with dnl Mingw, because it doesnt have a standard file tree. Maybe if ming do this dnl else do -I/usr/include. Or some shit. You figure it out. LDFLAGS="$LDFLAGS -L/usr/local/lib -L/usr/lib" dnl -- Same thing here. AC_CANONICAL_SYSTEM AC_PROG_CC AC_PROG_CXX AC_CHECK_TOOL(NASMPATH,nasm,"no",$nasm_prefix:$PATH) if test x$NASMPATH = xno; then AC_MSG_ERROR(You need NASM installed to compile ZSNES) fi NFLAGS="$NFLAGS -w-orphan-labels" AC_PROG_INSTALL case "$target" in *-*-linux*) CFLAGS="$CFLAGS -D__UNIXSDL__" NFLAGS="$NFLAGS -D__UNIXSDL__ -f elf -DELF" ;; *-*-beos*) CFLAGS="$CFLAGS -D__UNIXSDL__ -D__BEOS__" NFLAGS="$NFLAGS -D__UNIXSDL__ -D__BEOS__ -f elf -DELF" ;; *-*-*bsd*) CFLAGS="$CFLAGS -D__UNIXSDL__ -D__BSDSDL__" NFLAGS="$NFLAGS -D__UNIXSDL__ -D__BSDSDL__ -DELF -f elf" ;; *-*-cygwin* | *-*-*ming*) CFLAGS="$CFLAGS -D__UNIXSDL__" NFLAGS="$NFLAGS -D__UNIXSDL__ -f win32" ;; *) AC_MSG_ERROR(This target is not supported) ;; esac dnl Checks for libraries. dnl -- Where is libSDL and zlib, and do we want/have libPNG and OpenGL support? AM_PATH_SDL(1.2.0,,[AC_MSG_ERROR(SDL >= 1.2.0 is required)]) AM_PATH_ZLIB(1.1.0,,[AC_MSG_ERROR(ZLIB >= 1.1.0 is required)]) CFLAGS="$CFLAGS $ZLIB_CFLAGS" LDFLAGS="$LDFLAGS $ZLIB_LIBS" AM_PATH_LIBPNG(1.2.0,,) CFLAGS="$CFLAGS $SDL_CFLAGS" LDFLAGS="$LDFLAGS $SDL_LIBS" if test x$with_libpng != xyes; then CFLAGS="$CFLAGS -DNO_PNG" NFLAGS="$NFLAGS -DNO_PNG" else CFLAGS="$CFLAGS $LIBPNG_CFLAGS" LDFLAGS="$LDFLAGS $LIBPNG_LIBS" fi dnl -- opengl stuff AC_ARG_ENABLE(opengl,[ --disable-opengl Build without opengl support],,enable_opengl=yes) AC_ARG_WITH(opengl-prefix,[ --with-opengl-prefix=PFX Prefix where opengl is installed (optional)], opengl_prefix="$withval", opengl_prefix="") if test x$enable_opengl != xno; then AC_PATH_X if test x$opengl_prefix != x; then CFLAGS="$CFLAGS -I$opengl_prefix/include" LDFLAGS-"$LDFLAGS -L$opengl_prefix/lib" fi if test x$x_libraries != x; then LDFLAGS="$LDFLAGS -L$x_libraries" fi AC_CHECK_LIB(GL, glGetError,found_opengl="yes",,) fi AC_MSG_CHECKING(for OpenGL) if test x$enable_opengl != xno; then if test x$found_opengl = xyes; then AC_MSG_RESULT(yes) LDFLAGS="$LDFLAGS -lGL" CFLAGS="$CFLAGS -D__OPENGL__" NFLAGS="$NFLAGS -D__OPENGL__" GL_DRAW="\${WINDIR}/gl_draw.o" else AC_MSG_RESULT(no) fi else AC_MSG_RESULT(disabled by user) fi dnl -- dnl -- Various debug and optimization option checks AC_ARG_ENABLE(debug, [ --enable-debug Build GDB friendly binary (zsnesd) ],debug=$enableval) AC_MSG_CHECKING(if you want gdb friendly executable) if test x$debug = xyes; then AC_MSG_RESULT(yes) dnl It is easier to debug zsnes with no optimization enabled. CFLAGS="$CFLAGS -Wall -W -DDEBUG -O0 -fno-omit-frame-pointer -gstabs3" NFLAGS="$NFLAGS -DDEBUG -g -F stabs -s -O0" ZSNESEXE="zsnesd" else AC_MSG_RESULT(no) ZSNESEXE="zsnes" AC_ARG_ENABLE(release, [ --enable-release Build ultra-optimized binary (zsnes) ],release=$enableval) AC_MSG_CHECKING(if you want crazy optimizations) if test x$release = xyes; then AC_MSG_RESULT(yes) CFLAGS="$CFLAGS -O3 -fomit-frame-pointer -fprefetch-loop-arrays -fforce-addr -s" NFLAGS="$NFLAGS -O99999999" else AC_MSG_RESULT(no) CFLAGS="$CFLAGS -O3 -fomit-frame-pointer -s" NFLAGS="$NFLAGS -O1" fi CFLAGSBAK="$CFLAGS" CFLAGS="$CFLAGS -m32" dnl 64 bit cpus must use that for the arch detector AM_ARCH_DETECT() CFLAGS="$CFLAGSBAK" AC_MSG_CHECKING(which cpu architecture to optimize for) if test x$ARCH_INFO = x ; then case "$target" in x86_64-*-* | x86_64-*-*-*) AC_MSG_RESULT(guessing x86-64) CFLAGS="$CFLAGS -march=x86-64" X8664="true" ;; i686-*-*) AC_MSG_RESULT(guessing i686) CFLAGS="$CFLAGS -march=i686" ;; i586-*-*) AC_MSG_RESULT(guessing i586) CFLAGS="$CFLAGS -march=i586" ;; i486-*-*) AC_MSG_RESULT(guessing i486) CFLAGS="$CFLAGS -march=i486" ;; *) AC_MSG_RESULT(guessing i386) CFLAGS="$CFLAGS -march=i386" AC_MSG_WARN(*** This is probably not what you want *** use --target) ;; esac else AC_MSG_RESULT($ARCH_INFO) CFLAGS="$CFLAGS -march=$ARCH_INFO" fi fi CXXFLAGS="$CFLAGS -fno-rtti" PSRFLAGS="-D__UNIXSDL__" dnl Checks for header files. AC_HEADER_STDC AC_HEADER_MAJOR dnl Checks for library functions. AC_SUBST(ZSNESEXE) AC_SUBST(GL_DRAW) AC_SUBST(NFLAGS) AC_SUBST(NASMPATH) AC_SUBST(PSRFLAGS) AC_OUTPUT(Makefile) echo echo echo ZSNES v$VERSION echo echo "SDL support Version `$SDL_CONFIG --version`" echo "NASM support `nasm -v`" echo "ZLib support Version $ZLIB_VERSION" if test "$with_libpng" = "yes"; then echo "PNG support Yes, version $LIBPNG_VERSION" elif test "$enable_libpng" = "no"; then echo "PNG support Disabled by user" else echo "PNG support Disabled, library not found" fi if test "$found_opengl" = "yes"; then echo "OpenGL support Yes" elif test "$enable_opengl" = "no"; then echo "OpenGL support Disabled by user" else echo "OpenGL support Disabled, library not found" fi echo echo The binary will be installed in $prefix/bin echo case "$target" in *-*-*bsd*) echo Configure complete, now type \'gmake\' and pray. ;; *) echo Configure complete, now type \'make\' and pray. ;; esac echo