LEFT | RIGHT |
1 dnl aclocal.m4 -*-shell-script-*- | 1 dnl aclocal.m4 -*-shell-script-*- |
2 dnl StepMake subroutines for configure.ac | 2 dnl StepMake subroutines for configure.ac |
3 | 3 |
4 | 4 |
5 ### mostly internal macros | 5 ### mostly internal macros |
6 | 6 |
7 # Get full path of executable ($1) | 7 # Get full path of executable ($1) |
8 AC_DEFUN(STEPMAKE_GET_EXECUTABLE, [ | 8 AC_DEFUN(STEPMAKE_GET_EXECUTABLE, [ |
9 ## which doesn't work in ash, if /usr/bin/which isn't installed | 9 ## which doesn't work in ash, if /usr/bin/which isn't installed |
10 ## type -p doesn't work in ash | 10 ## type -p doesn't work in ash |
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
293 ]) | 293 ]) |
294 | 294 |
295 | 295 |
296 AC_DEFUN(STEPMAKE_CXX, [ | 296 AC_DEFUN(STEPMAKE_CXX, [ |
297 AC_PROG_CXX | 297 AC_PROG_CXX |
298 STEPMAKE_OPTIONAL_REQUIRED(CXX, c++, $1) | 298 STEPMAKE_OPTIONAL_REQUIRED(CXX, c++, $1) |
299 | 299 |
300 CXXFLAGS="$CXXFLAGS $OPTIMIZE $SANITIZE" | 300 CXXFLAGS="$CXXFLAGS $OPTIMIZE $SANITIZE" |
301 | 301 |
302 AC_SUBST(CXX) | 302 AC_SUBST(CXX) |
303 AC_SUBST(CXXFLAGS) | |
304 ]) | |
305 | |
306 | |
307 AC_DEFUN(STEPMAKE_GXXCODEGENBUG, [ | |
308 AC_MSG_CHECKING([options for known g++ bugs]) | |
309 case "$GXX:$CXX_VERSION" in | |
310 yes:400600[[0-2]]) | |
311 AC_MSG_RESULT([-fno-optimize-sibling-calls (tail call bug)]) | |
312 CXXFLAGS="$CXXFLAGS -fno-optimize-sibling-calls" | |
313 ;; | |
314 yes:400700?) | |
315 AC_MSG_RESULT([-fno-tree-vrp (comparison bug)]) | |
316 CXXFLAGS="$CXXFLAGS -fno-tree-vrp" | |
317 ;; | |
318 *) | |
319 AC_MSG_RESULT([none]) | |
320 ;; | |
321 esac | |
322 AC_SUBST(CXXFLAGS) | 303 AC_SUBST(CXXFLAGS) |
323 ]) | 304 ]) |
324 | 305 |
325 | 306 |
326 AC_DEFUN(STEPMAKE_DATADIR, [ | 307 AC_DEFUN(STEPMAKE_DATADIR, [ |
327 presome=${prefix} | 308 presome=${prefix} |
328 if test "$prefix" = "NONE"; then | 309 if test "$prefix" = "NONE"; then |
329 presome=${ac_default_prefix} | 310 presome=${ac_default_prefix} |
330 fi | 311 fi |
331 | 312 |
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
521 AC_DEFUN(STEPMAKE_FLEXLEXER, [ | 502 AC_DEFUN(STEPMAKE_FLEXLEXER, [ |
522 save_CPPFLAGS="$CPPFLAGS" | 503 save_CPPFLAGS="$CPPFLAGS" |
523 if test -n "$FLEXLEXER_DIR"; then | 504 if test -n "$FLEXLEXER_DIR"; then |
524 CPPFLAGS="-I$FLEXLEXER_DIR $CPPFLAGS" | 505 CPPFLAGS="-I$FLEXLEXER_DIR $CPPFLAGS" |
525 fi | 506 fi |
526 AC_CHECK_HEADERS([FlexLexer.h],[true],[false]) | 507 AC_CHECK_HEADERS([FlexLexer.h],[true],[false]) |
527 if test $? -ne 0; then | 508 if test $? -ne 0; then |
528 warn='FlexLexer.h (flex package)' | 509 warn='FlexLexer.h (flex package)' |
529 STEPMAKE_ADD_ENTRY($1, $warn) | 510 STEPMAKE_ADD_ENTRY($1, $warn) |
530 fi | 511 fi |
531 # check for yyFlexLexer.yy_current_buffer, | 512 # check for yyFlexLexer.yypop_buffer_state () since flex 2.5.29 |
532 # in 2.5.4 <= flex < 2.5.29 | 513 AC_CACHE_CHECK([for yyFlexLexer.yypop_buffer_state ()], |
533 AC_CACHE_CHECK([for yyFlexLexer.yy_current_buffer], | 514 [stepmake_cv_flexlexer_yypop_buffer_state], |
534 [stepmake_cv_flexlexer_yy_current_buffer], | |
535 AC_COMPILE_IFELSE([ | 515 AC_COMPILE_IFELSE([ |
536 AC_LANG_PROGRAM([[ | 516 AC_LANG_PROGRAM([[ |
537 | |
538 using namespace std; | |
539 #include <FlexLexer.h> | 517 #include <FlexLexer.h> |
540 class yy_flex_lexer: public yyFlexLexer | 518 class yy_flex_lexer: public yyFlexLexer |
541 { | 519 { |
542 public: | 520 public: |
543 yy_flex_lexer () | 521 yy_flex_lexer () |
544 { | 522 { |
545 yy_current_buffer = 0; | 523 yypop_buffer_state (); |
546 } | 524 } |
547 }; | 525 }; |
548 | 526 |
549 ]])], | 527 ]])], |
550 [stepmake_cv_flexlexer_yy_current_buffer=yes], | 528 [stepmake_cv_flexlexer_yypop_buffer_state=yes], |
551 [stepmake_cv_flexlexer_yy_current_buffer=no])) | 529 [stepmake_cv_flexlexer_yypop_buffer_state=no])) |
552 | 530 |
553 if test $stepmake_cv_flexlexer_yy_current_buffer = yes; then | 531 if test $stepmake_cv_flexlexer_yypop_buffer_state = no; then |
554 AC_DEFINE(HAVE_FLEXLEXER_YY_CURRENT_BUFFER, 1, | 532 warn='FlexLexer.h with yypop_buffer_state (flex >= 2.5.29)' |
555 [Define to 1 if yyFlexLexer has yy_current_buffer.]) | 533 STEPMAKE_ADD_ENTRY($1, $warn) |
556 fi | 534 fi |
557 CPPFLAGS=$save_CPPFLAGS | 535 CPPFLAGS=$save_CPPFLAGS |
558 ]) | 536 ]) |
559 | 537 |
560 | 538 |
561 AC_DEFUN(STEPMAKE_FLEXLEXER_LOCATION, [ | 539 AC_DEFUN(STEPMAKE_FLEXLEXER_LOCATION, [ |
562 AC_MSG_CHECKING([FlexLexer.h location]) | 540 AC_MSG_CHECKING([FlexLexer.h location]) |
563 | 541 |
564 save_CPPFLAGS="$CPPFLAGS" | 542 save_CPPFLAGS="$CPPFLAGS" |
565 if test -n "$FLEXLEXER_DIR"; then | 543 if test -n "$FLEXLEXER_DIR"; then |
(...skipping 21 matching lines...) Expand all Loading... |
587 ;; | 565 ;; |
588 esac | 566 esac |
589 if test "x$dir" != "x$FLEXLEXER_DIR"; then | 567 if test "x$dir" != "x$FLEXLEXER_DIR"; then |
590 AC_MSG_ERROR([FlexLexer.h not located in directory given by --with-f
lexlexer-dir]) | 568 AC_MSG_ERROR([FlexLexer.h not located in directory given by --with-f
lexlexer-dir]) |
591 fi | 569 fi |
592 fi | 570 fi |
593 CPPFLAGS=$save_CPPFLAGS | 571 CPPFLAGS=$save_CPPFLAGS |
594 ]) | 572 ]) |
595 | 573 |
596 | 574 |
597 AC_DEFUN(STEPMAKE_GCC_OR_CLANG, [ | |
598 STEPMAKE_HAS_CLANG() | |
599 if test "$HAS_CLANG" = "no"; then | |
600 if test "$GCC" = "yes"; then | |
601 STEPMAKE_CHECK_VERSION(CC, $1, $2) | |
602 else | |
603 warn="$CC (Please install *GNU* cc)" | |
604 STEPMAKE_ADD_ENTRY($1, $warn) | |
605 fi | |
606 fi | |
607 # no else, we're fine with any clang | |
608 ]) | |
609 | |
610 | |
611 AC_DEFUN(STEPMAKE_GETTEXT, [ | 575 AC_DEFUN(STEPMAKE_GETTEXT, [ |
612 presome=${prefix} | 576 presome=${prefix} |
613 if test "$prefix" = "NONE"; then | 577 if test "$prefix" = "NONE"; then |
614 presome=${ac_default_prefix} | 578 presome=${ac_default_prefix} |
615 fi | 579 fi |
616 LOCALEDIR=`echo ${localedir} | sed "s!\\\${prefix}!$presome!"` | 580 LOCALEDIR=`echo ${localedir} | sed "s!\\\${prefix}!$presome!"` |
617 | 581 |
618 AC_SUBST(localedir) | 582 AC_SUBST(localedir) |
619 AC_DEFINE_UNQUOTED(LOCALEDIR, ["${LOCALEDIR}"]) | 583 AC_DEFINE_UNQUOTED(LOCALEDIR, ["${LOCALEDIR}"]) |
620 AC_CHECK_LIB(intl, gettext) | 584 AC_CHECK_LIB(intl, gettext) |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
688 ;; | 652 ;; |
689 esac | 653 esac |
690 ]) | 654 ]) |
691 | 655 |
692 AC_DEFUN(STEPMAKE_DLOPEN, [ | 656 AC_DEFUN(STEPMAKE_DLOPEN, [ |
693 AC_CHECK_LIB(dl, dlopen) | 657 AC_CHECK_LIB(dl, dlopen) |
694 AC_CHECK_FUNCS(dlopen) | 658 AC_CHECK_FUNCS(dlopen) |
695 ]) | 659 ]) |
696 | 660 |
697 | 661 |
698 AC_DEFUN(STEPMAKE_HAS_CLANG, [ | |
699 AC_EGREP_CPP(yes, | |
700 [#ifdef __clang__ | |
701 yes | |
702 #endif | |
703 ], HAS_CLANG=yes, HAS_CLANG=no) | |
704 ]) | |
705 | |
706 | |
707 AC_DEFUN(STEPMAKE_GXX_OR_CLANG, [ | |
708 STEPMAKE_HAS_CLANG() | |
709 if test "$HAS_CLANG" = "no"; then | |
710 if test "$GXX" = "yes"; then | |
711 STEPMAKE_CHECK_VERSION(CXX, $1, $2) | |
712 else | |
713 warn="$CXX (Please install *GNU* c++)" | |
714 STEPMAKE_ADD_ENTRY($1, $warn) | |
715 fi | |
716 fi | |
717 # no else, we're fine with any clang | |
718 ]) | |
719 | |
720 | |
721 AC_DEFUN(STEPMAKE_INIT, [ | 662 AC_DEFUN(STEPMAKE_INIT, [ |
722 . $srcdir/VERSION | 663 . $srcdir/VERSION |
723 FULL_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$PATCH_LEVEL | 664 FULL_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$PATCH_LEVEL |
724 TOPLEVEL_VERSION=$FULL_VERSION | 665 TOPLEVEL_VERSION=$FULL_VERSION |
725 if test x$MY_PATCH_LEVEL != x; then | 666 if test x$MY_PATCH_LEVEL != x; then |
726 FULL_VERSION=$FULL_VERSION.$MY_PATCH_LEVEL | 667 FULL_VERSION=$FULL_VERSION.$MY_PATCH_LEVEL |
727 fi | 668 fi |
728 VERSION=$FULL_VERSION | 669 VERSION=$FULL_VERSION |
729 export MAJOR_VERSION MINOR_VERSION PATCH_LEVEL | 670 export MAJOR_VERSION MINOR_VERSION PATCH_LEVEL |
730 | 671 |
(...skipping 507 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1238 if test "$CYGWIN$MINGW32" = "nono"; then | 1179 if test "$CYGWIN$MINGW32" = "nono"; then |
1239 PLATFORM_WINDOWS=no | 1180 PLATFORM_WINDOWS=no |
1240 else | 1181 else |
1241 PLATFORM_WINDOWS=yes | 1182 PLATFORM_WINDOWS=yes |
1242 fi | 1183 fi |
1243 AC_MSG_RESULT([$PLATFORM_WINDOWS]) | 1184 AC_MSG_RESULT([$PLATFORM_WINDOWS]) |
1244 AC_SUBST(PLATFORM_WINDOWS) | 1185 AC_SUBST(PLATFORM_WINDOWS) |
1245 STEPMAKE_PROGS(WINDRES, $target-windres windres, x) | 1186 STEPMAKE_PROGS(WINDRES, $target-windres windres, x) |
1246 AC_SUBST(WINDRES) | 1187 AC_SUBST(WINDRES) |
1247 ]) | 1188 ]) |
LEFT | RIGHT |