1# configure.in 2# (c) 2002 Mikulas Patocka, Karel 'Clock' Kulhavy, Petr 'Brain' Kulhavy, 3# Martin 'PerM' Pergel 4# This file is a part of the Links program, released under GPL. 5 6AC_INIT(main.c) 7 8AM_INIT_AUTOMAKE(links, 2.25) 9 10ACLOCAL="./missing aclocal" 11AUTOCONF="./missing autoconf" 12AUTOMAKE="./missing automake" 13AUTOHEADER="./missing autoheader" 14 15export CC 16export CPPFLAGS 17export CFLAGS 18export LDFLAGS 19export LIBS 20 21AM_CONFIG_HEADER(config.h) 22 23dnl Checks for programs. 24AC_PROG_CC 25 26dnl AC_PROG_CXX 27dnl AC_PROG_AWK 28dnl AM_PROG_LEX 29dnl AC_PROG_YACC 30 31image_formats="GIF PNG XBM" 32 33static_link=0 34if test -n "`echo "$CC" "$LDFLAGS" "$CFLAGS" "$LIBS" | grep 'static\>'`"; then 35 static_link=1 36fi 37 38if test -n "`uname|grep -i bsd`"; then 39 CPPFLAGS="$CPPFLAGS -I/usr/local/include" 40 LDFLAGS="$LDFLAGS -L/usr/local/lib" 41fi 42 43AC_HEADER_STDC 44AC_PROG_GCC_TRADITIONAL 45 46dnl Check for libraries 47 48AC_CACHE_CHECK([for EMX], ac_cv_have_emx, 49 AC_TRY_COMPILE(, [#ifndef __EMX__ 50 kill me! 51 #endif ], ac_cv_have_emx=yes, ac_cv_have_emx=no) 52) 53if test "$ac_cv_have_emx" = yes; then 54 LDFLAGS="`echo "$LDFLAGS" | sed "s/-Zexe//g" | sed "s/-Zbin-files//g"`" 55 test "$static_link" = 0 && LDFLAGS="$LDFLAGS -Zcrtdll" 56 ac_cv_type_pid_t=yes 57 ac_cv_type_size_t=yes 58fi 59 60AC_CACHE_CHECK([for OpenWatcom], ac_cv_have_watcom, 61 AC_TRY_COMPILE(, [#ifndef __WATCOMC__ 62 kill me! 63 #endif ], ac_cv_have_watcom=yes, ac_cv_have_watcom=no) 64) 65test "$ac_cv_have_watcom" = yes && ac_cv_lib_dir_opendir=no 66 67AC_CACHE_CHECK([for DJGPP], ac_cv_have_djgpp, 68 AC_TRY_COMPILE(, [#ifndef __DJGPP 69 kill me! 70 #endif ], ac_cv_have_djgpp=yes, ac_cv_have_djgpp=no) 71) 72 73if test "$ac_cv_have_djgpp" = yes; then 74 static_link=1 75 test -n "$DJDIR" && test -d "$DJDIR/net/watt/inc" && CPPFLAGS="-I$DJDIR/net/watt/inc $CPPFLAGS" 76 test -n "$DJDIR" && test -d "$DJDIR/net/watt/lib" && LDFLAGS="-L$DJDIR/net/watt/lib $LDFLAGS" 77fi 78 79AC_CACHE_CHECK([for ARM64 ILP32], ac_cv_have_arm64_ilp32, 80 AC_TRY_COMPILE(, [#if !(defined(__aarch64__) && defined(__ILP32__)) 81 kill me! 82 #endif ], ac_cv_have_arm64_ilp32=yes, ac_cv_have_arm64_ilp32=no) 83) 84test "$ac_cv_have_arm64_ilp32" = yes && disable_openmp=yes 85 86AC_CACHE_CHECK([for volatile], ac_cv_have_volatile, 87 AC_TRY_COMPILE([], [ 88 volatile int a = 0; 89 return a; 90 ], ac_cv_have_volatile=yes, ac_cv_have_volatile=no) 91) 92if test "$ac_cv_have_volatile" = yes; then 93 AC_DEFINE(HAVE_VOLATILE) 94fi 95 96AC_CACHE_CHECK([for restrict], ac_cv_have_restrict, 97 AC_TRY_COMPILE([ 98 static void f(int * restrict a, int * restrict b) 99 { 100 } 101 ], [ 102 int a, b; 103 f(&a, &b); 104 return 0; 105 ], ac_cv_have_restrict=yes, ac_cv_have_restrict=no) 106) 107if test "$ac_cv_have_restrict" = yes; then 108 AC_DEFINE(HAVE_RESTRICT) 109fi 110 111AC_CACHE_CHECK([for __restrict], ac_cv_have___restrict, 112 AC_TRY_COMPILE([ 113 static void f(int * __restrict a, int * __restrict b) 114 { 115 } 116 ], [ 117 int a, b; 118 f(&a, &b); 119 return 0; 120 ], ac_cv_have___restrict=yes, ac_cv_have___restrict=no) 121) 122if test "$ac_cv_have___restrict" = yes; then 123 AC_DEFINE(HAVE___RESTRICT) 124fi 125 126AC_CACHE_CHECK([for long long], ac_cv_have_long_long, 127 AC_TRY_COMPILE(, [unsigned long long a; ], ac_cv_have_long_long=yes, ac_cv_have_long_long=no) 128) 129test "$ac_cv_have_long_long" = yes && AC_DEFINE(HAVE_LONG_LONG) 130 131AC_CACHE_CHECK([for pointer comparison bug], ac_cv_pointer_comparison_bug, 132 AC_TRY_RUN([ 133 int main() 134 { 135 void *p = (void *)-1L; 136 return p != (void *)-1L; 137 } 138 ], ac_cv_pointer_comparison_bug=no, ac_cv_pointer_comparison_bug=yes, 139 [if test -n "`echo "$CC"|grep ^tcc`"; then 140 ac_cv_pointer_comparison_bug=yes 141 else 142 ac_cv_pointer_comparison_bug=no 143 fi] 144 ) 145) 146test "$ac_cv_pointer_comparison_bug" = yes && AC_DEFINE(HAVE_POINTER_COMPARISON_BUG) 147 148if test "$ac_cv_have_long_long" = yes -a "$ac_cv_have_volatile" = yes; then 149 AC_CACHE_CHECK([for maxint conversion bug], ac_cv_maxint_conversion_bug, 150 AC_TRY_RUN([ 151 int main() 152 { 153 volatile long long q = 0x7FFFFFEF; 154 return q < 0; 155 } 156 ], ac_cv_maxint_conversion_bug=no, ac_cv_maxint_conversion_bug=yes, 157 [if test -n "`echo "$CC"|grep ^cc`" -a "`uname -s`" = HP-UX; then 158 ac_cv_maxint_conversion_bug=yes 159 else 160 ac_cv_maxint_conversion_bug=no 161 fi] 162 ) 163 ) 164 test "$ac_cv_maxint_conversion_bug" = yes && AC_DEFINE(HAVE_MAXINT_CONVERSION_BUG) 165fi 166 167dnl AC_CACHE_CHECK([for _FILE_OFFSET_BITS 64], ac_cv_have_file_offset_bits, 168dnl AC_TRY_COMPILE([ 169dnl #define _FILE_OFFSET_BITS 64 170dnl #include <stdio.h> 171dnl ], [ 172dnl return 0; 173dnl ], ac_cv_have_file_offset_bits=yes, ac_cv_have_file_offset_bits=no) 174dnl ) 175dnl test "$ac_cv_have_file_offset_bits" = yes && AC_DEFINE(HAVE_FILE_OFFSET_BITS) 176 177dnl note: HAVE_STDLIB_H clashes with defines in jpeglib.h, 178dnl so we must use a different name 179AC_CACHE_CHECK([for stdlib.h], ac_cv_have_stdlib_h, 180 AC_TRY_COMPILE([#include <stdlib.h>],[], 181 ac_cv_have_stdlib_h=yes, ac_cv_have_stdlib_h=no) 182) 183if test "$ac_cv_have_stdlib_h" = yes; then 184 AC_DEFINE(HAVE_STDLIB_H_X) 185fi 186 187 188dnl Checks for header files. 189AC_HEADER_DIRENT 190AC_HEADER_SYS_WAIT 191AC_CHECK_HEADERS(alloca.h arpa/inet.h bsd/string.h cygwin/process.h cygwin/version.h fcntl.h grp.h ieee.h interix/interix.h inttypes.h io.h langinfo.h limits.h linux/falloc.h locale.h malloc.h math.h net/socket.h netinet/in_system.h netinet/in_systm.h netinet/ip.h poll.h process.h pwd.h search.h setjmp.h sgtty.h stdarg.h string.h strings.h sys/cygwin.h sys/file.h sys/fmutex.h sys/ioctl.h sys/resource.h sys/select.h sys/time.h sys/un.h sys/utsname.h termios.h time.h umalloc.h unistd.h unixlib.h utime.h uwin.h values.h) 192 193if test "$ac_cv_header_stdarg_h" != yes; then 194 AC_ERROR([stdarg.h not present]) 195fi 196 197dnl Checks for typedefs, structures, and compiler characteristics. 198AC_C_CONST 199AC_C_INLINE 200AC_TYPE_SIZE_T 201AC_TYPE_PID_T 202AC_CACHE_CHECK([for socklen_t], ac_cv_have_socklen_t, 203 AC_TRY_COMPILE([ 204 #include <sys/types.h> 205 #include <sys/socket.h> 206 ], [ 207 socklen_t a = 0; 208 return a; 209 ], ac_cv_have_socklen_t=yes, ac_cv_have_socklen_t=no) 210) 211if test "$ac_cv_have_socklen_t" = yes; then 212 AC_DEFINE(HAVE_SOCKLEN_T) 213fi 214AC_CACHE_CHECK([for errno], ac_cv_have_errno, 215 AC_TRY_COMPILE([ 216 #include <errno.h> 217 ], [ 218 errno = 0; 219 return errno; 220 ], ac_cv_have_errno=yes, ac_cv_have_errno=no) 221) 222if test "$ac_cv_have_errno" = yes; then 223 AC_DEFINE(HAVE_ERRNO) 224fi 225 226AC_HEADER_TIME 227AC_STRUCT_TM 228 229if test "$ac_cv_have_emx" = yes; then 230 default_short=2 231 default_int=4 232 default_long=4 233 default_long_long=8 234else 235 default_short=0 236 default_int=0 237 default_long=0 238 default_long_long=0 239fi 240 241dnl Check for compiler type sizes 242dnl AC_CHECK_SIZEOF(short, "$default_short") 243AC_CHECK_SIZEOF(unsigned short, "$default_short") 244dnl AC_CHECK_SIZEOF(int, "$default_int") 245AC_CHECK_SIZEOF(unsigned, "$default_int") 246dnl AC_CHECK_SIZEOF(long, "$default_long") 247AC_CHECK_SIZEOF(unsigned long, "$default_long") 248if test "$ac_cv_have_long_long" = yes; then 249dnl AC_CHECK_SIZEOF(long long, "$default_long_long") 250 AC_CHECK_SIZEOF(unsigned long long, "$default_long_long") 251fi 252if test "$ac_cv_sizeof_unsigned" -ne 0 && test "$ac_cv_sizeof_unsigned" -lt 4; then 253 AC_ERROR([integer must have at least 32 bits]) 254fi 255AC_CACHE_CHECK([for big endian], ac_cv_big_endian, 256 AC_TRY_RUN([ 257 long l; 258 char *c = (char *)&l; 259 int main() 260 { 261 l = 0x12345678L; 262 return !(c[[sizeof(long) - 1]] == 0x78 && c[[sizeof(long) - 2]] == 0x56 && c[[sizeof(long) - 3]] == 0x34 && c[[sizeof(long) - 4]] == 0x12); 263 } 264 ], ac_cv_big_endian=yes, ac_cv_big_endian=no, ac_cv_big_endian=no) 265) 266AC_CACHE_CHECK([for little endian], ac_cv_little_endian, 267 AC_TRY_RUN([ 268 long l; 269 char *c = (char *)&l; 270 int main() 271 { 272 l = 0x12345678L; 273 return !(c[[0]] == 0x78 && c[[1]] == 0x56 && c[[2]] == 0x34 && c[[3]] == 0x12); 274 } 275 ], ac_cv_little_endian=yes, ac_cv_little_endian=no, ac_cv_little_endian="$ac_cv_have_emx") 276) 277 278if test "$ac_cv_big_endian" = yes; then 279 AC_DEFINE(C_BIG_ENDIAN) 280else if test "$ac_cv_little_endian" = yes; then 281 AC_DEFINE(C_LITTLE_ENDIAN) 282fi 283fi 284 285AC_CACHE_CHECK([if rename can replace existing files], ac_cv_rename_over_existing_files, 286 AC_TRY_RUN([ 287 #include <fcntl.h> 288 #include <stdio.h> 289 #include <unistd.h> 290 291 int main() 292 { 293 int ret; 294 close(creat("conftest.rename1", 0600)); 295 close(creat("conftest.rename2", 0600)); 296 ret = rename("conftest.rename1", "conftest.rename2"); 297 unlink("conftest.rename1"); 298 unlink("conftest.rename2"); 299 return !!ret; 300 } 301 ], ac_cv_rename_over_existing_files=yes, ac_cv_rename_over_existing_files=no, ac_cv_rename_over_existing_files=no) 302) 303 304if test "$ac_cv_rename_over_existing_files" = yes; then 305 AC_DEFINE(RENAME_OVER_EXISTING_FILES) 306fi 307 308dnl Checks for library functions. 309AC_TYPE_SIGNAL 310AC_FUNC_STRFTIME 311AC_FUNC_VPRINTF 312AC_HAVE_FUNCS(bcmp bcopy bzero calloc cfmakeraw chmod cygwin_conv_path cygwin_conv_to_full_win32_path dirfd fallocate freelocale getcwd getgrgid gethostname getpagesize getpid getpwuid getrlimit gettimeofday gmtime kqueue malloc_trim mallopt mktime newlocale nl_langinfo poll popen posix_fallocate raise select setlocale setpgid setrlimit setsid sigaction sigblock sigdelset sigprocmask sigsetmask snprintf strdup strerror_l strptime strtod strtoimax strtol strtoll strtoq strtoul sysconf tdelete tempnam tfind timegm tsearch uname unixpath2win utime utimes uwin_path winpath2unix _heapmin _msize _ucreate _udefault _udestroy _uopen __strtoll) 313 314 315AC_HAVE_FUNCS(strlen) 316AC_CACHE_CHECK([for strlen], ac_cv_have_strlen, 317 AC_TRY_LINK([#include <string.h>], [char * volatile str = ""; return strlen(str);], ac_cv_have_strlen=yes, ac_cv_have_strlen=no) 318) 319if test "$ac_cv_have_strlen" = yes; then 320 AC_DEFINE(HAVE_STRLEN) 321fi 322 323AC_HAVE_FUNCS(strnlen) 324AC_CACHE_CHECK([for strnlen], ac_cv_have_strnlen, 325 AC_TRY_LINK([#include <string.h>], [char * volatile str = ""; return strnlen(str, 3);], ac_cv_have_strnlen=yes, ac_cv_have_strnlen=no) 326) 327if test "$ac_cv_have_strnlen" = yes; then 328 AC_DEFINE(HAVE_STRNLEN) 329fi 330 331AC_HAVE_FUNCS(strcpy) 332AC_CACHE_CHECK([for strcpy], ac_cv_have_strcpy, 333 AC_TRY_LINK([#include <string.h>], [char * volatile str = ""; char a[[100]]; strcpy(a, str); return a[[0]];], ac_cv_have_strcpy=yes, ac_cv_have_strcpy=no) 334) 335if test "$ac_cv_have_strcpy" = yes; then 336 AC_DEFINE(HAVE_STRCPY) 337fi 338 339AC_HAVE_FUNCS(strncpy) 340AC_CACHE_CHECK([for strncpy], ac_cv_have_strncpy, 341 AC_TRY_LINK([#include <string.h>], [char * volatile str = ""; char a[[100]]; volatile int l = 1; strncpy(a, str, l); return a[[0]];], ac_cv_have_strncpy=yes, ac_cv_have_strncpy=no) 342) 343if test "$ac_cv_have_strncpy" = yes; then 344 AC_DEFINE(HAVE_STRNCPY) 345fi 346 347AC_HAVE_FUNCS(strchr) 348AC_CACHE_CHECK([for strchr], ac_cv_have_strchr, 349 AC_TRY_LINK([#include <string.h>], [char * volatile str = ""; return !!strchr(str, 0);], ac_cv_have_strchr=yes, ac_cv_have_strchr=no) 350) 351if test "$ac_cv_have_strchr" = yes; then 352 AC_DEFINE(HAVE_STRCHR) 353fi 354 355AC_HAVE_FUNCS(strrchr) 356AC_CACHE_CHECK([for strrchr], ac_cv_have_strrchr, 357 AC_TRY_LINK([#include <string.h>], [char * volatile str = ""; return !!strrchr(str, 0);], ac_cv_have_strrchr=yes, ac_cv_have_strrchr=no) 358) 359if test "$ac_cv_have_strrchr" = yes; then 360 AC_DEFINE(HAVE_STRRCHR) 361fi 362 363AC_HAVE_FUNCS(strcmp) 364AC_CACHE_CHECK([for strcmp], ac_cv_have_strcmp, 365 AC_TRY_LINK([#include <string.h>], [char * volatile str = ""; char * volatile str2 = ""; return strcmp(str2, str);], ac_cv_have_strcmp=yes, ac_cv_have_strcmp=no) 366) 367if test "$ac_cv_have_strcmp" = yes; then 368 AC_DEFINE(HAVE_STRCMP) 369fi 370 371AC_HAVE_FUNCS(strncmp) 372AC_CACHE_CHECK([for strncmp], ac_cv_have_strncmp, 373 AC_TRY_LINK([#include <string.h>], [char * volatile str = ""; char * volatile str2 = ""; volatile int l = 1; return strncmp(str2, str, l);], ac_cv_have_strncmp=yes, ac_cv_have_strncmp=no) 374) 375if test "$ac_cv_have_strncmp" = yes; then 376 AC_DEFINE(HAVE_STRNCMP) 377fi 378 379AC_HAVE_FUNCS(strcspn) 380AC_CACHE_CHECK([for strcspn], ac_cv_have_strcspn, 381 AC_TRY_LINK([#include <string.h>], [char * volatile str = ""; char * volatile str2 = ""; return strcspn(str2, str);], ac_cv_have_strcspn=yes, ac_cv_have_strcspn=no) 382) 383if test "$ac_cv_have_strcspn" = yes; then 384 AC_DEFINE(HAVE_STRCSPN) 385fi 386 387AC_HAVE_FUNCS(strspn) 388AC_CACHE_CHECK([for strspn], ac_cv_have_strspn, 389 AC_TRY_LINK([#include <string.h>], [char * volatile str = ""; char * volatile str2 = ""; return strspn(str2, str);], ac_cv_have_strspn=yes, ac_cv_have_strspn=no) 390) 391if test "$ac_cv_have_strspn" = yes; then 392 AC_DEFINE(HAVE_STRSPN) 393fi 394 395AC_HAVE_FUNCS(strstr) 396AC_CACHE_CHECK([for strstr], ac_cv_have_strstr, 397 AC_TRY_LINK([#include <string.h>], [char * volatile str = ""; char * volatile str2 = ""; return !!strstr(str2, str);], ac_cv_have_strstr=yes, ac_cv_have_strstr=no) 398) 399if test "$ac_cv_have_strstr" = yes; then 400 AC_DEFINE(HAVE_STRSTR) 401fi 402 403AC_HAVE_FUNCS(memchr) 404AC_CACHE_CHECK([for memchr], ac_cv_have_memchr, 405 AC_TRY_LINK([#include <string.h>], [char * volatile str = ""; volatile int l = 1; return !!memchr(str, 0, l);], ac_cv_have_memchr=yes, ac_cv_have_memchr=no) 406) 407if test "$ac_cv_have_memchr" = yes; then 408 AC_DEFINE(HAVE_MEMCHR) 409fi 410 411AC_HAVE_FUNCS(memrchr) 412AC_CACHE_CHECK([for memrchr], ac_cv_have_memrchr, 413 AC_TRY_LINK([#include <string.h>], [char * volatile str = ""; volatile int l = 1; return !!memrchr(str, 0, l);], ac_cv_have_memrchr=yes, ac_cv_have_memrchr=no) 414) 415if test "$ac_cv_have_memrchr" = yes; then 416 AC_DEFINE(HAVE_MEMRCHR) 417fi 418 419AC_HAVE_FUNCS(memcmp) 420AC_CACHE_CHECK([for memcmp], ac_cv_have_memcmp, 421 AC_TRY_LINK([#include <string.h>], [char * volatile str = ""; char * volatile str2 = ""; volatile int l = 1; return memcmp(str2, str, l);], ac_cv_have_memcmp=yes, ac_cv_have_memcmp=no) 422) 423if test "$ac_cv_have_memcmp" = yes; then 424 AC_DEFINE(HAVE_MEMCMP) 425fi 426 427AC_HAVE_FUNCS(memcpy) 428AC_CACHE_CHECK([for memcpy], ac_cv_have_memcpy, 429 AC_TRY_LINK([#include <string.h>], [char * volatile str = ""; char a[[100]]; volatile int l = 1; memcpy(a, str, l); return a[[0]];], ac_cv_have_memcpy=yes, ac_cv_have_memcpy=no) 430) 431if test "$ac_cv_have_memcpy" = yes; then 432 AC_DEFINE(HAVE_MEMCPY) 433fi 434 435AC_HAVE_FUNCS(memmove) 436AC_CACHE_CHECK([for memmove], ac_cv_have_memmove, 437 AC_TRY_LINK([#include <string.h>], [char * volatile str = ""; char a[[100]]; volatile int l = 1; memmove(a, str, l); return a[[0]];], ac_cv_have_memmove=yes, ac_cv_have_memmove=no) 438) 439if test "$ac_cv_have_memmove" = yes; then 440 AC_DEFINE(HAVE_MEMMOVE) 441fi 442 443AC_HAVE_FUNCS(memset) 444AC_CACHE_CHECK([for memset], ac_cv_have_memset, 445 AC_TRY_LINK([#include <string.h>], [char a[[100]]; char * volatile str = a; volatile int l = 1; memset(str, 0, l); return a[[0]];], ac_cv_have_memset=yes, ac_cv_have_memset=no) 446) 447if test "$ac_cv_have_memset" = yes; then 448 AC_DEFINE(HAVE_MEMSET) 449fi 450 451AC_HAVE_FUNCS(memmem) 452AC_CACHE_CHECK([for memmem], ac_cv_have_memmem, 453 AC_TRY_LINK([#define _GNU_SOURCE 454#include <string.h>], [char * volatile str = ""; char * volatile str2 = ""; volatile int l = 1; volatile int l2 = 1; return !!memmem(str2, l2, str, l);], ac_cv_have_memmem=yes, ac_cv_have_memmem=no) 455) 456if test "$ac_cv_have_memmem" = yes; then 457 AC_DEFINE(HAVE_MEMMEM) 458fi 459 460AC_HAVE_FUNCS(strerror) 461AC_CACHE_CHECK([for strerror], ac_cv_have_strerror, 462 AC_TRY_LINK([#include <string.h>], [volatile int e = 1; return strerror(e)[[0]];], ac_cv_have_strerror=yes, ac_cv_have_strerror=no) 463) 464if test "$ac_cv_have_strerror" = yes; then 465 AC_DEFINE(HAVE_STRERROR) 466fi 467 468AC_CACHE_CHECK([for sigfillset], ac_cv_have_sigfillset, 469 AC_TRY_LINK([#include <signal.h>], [sigset_t set; sigfillset(&set);], ac_cv_have_sigfillset=yes, ac_cv_have_sigfillset=no) 470) 471if test "$ac_cv_have_sigfillset" = yes; then 472 AC_DEFINE(HAVE_SIGFILLSET) 473fi 474 475AC_CACHE_CHECK([for sigsetjmp/siglongjmp], ac_cv_have_sigsetjmp, 476 AC_TRY_LINK([#include <setjmp.h>], [sigjmp_buf env;sigsetjmp(env, 1);siglongjmp(env, 2);], ac_cv_have_sigsetjmp=yes, ac_cv_have_sigsetjmp=no) 477) 478if test "$ac_cv_have_sigsetjmp" = yes; then 479 AC_DEFINE(HAVE_SIGSETJMP) 480fi 481 482AC_CACHE_CHECK([for gcc assembler], ac_cv_have_gcc_assembler, 483 AC_TRY_RUN([ 484int main(void) 485{ 486 void *o = (void *)0, *i = (void *)-1L; 487 __asm__ volatile ("" : "=r"(o) : "0"(i) : "memory"); 488 if (o != (void *)-1L) 489 return 1; 490#if defined(__i386__) || defined(__x86_64__) 491 { 492 int x = (int)((unsigned)-1 >> 1); 493 int y = 1; 494 int result = 0; 495 unsigned char ovf = 0; 496 __asm__ ("addl %2, %0; seto %1":"=r"(result), "=q"(ovf):"g"(y),"0"(x)); 497 if (result != ~x || ovf != 1) 498 return 1; 499 } 500#endif 501#if defined(__x86_64__) && !defined(__TINYC__) 502 { 503 static const unsigned char zero; 504 __asm__ ("jmp 1f; movntdqa %0, %%xmm0; 1:" : : "m"(zero) : "xmm0"); 505 } 506#endif 507#if defined(__alpha__) 508 __asm__ volatile (".p2align 3; nop; .p2align 3" ::: "memory"); 509#endif 510 return 0; 511} 512], ac_cv_have_gcc_assembler=yes, ac_cv_have_gcc_assembler=no, ac_cv_have_gcc_assembler="$ac_cv_have_emx") 513) 514if test "$ac_cv_have_gcc_assembler" = yes; then 515 AC_DEFINE(HAVE_GCC_ASSEMBLER) 516fi 517 518AC_CACHE_CHECK([for __builtin_add_overflow], ac_cv_have___builtin_add_overflow, 519 AC_TRY_LINK([], [volatile int a = 1, b = 2; int c; return __builtin_add_overflow(a, b, &c);], ac_cv_have___builtin_add_overflow=yes, ac_cv_have___builtin_add_overflow=no) 520) 521if test "$ac_cv_have___builtin_add_overflow" = yes; then 522 AC_DEFINE(HAVE___BUILTIN_ADD_OVERFLOW) 523fi 524 525AC_CACHE_CHECK([for __builtin_clz], ac_cv_have___builtin_clz, 526 AC_TRY_LINK([], [volatile unsigned a = 1; return __builtin_clz(a);], ac_cv_have___builtin_clz=yes, ac_cv_have___builtin_clz=no) 527) 528if test "$ac_cv_have___builtin_clz" = yes; then 529 AC_DEFINE(HAVE___BUILTIN_CLZ) 530fi 531 532 533if test "$ac_cv_func_select" != yes; then 534 AC_ERROR([select function not present]) 535fi 536 537AC_CHECK_LIB(bsd, strmode) 538 539dnl User option 540 541AC_MSG_CHECKING([for requested debug level]) 542AC_ARG_ENABLE(debuglevel, [ --enable-debuglevel set internal checking level 543 -1 - recover from segmentation faults 544 0 - no checks (fastest) 545 1 - check memory leaks 546 2 - check memory leaks, red zone 547 3 - check memory leaks, red zone, pattern filling], cf_debuglevel="$enableval", cf_debuglevel=0) 548if test "$cf_debuglevel" = no; then cf_debuglevel=0; fi 549if test "$cf_debuglevel" = yes; then cf_debuglevel=2; fi 550AC_MSG_RESULT($cf_debuglevel) 551if test "$cf_debuglevel" != -1 && test "$cf_debuglevel" != 0 && test "$cf_debuglevel" != 1 && test "$cf_debuglevel" != 2 && test "$cf_debuglevel" != 3; then 552 AC_ERROR([Invalid debuglevel specified]) 553fi 554AC_DEFINE_UNQUOTED(DEBUGLEVEL, $cf_debuglevel) 555 556AC_MSG_CHECKING([if you want to enable javascript]) 557cf_use_javascript=no 558AC_ARG_ENABLE(javascript, [ --enable-javascript DELETE1], cf_use_javascript="$enableval") 559AC_MSG_RESULT($cf_use_javascript) 560if test "$cf_use_javascript" = yes; then 561 AC_DEFINE(JS) 562 AC_MSG_CHECKING([if you want to link with system libfl]) 563 cf_use_libfl=no 564 AC_ARG_WITH(libfl, [ --with-libfl DELETE2], cf_use_libfl="$withval") 565 AC_MSG_RESULT($cf_use_libfl) 566 if test "$cf_use_libfl" != no; then 567 LIBS="$LIBS -lfl" 568 else 569 AC_DEFINE(CHCEME_FLEXI_LIBU) 570 fi 571 572 reg_exp_mode="NONE" 573 PKG_CHECK_MODULES(LIBPCRE, libpcre, pkgconfig_libpcre=yes, pkgconfig_libpcre=no) 574 if test "$pkgconfig_libpcre" = "yes"; then 575 CPPFLAGS="$CPPFLAGS $LIBPCRE_CFLAGS" 576 LIBS="$LIBPCRE_LIBS $LIBS" 577 fi 578 AC_CHECK_LIB(pcre, pcre_compile) 579 AC_CHECK_HEADERS(pcre.h) 580 if test "$ac_cv_lib_pcre_pcre_compile" = yes && test "$ac_cv_header_pcre_h" = yes; then 581 AC_DEFINE(HAVE_PCRE) 582 reg_exp_mode="PCRE" 583 else 584 AC_HAVE_FUNCS(regcomp) 585 AC_CHECK_HEADERS(regex.h) 586 if test "$ac_cv_func_regcomp" = yes && test "$ac_cv_header_regex_h" = yes; then 587 AC_DEFINE(HAVE_REGEX) 588 reg_exp_mode="LIBC" 589 fi 590 fi 591 AC_CHECK_LIB(m, fmod) 592fi 593 594cf_use_graphics=no 595AC_MSG_CHECKING([if you want to use graphics]) 596AC_ARG_ENABLE(graphics, [ --enable-graphics use graphics], cf_use_graphics="$enableval" ) 597AC_MSG_RESULT($cf_use_graphics) 598 599AC_MSG_CHECKING([if you want to enable UTF-8 terminal]) 600cf_enable_utf8=yes 601AC_ARG_ENABLE(utf8, [ --disable-utf8 disable UTF-8 terminal (saves memory)], cf_enable_utf8="$enableval" ) 602test "$ac_cv_have_emx" = yes && cf_enable_utf8=no 603test "$ac_cv_have_djgpp" = yes && cf_enable_utf8=no 604AC_MSG_RESULT($cf_enable_utf8) 605 606if test "$cf_enable_utf8" != no; then 607 AC_DEFINE(ENABLE_UTF8) 608fi 609 610 611dnl Checks for libraries. 612 613AC_HAVE_FUNCS(clock_gettime) 614if test $ac_cv_func_clock_gettime = no; then 615 AC_CHECK_LIB(rt, clock_gettime) 616 if test $ac_cv_lib_rt_clock_gettime = yes; then 617 AC_DEFINE(HAVE_CLOCK_GETTIME) 618 fi 619fi 620 621AC_CHECK_FUNC(socket, cf_result=yes, cf_result=no) 622if test "$cf_result" = no; then 623 AC_CHECK_LIB(socket, socket) 624 if test "$ac_cv_lib_socket_socket" = no; then 625 AC_CHECK_LIB(xnet, socket) 626 if test "$ac_cv_lib_xnet_socket" = no; then 627 AC_CHECK_LIB(network, socket) 628 if test "$ac_cv_lib_network_socket" = no; then 629 AC_CHECK_LIB(watt, socket) 630 if test "$ac_cv_lib_watt_socket" = no; then 631 AC_ERROR([socket function not present]) 632 fi 633 fi 634 fi 635 fi 636fi 637AC_CHECK_FUNC(setsockopt, cf_result=yes, cf_result=no) 638if test "$cf_result" = no; then 639 AC_CHECK_LIB(socket, setsockopt) 640fi 641 642AC_CHECK_FUNC(gethostbyname, cf_result=yes, cf_result=no) 643if test "$cf_result" = no; then 644 AC_CHECK_LIB(socket, gethostbyname) 645 cf_result="$ac_cv_lib_socket_gethostbyname" 646 if test "$ac_cv_lib_socket_gethostbyname" = no; then 647 AC_CHECK_LIB(nsl, gethostbyname) 648 cf_result="$ac_cv_lib_nsl_gethostbyname" 649 fi 650fi 651test "$cf_result" = yes && AC_DEFINE(HAVE_GETHOSTBYNAME) 652 653if test "$cf_result" = yes && test "$ac_cv_have_watcom" = yes -o "`uname -s`" = SunOS; then 654 AC_CACHE_CHECK([for flawed gethostbyname], ac_cv_gethostbyname_bug, 655 AC_TRY_RUN([ 656 #include <netdb.h> 657 int main() 658 { 659 return !gethostbyname("www.gnu.org"); 660 } 661 ], ac_cv_gethostbyname_bug=no, ac_cv_gethostbyname_bug=yes, ac_cv_gethostbyname_bug="$ac_cv_have_watcom") 662 ) 663 test "$ac_cv_gethostbyname_bug" = yes && AC_DEFINE(HAVE_GETHOSTBYNAME_BUG) 664fi 665 666AC_ARG_WITH(getaddrinfo, [ --without-getaddrinfo compile without getaddrinfo function],[if test "$withval" = no; then disable_getaddrinfo=yes; else disable_getaddrinfo=no; fi]) 667 668if test "$disable_getaddrinfo" != yes; then 669 AC_HAVE_FUNCS(getaddrinfo freeaddrinfo gai_strerror) 670 if test "$ac_cv_func_getaddrinfo" = yes -a "$ac_cv_func_freeaddrinfo" = yes; then 671 cf_have_getaddrinfo=yes 672 else 673 cf_have_getaddrinfo=no 674 fi 675else 676 cf_have_getaddrinfo=no 677fi 678 679AC_HAVE_FUNCS(inet_ntop inet_pton herror) 680 681AC_ARG_WITH(ipv6, [ --without-ipv6 compile without ipv6],[if test "$withval" = no; then disable_ipv6=yes; else disable_ipv6=no; fi]) 682 683AC_CACHE_CHECK([for ipv6], ac_cv_have_ipv6, 684 AC_TRY_COMPILE([ 685 #include <sys/types.h> 686 #include <sys/socket.h> 687 #include <netinet/in.h> 688 ], [ 689 struct sockaddr_in6 sin6; 690 sin6.sin6_family = AF_INET6; 691 ], ac_cv_have_ipv6=yes, ac_cv_have_ipv6=no) 692) 693if test "$disable_ipv6" != yes -a "$ac_cv_have_ipv6" = yes -a "$cf_have_getaddrinfo" = yes; then 694 cf_have_ipv6=yes 695 AC_DEFINE(SUPPORT_IPV6) 696else 697 cf_have_ipv6=no 698fi 699AC_CACHE_CHECK([for sockaddr_in6.sin6_scope_id], ac_cv_have_sin6_scope_id, 700 AC_TRY_COMPILE([ 701 #include <sys/types.h> 702 #include <sys/socket.h> 703 #include <netinet/in.h> 704 ], [ 705 struct sockaddr_in6 sin6; 706 sin6.sin6_scope_id = 0; 707 ], ac_cv_have_sin6_scope_id=yes, ac_cv_have_sin6_scope_id=no) 708) 709test "$ac_cv_have_sin6_scope_id" = yes && AC_DEFINE(SUPPORT_IPV6_SCOPE) 710 711AC_ARG_WITH(libevent, [ --without-libevent compile without libevent],[if test "$withval" = no; then disable_libevent=yes; else disable_libevent=no; fi]) 712 713cf_have_libevent=no 714if test "$disable_libevent" != yes; then 715 AC_CHECK_HEADERS(event.h ev-event.h) 716 if test "$ac_cv_header_event_h" = yes; then 717 AC_CHECK_LIB(event, event_loop) 718 if test "$ac_cv_lib_event_event_loop" = yes; then 719 cf_have_libevent=libevent 720 fi 721 fi 722 if test "$cf_have_libevent" = no; then 723 if test "$ac_cv_header_event_h" = yes -o "$ac_cv_header_ev_event_h" = yes; then 724 AC_CHECK_LIB(ev, event_loop) 725 if test "$ac_cv_lib_ev_event_loop" = yes; then 726 cf_have_libevent=libev 727 fi 728 fi 729 fi 730fi 731if test "$cf_have_libevent" != no; then 732 AC_HAVE_FUNCS(event_base_set event_get_version event_get_method event_base_free event_base_new event_reinit event_base_get_method event_config_set_flag event_get_struct_event_size) 733fi 734 735if test "$cf_use_graphics" != no; then 736 AC_CHECK_LIB(m, pow) 737 if test "$ac_cv_lib_m_pow" = no; then 738 AC_CHECK_LIB(m, main) 739 fi 740 AC_CACHE_CHECK([for pow], ac_cv_have_pow, 741 AC_TRY_LINK([#include <math.h>], [volatile double a = 1.1; volatile double b = 2.2; return pow(a, b);], ac_cv_have_pow=yes, ac_cv_have_pow=no) 742 ) 743 if test "$ac_cv_have_pow" = yes; then 744 AC_DEFINE(HAVE_POW) 745 fi 746 AC_CACHE_CHECK([for powf], ac_cv_have_powf, 747 AC_TRY_LINK([#include <math.h>], [volatile float a = 1.1; volatile float b = 2.2; return powf(a, b);], ac_cv_have_powf=yes, ac_cv_have_powf=no) 748 ) 749 if test "$ac_cv_have_powf" = yes; then 750 AC_DEFINE(HAVE_POWF) 751 fi 752 if test "$ac_cv_have_pow" != yes -a "$ac_cv_have_powf" != yes; then 753 AC_ERROR([pow and powf functions not present]) 754 fi 755fi 756 757AC_ARG_WITH(gpm, [ --without-gpm compile without gpm mouse],[if test "$withval" = no; then disable_gpm=yes; else disable_gpm=no; fi]) 758 759if test "$disable_gpm" != yes -a "$ac_cv_have_djgpp" != yes; then 760 AC_CHECK_HEADERS(gpm.h) 761 AC_CHECK_LIB(gpm, Gpm_Open) 762 AC_HAVE_FUNCS(Gpm_GetLibVersion) 763 if test "$ac_cv_lib_gpm_Gpm_Open" = yes && test "$ac_cv_header_gpm_h" = yes; then 764 cf_have_gpm=yes 765 AC_CACHE_CHECK([for Gpm_Event wdx and wdy], ac_cv_have_wdx_wdy, 766 AC_TRY_COMPILE([ 767#include <sys/time.h> 768#include <gpm.h> 769], [ 770 Gpm_Event e; 771 e.wdx = 1; 772 e.wdy = 2; 773 return e.wdx + e.wdy 774], ac_cv_have_wdx_wdy=yes, ac_cv_have_wdx_wdy=no) 775 ) 776 if test "$ac_cv_have_wdx_wdy" = yes; then 777 AC_DEFINE(HAVE_WDX_WDY) 778 fi 779 else 780 cf_have_gpm=no 781 fi 782else 783 cf_have_gpm=no 784fi 785 786AC_CACHE_CHECK([for OS/2 threads], ac_cv_have_beginthread, 787 CFLAGS_X="$CFLAGS" 788 CFLAGS="$CFLAGS -Zmt" 789 AC_TRY_LINK([#include <stdlib.h>], [_beginthread(NULL, NULL, 0, NULL)], ac_cv_have_beginthread=yes, ac_cv_have_beginthread=no) 790 CFLAGS="$CFLAGS_X" 791) 792if test "$ac_cv_have_beginthread" = yes; then 793 CFLAGS="$CFLAGS -Zmt" 794 AC_DEFINE(HAVE_BEGINTHREAD) 795fi 796AC_CHECK_HEADERS(atheos/threads.h) 797AC_HAVE_FUNCS(spawn_thread resume_thread) 798 799AC_HAVE_FUNCS(MouOpen _read_kbd) 800AC_CACHE_CHECK([for XFree for OS/2], ac_cv_have_x2, 801 CPPFLAGS_X="$CPPFLAGS" 802 LIBS_X="$LIBS" 803 ac_cv_have_x2=no 804 if test -n "$X11ROOT"; then 805 CPPFLAGS="$CPPFLAGS_X -I$X11ROOT/XFree86/include" 806 LIBS="$LIBS_X -L$X11ROOT/XFree86/lib -lxf86_gcc" 807 AC_TRY_LINK([#include <pty.h>], [struct winsize win;ptioctl(1, TIOCGWINSZ, &win)], ac_cv_have_x2=xf86_gcc, ac_cv_have_x2=no) 808 if test "$ac_cv_have_x2" = no; then 809 LIBS="$LIBS_X -L$X11ROOT/XFree86/lib -lxf86" 810 AC_TRY_LINK([#include <pty.h>], [struct winsize win;ptioctl(1, TIOCGWINSZ, &win)], ac_cv_have_x2=xf86, ac_cv_have_x2=no) 811 fi 812 fi 813 CPPFLAGS="$CPPFLAGS_X" 814 LIBS="$LIBS_X" 815) 816if test "$ac_cv_have_x2" != no; then 817 CPPFLAGS="$CPPFLAGS -I$X11ROOT/XFree86/include" 818 LIBS="$LIBS -L$X11ROOT/XFree86/lib -l$ac_cv_have_x2" 819 AC_DEFINE(X2) 820fi 821 822cf_result=no 823#ifdef HAVE_SSL 824ssld=yes 825withval= 826AC_ARG_WITH(ssl, [ --with-ssl(=directory) enable SSL support 827 --with-ssl=nss enable SSL support through NSS OpenSSL emulation], [if test "$withval" = no; then disable_ssl=yes; else ssld="$withval"; fi]) 828AC_ARG_ENABLE(ssl-pkgconfig, [ --disable-ssl-pkgconfig don't use pkgconfig when searching for openssl], cf_openssl_pkgconfig="$enableval", cf_openssl_pkgconfig=yes) 829if test -z "$disable_ssl"; then 830 CPPFLAGS_X="$CPPFLAGS" 831 LIBS_X="$LIBS" 832 if test "$static_link" != 0; then 833 AC_CHECK_LIB(dl, dlopen) 834 AC_CHECK_LIB(z, inflate) 835 fi 836 CPPFLAGS_XX="$CPPFLAGS" 837 LIBS_XX="$LIBS" 838 if test "$cf_result" = no && test "$ssld" = yes -o "$ssld" = openssl; then 839 if test "$cf_openssl_pkgconfig" = no; then 840 pkgconfig_openssl=no 841 else 842 PKG_CHECK_MODULES(OPENSSL, openssl, pkgconfig_openssl=yes, pkgconfig_openssl=no) 843 if test "$PKG_CONFIG" != no -a "$pkgconfig_openssl" = no; then 844 AC_MSG_RESULT(no) 845 fi 846 fi 847 if test "$pkgconfig_openssl" = yes; then 848 AC_MSG_CHECKING([for OpenSSL]) 849 CPPFLAGS="$CPPFLAGS_XX $OPENSSL_CFLAGS" 850 LIBS="$OPENSSL_LIBS $LIBS_XX" 851 AC_TRY_LINK([#include <stdio.h> 852#include <openssl/ssl.h>], [SSL_CTX_new((void *)0)], cf_result=openssl, cf_result=no) 853 AC_MSG_RESULT($cf_result) 854 fi 855 fi 856 857 if test "$cf_result" = no && test "$ssld" != nss; then 858 AC_MSG_CHECKING([for OpenSSL]) 859 if test "$ssld" = yes -o "$ssld" = openssl; then 860 ssld=". /usr /usr/local /usr/local/openssl /usr/lib/openssl /usr/local/ssl /usr/local/www /usr/lib/ssl /usr/local /usr/pkg /opt /opt/openssl" 861 fi 862 for ssldir in $ssld; do 863 if test "$cf_result" = no; then 864 if test ! -z "$ssldir" && test "$ssldir" != /usr && test "$ssldir" != .; then 865 LIBS="-L$ssldir/lib -lssl -lcrypto $LIBS_XX" 866 CPPFLAGS="$CPPFLAGS_XX -I$ssldir/include" 867 else 868 LIBS="-lssl -lcrypto $LIBS_XX" 869 CPPFLAGS="$CPPFLAGS_XX" 870 fi 871 AC_TRY_LINK([#include <stdio.h> 872#include <openssl/ssl.h>], [SSL_CTX_new((void *)0)], cf_result=openssl, cf_result=no) 873 fi 874 done 875 AC_MSG_RESULT($cf_result) 876 fi 877 878 if test "$cf_result" = no && test "$ssld" = yes -o "$ssld" = nss; then 879 if test "$cf_openssl_pkgconfig" = no; then 880 pkgconfig_nss=no 881 else 882 PKG_CHECK_MODULES(NSS, nss, pkgconfig_nss=yes, pkgconfig_nss=no) 883 if test "$PKG_CONFIG" != no -a "$pkgconfig_nss" = no; then 884 AC_MSG_RESULT(no) 885 fi 886 fi 887 if test "$pkgconfig_nss" = no; then 888 NSS_CFLAGS="" 889 NSS_LIBS="" 890 fi 891 CPPFLAGS="$CPPFLAGS_X $NSS_CFLAGS" 892 LIBS="-lnss_compat_ossl $NSS_LIBS $LIBS_X" 893 AC_MSG_CHECKING([for NSS-compat-ossl]) 894 AC_TRY_LINK([#include <nss_compat_ossl/nss_compat_ossl.h>], [SSL_CTX_new((void *)0)], cf_result=nss, cf_result=no) 895 AC_MSG_RESULT($cf_result) 896 fi 897 898 if test "$cf_result" = no; then 899 if test -n "$withval" -a "$withval" != no; then 900 AC_MSG_ERROR("OpenSSL not found") 901 fi 902 CPPFLAGS="$CPPFLAGS_X" 903 LIBS="$LIBS_X" 904 else 905 AC_DEFINE(HAVE_SSL) 906 if test "$cf_result" = openssl; then 907 AC_DEFINE(HAVE_OPENSSL) 908 AC_CHECK_HEADERS(openssl/x509v3.h) 909 fi 910 if test "$cf_result" = nss; then 911 AC_DEFINE(HAVE_NSS) 912 fi 913 AC_HAVE_FUNCS(ASN1_STRING_get0_data ASN1_STRING_to_UTF8 OPENSSL_cleanup OPENSSL_init_ssl RAND_add RAND_egd RAND_file_name RAND_load_file RAND_write_file SSL_SESSION_is_resumable SSL_get0_verified_chain SSL_get1_peer_certificate SSL_get1_session SSL_load_error_strings SSL_set_security_level X509_check_host X509_check_ip) 914 AC_CACHE_CHECK([for CRYPTO_set_mem_functions without file/line], ac_cv_have_crypto_set_mem_functions_1, 915 AC_TRY_LINK([#include <openssl/crypto.h> 916 static int csmf(void *(*m)(size_t), void *(*r)(void *, size_t), void (*f)(void *)) { return 0; } 917 ], [return (int)(CRYPTO_set_mem_functions - csmf);], ac_cv_have_crypto_set_mem_functions_1=yes, ac_cv_have_crypto_set_mem_functions_1=no) 918 ) 919 if test "$ac_cv_have_crypto_set_mem_functions_1" = yes; then 920 AC_DEFINE(HAVE_CRYPTO_SET_MEM_FUNCTIONS_1) 921 fi 922 AC_CACHE_CHECK([for CRYPTO_set_mem_functions with file/line], ac_cv_have_crypto_set_mem_functions_2, 923 AC_TRY_LINK([#include <openssl/crypto.h> 924 static int csmf(void *(*m)(size_t, const char *, int), void *(*r)(void *, size_t, const char *, int), void (*f)(void *, const char *, int)) { return 0; } 925 ], [return (int)(CRYPTO_set_mem_functions - csmf);], ac_cv_have_crypto_set_mem_functions_2=yes, ac_cv_have_crypto_set_mem_functions_2=no) 926 ) 927 if test "$ac_cv_have_crypto_set_mem_functions_2" = yes; then 928 AC_DEFINE(HAVE_CRYPTO_SET_MEM_FUNCTIONS_2) 929 fi 930 fi 931fi 932#endif 933cf_have_ssl=$cf_result 934 935AC_ARG_WITH(zlib, [ --without-zlib compile without zlib compression],[if test "$withval" = no; then disable_zlib=yes; else disable_zlib=no; fi]) 936AC_ARG_WITH(brotli, [ --without-brotli compile without brotli compression],[if test "$withval" = no; then disable_brotli=yes; else disable_brotli=no; fi]) 937AC_ARG_WITH(zstd, [ --without-zstd compile without zstandard compression],[if test "$withval" = no; then disable_zstd=yes; else disable_zstd=no; fi]) 938AC_ARG_WITH(bzip2, [ --without-bzip2 compile without bzip2 compression],[if test "$withval" = no; then disable_bzip2=yes; else disable_bzip2=no; fi]) 939AC_ARG_WITH(lzma, [ --without-lzma compile without lzma compression],[if test "$withval" = no; then disable_lzma=yes; else disable_lzma=no; fi]) 940AC_ARG_WITH(lzip, [ --without-lzip compile without lzip compression],[if test "$withval" = no; then disable_lzip=yes; else disable_lzip=no; fi]) 941compression="" 942 943if test "$disable_zlib" != yes; then 944 AC_CHECK_HEADERS(zlib.h) 945 AC_CHECK_LIB(z, inflate) 946 if test "$ac_cv_header_zlib_h" = yes && test "$ac_cv_lib_z_inflate" = yes; then 947 AC_DEFINE(HAVE_ZLIB) 948 compression="$compression ZLIB" 949 fi 950fi 951 952if test "$disable_brotli" != yes; then 953 AC_CHECK_HEADERS(brotli/decode.h) 954 AC_CHECK_LIB(brotlidec, BrotliDecoderDecompressStream) 955 if test "$ac_cv_header_brotli_decode_h" = yes && test "$ac_cv_lib_brotlidec_BrotliDecoderDecompressStream" = yes; then 956 AC_DEFINE(HAVE_BROTLI) 957 compression="$compression BROTLI" 958 fi 959fi 960 961if test "$disable_zstd" != yes; then 962 AC_CHECK_HEADERS(zstd.h) 963 AC_CHECK_LIB(zstd, ZSTD_decompressStream) 964 if test "$ac_cv_header_zstd_h" = yes && test "$ac_cv_lib_zstd_ZSTD_decompressStream" = yes; then 965 AC_HAVE_FUNCS(ZSTD_getErrorCode) 966 AC_DEFINE(HAVE_ZSTD) 967 compression="$compression ZSTD" 968 fi 969fi 970 971if test "$disable_bzip2" != yes; then 972 AC_CHECK_HEADERS(bzlib.h) 973 AC_CHECK_LIB(bz2, BZ2_bzDecompress) 974 if test "$ac_cv_header_bzlib_h" = yes && test "$ac_cv_lib_bz2_BZ2_bzDecompress" = yes; then 975 AC_DEFINE(HAVE_BZIP2) 976 compression="$compression BZIP2" 977 fi 978fi 979 980if test "$disable_lzma" != yes; then 981 AC_CHECK_HEADERS(lzma.h) 982 AC_CHECK_LIB(lzma, lzma_auto_decoder) 983 if test "$ac_cv_header_lzma_h" = yes && test "$ac_cv_lib_lzma_lzma_auto_decoder" = yes; then 984 AC_DEFINE(HAVE_LZMA) 985 compression="$compression LZMA" 986 fi 987fi 988 989if test "$disable_lzip" != yes; then 990 AC_CHECK_HEADERS(lzlib.h) 991 AC_CHECK_LIB(lz, LZ_decompress_open) 992 if test "$ac_cv_header_lzlib_h" = yes && test "$ac_cv_lib_lz_LZ_decompress_open" = yes; then 993 AC_DEFINE(HAVE_LZIP) 994 compression="$compression LZIP" 995 fi 996fi 997 998 999cf_have_atheos=no 1000cf_have_haiku=no 1001 1002if test "$cf_use_graphics" != no; then 1003 AC_DEFINE(G) 1004 1005AC_ARG_WITH(openmp, [ --without-openmp compile without OpenMP],[if test "$withval" = no; then disable_openmp=yes; else disable_openmp=no; fi]) 1006cf_have_openmp=no 1007if test "$disable_openmp" != yes; then 1008 AC_CACHE_CHECK([for OpenMP], ac_cv_have_openmp, 1009 ac_cv_have_openmp=no 1010 for openmp_cflags in "" -fopenmp -openmp -fopenmp=libgomp -mp -xopenmp -omp -qsmp=omp "-mp -lstdc++"; do 1011 CFLAGS_X="$CFLAGS" 1012 CFLAGS="$CFLAGS $openmp_cflags" 1013 AC_TRY_LINK([#include <omp.h>], [ 1014 int enabled = 1; 1015 int i = 1; 1016 int j = 3; 1017 omp_set_dynamic(0); 1018 i += omp_get_max_threads(); 1019 omp_set_num_threads(4); 1020#pragma omp parallel default(none) firstprivate(i) shared(j) if (enabled) 1021 { 1022 int n; 1023 i += omp_get_num_threads() + omp_get_thread_num(); 1024#pragma omp for nowait 1025 for (n = 0; n < 10; n++) 1026 i += j / i; 1027 } 1028 ], ac_cv_have_openmp="$openmp_cflags") 1029 CFLAGS="$CFLAGS_X" 1030 if test "$ac_cv_have_openmp" != no; then 1031 break 1032 fi 1033 done 1034 ) 1035 if test "$ac_cv_have_openmp" != no; then 1036 CFLAGS="$CFLAGS $ac_cv_have_openmp" 1037 cf_have_openmp=yes 1038 AC_DEFINE(HAVE_OPENMP) 1039 fi 1040fi 1041 1042AC_ARG_WITH(svgalib, [ --without-svgalib compile without svgalib graphics driver],[if test "$withval" = no; then disable_svgalib=yes; else disable_svgalib=no; fi]) 1043AC_ARG_WITH(x, [ --without-x compile without X Window System graphics driver],[if test "$withval" = no; then disable_x=yes; else disable_x=no; fi]) 1044AC_ARG_WITH(fb, [ --without-fb compile without Linux Framebuffer graphics driver],[if test "$withval" = no; then disable_fb=yes; else disable_fb=no; fi]) 1045AC_ARG_WITH(directfb, [ --without-directfb compile without DirectFB graphics driver],[if test "$withval" = no; then disable_directfb=yes; else disable_directfb=no; fi]) 1046dnl AC_ARG_WITH(sdl, [ --without-sdl compile without SDL graphics driver],[if test "$withval" = no; then disable_sdl=yes; else disable_sdl=no; fi]) 1047AC_ARG_WITH(pmshell, [ --without-pmshell compile without PMShell graphics driver],[if test "$withval" = no; then disable_pmshell=yes; else disable_pmshell=no; fi]) 1048AC_ARG_WITH(windows, [ --without-windows compile without Windows graphics driver],[if test "$withval" = no; then disable_windows=yes; else disable_windows=no; fi]) 1049AC_ARG_WITH(atheos, [ --without-atheos compile without Atheos graphics driver],[if test "$withval" = no; then disable_atheos=yes; else disable_atheos=no; fi]) 1050AC_ARG_WITH(haiku, [ --without-haiku compile without Haiku graphics driver],[if test "$withval" = no; then disable_haiku=yes; else disable_haiku=no; fi]) 1051AC_ARG_WITH(grx, [ --without-grx compile without DOS GRX graphics driver],[if test "$withval" = no; then disable_grx=yes; else disable_grx=no; fi]) 1052 1053 drivers="" 1054 1055if test "$disable_svgalib" != yes; then 1056 LIBS_X="$LIBS" 1057 if test "$static_link" != 0; then 1058 AC_CHECK_LIB(x86, LRMI_init) 1059 fi 1060 LIBS="-lvga $LIBS" 1061 AC_CACHE_CHECK([for svgalib], ac_cv_have_svgalib, 1062 AC_TRY_LINK([#include <vga.h>], [vga_setmode(0)], ac_cv_have_svgalib=yes, ac_cv_have_svgalib=no) 1063 ) 1064 1065 if test "$ac_cv_have_svgalib" = yes; then 1066 AC_HAVE_FUNCS(vga_runinbackground_version mouse_getposition_6d) 1067 AC_DEFINE(GRDRV_SVGALIB) 1068 drivers="$drivers SVGALIB" 1069 else 1070 LIBS="$LIBS_X" 1071 fi 1072fi 1073 1074if test "$disable_fb" != yes; then 1075 AC_CHECK_HEADERS(linux/fb.h linux/kd.h linux/vt.h sys/mman.h) 1076 if test "$ac_cv_header_linux_fb_h" = yes && test "$ac_cv_header_linux_kd_h" = yes && test "$ac_cv_header_linux_vt_h" = yes && test "$ac_cv_header_sys_mman_h" = yes && test "$ac_cv_header_sys_ioctl_h" = yes && test "$cf_have_gpm" = yes; then 1077 AC_DEFINE(GRDRV_FB) 1078 drivers="$drivers FB" 1079 fi 1080fi 1081 1082if test "$disable_directfb" != yes; then 1083 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no) 1084 if test "$DIRECTFB_CONFIG" != "no"; then 1085 AC_MSG_CHECKING(for DirectFB >= 0.9.17) 1086 directfb_version=`$DIRECTFB_CONFIG --version` 1087 if expr $directfb_version \>= 0.9.17 >/dev/null; then 1088 AC_MSG_RESULT(yes) 1089 1090 DIRECTFB_CFLAGS="`$DIRECTFB_CONFIG --cflags`" 1091 DIRECTFB_LIBS="`$DIRECTFB_CONFIG --libs`" 1092 pkgconfig_directfb=yes 1093 else 1094 AC_MSG_RESULT(no) 1095 pkgconfig_directfb=no 1096 fi 1097 else 1098 PKG_CHECK_MODULES(DIRECTFB, directfb, pkgconfig_directfb=yes, pkgconfig_directfb=no) 1099 if test "$PKG_CONFIG" != no -a "$pkgconfig_directfb" = no; then 1100 AC_MSG_RESULT(no) 1101 fi 1102 fi 1103 1104 if test "$pkgconfig_directfb" = "yes"; then 1105 CPPFLAGS_X="$CPPFLAGS" 1106 LIBS_X="$LIBS" 1107 1108 CPPFLAGS="$CPPFLAGS $DIRECTFB_CFLAGS" 1109 LIBS="$DIRECTFB_LIBS $LIBS" 1110 1111 AC_CACHE_CHECK([for DirectFBInit], ac_cv_have_directfbinit, 1112 AC_TRY_LINK([#include <directfb.h>], [DirectFBInit(NULL, NULL)], ac_cv_have_directfbinit=yes, ac_cv_have_directfbinit=no) 1113 ) 1114 1115 if test "$ac_cv_have_directfbinit" = yes; then 1116 AC_DEFINE(GRDRV_DIRECTFB) 1117 drivers="$drivers DIRECTFB" 1118 else 1119 CPPFLAGS="$CPPFLAGS_X" 1120 LIBS="$LIBS_X" 1121 fi 1122 fi 1123fi 1124 1125if test "$disable_x" != yes; then 1126 CPPFLAGS_X="$CPPFLAGS" 1127 LIBS_X="$LIBS" 1128 1129 AC_PATH_X 1130 1131 if test "$static_link" != 0; then 1132 AC_CHECK_LIB(pthread, pthread_create) 1133 AC_CHECK_LIB(dl, dlopen) 1134 AC_CHECK_LIB(Xdmcp, XdmcpWrap) 1135 AC_CHECK_LIB(Xau, XauGetBestAuthByAddr) 1136 AC_CHECK_LIB(xcb, xcb_connect) 1137 AC_CHECK_LIB(xcb-xlib, xcb_get_request_sent) 1138 fi 1139 1140 LIBS="-lX11 $LIBS" 1141 if test "$have_x" = yes; then 1142 test -n "$x_libraries" && LIBS="-L$x_libraries $LIBS" 1143 test -n "$x_includes" && CPPFLAGS="$CPPFLAGS -I$x_includes" 1144 fi 1145 1146 AC_CHECK_HEADERS(X11/Xlib.h X11/X.h X11/Xutil.h X11/Xatom.h X11/Xlocale.h X11/keysymdef.h) 1147 1148 AC_HAVE_FUNCS(XOpenDisplay XOpenIM XCloseIM XCreateIC XDestroyIC XwcLookupString Xutf8LookupString XSupportsLocale XmbTextListToTextProperty) 1149 1150 AC_CACHE_CHECK([for Xsetlocale], ac_cv_have_Xsetlocale, 1151 AC_TRY_LINK([#include <X11/Xlocale.h>], [setlocale(0, NULL); return 0;], ac_cv_have_Xsetlocale=yes, ac_cv_have_Xsetlocale=no) 1152 ) 1153 if test "$ac_cv_have_Xsetlocale" = yes; then 1154 AC_DEFINE(HAVE_XSETLOCALE) 1155 fi 1156 1157 1158 if test "$have_x" = yes -o "$ac_cv_have_x2" != no && test "$ac_cv_func_XOpenDisplay" = yes && test "$ac_cv_header_X11_Xlib_h" = yes && test "$ac_cv_header_X11_X_h" = yes && test "$ac_cv_header_X11_Xutil_h" = yes && test "$ac_cv_header_X11_Xatom_h" = yes && test "$ac_cv_header_X11_keysymdef_h" = yes; then 1159 AC_DEFINE(GRDRV_X) 1160 drivers="$drivers X" 1161 else 1162 CPPFLAGS="$CPPFLAGS_X" 1163 LIBS="$LIBS_X" 1164 fi 1165fi 1166 1167dnl if test "$disable_sdl" != yes; then 1168dnl AC_PATH_PROG(SDL_CONFIG, sdl-config, no) 1169dnl if test "$SDL_CONFIG" != "no"; then 1170dnl AC_MSG_CHECKING(for SDL >= 1.2.0) 1171dnl sdl_version="`$SDL_CONFIG --version`" 1172dnl if expr "$sdl_version" \>= 1.2.0 >/dev/null; then 1173dnl AC_MSG_RESULT(yes) 1174dnl SDL_CFLAGS="`$SDL_CONFIG --cflags`" 1175dnl SDL_LIBS="`$SDL_CONFIG --libs`" 1176dnl AC_DEFINE(GRDRV_SDL) 1177dnl drivers="$drivers SDL" 1178dnl CPPFLAGS="$CPPFLAGS $SDL_CFLAGS" 1179dnl AC_CHECK_LIB(Xext, XextAddDisplay) 1180dnl LIBS="$SDL_LIBS $LIBS" 1181dnl else 1182dnl AC_MSG_RESULT(no) 1183dnl fi 1184dnl fi 1185dnl fi 1186 1187if test "$disable_pmshell" != yes && test "$ac_cv_header_sys_fmutex_h" = yes && test "$ac_cv_have_beginthread" = yes; then 1188 AC_CACHE_CHECK([for pmshell], ac_cv_have_pmshell, 1189 AC_TRY_LINK([#define INCL_WIN 1190 #define INCL_GPI 1191 #include <os2.h> 1192 #include <sys/fmutex.h>], 1193 [_fmutex mutex; 1194 WinDrawText(NULLHANDLE, -1, NULL, NULL, 0, 0, 0), 1195 GpiSetPel(NULLHANDLE, NULL)], 1196 ac_cv_have_pmshell=yes, ac_cv_have_pmshell=no) 1197 ) 1198 1199 if test "$ac_cv_have_pmshell" = yes; then 1200 AC_DEFINE(GRDRV_PMSHELL) 1201 drivers="$drivers PMSHELL" 1202 fi 1203fi 1204 1205if test "$disable_windows" != yes; then 1206 LIBS_X="$LIBS" 1207 AC_CHECK_HEADERS(windowsx.h) 1208 AC_CACHE_CHECK([for ReleaseDC], ac_cv_have_windows11, 1209 AC_TRY_LINK([ 1210 #include <windows.h> 1211 #include <pthread.h>], 1212 [ReleaseDC(NULL, NULL)], 1213 ac_cv_have_windows11=yes, ac_cv_have_windows11=no) 1214 ) 1215 if test "$ac_cv_have_windows11" = no; then 1216 LIBS="-luser32 $LIBS" 1217 AC_CACHE_CHECK([for ReleaseDC in -luser32], ac_cv_have_windows12, 1218 AC_TRY_LINK([ 1219 #include <windows.h> 1220 #include <pthread.h>], 1221 [ReleaseDC(NULL, NULL)], 1222 ac_cv_have_windows12=yes, ac_cv_have_windows12=no) 1223 ) 1224 fi 1225 AC_CACHE_CHECK([for GdiFlush], ac_cv_have_windows21, 1226 AC_TRY_LINK([ 1227 #include <windows.h> 1228 #include <pthread.h>], 1229 [GdiFlush()], 1230 ac_cv_have_windows21=yes, ac_cv_have_windows21=no) 1231 ) 1232 if test "$ac_cv_have_windows21" = no; then 1233 LIBS="-lgdi32 $LIBS" 1234 AC_CACHE_CHECK([for GdiFlush in -lgdi32], ac_cv_have_windows22, 1235 AC_TRY_LINK([ 1236 #include <windows.h> 1237 #include <pthread.h>], 1238 [GdiFlush()], 1239 ac_cv_have_windows22=yes, ac_cv_have_windows22=no) 1240 ) 1241 fi 1242 if test "$ac_cv_have_windows11" = yes -o "$ac_cv_have_windows12" = yes && 1243 test "$ac_cv_have_windows21" = yes -o "$ac_cv_have_windows22" = yes; then 1244 AC_DEFINE(GRDRV_PMSHELL) 1245 drivers="$drivers WINDOWS" 1246 else 1247 LIBS="$LIBS_X" 1248 fi 1249fi 1250 1251if test "$disable_atheos" != yes; then 1252 old_ext="$ac_ext" 1253 ac_ext=cpp 1254 AC_CHECK_HEADERS(gui/view.h gui/window.h gui/desktop.h gui/bitmap.h util/locker.h util/application.h) 1255 ac_ext="$old_ext" 1256 1257 if test "$ac_cv_header_atheos_threads_h" = yes && 1258 test "$ac_cv_header_gui_view_h" = yes && 1259 test "$ac_cv_header_gui_window_h" = yes && 1260 test "$ac_cv_header_gui_desktop_h" = yes && 1261 test "$ac_cv_header_gui_bitmap_h" = yes && 1262 test "$ac_cv_header_util_locker_h" = yes && 1263 test "$ac_cv_header_util_application_h" = yes; then 1264 AC_CHECK_LIB(stdc++, main) 1265 AC_CHECK_LIB(atheos, main) 1266 if test "$ac_cv_lib_atheos_main" = no; then 1267 AC_CHECK_LIB(syllable, main) 1268 fi 1269 if test "$ac_cv_lib_atheos_main" = yes -o "$ac_cv_lib_syllable_main" = yes; then 1270 AC_PROG_CXX 1271 AC_DEFINE(GRDRV_ATHEOS) 1272 drivers="$drivers ATHEOS" 1273 cf_have_atheos=yes 1274 fi 1275 fi 1276fi 1277 1278if test "$disable_haiku" != yes ; then 1279 old_ext="$ac_ext" 1280 ac_ext=cpp 1281 AC_CHECK_HEADERS(interface/View.h interface/Window.h interface/Screen.h interface/Bitmap.h support/Locker.h app/Application.h) 1282 ac_ext="$old_ext" 1283 1284 if test "$ac_cv_header_interface_View_h" = yes && 1285 test "$ac_cv_header_interface_Window_h" = yes && 1286 test "$ac_cv_header_interface_Screen_h" = yes && 1287 test "$ac_cv_header_interface_Bitmap_h" = yes && 1288 test "$ac_cv_header_support_Locker_h" = yes && 1289 test "$ac_cv_header_app_Application_h" = yes; then 1290 AC_CHECK_LIB(stdc++, main) 1291 AC_CHECK_LIB(be, main) 1292 if test "$ac_cv_lib_be_main" = yes; then 1293 AC_PROG_CXX 1294 AC_DEFINE(GRDRV_HAIKU) 1295 drivers="$drivers HAIKU" 1296 cf_have_haiku=yes 1297 fi 1298 fi 1299fi 1300 1301if test "$disable_grx" != yes -a "$ac_cv_have_djgpp" = yes; then 1302 LIBS_X="$LIBS" 1303 AC_CHECK_HEADERS(grx20.h) 1304 AC_CHECK_LIB(grx20, GrSetMode) 1305 if test "$ac_cv_header_grx20_h" = yes && 1306 test "$ac_cv_lib_grx20_GrSetMode" = yes; then 1307 AC_DEFINE(GRDRV_GRX) 1308 drivers="$drivers GRX" 1309 else 1310 LIBS="$LIBS_X" 1311 fi 1312fi 1313 1314 1315 AC_ARG_WITH(freetype, [ --without-freetype compile without freetype support],[if test "$withval" = no; then disable_freetype=yes; else disable_freetype=no; fi]) 1316 font_rendering=INTERNAL 1317 if test "$disable_freetype" != yes; then 1318 CPPFLAGS_X="$CPPFLAGS" 1319 LIBS_X="$LIBS" 1320 AC_ARG_ENABLE(freetype-pkgconfig, [ --disable-freetype-pkgconfig don't use pkgconfig when searching for libfreetype], cf_libfreetype_pkgconfig="$enableval", cf_libfreetype_pkgconfig=yes) 1321 if test "$cf_libfreetype_pkgconfig" != no; then 1322 PKG_CHECK_MODULES(LIBFREETYPE, freetype2 fontconfig, pkgconfig_libfreetype=yes, pkgconfig_libfreetype=no) 1323 if test "$PKG_CONFIG" != no -a "$pkgconfig_libfreetype" = no; then 1324 AC_MSG_RESULT(no) 1325 fi 1326 if test "$pkgconfig_libfreetype" = "yes"; then 1327 CPPFLAGS="$CPPFLAGS $LIBFREETYPE_CFLAGS" 1328 LIBS="$LIBFREETYPE_LIBS $LIBS" 1329 fi 1330 fi 1331 1332 AC_CHECK_HEADERS(fontconfig/fontconfig.h ft2build.h) 1333 AC_HAVE_FUNCS(FcInit FT_Init_FreeType) 1334 if test "$ac_cv_func_FT_Init_FreeType" != yes; then 1335 AC_CHECK_LIB(freetype, FT_Init_FreeType) 1336 fi 1337 if test "$ac_cv_func_FcInit" != yes; then 1338 AC_CHECK_LIB(fontconfig, FcInit) 1339 fi 1340 if test "$ac_cv_header_ft2build_h" = yes -a "$ac_cv_header_fontconfig_fontconfig_h" = yes && 1341 test "$ac_cv_func_FT_Init_FreeType" = yes -o "$ac_cv_lib_freetype_FT_Init_FreeType" = yes && 1342 test "$ac_cv_func_FcInit" = yes -o "$ac_cv_lib_fontconfig_FcInit" = yes; then 1343 AC_CHECK_FUNCS(FcGetVersion FT_Library_Version) 1344 AC_DEFINE(HAVE_FREETYPE) 1345 font_rendering=FREETYPE 1346 else 1347 CPPFLAGS="$CPPFLAGS_X" 1348 LIBS="$LIBS_X" 1349 fi 1350 fi 1351 1352 1353 1354 AC_ARG_ENABLE(png-pkgconfig, [ --disable-png-pkgconfig don't use pkgconfig when searching for libpng], cf_libpng_pkgconfig="$enableval", cf_libpng_pkgconfig=yes) 1355 1356 if test "$static_link" != 0; then 1357 AC_CHECK_LIB(z, inflate) 1358 fi 1359 if test "$cf_libpng_pkgconfig" != no; then 1360 PKG_CHECK_MODULES(LIBPNG, libpng >= 1.0.0, pkgconfig_libpng=yes, pkgconfig_libpng=no) 1361 if test "$PKG_CONFIG" != no -a "$pkgconfig_libpng" = no; then 1362 AC_MSG_RESULT(no) 1363 fi 1364 if test "$pkgconfig_libpng" = "yes"; then 1365 CPPFLAGS="$CPPFLAGS $LIBPNG_CFLAGS" 1366 LIBS="$LIBPNG_LIBS $LIBS" 1367 else 1368 PKG_CHECK_MODULES(LIBPNG12, libpng12, pkgconfig_libpng12=yes, pkgconfig_libpng12=no) 1369 if test "$PKG_CONFIG" != no -a "$pkgconfig_libpng12" = no; then 1370 AC_MSG_RESULT(no) 1371 fi 1372 if test "$pkgconfig_libpng12" = "yes"; then 1373 CPPFLAGS="$CPPFLAGS $LIBPNG12_CFLAGS" 1374 LIBS="$LIBPNG12_LIBS $LIBS" 1375 fi 1376 fi 1377 fi 1378 AC_CHECK_HEADERS(png.h libpng/png.h) 1379 AC_HAVE_FUNCS(png_create_info_struct) 1380 if test "$ac_cv_func_png_create_info_struct" != yes; then 1381 AC_CHECK_LIB(png, png_create_info_struct) 1382 fi 1383 if test "$ac_cv_header_png_h" != yes -a "$ac_cv_header_libpng_png_h" != yes || test "$ac_cv_func_png_create_info_struct" != yes -a "$ac_cv_lib_png_png_create_info_struct" != yes; then 1384 AC_ERROR([You need libpng to compile Links in graphics mode]) 1385 fi 1386 1387 AC_HAVE_FUNCS(png_set_rgb_to_gray png_get_libpng_ver png_get_image_width png_get_image_height png_get_gAMA png_get_color_type png_get_bit_depth png_set_strip_alpha png_get_valid png_get_sRGB) 1388 if test "$ac_cv_func_png_get_image_width" != yes || 1389 test "$ac_cv_func_png_get_image_height" != yes || 1390 test "$ac_cv_func_png_get_gAMA" != yes || 1391 test "$ac_cv_func_png_get_color_type" != yes || 1392 test "$ac_cv_func_png_get_bit_depth" != yes || 1393 test "$ac_cv_func_png_set_strip_alpha" != yes || 1394 test "$ac_cv_func_png_get_valid" != yes || 1395 test "$ac_cv_func_png_get_sRGB" != yes; then 1396 AC_ERROR([Your libpng is too old]) 1397 fi 1398 1399 AC_ARG_WITH(libjpeg, [ --without-libjpeg compile without JPEG support],[if test "$withval" = no; then disable_jpeg=yes; else disable_jpeg=no; fi]) 1400 cf_have_jpeg=no 1401 if test "$disable_jpeg" != yes; then 1402 AC_CHECK_HEADERS(jpeglib.h) 1403 AC_CHECK_LIB(jpeg, jpeg_destroy_decompress) 1404 if test "$ac_cv_header_jpeglib_h" = yes && test "$ac_cv_lib_jpeg_jpeg_destroy_decompress" = yes; then 1405 AC_DEFINE(HAVE_JPEG) 1406 cf_have_jpeg=yes 1407 image_formats="$image_formats JPEG" 1408 fi 1409 fi 1410 1411 AC_ARG_WITH(libtiff, [ --without-libtiff compile without TIFF support],[if test "$withval" = no; then disable_tiff=yes; else disable_tiff=no; fi]) 1412 cf_have_tiff=no 1413 if test "$disable_tiff" != yes; then 1414 if test "$static_link" != 0; then 1415 AC_CHECK_LIB(jbig, jbg_enc_init) 1416 fi 1417 AC_CHECK_HEADERS(tiffio.h) 1418 AC_CHECK_LIB(tiff, TIFFClientOpen) 1419 if test "$ac_cv_header_tiffio_h" = yes && test "$ac_cv_lib_tiff_TIFFClientOpen" = yes; then 1420 AC_DEFINE(HAVE_TIFF) 1421 cf_have_tiff=yes 1422 image_formats="$image_formats TIFF" 1423 fi 1424 fi 1425 1426 AC_ARG_WITH(librsvg, [ --without-librsvg compile without SVG support],[if test "$withval" = no; then disable_svg=yes; else disable_svg=no; fi]) 1427 cf_have_svg=no 1428 if test "$disable_svg" != yes && test "$font_rendering" = FREETYPE; then 1429 CPPFLAGS_X="$CPPFLAGS" 1430 LIBS_X="$LIBS" 1431 AC_ARG_ENABLE(svg-pkgconfig, [ --disable-svg-pkgconfig don't use pkgconfig when searching for librsvg], cf_librsvg_pkgconfig="$enableval", cf_librsvg_pkgconfig=yes) 1432 if test "$cf_librsvg_pkgconfig" != no; then 1433 PKG_CHECK_MODULES(LIBRSVG, librsvg-2.0 >= 2.0.0 cairo, pkgconfig_librsvg=yes, pkgconfig_librsvg=no) 1434 if test "$PKG_CONFIG" != no -a "$pkgconfig_librsvg" = no; then 1435 AC_MSG_RESULT(no) 1436 fi 1437 if test "$pkgconfig_librsvg" = "yes"; then 1438 CPPFLAGS="$CPPFLAGS $LIBRSVG_CFLAGS" 1439 LIBS="$LIBRSVG_LIBS $LIBS" 1440 fi 1441 fi 1442 1443 AC_CHECK_HEADERS(cairo.h librsvg/rsvg.h librsvg/rsvg-cairo.h librsvg/librsvg-features.h) 1444 AC_HAVE_FUNCS(rsvg_handle_render_cairo rsvg_handle_read_stream_sync) 1445 if test "$ac_cv_func_rsvg_handle_render_cairo" != yes; then 1446 AC_CHECK_LIB(rsvg-2, rsvg_handle_render_cairo) 1447 fi 1448 if test "$ac_cv_header_cairo_h" = yes -a "$ac_cv_header_librsvg_rsvg_h" = yes && test "$ac_cv_func_rsvg_handle_render_cairo" = yes -o "$ac_cv_lib_rsvg_2_rsvg_handle_render_cairo" = yes; then 1449 AC_DEFINE(HAVE_SVG) 1450 cf_have_svg=yes 1451 image_formats="$image_formats SVG" 1452 else 1453 CPPFLAGS="$CPPFLAGS_X" 1454 LIBS="$LIBS_X" 1455 fi 1456 fi 1457 1458 1459 if test -z "$drivers" && test "$cf_use_graphics" != no; then 1460 AC_MSG_ERROR([No graphics drivers found.]) 1461dnl else 1462dnl AC_MSG_RESULT([The following graphics drivers are available:$drivers]) 1463 fi 1464fi 1465 1466 1467AM_CONDITIONAL(JAVASCRIPT, test "$cf_use_javascript" = yes) 1468 1469AM_CONDITIONAL(ATHEOS_GR, test "$cf_have_atheos" = yes) 1470AM_CONDITIONAL(HAIKU_GR, test "$cf_have_haiku" = yes) 1471 1472test "$ac_cv_have_emx" = yes && LDFLAGS="$LDFLAGS -Zexe" 1473 1474AC_HAVE_FUNCS(pthread_sigmask) 1475 1476if test "$ac_cv_func_pthread_sigmask" = yes; then 1477 AC_CHECK_LIB(pthread, pthread_sigmask) 1478fi 1479 1480AC_OUTPUT(Makefile) 1481 1482echo "---------------------------------------------------------" 1483echo "Configuration results:" 1484echo "" 1485echo "Event handler: `echo $cf_have_libevent|tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`" 1486if test "$cf_have_ipv6" = yes; then 1487 echo "IPv6: YES" 1488else 1489 echo "IPv6: NO" 1490fi 1491compression="`echo "$compression"|sed 's/^ //'`" 1492if test -z "$compression"; then compression="NO"; fi 1493echo "Supported compression: $compression" 1494echo "SSL support: `echo $cf_have_ssl|tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`" 1495if test "$cf_use_javascript" = yes; then 1496 echo "Javascript enabled: YES" 1497 echo "Regular expressions: $reg_exp_mode" 1498fi 1499if test "$cf_enable_utf8" != no; then 1500 echo "UTF-8 terminal: YES" 1501else 1502 echo "UTF-8 terminal: NO" 1503fi 1504if test "$cf_have_gpm" = yes; then 1505 echo "GPM support: YES" 1506else 1507 echo "GPM support: NO" 1508fi 1509if test "$ac_cv_have_emx" = yes; then 1510 if test "$ac_cv_have_x2" != no; then 1511 echo "xterm for OS/2 support: YES" 1512 else 1513 echo "xterm for OS/2 support: NO" 1514 fi 1515fi 1516if test "$cf_use_graphics" != no; then 1517 echo "Graphics enabled: YES" 1518 echo "Graphics drivers: `echo "$drivers"|sed 's/^ //'`" 1519 echo "Font rendering: $font_rendering" 1520 echo "Image formats: $image_formats" 1521 echo "OpenMP: `echo $cf_have_openmp|tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`" 1522else echo "Graphics enabled: NO"; fi 1523echo "---------------------------------------------------------" 1524if test "$cf_have_ssl" = "nss"; then 1525 echo "!!! WARNING !!! NSS encryption library doesn't verify" 1526 echo "certificates and it can cause lockup of the whole browser" 1527 echo "if the server is not responding." 1528 echo "It is recommended to use OpenSSL instead." 1529 echo "---------------------------------------------------------" 1530fi 1531if test -n "`echo "$drivers"|grep -w X`" -a "$ac_cv_header_interix_interix_h" = yes; then 1532 echo "!!! WARNING !!! Xwindow in Interix is unreliable and it" 1533 echo "may cause browser lockup." 1534 echo "It is recommended to use Cygwin instead." 1535 echo "---------------------------------------------------------" 1536fi 1537if test -n "`echo "$drivers"|grep -w WINDOWS`" -a "$ac_cv_func_uwin_path" = yes; then 1538 echo "!!! WARNING !!! Windows driver in UWIN is buggy." 1539 echo "It is recommended to use Cygwin instead." 1540 echo "---------------------------------------------------------" 1541fi 1542 1543 1544dnl mv Makefile Makefile.tmp 1545dnl grep -v DEPS_MAGIC Makefile.tmp >Makefile 1546dnl rm Makefile.tmp 1547 1548