configure.in
上传用户:center1979
上传日期:2022-07-26
资源大小:50633k
文件大小:16k
- dnl
- dnl Celestia autoconf file
- dnl Process this file with autoconf to make a configure script
- dnl
- AC_PREREQ(2.57)
- AC_INIT([celestia], [1.6.0], [celestia-developers@lists.sf.net])
- AC_CONFIG_SRCDIR(acinclude.m4)
- dnl The following section confirms that the user provided necessary option
- dnl BEFORE anything is checked.
- AC_ARG_WITH([glut],
- AC_HELP_STRING([--with-glut], [Use Glut for the UI]),
- ui_glut="yes"; ui_gtk="no"; ui_gnome="no"; ui_kde="no",
- ui_glut="no")
-
- AC_ARG_WITH([gtk],
- AC_HELP_STRING([--with-gtk], [Use Gtk for an enhanced GUI]),
- ui_gtk="yes"; ui_glut="no"; ui_gnome="no"; ui_kde="no",
- ui_gtk="no")
- AC_ARG_WITH([gnome],
- AC_HELP_STRING([--with-gnome], [Use Gnome for an enhanced GUI]),
- ui_gnome="yes"; ui_gtk="yes"; ui_glut="no"; ui_kde="no",
- ui_gnome="no")
- AC_ARG_WITH([kde],
- AC_HELP_STRING([--with-kde], [Use KDE for an enhanced GUI]),
- ui_kde="yes"; ui_glut="no"; ui_gtk="no"; ui_gnome="no",
- ui_kde="no")
- dnl Following line left in: great for debugging.
- dnl AC_MSG_ERROR([$ui_glut $ui_gtk $ui_gnome $ui_kde])
- dnl Check that an interface was provided
- if (test "$ui_glut" != "yes" -a "$ui_gtk" != "yes" -a "$ui_gnome" != "yes" -a "$ui_kde" != "yes"); then
- AC_MSG_ERROR([You must select an interface to build.
- Possible options are:
- --with-glut GLUT front-end
- --with-gtk Enhanced GTK GUI
- --with-gnome GTK GUI with Gnome features
- --with-kde Enhanced KDE GUI]);
- fi
- AC_ARG_ENABLE([cairo],
- AC_HELP_STRING([--enable-cairo],
- [use cairo for GTK splash screen]),
- enable_cairo="$enableval", enable_cairo="auto")
- AC_ARG_ENABLE([theora],
- AC_HELP_STRING([--enable-theora],
- [create Ogg/Theora video]),
- enable_theora="$enableval", enable_theora="auto")
- dnl For KDE interface
- AC_CONFIG_AUX_DIR(admin)
- dnl "admin/acinclude.m4.in" generates "acinclude.m4", which has a broken
- dnl conditional define for Qt embedded. This does not apply to Celestia
- dnl anyway.
- include_x11_FALSE='#'
- dnl This ksh/zsh feature conflicts with `cd blah ; pwd`
- unset CDPATH
- dnl Check system type
- AC_CANONICAL_HOST
- dnl Checking host/target/build systems, for make, install etc.
- AC_CANONICAL_SYSTEM
- dnl Perform program name transformation
- AC_ARG_PROGRAM
- AM_INIT_AUTOMAKE([-Wno-portability])
- AM_CONFIG_HEADER(config.h)
- AM_PO_SUBDIRS
- dnl Specifying the AM_GNU_GETTEXT_VERSION macro causes autopoint to run,
- dnl replacing many files from the KDE project in the admin/ directory. We
- dnl will leave it out for now.
- dnl AM_GNU_GETTEXT_VERSION([0.15])
- AM_GNU_GETTEXT([external])
- dnl Check for compilers. Set CFLAGS and CXXFLAGS to null if unset, so
- dnl that these macros won't set the to default values that we don't want.
- if (test "x${CFLAGS-notset}" = "xnotset"); then
- export CFLAGS
- CFLAGS=""
- fi
- AC_PROG_CC
- if (test "x${CXXFLAGS-notset}" = "xnotset"); then
- export CXXFLAGS
- CXXFLAGS=""
- fi
- AC_PROG_CXX
- dnl Checks for programs.
- AC_PROG_CPP
- AC_PROG_CXXCPP
- AC_PROG_INSTALL
- AC_LIBTOOL_DLOPEN
- AC_PROG_LIBTOOL
- dnl AC_PROG_RANLIB
- dnl
- dnl Compilation options
- dnl
- CELESTIA_CPPFLAGS=""
- CELESTIA_CFLAGS="-O2 -Wall -ffast-math -fexpensive-optimizations"
- CELESTIA_CXXFLAGS="-O2 -Wall -ffast-math -fexpensive-optimizations"
- AC_MSG_CHECKING([whether to include debugging code])
- AC_ARG_ENABLE([debug],
- AC_HELP_STRING([--enable-debug],
- [Produce an executable with debugging symbols]), ,
- enable_debug="no")
- if (test "$enable_debug" = "yes"); then
- CELESTIA_CFLAGS="-g -Wall";
- CELESTIA_CXXFLAGS="-g -Wall"
- AC_DEFINE(DEBUG, 1, [Are we debugging ?])
- fi
- AC_MSG_RESULT($enable_debug)
- AC_MSG_CHECKING([whether to be pedantic])
- AC_ARG_ENABLE([pedantic],
- AC_HELP_STRING([--enable-pedantic],
- [Enable -pedantic when compiling]), ,
- enable_pedantic="no")
- if (test "$enable_pedantic" = "yes"); then
- CELESTIA_CFLAGS="$CELESTIA_CFLAGS -ansi -pedantic";
- CELESTIA_CXXFLAGS="$CELESTIA_CXXFLAGS -pedantic"
- fi
- AC_MSG_RESULT($enable_pedantic)
- AC_MSG_CHECKING([whether to do profiling])
- AC_ARG_ENABLE([profile],
- AC_HELP_STRING([--enable-profile],
- [Produce a profiled executable[default=no]]), ,
- enable_profile="no")
- if (test "$enable_profile" = "yes"); then
- CELESTIA_CFLAGS="$CELESTIA_CFLAGS -pg";
- CELESTIA_CXXFLAGS="$CELESTIA_CXXFLAGS -pg"
- else
- if (test "$enable_debug" != "yes"); then
- dnl must be set here instead of above because -pg and
- dnl -fomit-frame-pointer are incompatible
- CELESTIA_CFLAGS="$CELESTIA_CFLAGS -fomit-frame-pointer";
- CELESTIA_CXXFLAGS="$CELESTIA_CXXFLAGS -fomit-frame-pointer"
- fi
- fi
- AC_MSG_RESULT($enable_profile)
- dnl
- dnl GL and GLUT libs
- dnl
- AC_ARG_WITH([gl-libs],
- AC_HELP_STRING([--with-gl-libs=DIR],
- [Specify OpenGL library location]),
- CELESTIALIBS="$CELESTIALIBS -L$withval")
- AC_ARG_WITH([gl-inc],
- AC_HELP_STRING([--with-gl-inc=DIR],
- [Specify OpenGL header file location]),
- CELESTIAFLAGS="$CELESTIAFLAGS -I$withval")
- AC_ARG_WITH([glut-libs],
- AC_HELP_STRING([--with-glut-libs=DIR],
- [Specify GLUT library location]),
- CELESTIALIBS="$CELESTIALIBS -L$withval")
- AC_ARG_WITH([glut-inc],
- AC_HELP_STRING([--with-glut-inc=DIR],
- [Specify GLUT header file location]),
- CELESTIAFLAGS="$CELESTIAFLAGS -I$withval")
- dnl
- dnl SPICE lib
- dnl
- AC_ARG_WITH([cspice-dir],
- AC_HELP_STRING([--with-cspice-dir=DIR], [Specify SPICE directory location]),
- CELESTIAFLAGS="$CELESTIAFLAGS -I$withval/include -DUSE_SPICE";
- SPICELIB="$withval/lib/cspice.a")
- AC_SUBST(SPICELIB)
- AM_CONDITIONAL(ENABLE_SPICE, test "$SPICELIB" != "")
- LIBS="$LIBS -lm"
- dnl Use Gtk if requested
- GTK_LIBS=""
- GTKGL_LIBS=""
- GTK_CFLAGS=""
- AC_MSG_CHECKING([whether to enable GLUT])
- if (test "$ui_glut" != "no"); then
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
- fi
- AC_MSG_CHECKING([whether to enable GTK])
- if (test "$ui_gtk" != "no"); then
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
- fi
- AC_MSG_CHECKING([whether to enable Gnome])
- if (test "$ui_gnome" != "no"); then
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
- fi
- AC_MSG_CHECKING([whether to enable KDE])
- if (test "$ui_kde" != "no"); then
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
- fi
- AC_CHECK_COMPILERS
- AC_PATH_XTRA
- CFLAGS="$CFLAGS $X_CFLAGS"
- CFLAGS="$CFLAGS $CELESTIAFLAGS $CELESTIA_CFLAGS"
- CXXFLAGS="$CXXFLAGS $CELESTIAFLAGS $CELESTIA_CXXFLAGS"
- LIBS="$LIBS $CELESTIALIBS"
- LIBS="$X_PRE_LIBS $LIBS $X_LIBS -lXmu -lXi -lXext -lX11 -lm -lz $X_EXTRA_LIBS"
- dnl Check for zlib -- libGL requires it.
- AC_CHECK_LIB(z, deflate, ,
- [AC_MSG_ERROR([zlib not found.])])
- dnl Check for OpenGL headers first.
- AC_CHECK_HEADERS(GL/gl.h, ,
- [AC_MSG_ERROR([No gl.h found. See INSTALL file for help.])])
- LIBS="$LIBS -lGL"
- dnl Check for OpenGL. Taken partly from the plib sources.
- AC_CHECK_LIB(GL, glNewList)
- if (test "x$ac_cv_lib_GL_glNewList" = "xno"); then
- dnl Check for MesaGL.
- AC_CHECK_LIB(MesaGL, glNewList, ,
- [AC_MSG_ERROR([GL library was not found])])
- fi
- dnl Check for GLU headers.
- AC_CHECK_HEADERS(GL/glu.h, ,
- [AC_MSG_ERROR([No glu.h found. See INSTALL file for help.])])
- AC_CHECK_LIB(GLU, gluLookAt)
- if (test "x$ac_cv_lib_GLU_gluLookAt" = "xno"); then
- dnl Check for MesaGLU.
- AC_CHECK_LIB(MesaGLU, gluLookAt, ,
- [AC_MSG_ERROR([GLU library was not found])])
- fi
- PKG_PROG_PKG_CONFIG
- if (test "$ui_glut" = "yes"); then
- dnl Check for GLUT headers first.
- AC_CHECK_HEADERS(GL/glut.h, ,
- [AC_MSG_ERROR([No glut.h found. See INSTALL file for help.])])
- dnl Check for GLUT.
- AC_CHECK_LIB(glut, glutKeyboardUpFunc, ,
- [AC_MSG_ERROR([GLUT library version >= 3.7 not found])])
- fi
- AM_CONDITIONAL(ENABLE_GLUT, test "$ui_glut" = "yes")
- dnl Default GConf to FALSE
- dnl (this is a silly trick to make configure behave)
- AM_CONDITIONAL(GCONF_SCHEMAS_INSTALL, test "x" = "y")
- if (test "$ui_gtk" != "no"); then
- dnl GNOME is an extension to the GTK options
- if (test "$ui_gnome" = "yes"); then
- PKG_CHECK_MODULES(GTK, libgnomeui-2.0 gtk+-2.0 >= 2.6 gtkglext-1.0)
- AM_GCONF_SOURCE_2
- AC_DEFINE(GNOME, 1, [Use Gnome Flag])
- else
- dnl Otherwise, vanilla GTK
- PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.6 gtkglext-1.0)
- fi
- dnl Check for cairo. Default to trying yes. Want this structure to not
- dnl fail when not found if not explicitly enabled.
- if (test "x$enable_cairo" != "xno"); then
- PKG_CHECK_MODULES(CAIRO, cairo, enable_cairo="yes",
- if (test "x$enable_cairo" = "xauto"); then
- enable_cairo="no"
- else
- AC_ERROR([Cairo not found (explicitly enabled)!])
- fi)
- fi
- check_theora="yes"
- if (test "x$enable_cairo" = "xyes"); then
- AC_DEFINE(CAIRO, 1, [Use Cairo for Splash])
- fi
-
- CFLAGS="$CFLAGS $GTK_CFLAGS $CAIRO_CFLAGS"
- CXXFLAGS="$CXXFLAGS $GTK_CFLAGS $CAIRO_CFLAGS"
- LIBS="$LIBS $GTK_LIBS $CAIRO_LIBS"
- fi
- dnl If all the GTK tests succeeded, safe to enable GTK
- AM_CONDITIONAL(ENABLE_GTK, test "$ui_gtk" = "yes")
- AM_CONDITIONAL(ENABLE_GNOME, test "$ui_gnome" = "yes")
- dnl
- dnl KDE
- dnl
- dnl Make certain ARTS is not conditionally defined, like GConf for Gnome
- AM_CONDITIONAL(include_ARTS, test "x" = "y")
- if (test "$ui_kde" != "no"); then
- dnl KDE_SET_PREFIX
- AC_ENABLE_SHARED(yes)
- AC_ENABLE_STATIC(no)
- KDE_PROG_LIBTOOL
- AM_KDE_WITH_NLS
- dnl KDE_USE_QT(3)
- AC_PATH_KDE
- check_theora="yes"
- fi
- AM_CONDITIONAL(ENABLE_KDE, test "$ui_kde" = "yes")
- if (test "$check_theora" = "yes"); then
- dnl Check for theora. Default to trying yes. Want this structure to not
- dnl fail when not found if not explicitly enabled.
- if (test "x$enable_theora" != "xno"); then
- PKG_CHECK_MODULES(THEORA, theora, enable_theora="yes",
- if (test "x$enable_theora" = "xauto"); then
- enable_theora="no"
- else
- AC_ERROR([Theora not found (explicitly enabled)!])
- fi)
- fi
- if (test "x$enable_theora" = "xyes"); then
- AC_DEFINE(THEORA, 1, [Use OGG Theora for video])
- CFLAGS="$CFLAGS $THEORA_CFLAGS"
- CXXFLAGS="$CXXFLAGS $THEORA_CFLAGS"
- LIBS="$LIBS $THEORA_LIBS"
- fi
- fi
- AM_CONDITIONAL(ENABLE_THEORA, test "$enable_theora" = "yes")
- dnl Check for JPEG library.
- AC_CHECK_LIB(jpeg, jpeg_start_decompress, ,
- [AC_MSG_ERROR([jpeg library not found])])
- dnl Check for PNG library.
- AC_CHECK_LIB(png, png_create_info_struct,,
- [AC_MSG_ERROR([png library not found])])
- dnl Checks for header files.
- AC_HEADER_STDC
- AC_CHECK_HEADERS(byteswap.h)
- AC_C_BIGENDIAN
- dnl Establish the main data directory (defined in Makefiles)
- PKGDATADIR='${datadir}'/$PACKAGE
- AC_SUBST(PKGDATADIR)
- enable_hipparcos="no"
- AC_ARG_ENABLE([hipparcos-dir],
- AC_HELP_STRING([--enable-hipparcos-dir=DIR],
- [Specify location of HIPPARCOS/TYCHO stardata]),
- HIPDIR="$enableval",HIPDIR="$PKGDATADIR")
- AC_SUBST(HIPDIR)
- AC_MSG_CHECKING([whether we can create a new star database])
- if (test -f "$HIPDIR/hip_main.dat"); then
- enable_hipparcos="yes"
- fi
- AC_MSG_RESULT($enable_hipparcos)
- AM_CONDITIONAL(ENABLE_HIPPARCOS, test "x$enable_hipparcos" = "xyes")
- AC_ARG_WITH([lua],
- AC_HELP_STRING([--with-lua],
- [Use Lua for Celestia Extension Language support]),
- enable_lua="$withval",
- enable_lua="auto")
- if (test "$enable_lua" != "no"); then
- LUA_VER=0
- PKG_CHECK_MODULES(LUA, lua5.1 >= 5.1.0, LUA_VER=0x050100,
- [ PKG_CHECK_MODULES(LUA, lua >= 5.1.0, LUA_VER=0x050100,
- [ PKG_CHECK_MODULES(LUA, lua50 >= 5.0.0 lua50 < 5.1.0, LUA_VER=0x050000,
- [ PKG_CHECK_MODULES(LUA, lua >= 5.0.0 lua < 5.1.0, LUA_VER=0x050000, AC_MSG_RESULT([no])) ]
- ) ]
- ) ]
- )
- if (test "$LUA_VER" = "0x050000"); then
- PKG_CHECK_MODULES(LUALIB, lualib50 >= 5.0.0 lualib50 < 5.1.0, ,
- [ PKG_CHECK_MODULES(LUALIB, lualib >= 5.0.0 lualib < 5.1.0, , AC_MSG_RESULT([no])) ]
- )
- fi
- if (test "$LUA_VER" = "0"); then
- if (test "x$enable_lua" != "xauto"); then
- AC_ERROR([Lua not found (explicitly enabled)!])
- else
- enable_lua="no"
- fi
- else
- enable_lua="yes"
- fi
- fi
- if (test "$enable_lua" = "yes"); then
- CXXFLAGS="$CXXFLAGS $LUA_CFLAGS $LUALIB_CFLAGS -DLUA_VER=$LUA_VER -DCELX"
- LIBS="$LIBS $LUA_LIBS $LUALIB_LIBS"
- fi
- AM_CONDITIONAL(ENABLE_CELX, test "$enable_lua" != "no")
- AC_CONFIG_FILES([ Makefile ])
- AC_CONFIG_FILES([ src/Makefile ])
- AC_CONFIG_FILES([ src/celutil/Makefile ])
- AC_CONFIG_FILES([ src/celmath/Makefile ])
- AC_CONFIG_FILES([ src/cel3ds/Makefile ])
- AC_CONFIG_FILES([ src/celtxf/Makefile ])
- AC_CONFIG_FILES([ src/celengine/Makefile ])
- AC_CONFIG_FILES([ src/celestia/Makefile ])
- AC_CONFIG_FILES([ data/Makefile ])
- AC_CONFIG_FILES([ extras/Makefile ])
- AC_CONFIG_FILES([ extras-standard/Makefile ])
- AC_CONFIG_FILES([ extras-standard/cassini/Makefile ])
- AC_CONFIG_FILES([ extras-standard/cassini/models/Makefile ])
- AC_CONFIG_FILES([ extras-standard/cassini/data/Makefile ])
- AC_CONFIG_FILES([ extras-standard/mir/Makefile ])
- AC_CONFIG_FILES([ extras-standard/mir/models/Makefile ])
- AC_CONFIG_FILES([ extras-standard/galileo/Makefile ])
- AC_CONFIG_FILES([ extras-standard/galileo/models/Makefile ])
- AC_CONFIG_FILES([ extras-standard/hubble/Makefile ])
- AC_CONFIG_FILES([ extras-standard/hubble/models/Makefile ])
- AC_CONFIG_FILES([ extras-standard/iss/Makefile ])
- AC_CONFIG_FILES([ extras-standard/iss/models/Makefile ])
- AC_CONFIG_FILES([ extras-standard/iss/textures/Makefile ])
- AC_CONFIG_FILES([ extras-standard/iss/textures/medres/Makefile ])
- AC_CONFIG_FILES([ textures/Makefile ])
- AC_CONFIG_FILES([ textures/lores/Makefile ])
- AC_CONFIG_FILES([ textures/medres/Makefile ])
- AC_CONFIG_FILES([ textures/hires/Makefile ])
- AC_CONFIG_FILES([ models/Makefile ])
- AC_CONFIG_FILES([ shaders/Makefile ])
- AC_CONFIG_FILES([ fonts/Makefile ])
- AC_CONFIG_FILES([ src/celestia/res/Makefile ])
- AC_CONFIG_FILES([ src/celestia/kde/Makefile ])
- AC_CONFIG_FILES([ src/celestia/kde/data/Makefile ])
- AC_CONFIG_FILES([ src/celestia/kde/doc/Makefile ])
- AC_CONFIG_FILES([ src/celestia/kde/doc/celestia/Makefile ])
- AC_CONFIG_FILES([ src/celestia/gtk/Makefile ])
- AC_CONFIG_FILES([ src/celestia/gtk/data/Makefile ])
- AC_CONFIG_FILES([ po/Makefile.in ])
- AC_CONFIG_FILES([ po2/Makefile.in ])
- AC_CONFIG_FILES([ locale/Makefile ])
- AC_CONFIG_FILES([ scripts/Makefile ])
- AC_OUTPUT()
- AC_MSG_RESULT()
- AC_MSG_RESULT()
- AC_MSG_RESULT(***************************************************************)
- AC_MSG_RESULT(** Celestia configuration complete. Now do a 'make' followed **)
- AC_MSG_RESULT(** by 'make install' **)
- AC_MSG_RESULT(***************************************************************)
- AC_MSG_RESULT()
- if (test "$ui_glut" = "yes"); then
- AC_MSG_RESULT([Front-End: GLUT]);
- fi
- if (test "$ui_gtk" = "yes" -a "$ui_gnome" = "no"); then
- AC_MSG_RESULT([Front-End: GTK]);
- fi
- if (test "$ui_gnome" = "yes"); then
- AC_MSG_RESULT([Front-End: Gnome]);
- fi
- if (test "$ui_kde" = "yes"); then
- AC_MSG_RESULT([Front-End: KDE]);
- fi
- if (test "$ui_gtk" = "yes" -o "$ui_gnome" = "yes"); then
- AC_MSG_RESULT([Use Cairo: $enable_cairo]);
- fi
- AC_MSG_RESULT([Use Lua: $enable_lua]);
- if (test "$LUA_VER" = "0x050000"); then
- AC_MSG_RESULT([ Warning: Lua 5.1 is not available on your system, Lua 5.0 will be used
- instead but it may not be fully compatible with existing CELX scripts.
- It is recommanded that you install Lua 5.0 and rerun configure.]);
- fi
- AC_MSG_RESULT([Use Theora: $enable_theora]);
- AC_MSG_RESULT()