dnl Process this file with autoconf to produce a configure script. AC_INIT(src/js/js.h) # **WARNING**WARNING**WARNING**WARNING**WARNING**WARNING** # # When you make a new release, there are TWO places where you # have to change the version number: # 1) Right below this comment. # 2) In 'ul.h' where PLIB_VERSION is created. # # **WARNING**WARNING**WARNING**WARNING**WARNING**WARNING** AM_INIT_AUTOMAKE(plib, 1.8.5) # This AC_PREFIX_DEFAULT will place the library files # into /usr/lib - but will put the include files into # /usr/include - when /usr/include/plib would be less # polluting to the filename space. # # There is probably a better way to do this. AC_PREFIX_DEFAULT(/usr) if echo $includedir | egrep "plib$" > /dev/null; then echo "includedir is" $includedir "libdir is" $libdir else includedir="${includedir}/plib" echo "includedir changed to" $includedir "libdir is" $libdir fi dnl Checks for programs. AC_PROG_CC AC_PROG_CPP AC_PROG_CXX AC_PROG_CXXCPP AC_PROG_INSTALL AC_PROG_RANLIB dnl Command line arguments dnl Don't use AC_HELP_STRING here as old versions of autoconf do not dnl understand it. AC_ARG_WITH(GL, [ --with-GL=DIR set the prefix directory where GL resides], GL_PREFIX=$withval, GL_PREFIX=auto) AC_ARG_ENABLE(fnt, [ --enable-fnt build FNT library (OpenGL needed) default: yes],, enable_fnt=yes) AC_ARG_ENABLE(js, [ --enable-js build JS library default: yes],, enable_js=yes) AC_ARG_ENABLE(pw, [ --enable-pw build PW library default: yes],, enable_pw=yes) AC_ARG_ENABLE(net, [ --enable-net build NET library default: yes],, enable_net=yes) AC_ARG_ENABLE(pui, [ --enable-pui build PUI library (OpenGL needed) default: yes],, enable_pui=yes) AC_ARG_ENABLE(sg, [ --enable-sg build SG library default: yes],, enable_sg=yes) AC_ARG_ENABLE(psl, [ --enable-psl build PSL library default: yes],, enable_psl=yes) AC_ARG_ENABLE(sl, [ --enable-sl build SL library default: yes],, enable_sl=yes) AC_ARG_ENABLE(ssg, [ --enable-ssg build SSG library (OpenGL needed) default: yes],, enable_ssg=yes) AC_ARG_ENABLE(puaux, [ --enable-puaux build puAux library (OpenGL needed) default: yes],, enable_puaux=yes) AC_ARG_ENABLE(ssgaux, [ --enable-ssgaux build ssgAux library (OpenGL needed) default: yes],, enable_ssgaux=yes) AC_ARG_ENABLE(ul, [ --enable-ul build UTIL library default: yes],, enable_ul=yes) dnl Dependancy checking if test "x$enable_fnt" = "xyes"; then need_opengl=yes if test "x$enable_sg" = "xno"; then AC_MSG_WARN([cannot build FNT library without SG library enabled]) dependancy_problem=yes fi if test "x$enable_ul" = "xno"; then AC_MSG_WARN([cannot build FNT library without UL library enabled]) dependancy_problem=yes fi fi if test "x$enable_pw" = "xyes"; then if test "x$enable_ul" = "xno"; then AC_MSG_WARN([cannot build PW library without UL library enabled]) dependancy_problem=yes fi fi if test "x$enable_js" = "xyes"; then if test "x$enable_ul" = "xno"; then AC_MSG_WARN([cannot build JS library without UL library enabled]) dependancy_problem=yes fi fi if test "x$enable_net" = "xyes"; then if test "x$enable_ul" = "xno"; then AC_MSG_WARN([cannot build NET library without UL library enabled]) dependancy_problem=yes fi fi if test "x$enable_pui" = "xyes"; then need_opengl=yes if test "x$enable_fnt" = "xno"; then AC_MSG_WARN([cannot build PUI library without FNT library enabled]) dependancy_problem=yes fi if test "x$enable_sg" = "xno"; then AC_MSG_WARN([cannot build PUI library without SG library enabled]) dependancy_problem=yes fi if test "x$enable_ul" = "xno"; then AC_MSG_WARN([cannot build PUI library without UL library enabled]) dependancy_problem=yes fi fi if test "x$enable_sg" = "xyes"; then if test "x$enable_ul" = "xno"; then AC_MSG_WARN([cannot build SG library without UL library enabled]) dependancy_problem=yes fi fi if test "x$enable_psl" = "xyes"; then if test "x$enable_ul" = "xno"; then AC_MSG_WARN([cannot build PSL library without UL library enabled]) dependancy_problem=yes fi fi if test "x$enable_sl" = "xyes"; then if test "x$enable_ul" = "xno"; then AC_MSG_WARN([cannot build SL library without UL library enabled]) dependancy_problem=yes fi fi if test "x$enable_ssg" = "xyes"; then need_opengl=yes if test "x$enable_sg" = "xno"; then AC_MSG_WARN([cannot build SSG library without SG library enabled]) dependancy_problem=yes fi if test "x$enable_ul" = "xno"; then AC_MSG_WARN([cannot build SSG library without UL library enabled]) dependancy_problem=yes fi fi if test "x$enable_puaux" = "xyes"; then need_opengl=yes if test "x$enable_pui" = "xno"; then AC_MSG_WARN([cannot build puAux library without PUI library enabled]) dependancy_problem=yes fi if test "x$enable_sg" = "xno"; then AC_MSG_WARN([cannot build puAux library without SG library enabled]) dependancy_problem=yes fi if test "x$enable_ul" = "xno"; then AC_MSG_WARN([cannot build puAux library without UL library enabled]) dependancy_problem=yes fi fi if test "x$enable_ssgaux" = "xyes"; then need_opengl=yes if test "x$enable_ssg" = "xno"; then AC_MSG_WARN([cannot build ssgAux library without SSG library enabled]) dependancy_problem=yes fi if test "x$enable_sg" = "xno"; then AC_MSG_WARN([cannot build ssgAux library without SG library enabled]) dependancy_problem=yes fi if test "x$enable_ul" = "xno"; then AC_MSG_WARN([cannot build ssgAux library without UL library enabled]) dependancy_problem=yes fi fi if test "x$dependancy_problem" = "xyes"; then AC_MSG_ERROR([dependancy problems detected]) fi AM_CONDITIONAL(BUILD_FNT, test "x$enable_fnt" = "xyes") AM_CONDITIONAL(BUILD_JS, test "x$enable_js" = "xyes") AM_CONDITIONAL(BUILD_PW, test "x$enable_pw" = "xyes") AM_CONDITIONAL(BUILD_NET, test "x$enable_net" = "xyes") AM_CONDITIONAL(BUILD_PUI, test "x$enable_pui" = "xyes") AM_CONDITIONAL(BUILD_PUAUX, test "x$enable_puaux" = "xyes") AM_CONDITIONAL(BUILD_SG, test "x$enable_sg" = "xyes") AM_CONDITIONAL(BUILD_PSL, test "x$enable_psl" = "xyes") AM_CONDITIONAL(BUILD_SL, test "x$enable_sl" = "xyes") AM_CONDITIONAL(BUILD_SSG, test "x$enable_ssg" = "xyes") AM_CONDITIONAL(BUILD_SSGAUX, test "x$enable_ssgaux" = "xyes") AM_CONDITIONAL(BUILD_UL, test "x$enable_ul" = "xyes") if test "x$need_opengl" = "xyes" && test "x$GL_PREFIX" != "xauto"; then LDFLAGS="$LDFLAGS -L$GL_PREFIX/lib" CPPFLAGS="$CPPFLAGS -I$GL_PREFIX/include" fi dnl Checks for library functions. dnl check for OpenGL related libraries AC_CANONICAL_HOST case "${host}" in *-*-cygwin* | *-*-mingw32*) dnl CygWin under Windoze. dnl Multimedia library LIBS="$LIBS -lwinmm" if test "x$need_opengl" = "xyes"; then dnl OpenGL libraries LIBS="$LIBS -lopengl32" fi ;; *-apple-darwin*) dnl Mac OS X if test "x$need_opengl" = "xyes"; then dnl OpenGL libraries LIBS="$LIBS -framework OpenGL" fi dnl Sound libraries LIBS="$LIBS -framework Carbon" ;; *) if test "x$need_opengl" = "xyes"; then dnl Check for X11 AC_PATH_XTRA LDFLAGS="$LDFLAGS $X_LIBS" LIBS="$LIBS $X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS -lm" dnl ========================================================= dnl if test "x$x_includes" != "x"; then dnl CPPFLAGS="$CPPFLAGS -I$x_includes" dnl fi dnl ========================================================= dnl Reasonable stuff non-windoze variants ... :-) AC_CHECK_LIB(pthread, pthread_create) AC_CHECK_LIB(GL, glNewList) if test "x$ac_cv_lib_GL_glNewList" = "xno" ; then dnl if no GL, check for MesaGL AC_CHECK_LIB(MesaGL, glNewList,, AC_MSG_ERROR([could not find working GL library])) fi fi AC_CHECK_LIB(dl, dlclose) dnl Check SGI audio library AC_CHECK_LIB(audio, ALopenport) ;; esac dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADER(windows.h, AC_DEFINE(WIN32)) if test "x$need_opengl" = "xyes"; then dnl Check for OpenGl header files case "${host}" in *-*-cygwin* | *-*-mingw32*) dnl CygWin under Windoze. AC_CHECK_HEADER(GL/gl.h,, AC_MSG_ERROR([OpenGL header file not found])) ;; *-apple-darwin*) dnl Mac OS X AC_CHECK_HEADER(OpenGL/gl.h,, AC_MSG_ERROR([OpenGL header file not found])) ;; *) AC_CHECK_HEADER(GL/gl.h,, AC_MSG_ERROR([OpenGL header file not found])) ;; esac fi dnl Warning flags WFLAG="-Wall" case "$host" in mips-sgi-irix*) if test "x$CXX" = "xCC"; then WFLAG="-fullwarn"; fi ;; *) if test "x$CXX" = "xicpc" || test "x$CXX" = "xicc"; then WFLAG="-w1" fi if test "x$GCC" != xyes; then # if the compiler is not GCC we reset WFLAG to null for safety WFLAG="" fi ;; esac CFLAGS="$CFLAGS $WFLAG" CXXFLAGS="$CXXFLAGS $WFLAG" dnl FreeBSD requires the -pthread switch to enable pthreads. Look for this dnl weirdness. save_CXXFLAGS="$CXXFLAGS" save_CFLAGS="$CFLAGS" save_LIBS=$LIBS CXXFLAGS="-pthread $CXXFLAGS" CFLAGS="-pthread $CFLAGS" AC_CHECK_LIB(c_r, pthread_exit) if test "x$ac_cv_lib_c_r_pthread_exit" != "xyes"; then CFLAGS=$save_CFLAGS CXXFLAGS=$save_CXXFLAGS fi LIBS=$save_LIBS dnl Checks for typedefs, structures, and compiler characteristics. dnl check for socklen_t (in Unix98) AC_MSG_CHECKING(for socklen_t) AC_TRY_COMPILE([ #include #include socklen_t apa; ],[],[ AC_MSG_RESULT(yes)],[ AC_TRY_COMPILE([ #include #include int accept (int, struct sockaddr *, size_t *); ],[],[ AC_MSG_RESULT(size_t) AC_DEFINE(socklen_t,size_t)], [ AC_MSG_RESULT(int) AC_DEFINE(socklen_t,int)])]) AC_OUTPUT( \ Makefile \ src/Makefile \ src/js/Makefile \ src/util/Makefile \ src/sg/Makefile \ src/sl/Makefile \ src/psl/Makefile \ src/ssg/Makefile \ src/ssgAux/Makefile \ src/fnt/Makefile \ src/pui/Makefile \ src/puAux/Makefile \ src/pw/Makefile \ src/net/Makefile ) AC_MSG_RESULT( [PLIB configuration information: Building FNT library: $enable_fnt Building JS library: $enable_js Building NET library: $enable_net Building PUI library: $enable_pui Building puAux library: $enable_puaux Building SG library: $enable_sg Building PSL library: $enable_psl Building SL library: $enable_sl Building SSG library: $enable_ssg Building ssgAux library: $enable_ssgaux Building PW library: $enable_pw Building UTIL library: $enable_ul ])