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 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
299 AC_PROG_CXX | 299 AC_PROG_CXX |
300 STEPMAKE_OPTIONAL_REQUIRED(CXX, c++, $1) | 300 STEPMAKE_OPTIONAL_REQUIRED(CXX, c++, $1) |
301 | 301 |
302 CXXFLAGS="$CXXFLAGS $OPTIMIZE $SANITIZE" | 302 CXXFLAGS="$CXXFLAGS $OPTIMIZE $SANITIZE" |
303 | 303 |
304 AC_SUBST(CXX) | 304 AC_SUBST(CXX) |
305 AC_SUBST(CXXFLAGS) | 305 AC_SUBST(CXXFLAGS) |
306 ]) | 306 ]) |
307 | 307 |
308 | 308 |
309 AC_DEFUN(STEPMAKE_GXXCODEGENBUG, [ | |
310 AC_MSG_CHECKING([options for known g++ bugs]) | |
311 case "$GXX:$CXX_VERSION" in | |
312 yes:400600[[0-2]]) | |
313 AC_MSG_RESULT([-fno-optimize-sibling-calls (tail call bug)]) | |
314 CXXFLAGS="$CXXFLAGS -fno-optimize-sibling-calls" | |
315 ;; | |
316 yes:400700?) | |
317 AC_MSG_RESULT([-fno-tree-vrp (comparison bug)]) | |
318 CXXFLAGS="$CXXFLAGS -fno-tree-vrp" | |
319 ;; | |
320 *) | |
321 AC_MSG_RESULT([none]) | |
322 ;; | |
323 esac | |
324 AC_SUBST(CXXFLAGS) | |
325 ]) | |
326 | |
327 | |
328 AC_DEFUN(STEPMAKE_DATADIR, [ | 309 AC_DEFUN(STEPMAKE_DATADIR, [ |
329 presome=${prefix} | 310 presome=${prefix} |
330 if test "$prefix" = "NONE"; then | 311 if test "$prefix" = "NONE"; then |
331 presome=${ac_default_prefix} | 312 presome=${ac_default_prefix} |
332 fi | 313 fi |
333 | 314 |
334 build_package_datadir=$ac_pwd/out/share/$package | 315 build_package_datadir=$ac_pwd/out/share/$package |
335 | 316 |
336 DATADIR=`echo ${datadir} | sed "s!\\\${datarootdir}!${presome}/share!"` | 317 DATADIR=`echo ${datadir} | sed "s!\\\${datarootdir}!${presome}/share!"` |
337 DATADIR=`echo ${DATADIR} | sed "s!\\\${prefix}!$presome!"` | 318 DATADIR=`echo ${DATADIR} | sed "s!\\\${prefix}!$presome!"` |
338 BUILD_PACKAGE_DATADIR=`echo ${build_package_datadir} | sed "s!\\\${prefix}!$
presome!"` | 319 BUILD_PACKAGE_DATADIR=`echo ${build_package_datadir} | sed "s!\\\${prefix}!$
presome!"` |
339 | 320 |
340 AC_SUBST(datadir) | 321 AC_SUBST(datadir) |
341 AC_SUBST(datarootdir) | 322 AC_SUBST(datarootdir) |
342 AC_SUBST(build_package_datadir) | 323 AC_SUBST(build_package_datadir) |
343 AC_DEFINE_UNQUOTED(DATADIR, ["${DATADIR}"]) | 324 AC_DEFINE_UNQUOTED(CONFIG_DATADIR, ["${DATADIR}"]) |
344 AC_DEFINE_UNQUOTED(BUILD_PACKAGE_DATADIR, ["${BUILD_PACKAGE_DATADIR}"]) | 325 AC_DEFINE_UNQUOTED(BUILD_PACKAGE_DATADIR, ["${BUILD_PACKAGE_DATADIR}"]) |
345 ]) | 326 ]) |
346 | 327 |
347 | 328 |
348 ## ugh: cut & paste programming from datadir. | 329 ## ugh: cut & paste programming from datadir. |
349 AC_DEFUN(STEPMAKE_LIBDIR, [ | 330 AC_DEFUN(STEPMAKE_LIBDIR, [ |
350 presome=${exec_prefix} | 331 presome=${exec_prefix} |
351 if test "$presome" = "NONE"; then | 332 if test "$presome" = "NONE"; then |
352 presome=${prefix} | 333 presome=${prefix} |
353 fi | 334 fi |
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
523 AC_DEFUN(STEPMAKE_FLEXLEXER, [ | 504 AC_DEFUN(STEPMAKE_FLEXLEXER, [ |
524 save_CPPFLAGS="$CPPFLAGS" | 505 save_CPPFLAGS="$CPPFLAGS" |
525 if test -n "$FLEXLEXER_DIR"; then | 506 if test -n "$FLEXLEXER_DIR"; then |
526 CPPFLAGS="-I$FLEXLEXER_DIR $CPPFLAGS" | 507 CPPFLAGS="-I$FLEXLEXER_DIR $CPPFLAGS" |
527 fi | 508 fi |
528 AC_CHECK_HEADERS([FlexLexer.h],[true],[false]) | 509 AC_CHECK_HEADERS([FlexLexer.h],[true],[false]) |
529 if test $? -ne 0; then | 510 if test $? -ne 0; then |
530 warn='FlexLexer.h (flex package)' | 511 warn='FlexLexer.h (flex package)' |
531 STEPMAKE_ADD_ENTRY($1, $warn) | 512 STEPMAKE_ADD_ENTRY($1, $warn) |
532 fi | 513 fi |
533 # check for yyFlexLexer.yy_current_buffer, | 514 # check for yyFlexLexer.yypop_buffer_state () since flex 2.5.29 |
534 # in 2.5.4 <= flex < 2.5.29 | 515 AC_CACHE_CHECK([for yyFlexLexer.yypop_buffer_state ()], |
535 AC_CACHE_CHECK([for yyFlexLexer.yy_current_buffer], | 516 [stepmake_cv_flexlexer_yypop_buffer_state], |
536 [stepmake_cv_flexlexer_yy_current_buffer], | |
537 AC_COMPILE_IFELSE([ | 517 AC_COMPILE_IFELSE([ |
538 AC_LANG_PROGRAM([[ | 518 AC_LANG_PROGRAM([[ |
539 | |
540 using namespace std; | |
541 #include <FlexLexer.h> | 519 #include <FlexLexer.h> |
542 class yy_flex_lexer: public yyFlexLexer | 520 class yy_flex_lexer: public yyFlexLexer |
543 { | 521 { |
544 public: | 522 public: |
545 yy_flex_lexer () | 523 yy_flex_lexer () |
546 { | 524 { |
547 yy_current_buffer = 0; | 525 yypop_buffer_state (); |
548 } | 526 } |
549 }; | 527 }; |
550 | 528 |
551 ]])], | 529 ]])], |
552 [stepmake_cv_flexlexer_yy_current_buffer=yes], | 530 [stepmake_cv_flexlexer_yypop_buffer_state=yes], |
553 [stepmake_cv_flexlexer_yy_current_buffer=no])) | 531 [stepmake_cv_flexlexer_yypop_buffer_state=no])) |
554 | 532 |
555 if test $stepmake_cv_flexlexer_yy_current_buffer = yes; then | 533 if test $stepmake_cv_flexlexer_yypop_buffer_state = no; then |
556 AC_DEFINE(HAVE_FLEXLEXER_YY_CURRENT_BUFFER, 1, | 534 warn='FlexLexer.h with yypop_buffer_state (flex >= 2.5.29)' |
557 [Define to 1 if yyFlexLexer has yy_current_buffer.]) | 535 STEPMAKE_ADD_ENTRY($1, $warn) |
558 fi | 536 fi |
559 CPPFLAGS=$save_CPPFLAGS | 537 CPPFLAGS=$save_CPPFLAGS |
560 ]) | 538 ]) |
561 | 539 |
562 | 540 |
563 AC_DEFUN(STEPMAKE_FLEXLEXER_LOCATION, [ | 541 AC_DEFUN(STEPMAKE_FLEXLEXER_LOCATION, [ |
564 AC_MSG_CHECKING([FlexLexer.h location]) | 542 AC_MSG_CHECKING([FlexLexer.h location]) |
565 | 543 |
566 save_CPPFLAGS="$CPPFLAGS" | 544 save_CPPFLAGS="$CPPFLAGS" |
567 if test -n "$FLEXLEXER_DIR"; then | 545 if test -n "$FLEXLEXER_DIR"; then |
(...skipping 21 matching lines...) Expand all Loading... |
589 ;; | 567 ;; |
590 esac | 568 esac |
591 if test "x$dir" != "x$FLEXLEXER_DIR"; then | 569 if test "x$dir" != "x$FLEXLEXER_DIR"; then |
592 AC_MSG_ERROR([FlexLexer.h not located in directory given by --with-f
lexlexer-dir]) | 570 AC_MSG_ERROR([FlexLexer.h not located in directory given by --with-f
lexlexer-dir]) |
593 fi | 571 fi |
594 fi | 572 fi |
595 CPPFLAGS=$save_CPPFLAGS | 573 CPPFLAGS=$save_CPPFLAGS |
596 ]) | 574 ]) |
597 | 575 |
598 | 576 |
599 AC_DEFUN(STEPMAKE_GCC_OR_CLANG, [ | |
600 STEPMAKE_HAS_CLANG() | |
601 if test "$HAS_CLANG" = "no"; then | |
602 if test "$GCC" = "yes"; then | |
603 STEPMAKE_CHECK_VERSION(CC, $1, $2) | |
604 else | |
605 warn="$CC (Please install *GNU* cc)" | |
606 STEPMAKE_ADD_ENTRY($1, $warn) | |
607 fi | |
608 fi | |
609 # no else, we're fine with any clang | |
610 ]) | |
611 | |
612 | |
613 AC_DEFUN(STEPMAKE_GETTEXT, [ | 577 AC_DEFUN(STEPMAKE_GETTEXT, [ |
614 presome=${prefix} | 578 presome=${prefix} |
615 if test "$prefix" = "NONE"; then | 579 if test "$prefix" = "NONE"; then |
616 presome=${ac_default_prefix} | 580 presome=${ac_default_prefix} |
617 fi | 581 fi |
618 LOCALEDIR=`echo ${localedir} | sed "s!\\\${prefix}!$presome!"` | 582 LOCALEDIR=`echo ${localedir} | sed "s!\\\${prefix}!$presome!"` |
619 | 583 |
620 AC_SUBST(localedir) | 584 AC_SUBST(localedir) |
621 AC_DEFINE_UNQUOTED(LOCALEDIR, ["${LOCALEDIR}"]) | 585 AC_DEFINE_UNQUOTED(LOCALEDIR, ["${LOCALEDIR}"]) |
622 AC_CHECK_LIB(intl, gettext) | 586 AC_CHECK_LIB(intl, gettext) |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
690 ;; | 654 ;; |
691 esac | 655 esac |
692 ]) | 656 ]) |
693 | 657 |
694 AC_DEFUN(STEPMAKE_DLOPEN, [ | 658 AC_DEFUN(STEPMAKE_DLOPEN, [ |
695 AC_CHECK_LIB(dl, dlopen) | 659 AC_CHECK_LIB(dl, dlopen) |
696 AC_CHECK_FUNCS(dlopen) | 660 AC_CHECK_FUNCS(dlopen) |
697 ]) | 661 ]) |
698 | 662 |
699 | 663 |
700 AC_DEFUN(STEPMAKE_HAS_CLANG, [ | |
701 AC_EGREP_CPP(yes, | |
702 [#ifdef __clang__ | |
703 yes | |
704 #endif | |
705 ], HAS_CLANG=yes, HAS_CLANG=no) | |
706 ]) | |
707 | |
708 | |
709 AC_DEFUN(STEPMAKE_GXX_OR_CLANG, [ | |
710 STEPMAKE_HAS_CLANG() | |
711 if test "$HAS_CLANG" = "no"; then | |
712 if test "$GXX" = "yes"; then | |
713 STEPMAKE_CHECK_VERSION(CXX, $1, $2) | |
714 else | |
715 warn="$CXX (Please install *GNU* c++)" | |
716 STEPMAKE_ADD_ENTRY($1, $warn) | |
717 fi | |
718 fi | |
719 # no else, we're fine with any clang | |
720 ]) | |
721 | |
722 | |
723 AC_DEFUN(STEPMAKE_INIT, [ | 664 AC_DEFUN(STEPMAKE_INIT, [ |
724 . $srcdir/VERSION | 665 . $srcdir/VERSION |
725 FULL_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$PATCH_LEVEL | 666 FULL_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$PATCH_LEVEL |
726 TOPLEVEL_VERSION=$FULL_VERSION | 667 TOPLEVEL_VERSION=$FULL_VERSION |
727 if test x$MY_PATCH_LEVEL != x; then | 668 if test x$MY_PATCH_LEVEL != x; then |
728 FULL_VERSION=$FULL_VERSION.$MY_PATCH_LEVEL | 669 FULL_VERSION=$FULL_VERSION.$MY_PATCH_LEVEL |
729 fi | 670 fi |
730 VERSION=$FULL_VERSION | 671 VERSION=$FULL_VERSION |
731 export MAJOR_VERSION MINOR_VERSION PATCH_LEVEL | 672 export MAJOR_VERSION MINOR_VERSION PATCH_LEVEL |
732 | 673 |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
805 | 746 |
806 STEPMAKE_DATADIR | 747 STEPMAKE_DATADIR |
807 STEPMAKE_LIBDIR | 748 STEPMAKE_LIBDIR |
808 ]) | 749 ]) |
809 | 750 |
810 | 751 |
811 AC_DEFUN(STEPMAKE_LIB, [ | 752 AC_DEFUN(STEPMAKE_LIB, [ |
812 STEPMAKE_PROGS(AR, ar, $1) | 753 STEPMAKE_PROGS(AR, ar, $1) |
813 AC_PROG_RANLIB | 754 AC_PROG_RANLIB |
814 STEPMAKE_OPTIONAL_REQUIRED(RANLIB, ranlib, $1) | 755 STEPMAKE_OPTIONAL_REQUIRED(RANLIB, ranlib, $1) |
815 ]) | |
816 | |
817 | |
818 AC_DEFUN(STEPMAKE_LIBTOOL, [ | |
819 # libtool.info ... | |
820 # **Never** try to set library version numbers so that they correspond | |
821 # to the release number of your package. This is an abuse that only | |
822 # fosters misunderstanding of the purpose of library versions. | |
823 | |
824 REVISION=$PATCH_LEVEL | |
825 # CURRENT=$MINOR_VERSION | |
826 CURRENT=`expr $MINOR_VERSION + 1` | |
827 # AGE=`expr $MAJOR_VERSION + 1` | |
828 AGE=$MAJOR_VERSION | |
829 AC_SUBST(CURRENT) | |
830 AC_SUBST(REVISION) | |
831 AC_SUBST(AGE) | |
832 ]) | 756 ]) |
833 | 757 |
834 | 758 |
835 AC_DEFUN(STEPMAKE_LOCALE, [ | 759 AC_DEFUN(STEPMAKE_LOCALE, [ |
836 lang=English | 760 lang=English |
837 ALL_LINGUAS="en nl" | 761 ALL_LINGUAS="en nl" |
838 | 762 |
839 # with/enable ?? | 763 # with/enable ?? |
840 AC_ARG_WITH(localedir, | 764 AC_ARG_WITH(localedir, |
841 [AS_HELP_STRING( | 765 [AS_HELP_STRING( |
(...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1237 AC_SUBST(program_suffix) | 1161 AC_SUBST(program_suffix) |
1238 | 1162 |
1239 AC_MSG_CHECKING([for some flavor of Windows]) | 1163 AC_MSG_CHECKING([for some flavor of Windows]) |
1240 if test "$CYGWIN$MINGW32" = "nono"; then | 1164 if test "$CYGWIN$MINGW32" = "nono"; then |
1241 PLATFORM_WINDOWS=no | 1165 PLATFORM_WINDOWS=no |
1242 else | 1166 else |
1243 PLATFORM_WINDOWS=yes | 1167 PLATFORM_WINDOWS=yes |
1244 fi | 1168 fi |
1245 AC_MSG_RESULT([$PLATFORM_WINDOWS]) | 1169 AC_MSG_RESULT([$PLATFORM_WINDOWS]) |
1246 AC_SUBST(PLATFORM_WINDOWS) | 1170 AC_SUBST(PLATFORM_WINDOWS) |
1247 STEPMAKE_PROGS(WINDRES, $host-windres windres, x) | 1171 STEPMAKE_PROGS(WINDRES, $target-windres $host-windres windres, x) |
1248 AC_SUBST(WINDRES) | 1172 AC_SUBST(WINDRES) |
1249 ]) | 1173 ]) |
LEFT | RIGHT |