1AC_DEFUN(ACX_FLAG, 2[ 3 AC_LANG_CASE(C, cur_lang=C;, C++, cur_lang=C++;)dnl undocumented ! 4 dnl if test x$ac_ext = xcc; then 5 if test x$cur_lang = xC++; then 6 AC_CACHE_CHECK(whether the C++ compiler supports $1, ac_cv_flag_cc_$2, 7 OLDCXXFLAGS="$CXXFLAGS" 8 CXXFLAGS="$CXXFLAGS $1" 9 [AC_TRY_LINK([],[int i=0], 10 ac_cv_flag_cc_$2=yes 11 $3, 12 ac_cv_flag_cc_$2=no 13 CXXFLAGS="$OLDCXXFLAGS" 14 $4 15 )] 16 ) 17 else 18 AC_CACHE_CHECK(whether the C compiler supports $1, ac_cv_flag_c_$2, 19 OLDCFLAGS="$CFLAGS" 20 CFLAGS="$CFLAGS $1" 21 [AC_TRY_LINK([],[int i=0], 22 ac_cv_flag_c_$2=yes 23 $3, 24 ac_cv_flag_c_$2=no 25 CFLAGS="$OLDCFLAGS" 26 $4 27 )] 28 ) 29 fi 30]) 31 32AC_DEFUN(ACX_M_PI, 33[ 34 AC_CACHE_CHECK(for M_PI, ac_cv_m_pi, 35 [AC_TRY_COMPILE([ 36 #include <math.h>],[ 37 double d = M_PI 38 ],ac_cv_m_pi=yes,ac_cv_m_pi=no 39 )] 40 ) 41 if test $ac_cv_m_pi = no; then 42 AC_DEFINE(M_PI, 3.14159265358979323846, [Define to the value of pi if you don't already have it]) 43 fi 44]) 45 46AC_DEFUN(ACX_NAMESPACE, 47[ 48 AC_LANG_PUSH(C++) 49 AC_CACHE_CHECK(whether the C++ compiler needs std::, ac_cv_needstd, 50 [AC_TRY_COMPILE([#include <string>], 51 [string s], 52 ac_cv_needstd=no, 53 ac_cv_needstd=yes 54 )] 55 ) 56 if test $ac_cv_needstd = no; then 57 AC_DEFINE(NO_NAMESPACE,, [Define if your compiler doesn't support namespaces]) 58 fi 59 AC_LANG_POP(C++) 60]) 61 62AC_DEFUN(ACX_FL_PIXMAP, 63[ 64 AC_MSG_CHECKING([[whether Fl_Pixmap needs const char*const*]]) 65 AC_TRY_COMPILE([ 66 #include <FL/Enumerations.H> 67 #include <FL/Fl_Pixmap.H>],[ 68 char *const abuf[] = { "a", "b" }; 69 Fl_Pixmap pix(abuf) 70 ],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(yes)] 71 [AC_DEFINE_UNQUOTED(XPMCONST, const, [Define to const if your compiler complains about the constness of Fl_Pixmap])]) 72]) 73 74AC_DEFUN(ACX_FIND_FILE, 75[ 76 AC_CACHE_CHECK(for $1, ac_cv_path_$4, 77 for i in $$3 $2; 78 do 79 if test -r "$i/$1"; then 80 $3=$i 81 ac_cv_path_$4=$i 82 break 83 fi 84 done 85 if test "$$3" = ""; then ac_cv_path_$4=no; fi 86 ) 87]) 88 89dnl parameters: 90dnl 1: header file, 2: name of lib, 3: function in lib, 91dnl 4: action if found, 5: action if not found 92AC_DEFUN(ACX_CHECK_LIB, 93[ 94 success=no 95 AC_CHECK_HEADER($1,[AC_CHECK_LIB($2,$3,success=yes)]) 96 if test x$success = xyes; then 97 LIBS="-l$2 $LIBS" 98 $4 99 else 100 : 101 $5 102 fi 103]) 104 105AC_DEFUN(ACX_X_OR_WIN, 106[ 107 AC_REQUIRE([AC_CANONICAL_HOST])dnl 108 case "$host_os" in 109 *cygwin* ) x_or_win=win;; 110 *mingw* ) x_or_win=win;; 111 * ) x_or_win=neither; 112 esac 113 114 if [test x$x_or_win = xwin]; then 115 CFLAGS="-mwindows $CFLAGS" 116 CXXFLAGS="-mwindows $CXXFLAGS" 117 LDFLAGS="-mwindows $LDFLAGS" 118 LIBS="-lgdi32 -luser32 -lglu32 -lmsvcrt -lwsock32 $LIBS" 119 else 120 AC_PATH_XTRA 121 if [test a$no_x = a]; then 122 x_or_win=x 123 dnl there's no direct reference to X11 in the code, so no CFLAGS required 124 LDFLAGS="$X_LIBS $LDFLAGS" 125 LIBS="-lX11 $X_EXTRA_LIBS $X_PRE_LIBS $LIBS" 126 fi 127 fi 128]) 129 130# Add a variable $2 (e.g. "-L...") to $1, if it's not already contained 131AC_DEFUN(ACX_ADD_BEFORE, 132[ 133 contained=no 134 for addvar in $$1; do 135 if test x$addvar = x$$2; then 136 contained=yes 137 fi 138 done 139 if test x$contained = xno; then 140 $1="$$2 $$1" 141 fi 142]) 143 144# Add a variable $2 (e.g. "-L...") to $1, if it's not already contained 145AC_DEFUN(ACX_ADD_AFTER, 146[ 147 contained=no 148 for addvar in $$1; do 149 if test x$addvar = x$$2; then 150 contained=yes 151 fi 152 done 153 if test x$contained = xno; then 154 $1="$$1 $$2" 155 fi 156]) 157 158# $1: required api-version (1.1), 159# $2: action (--use-images --use-gl) 160# $3: action if success, $4: action if failure 161AC_DEFUN(ACX_FLTK_CONFIG, 162[ 163 AC_PATH_PROG(FLTK,fltk-config) 164 if test a$FLTK != a; then 165 166 # look for fluid 167 if test x$FLUID = x; then 168 FLUID=`$FLTK --exec-prefix`/bin/fluid$EXEEXT 169 fi 170 AC_SUBST(FLUID) 171 172 # check api-version 173 if test x$1 != x; then 174 FLTK_API_VERSION=`$FLTK --api-version` 175 if test x$1 != x$FLTK_API_VERSION; then 176 AC_MSG_WARN([FLTK: api version $1 required, but $FLTK_API_VERSION found.]) 177 fi 178 fi 179 180 # add requested flags to LDFLAGS 181 FLTK_LDFLAGS=`$FLTK $2 --ldflags` 182 FLTK_LDFLAGS_REVERSE="" 183 for acx_var in $FLTK_LDFLAGS; do 184 FLTK_LDFLAGS_REVERSE="$acx_var $FLTK_LDFLAGS_REVERSE" 185 done 186 for acx_var in $FLTK_LDFLAGS_REVERSE; do 187 case "$acx_var" in 188 -l*) ACX_ADD_BEFORE(LIBS,acx_var);; 189 *) ACX_ADD_BEFORE(LDFLAGS,acx_var);; 190 esac 191 done 192 193 # add requested flags to CPPFLAGS or CXXFLAGS 194 FLTK_INCLUDE=`$FLTK $2 --cxxflags` 195 for acx_var in $FLTK_INCLUDE; do 196 case "$acx_var" in 197 -I*) ACX_ADD_AFTER(CPPFLAGS,acx_var);; 198 *) ACX_ADD_AFTER(CXXFLAGS,acx_var);; 199 esac 200 done 201 $3 202 else 203 : 204 $4 205 fi 206]) 207 208AC_DEFUN(ACX_FLTK, 209[ 210 AC_REQUIRE([ACX_X_OR_WIN])dnl 211#$EXEEXT instead!!! 212 if test a$x_or_win = ax; then 213 AC_PATH_PROG(FLUID,fluid,,$PATH:/usr/local/bin:/usr/bin) 214 elif test x$x_or_win = xwin; then 215 AC_PATH_PROG(FLUID,fluid.exe,,$PATH) 216 fi 217 AC_SUBST(FLUID) 218 219 AC_LANG_PUSH(C++) 220 ACX_CHECK_LIB(FL/Fl.H,fltk,fl_window,fltk=yes,fltk=no) 221 AC_LANG_POP(C++) 222]) 223