1# -*- Autoconf -*- 2# Process this file with autoconf to produce a configure script. 3 4AC_PREREQ([2.58]) 5 6AC_INIT([Chromium B.S.U.],[0.9.16.1],[https://sf.net/p/chromium-bsu/bugs],[chromium-bsu]) 7AM_INIT_AUTOMAKE([foreign]) 8 9AC_CONFIG_SRCDIR([src/main.cpp]) 10AC_CONFIG_HEADERS([chromium-bsu-config.h]) 11 12# Programs 13AC_PROG_CXX 14PKG_PROG_PKG_CONFIG 15 16# Headers 17AC_HEADER_STDC 18AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h locale.h libintl.h]) 19 20# Types and compiler bits 21AC_HEADER_STDBOOL 22AC_C_CONST 23AC_C_INLINE 24AC_STRUCT_TM 25AC_TYPE_SIZE_T 26 27# Functions 28AC_FUNC_MALLOC 29AC_FUNC_STAT 30AC_FUNC_VPRINTF 31AC_FUNC_MKTIME 32AC_CHECK_FUNCS([atexit floor setenv sqrt strcasecmp strchr strerror strrchr memset setlocale strdup tzset]) 33 34# Enable some special macintosh path handling 35AC_ARG_WITH(macintosh, 36 AS_HELP_STRING([--with-macintosh],[Enable some special macintosh path handling]), 37 AC_DEFINE(macintosh, 1, [define to enable some special macintosh path handling]), 38 []) 39 40# Libraries 41 42# gettext for internationalisation 43AM_GNU_GETTEXT([external]) 44AM_GNU_GETTEXT_VERSION([0.18]) 45 46# Need OpenGL and GLU for drawing stuff 47AX_CHECK_GL 48AX_CHECK_GLU 49 50# Need a recent version of FTGL or GLC for text rendering 51AC_ARG_ENABLE(glc, AS_HELP_STRING([--disable-glc], [do not use GLC])) 52AC_ARG_ENABLE(ftgl, AS_HELP_STRING([--disable-ftgl], [do not use FTGL])) 53 54if test "x$enable_glc" != xno ; then 55 AC_CHECK_HEADERS([GL/glc.h], [HAVE_GL_GLC_H=yes], [HAVE_GL_GLC_H=no]) 56 AC_CHECK_HEADERS([QuesoGLC/glc.h], [HAVE_QUESOGL_GLC_H=yes], [HAVE_QUESOGL_GLC_H=no]) 57 AC_CHECK_LIB([GLC], [glcGenContext], [HAVE_GLC_LIB=yes], [HAVE_GLC_LIB=no]) 58 AC_CHECK_LIB([glc32], [glcGenContext], [HAVE_GLC32_LIB=yes], [HAVE_GLC32_LIB=no]) 59fi 60 61if test "x$enable_ftgl" != xno ; then 62 PKG_CHECK_MODULES([FTGL], [ftgl >= 2.1.3], [HAVE_FTGL=yes], [HAVE_FTGL=no]) 63fi 64 65# Allow specifying a hard-coded font file at build time 66AC_ARG_WITH(font-path, 67 AS_HELP_STRING([--with-font-path=file.ttf], 68 [Path to the TTF font to use at runtime with FTGL (bold Gothic Uralic recommended)]), 69 [FONT_PATH="$withval"], 70 [FONT_PATH=""]) 71 72if test "x$HAVE_FTGL" = xyes -a "x$enable_ftgl" != xno ; then 73 # Need fontconfig for finding font files when using FTGL 74 PKG_CHECK_MODULES([FONTCONFIG], [fontconfig], [HAVE_FONTCONFIG=yes], [HAVE_FONTCONFIG=no]) 75fi 76 77# Allow specifying a hard-coded font name at build time 78AC_ARG_WITH(font-name, 79 AS_HELP_STRING([--with-font-name="Gothic Uralic"], 80 [Name of the font to default to at runtime with GLC (bold Gothic Uralic is default)]), 81 [FONT_NAME="$withval"], 82 [FONT_NAME=""]) 83 84# Need SDL or GLUT for windowing 85AC_ARG_ENABLE(sdl2, AS_HELP_STRING([--disable-sdl2], [do not use SDL2])) 86AC_ARG_ENABLE(sdl, AS_HELP_STRING([--disable-sdl], [do not use SDL])) 87AC_ARG_ENABLE(glut, AS_HELP_STRING([--disable-glut], [do not use GLUT])) 88 89if test "x$enable_sdl2" != xno ; then 90 PKG_CHECK_MODULES([SDL2], [sdl2], [HAVE_SDL2=yes], [HAVE_SDL2=no]) 91fi 92 93if test "x$enable_sdl" != xno ; then 94 PKG_CHECK_MODULES([SDL], [sdl >= 1.1.6], [HAVE_SDL=yes], [HAVE_SDL=no]) 95fi 96 97if test "x$enable_glut" != xno ; then 98 AX_CHECK_GLUT([no_glut=no], [no_glut=yes]) 99fi 100 101# Need OpenAL or SDL Mixer for sound 102AC_ARG_ENABLE(openal, AS_HELP_STRING([--disable-openal], [do not use OpenAL])) 103AC_ARG_ENABLE(sdl2mixer, AS_HELP_STRING([--disable-sdl2mixer], [do not use SDL2_Mixer])) 104AC_ARG_ENABLE(sdlmixer, AS_HELP_STRING([--disable-sdlmixer], [do not use SDL_Mixer])) 105 106if test "x$enable_openal" != xno ; then 107 PKG_CHECK_MODULES([OPENAL], [openal], [HAVE_OPENAL=yes], [HAVE_OPENAL=no]) 108 PKG_CHECK_MODULES([FREEALUT], [freealut], [HAVE_FREEALUT=yes], [HAVE_FREEALUT=no]) 109fi 110 111if test "x$enable_sdl2mixer" != xno ; then 112 PKG_CHECK_MODULES([SDL2MIXER], [SDL2_mixer], [HAVE_SDL2MIXER=yes], [HAVE_SDL2MIXER=no]) 113fi 114 115if test "x$enable_sdlmixer" != xno ; then 116 PKG_CHECK_MODULES([SDLMIXER], [SDL_mixer], [HAVE_SDLMIXER=yes], [HAVE_SDLMIXER=no]) 117fi 118 119# Need glpng or SDL_image so we can display PNG images using OpenGL 120AC_ARG_ENABLE(glpng, AS_HELP_STRING([--disable-glpng], [do not use glpng])) 121AC_ARG_ENABLE(sdl2image, AS_HELP_STRING([--disable-sdl2image], [do not use SDL2_image])) 122AC_ARG_ENABLE(sdlimage, AS_HELP_STRING([--disable-sdlimage], [do not use SDL_image])) 123 124if test "x$enable_sdl2image" != xno ; then 125 PKG_CHECK_MODULES([SDL2IMAGE], [SDL2_image], [HAVE_SDL2IMAGE=yes], [HAVE_SDL2IMAGE=no]) 126fi 127 128if test "x$enable_sdlimage" != xno ; then 129 PKG_CHECK_MODULES([SDLIMAGE], [SDL_image], [HAVE_SDLIMAGE=yes], [HAVE_SDLIMAGE=no]) 130fi 131 132if test "x$enable_glpng" != xno ; then 133 AC_CHECK_HEADERS([GL/glpng.h], [HAVE_GL_GLPNG_H=yes], [HAVE_GL_GLPNG_H=no]) 134 AC_CHECK_HEADERS([glpng/glpng.h], [HAVE_GLPNG_GLPNG_H=yes], [HAVE_GLPNG_GLPNG_H=no]) 135 AC_CHECK_LIB([glpng], [pngBind], [HAVE_GLPNG_LIB=yes], [HAVE_GLPNG_LIB=no], [$GL_LIBS]) 136fi 137 138 139if test "x$no_gl" = xyes ; then 140 AC_MSG_ERROR([cannot find OpenGL (drawing system)]) 141fi 142 143if test "x$no_glu" = xyes ; then 144 AC_MSG_ERROR([cannot find GLU (drawing system)]) 145fi 146 147 148if test \( "x$HAVE_GL_GLC_H" = xyes -o "x$HAVE_QUESOGLC_GLC_H" = xyes \) -a "x$HAVE_GLC_LIB" = xyes -a "x$enable_glc" != xno ; then 149 AC_DEFINE(TEXT_GLC, 1, [define to use GLC]) 150 TEXT_LIBS="-lGLC" 151 AC_SUBST(TEXT_LIBS) 152 TEXT_TYPE=GLC 153elif test \( "x$HAVE_GL_GLC_H" = xyes -o "x$HAVE_QUESOGLC_GLC_H" = xyes \) -a "x$HAVE_GLC32_LIB" = xyes -a "x$enable_glc" != xno ; then 154 AC_DEFINE(TEXT_GLC, 1, [define to use GLC]) 155 TEXT_LIBS="-lglc32" 156 AC_SUBST(TEXT_LIBS) 157 TEXT_TYPE=GLC 158elif test "x$HAVE_FTGL" = xyes -a "x$enable_ftgl" != xno ; then 159 AC_DEFINE(TEXT_FTGL, 1, [define to use FTGL]) 160 TEXT_CFLAGS="$FTGL_CFLAGS" 161 AC_SUBST(TEXT_CFLAGS) 162 TEXT_LIBS="$FTGL_LIBS" 163 AC_SUBST(TEXT_LIBS) 164 TEXT_TYPE=FTGL 165else 166 AC_MSG_ERROR([cannot find GLC or FTGL >= 2.1.3 (text renderer)]) 167fi 168 169if test "x$TEXT_TYPE" = xGLC -a "x$FONT_NAME" != x ; then 170 TEXT_CFLAGS="$TEXT_CFLAGS -DFONT_NAME=\"\\\"$FONT_NAME\\\"\"" 171 AC_SUBST(TEXT_CFLAGS) 172 FONT="$FONT_NAME" 173elif test "x$TEXT_TYPE" = xGLC ; then 174 FONT="default (bold Gothic Uralic)" 175fi 176 177if test "x$TEXT_TYPE" = xFTGL -a "x$FONT_PATH" != x ; then 178 TEXT_CFLAGS="$TEXT_CFLAGS -DFONT_PATH=\"\\\"$FONT_PATH\\\"\"" 179 AC_SUBST(TEXT_CFLAGS) 180 FONT="$FONT_PATH " 181fi 182 183if test "x$TEXT_TYPE" = xFTGL -a "x$HAVE_FONTCONFIG" = xyes ; then 184 AC_DEFINE(HAVE_FONTCONFIG, 1, [define to use fontconfig]) 185 TEXT_CFLAGS="$TEXT_CFLAGS $FONTCONFIG_CFLAGS" 186 AC_SUBST(TEXT_CFLAGS) 187 TEXT_LIBS="$TEXT_LIBS $FONTCONFIG_LIBS" 188 AC_SUBST(TEXT_LIBS) 189 FONT="$FONT fontconfig (bold Gothic Uralic) " 190fi 191 192if test "x$TEXT_TYPE" = xFTGL -a "x$HAVE_FONTCONFIG" != xyes -a "x$FONT_PATH" = x ; then 193 AC_MSG_WARN([FTGL: no font path supplied and cannot find fontconfig, font searching will probably fail]) 194fi 195 196if test "x$HAVE_SDL2" = xyes -a "x$enable_sdl2" != xno ; then 197 AC_DEFINE(USE_SDL, 1, [define to use SDL]) 198 WINDOW_CFLAGS="$SDL2_CFLAGS" 199 AC_SUBST(WINDOW_CFLAGS) 200 WINDOW_LIBS="$SDL2_LIBS" 201 AC_SUBST(WINDOW_LIBS) 202 WINDOW_TYPE=SDL2 203elif test "x$HAVE_SDL" = xyes -a "x$enable_sdl" != xno ; then 204 AC_DEFINE(USE_SDL, 1, [define to use SDL]) 205 AC_DEFINE(USE_SDL_CDROM, 1, [define to use SDL CDROM support]) 206 WINDOW_CFLAGS="$SDL_CFLAGS" 207 AC_SUBST(WINDOW_CFLAGS) 208 WINDOW_LIBS="$SDL_LIBS" 209 AC_SUBST(WINDOW_LIBS) 210 WINDOW_TYPE=SDL 211elif test "x$no_glut" != xyes -a "x$enable_glut" != xno ; then 212 AC_DEFINE(USE_GLUT, 1, [define to use GLUT]) 213 WINDOW_CFLAGS="$GLUT_CFLAGS" 214 AC_SUBST(WINDOW_CFLAGS) 215 WINDOW_LIBS="$GLUT_LIBS" 216 AC_SUBST(WINDOW_LIBS) 217 WINDOW_TYPE=GLUT 218else 219 AC_MSG_ERROR([cannot find SDL >= 1.1.6 or GLUT (window system)]) 220fi 221 222if test "x$HAVE_OPENAL" = xyes -a "x$HAVE_FREEALUT" = xyes -a "x$enable_openal" != xno ; then 223 AC_DEFINE(AUDIO_OPENAL, 1, [define to use OpenAL]) 224 AUDIO_CFLAGS="$OPENAL_CFLAGS $FREEALUT_CFLAGS" 225 AC_SUBST(AUDIO_CFLAGS) 226 AUDIO_LIBS="$OPENAL_LIBS $FREEALUT_LIBS" 227 AC_SUBST(AUDIO_LIBS) 228 AUDIO_TYPE=OpenAL 229 230 # Need to check for MacOS X OpenAL differences 231 ac_save_CPPFLAGS="$CPPFLAGS" 232 ac_save_CFLAGS="$CFLAGS" 233 CPPFLAGS="${CPPFLAGS} ${OPENAL_CFLAGS} ${FREEALUT_CFLAGS}" 234 CFLAGS="${CFLAGS} ${OPENAL_CFLAGS} ${FREEALUT_CFLAGS}" 235 AC_CHECK_HEADERS(OpenAL/al.h OpenAL/alc.h ALUT/alut.h) 236 AC_CHECK_HEADERS(AL/al.h AL/alc.h AL/alut.h) 237 CPPFLAGS="${ac_save_CPPFLAGS}" 238 CFLAGS="${ac_save_CFLAGS}" 239elif test "x$HAVE_SDL2MIXER" = xyes -a "x$enable_sdl2mixer" != xno ; then 240 AC_DEFINE(AUDIO_SDLMIXER, 1, [define to use SDL Mixer]) 241 AUDIO_CFLAGS="$SDL2MIXER_CFLAGS" 242 AC_SUBST(AUDIO_CFLAGS) 243 AUDIO_LIBS="$SDL2MIXER_LIBS" 244 AC_SUBST(AUDIO_LIBS) 245 AUDIO_TYPE="SDL mixer" 246elif test "x$HAVE_SDLMIXER" = xyes -a "x$enable_sdlmixer" != xno ; then 247 AC_DEFINE(AUDIO_SDLMIXER, 1, [define to use SDL Mixer]) 248 AUDIO_CFLAGS="$SDLMIXER_CFLAGS" 249 AC_SUBST(AUDIO_CFLAGS) 250 AUDIO_LIBS="$SDLMIXER_LIBS" 251 AC_SUBST(AUDIO_LIBS) 252 AUDIO_TYPE="SDL mixer" 253else 254 AC_MSG_ERROR([cannot find OpenAL & ALUT or SDL Mixer (sound)]) 255fi 256 257if test \( "x$HAVE_GL_GLPNG_H" = xyes -o "x$HAVE_GLPNG_GLPNG_H" = xyes \) -a "x$HAVE_GLPNG_LIB" = xyes -a "x$enable_glpng" != no ; then 258 AC_DEFINE(IMAGE_GLPNG, 1, [define to use glpng]) 259 IMAGE_TYPE=glpng 260 IMAGE_GLPNG=yes 261elif test "x$WINDOW_TYPE" = xSDL2 -a "x$HAVE_SDL2IMAGE" = xyes -a "x$enable_sdl2image" != no ; then 262 AC_MSG_WARN([Using SDL2_image to load images into textures, some rendering artifacts may be present]) 263 AC_DEFINE(IMAGE_SDL, 1, [define to use SDL_image]) 264 IMAGE_TYPE=SDL2_image 265 IMAGE_SDL2IMAGE=yes 266elif test "x$WINDOW_TYPE" = xSDL -a "x$HAVE_SDLIMAGE" = xyes -a "x$enable_sdlimage" != no ; then 267 AC_MSG_WARN([Using SDL_image to load images into textures, some rendering artifacts may be present]) 268 AC_DEFINE(IMAGE_SDL, 1, [define to use SDL_image]) 269 IMAGE_TYPE=SDL_image 270 IMAGE_SDLIMAGE=yes 271else 272 AC_MSG_ERROR([cannot find glpng or SDL_image (image loader)]) 273fi 274 275if test "x$WINDOW_TYPE" = xSDL2 -a "x$HAVE_SDL2IMAGE" = xyes -a "x$enable_sdl2image" != no ; then 276 AC_DEFINE(ENABLE_WINDOW_ICON, 1, [define to enable the window icon (needs SDL_image)]) 277 WINDOW_ICON=yes 278 IMAGE_SDL2IMAGE=yes 279elif test "x$WINDOW_TYPE" = xSDL -a "x$HAVE_SDLIMAGE" = xyes -a "x$enable_sdlimage" != no ; then 280 AC_DEFINE(ENABLE_WINDOW_ICON, 1, [define to enable the window icon (needs SDL_image)]) 281 WINDOW_ICON=yes 282 IMAGE_SDLIMAGE=yes 283else 284 AC_MSG_WARN([SDL_image is not usable, window icon will not be set]) 285 WINDOW_ICON=no 286fi 287 288if test "x$IMAGE_GLPNG" = xyes ; then 289 IMAGE_CFLAGS="$IMAGE_CFLAGS" 290 AC_SUBST(IMAGE_CFLAGS) 291 IMAGE_LIBS="$IMAGE_LIBS -lglpng" 292 AC_SUBST(IMAGE_LIBS) 293fi 294 295if test "x$IMAGE_SDL2IMAGE" = xyes ; then 296 IMAGE_CFLAGS="$IMAGE_CFLAGS $SDL2IMAGE_CFLAGS" 297 AC_SUBST(IMAGE_CFLAGS) 298 IMAGE_LIBS="$IMAGE_LIBS $SDL2IMAGE_LIBS" 299 AC_SUBST(IMAGE_LIBS) 300fi 301 302if test "x$IMAGE_SDLIMAGE" = xyes ; then 303 IMAGE_CFLAGS="$IMAGE_CFLAGS $SDLIMAGE_CFLAGS" 304 AC_SUBST(IMAGE_CFLAGS) 305 IMAGE_LIBS="$IMAGE_LIBS $SDLIMAGE_LIBS" 306 AC_SUBST(IMAGE_LIBS) 307fi 308 309AC_CONFIG_FILES([ 310 Makefile 311 data/doc/Makefile 312 data/doc/images/Makefile 313 data/png/Makefile 314 data/wav/Makefile 315 data/Makefile 316 misc/Makefile 317 src/Makefile 318 m4/Makefile 319 po/Makefile.in 320]) 321 322AC_OUTPUT 323 324echo " 325 326Chromium B.S.U. ready for building! 327 328 Window type: $WINDOW_TYPE 329 Window icon: $WINDOW_ICON 330 Image type: $IMAGE_TYPE 331 Audio type: $AUDIO_TYPE 332 Text type: $TEXT_TYPE 333 Font search: $FONT 334 335Type 'make' to build. 336 337" 338