Mercurial > octave-nkf
comparison configure.ac @ 15838:009984ecf419 classdef
maint: periodic merge of default to classdef
author | Michael Goffioul <michael.goffioul@gmail.com> |
---|---|
date | Sun, 23 Dec 2012 13:00:02 -0500 |
parents | 48a75e6884ec |
children | 9a210f7fe62e |
comparison
equal
deleted
inserted
replaced
15576:6ea536cb7360 | 15838:009984ecf419 |
---|---|
121 | 121 |
122 ### Make configure args available for other uses. | 122 ### Make configure args available for other uses. |
123 | 123 |
124 config_opts=$ac_configure_args | 124 config_opts=$ac_configure_args |
125 AC_SUBST(config_opts) | 125 AC_SUBST(config_opts) |
126 | |
127 ### Define the path to the shell on the host system. Most systems will | |
128 ### ensure /bin/sh is the default shell so this can be safely ignored by | |
129 ### almost everyone. However, when building for Android, for example, | |
130 ### this will need to be set. | |
131 SHELL_PATH=/bin/sh | |
132 AC_ARG_WITH([shell], | |
133 [AS_HELP_STRING([--with-shell=SHELL], | |
134 [use SHELL as the shell interpreter (default: /bin/sh)])]) | |
135 case $with_shell in | |
136 no) | |
137 AC_MSG_ERROR([A shell interpreter is required]) | |
138 ;; | |
139 yes | "") | |
140 ;; | |
141 *) | |
142 SHELL_PATH=$with_shell | |
143 ;; | |
144 esac | |
145 AC_DEFINE_UNQUOTED([SHELL_PATH], ["$SHELL_PATH"], | |
146 [Define this to be the path to the shell command interpreter.]) | |
126 | 147 |
127 ### Enable bounds checking on element references within Octave's array and | 148 ### Enable bounds checking on element references within Octave's array and |
128 ### matrix classes. This slows down some operations a bit, so it is turned off | 149 ### matrix classes. This slows down some operations a bit, so it is turned off |
129 ### by default. | 150 ### by default. |
130 | 151 |
952 if test -n "$OPENGL_LIBS"; then | 973 if test -n "$OPENGL_LIBS"; then |
953 AC_DEFINE(HAVE_OPENGL, 1, [Define to 1 if OpenGL is available.]) | 974 AC_DEFINE(HAVE_OPENGL, 1, [Define to 1 if OpenGL is available.]) |
954 | 975 |
955 ## Check for FreeType 2 library | 976 ## Check for FreeType 2 library |
956 | 977 |
957 AC_CHECK_FT2([9.0.3], | 978 PKG_CHECK_MODULES([FT2], [freetype2], [ |
958 [AC_DEFINE(HAVE_FREETYPE, 1, [Define to 1 if you have FreeType library.]) | 979 min_ft2_version=9.03 |
959 XTRA_CXXFLAGS="$XTRA_CXXFLAGS $FT2_CFLAGS"], | 980 AC_MSG_CHECKING([for FreeType -- version >= $min_ft2_version]) |
960 [warn_freetype="FreeType library not found. Native graphics will be disabled."]) | 981 $PKG_CONFIG freetype2 --atleast-version=$min_ft2_version |
982 ac_status=$? | |
983 if test $ac_status = 0; then | |
984 AC_MSG_RESULT(yes) | |
985 AC_DEFINE(HAVE_FREETYPE, 1, [Define to 1 if you have Freetype library.]) | |
986 XTRA_CXXFLAGS="$XTRA_CXXFLAGS $FT2_CFLAGS" | |
987 else | |
988 AC_MSG_RESULT(no) | |
989 warn_freetype="FreeType library not found. Native graphics will be disabled." | |
990 fi]) | |
961 | 991 |
962 if test -n "$warn_freetype"; then | 992 if test -n "$warn_freetype"; then |
963 OCTAVE_CONFIGURE_WARNING([warn_freetype]) | 993 OCTAVE_CONFIGURE_WARNING([warn_freetype]) |
964 native_graphics=false | 994 native_graphics=false |
965 fi | 995 fi |
1097 fi | 1127 fi |
1098 | 1128 |
1099 XTRA_CRUFT_SH_LDFLAGS= | 1129 XTRA_CRUFT_SH_LDFLAGS= |
1100 if test $have_msvc = yes; then | 1130 if test $have_msvc = yes; then |
1101 FLIBS="$FLIBS -lkernel32" | 1131 FLIBS="$FLIBS -lkernel32" |
1102 XTRA_CRUFT_SH_LDFLAGS="-Wl,-def:cruft.def" | 1132 XTRA_CRUFT_SH_LDFLAGS="-Wl,-def:cruft/cruft.def" |
1103 fi | 1133 fi |
1104 AC_SUBST(XTRA_CRUFT_SH_LDFLAGS) | 1134 AC_SUBST(XTRA_CRUFT_SH_LDFLAGS) |
1105 | 1135 |
1106 ### Check for BLAS and LAPACK libraries: | 1136 ### Check for BLAS and LAPACK libraries: |
1107 | 1137 |
2074 AC_SUBST([LEX_OUTPUT_ROOT], [lex.octave_]) | 2104 AC_SUBST([LEX_OUTPUT_ROOT], [lex.octave_]) |
2075 | 2105 |
2076 OCTAVE_PROG_BISON | 2106 OCTAVE_PROG_BISON |
2077 | 2107 |
2078 AC_PROG_LN_S | 2108 AC_PROG_LN_S |
2109 AC_PROG_MKDIR_P | |
2079 | 2110 |
2080 AC_PROG_INSTALL | 2111 AC_PROG_INSTALL |
2081 INSTALL_SCRIPT='${INSTALL}' | 2112 INSTALL_SCRIPT='${INSTALL}' |
2082 AC_SUBST(INSTALL_SCRIPT) | 2113 AC_SUBST(INSTALL_SCRIPT) |
2083 | 2114 |
2099 DOCDIR= | 2130 DOCDIR= |
2100 warn_docs="building documentation disabled because gnuplot was not found; make dist will fail" | 2131 warn_docs="building documentation disabled because gnuplot was not found; make dist will fail" |
2101 OCTAVE_CONFIGURE_WARNING([warn_docs]) | 2132 OCTAVE_CONFIGURE_WARNING([warn_docs]) |
2102 fi | 2133 fi |
2103 AM_CONDITIONAL([AMCOND_BUILD_DOCS], [test -n "$DOCDIR"]) | 2134 AM_CONDITIONAL([AMCOND_BUILD_DOCS], [test -n "$DOCDIR"]) |
2104 | |
2105 ### Even though we include config.h, we need to have the preprocessor | |
2106 ### defines available in a variable for the testif feature of the | |
2107 ### scripts/testfun/test.m function. Use UGLY_DEFS to hold all the -D | |
2108 ### options. These are ultimately placed in the DEFS field of the | |
2109 ### struct returned by octave_config_info, which is used by test.m. | |
2110 | |
2111 AC_OUTPUT_MAKE_DEFS | |
2112 | |
2113 ### We have to insert extra levels of backslash quoting here so that | |
2114 ### the right thing ends up in oct-conf.h. | |
2115 UGLY_DEFS=`echo $DEFS | $SED 's,\\",\\\\\\\\\\\\\\\\\\",g'` | |
2116 AC_MSG_NOTICE([defining UGLY_DEFS to be $UGLY_DEFS]) | |
2117 AC_SUBST(UGLY_DEFS) | |
2118 | 2135 |
2119 ### Maybe add -Wall, -W, and -Wshadow to compiler flags now that we're | 2136 ### Maybe add -Wall, -W, and -Wshadow to compiler flags now that we're |
2120 ### done feature testing. | 2137 ### done feature testing. |
2121 | 2138 |
2122 GCC_EXTRA_FLAGS="-Wall -W -Wshadow -Wformat -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wcast-align -Wcast-qual" | 2139 GCC_EXTRA_FLAGS="-Wall -W -Wshadow -Wformat -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wcast-align -Wcast-qual" |
2174 fi | 2191 fi |
2175 | 2192 |
2176 AC_SUBST(WARN_CFLAGS) | 2193 AC_SUBST(WARN_CFLAGS) |
2177 AC_SUBST(WARN_CXXFLAGS) | 2194 AC_SUBST(WARN_CXXFLAGS) |
2178 | 2195 |
2196 ### Check for Java. | |
2197 | |
2198 build_java=true | |
2199 AC_ARG_ENABLE([java], | |
2200 [AS_HELP_STRING([--disable-java], | |
2201 [disable Java interface])], | |
2202 [if test "$enableval" = no; then | |
2203 build_java=false | |
2204 fi], | |
2205 []) | |
2206 | |
2207 AC_ARG_WITH([java-homedir], | |
2208 [AS_HELP_STRING([--with-java-homedir=DIR], | |
2209 [Java JDK directory in DIR])], | |
2210 [JAVA_HOMEDIR="$withval"]) | |
2211 | |
2212 AC_ARG_WITH([java-includedir], | |
2213 [AS_HELP_STRING([--with-java-includedir=DIR], | |
2214 [look for java include file <jni.h> in DIR])], | |
2215 [JAVA_CPPFLAGS="$withval"], [JAVA_CPPFLAGS=""]) | |
2216 | |
2217 AC_ARG_WITH([java-libdir], | |
2218 [AS_HELP_STRING([--with-java-libdir=DIR], | |
2219 [look for java library libjvm in DIR])], | |
2220 [JAVA_LDPATH="$withval"], [JAVA_LDPATH=""]) | |
2221 | |
2222 ## Grab JAVA_HOME from environment variable if it exists | |
2223 AC_ARG_VAR([JAVA_HOME], [path to Java JDK installation]) | |
2224 ## But --with-java-homedir option overrides environment variable | |
2225 if test -n "$JAVA_HOMEDIR"; then | |
2226 JAVA_HOME=$JAVA_HOMEDIR | |
2227 fi | |
2228 JAVA= | |
2229 JAVAC= | |
2230 JAR= | |
2231 JAVA_LIBS= | |
2232 | |
2233 ## Fake loop so that "break" can be used to skip code blocks. | |
2234 while test $build_java = true | |
2235 do | |
2236 ## Unset build_java. Variable is set only if all configuration tests pass. | |
2237 build_java=false | |
2238 | |
2239 ## Warn if JAVA_HOME is unset. It is *strongly* advised to specify JAVA_HOME. | |
2240 if test -z "$JAVA_HOME"; then | |
2241 AC_MSG_WARN([JAVA_HOME environment variable not initialized.]) | |
2242 AC_MSG_WARN([Auto-detection will proceed but is unreliable.]) | |
2243 fi | |
2244 | |
2245 ## Search for a viable Java executable. | |
2246 if test -z "$JAVA_HOME"; then | |
2247 JAVA_PATH="$PATH" | |
2248 else | |
2249 JAVA_PATH="${JAVA_HOME}$PATH_SEPARATOR${JAVA_HOME}/jre/bin$PATH_SEPARATOR${JAVA_HOME}/bin$PATH_SEPARATOR${JAVA_HOME}/../bin$PATH_SEPARATOR${PATH}" | |
2250 fi | |
2251 AC_PATH_PROG(JAVA, java, [], [$JAVA_PATH]) | |
2252 | |
2253 if test -z "$JAVA"; then | |
2254 AC_MSG_WARN([No Java executable found. Octave will not be able to call Java methods.]) | |
2255 break | |
2256 fi | |
2257 | |
2258 if test -z "$JAVA_HOME"; then | |
2259 ## Find JAVA_HOME for JRE by running java and querying properties. | |
2260 JAVA_TMP_HOME="`\"$JAVA\" -classpath ${srcdir}/build-aux OctJavaQry JAVA_HOME`" | |
2261 ## Strip directory back to top-level installation dir (JAVA_HOME for JDK). | |
2262 JAVA_HOME="`echo $JAVA_TMP_HOME | sed -e 's|[[/\\]]bin[[/\\]]\?$||' | sed -e 's|[[/\\]]jre[[/\\]]\?$||'`" | |
2263 fi | |
2264 | |
2265 case $canonical_host_type in | |
2266 *-mingw* | *-msdosmsvc*) | |
2267 ## Under Win32 platform, we want JAVA_HOME to be in MSYS format, that is without | |
2268 ## colon and backslashes, as it is also used as path separator. Use quoted paths | |
2269 ## as Java may be installed in a path with whitespaces (e.g. C:\Program Files\Java\...). | |
2270 if test -n "$JAVA_HOME"; then | |
2271 JAVA_HOME="`cd \"$JAVA_HOME\" && pwd`" | |
2272 ## Maybe this will be useful in the future, as native Java won't probably | |
2273 ## understand MSYS paths. | |
2274 JAVA_HOME_NATIVE="`cd \"$JAVA_HOME\" && pwd -W`" | |
2275 fi | |
2276 ;; | |
2277 *) | |
2278 JAVA_HOME_NATIVE="$JAVA_HOME" | |
2279 ;; | |
2280 esac | |
2281 | |
2282 ## Amend search path for JAVAC and JAR. | |
2283 if test -z "$JAVA_HOME"; then | |
2284 JAVA_PATH="$PATH" | |
2285 else | |
2286 JAVA_PATH="${JAVA_HOME}$PATH_SEPARATOR${JAVA_HOME}/bin$PATH_SEPARATOR${JAVA_HOME}/../bin$PATH_SEPARATOR${PATH}" | |
2287 fi | |
2288 | |
2289 AC_PATH_PROG(JAVAC, javac, [], [$JAVA_PATH]) | |
2290 AC_PATH_PROG(JAR, jar, [], [$JAVA_PATH]) | |
2291 | |
2292 if test -z "$JAVAC" || test -z "$JAR"; then | |
2293 AC_MSG_WARN([No javac compiler or jar executable found. Octave will not be able to call Java methods.]) | |
2294 break | |
2295 fi | |
2296 | |
2297 ## Check Java version is recent enough. | |
2298 AC_MSG_CHECKING([for Java version]) | |
2299 java_version=[`$"JAVA" -version 2>&1 | sed -n -e 's/^java version[^0-9"]*"\([^"]*\)"/\1/p'`] | |
2300 AC_MSG_RESULT([$java_version]) | |
2301 java_major=[`echo $java_version | sed -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*$/\1/'`] | |
2302 java_minor=[`echo $java_version | sed -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*$/\2/'`] | |
2303 if test $java_major -ge 1 && test $java_minor -ge 5; then | |
2304 : # Version is ok. Do nothing. | |
2305 else | |
2306 AC_MSG_WARN([Java version is too old (< 1.5). Octave will not be able to call Java methods.]) | |
2307 break | |
2308 fi | |
2309 | |
2310 ## At this point Win32/MSVC systems have enough configuration data. We assume | |
2311 ## that all appropriate variables (e.g. INCLUDE and LIB) have already the required | |
2312 ## paths to compile and link against JDK. | |
2313 case $canonical_host_type in | |
2314 *-msdosmsvc*) | |
2315 build_java=true | |
2316 JAVA_LIBS=-ladvapi32 | |
2317 AC_DEFINE(HAVE_JAVA, 1, | |
2318 [Define to 1 if Java is available and is at least version 1.5]) | |
2319 break | |
2320 ;; | |
2321 *-mingw*) | |
2322 if test "$have_msvc" = "yes"; then | |
2323 build_java=true | |
2324 JAVA_LIBS=-ladvapi32 | |
2325 AC_DEFINE(HAVE_JAVA, 1, | |
2326 [Define to 1 if Java is available and is at least version 1.5]) | |
2327 break | |
2328 fi | |
2329 ;; | |
2330 esac | |
2331 | |
2332 ## Determine which library file name to search for. | |
2333 case $canonical_host_type in | |
2334 *-darwin*) | |
2335 jvmlib=libjvm.dylib | |
2336 ;; | |
2337 *-mingw* | *-cygwin*) | |
2338 jvmlib=jvm.dll | |
2339 ;; | |
2340 *) | |
2341 jvmlib=libjvm.so | |
2342 ;; | |
2343 esac | |
2344 | |
2345 AC_MSG_CHECKING([for $jvmlib]) | |
2346 | |
2347 if test -z "$JAVA_LDPATH"; then | |
2348 ## Run Java to try and determine library path to libjvm.so. | |
2349 JAVA_TMP_LDPATH=`$JAVA -classpath ${srcdir}/build-aux OctJavaQry JAVA_LDPATH` | |
2350 JAVA_TMP_LDPATH=`echo $JAVA_TMP_LDPATH | sed -e "s/${PATH_SEPARATOR}/ /g"` | |
2351 for dir in $JAVA_TMP_LDPATH; do | |
2352 if test -f "$dir/$jvmlib"; then | |
2353 JAVA_LDPATH=$dir | |
2354 break | |
2355 fi | |
2356 done | |
2357 fi | |
2358 | |
2359 if test -z "$JAVA_LDPATH"; then | |
2360 ## Nothing found. Try Java again using bootpath argument. | |
2361 JAVA_TMP_LDPATH=`$JAVA -classpath ${srcdir}/build-aux OctJavaQry JAVA_BOOTPATH` | |
2362 JAVA_TMP_LDPATH="${JAVA_TMP_LDPATH} ${JAVA_TMP_LDPATH}/client ${JAVA_TMP_LDPATH}/server" | |
2363 for dir in $JAVA_TMP_LDPATH; do | |
2364 if test -f "$dir/$jvmlib"; then | |
2365 JAVA_LDPATH=$dir | |
2366 break | |
2367 fi | |
2368 done | |
2369 fi | |
2370 | |
2371 if test -z "$JAVA_LDPATH"; then | |
2372 ## Java failed to find it's own library path. Guess wildly. | |
2373 JAVA_TMP_LDPATH=`ls -d $JAVA_HOME/jre/lib/*/client` | |
2374 JAVA_TMP_LDPATH="${JAVA_TMP_LDPATH} `ls -d $JAVA_HOME/jre/lib/*/server`" | |
2375 ## Add some paths that might work on Macs. | |
2376 JAVA_TMP_LDPATH="${JAVA_TMP_LDPATH} ${JAVA_HOME}/../Libraries ${JAVA_HOME}/Libraries" | |
2377 ## Add some paths that might work on MinGW | |
2378 JAVA_TMP_LDPATH="${JAVA_TMP_LDPATH} ${JAVA_HOME}/bin/client ${JAVA_HOME}/bin/server" | |
2379 for dir in $JAVA_TMP_LDPATH; do | |
2380 if test -f "$dir/$jvmlib"; then | |
2381 JAVA_LDPATH=$dir | |
2382 break | |
2383 fi | |
2384 done | |
2385 fi | |
2386 | |
2387 ## Verify value passed in option --with-java-libdir | |
2388 if test -n "$JAVA_LDPATH"; then | |
2389 if test -f "${JAVA_LDPATH}/$jvmlib"; then | |
2390 : # libjvm found | |
2391 else | |
2392 JAVA_LDPATH="" | |
2393 fi | |
2394 fi | |
2395 | |
2396 if test -z "$JAVA_LDPATH"; then | |
2397 AC_MSG_RESULT([not found]) | |
2398 AC_MSG_WARN([Library $jvmlib not found. Octave will not be able to call Java methods.]) | |
2399 break | |
2400 else | |
2401 AC_MSG_RESULT([$JAVA_LDPATH]) | |
2402 fi | |
2403 | |
2404 AC_MSG_CHECKING([for include file <jni.h>]) | |
2405 | |
2406 ## Java and JVM found. Set up flags. | |
2407 case $canonical_host_type in | |
2408 *-darwin*) | |
2409 ## Sneak the -framework flag into mkoctfile via LFLAGS | |
2410 LFLAGS="$LFLAGS -framework JavaVM" | |
2411 ## According to: http://developer.apple.com/unix/crossplatform.html | |
2412 ## one must explicitly set the include path. | |
2413 ## Unfortunately, the include path keeps moving around. | |
2414 if test -n "$JAVA_CPPFLAGS"; then | |
2415 JAVA_CPPFLAGS="-I${JAVA_CPPFLAGS}" | |
2416 else | |
2417 JAVA_CPPFLAGS="-I${JAVA_HOME}/include -I/System/Library/Frameworks/JavaVM.framework/Home/include -I/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Headers -I/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers" | |
2418 fi | |
2419 JAVA_LIBS="-framework JavaVM" | |
2420 ;; | |
2421 *-mingw* | *-cygwin*) | |
2422 if test -n "$JAVA_CPPFLAGS"; then | |
2423 JAVA_CPPFLAGS="-I${JAVA_CPPFLAGS}/include -I${JAVA_CPPFLAGS}/include/win32" | |
2424 else | |
2425 JAVA_CPPFLAGS="-I${JAVA_HOME}/include -I${JAVA_HOME}/include/win32" | |
2426 fi | |
2427 JAVA_LIBS=-ladvapi32 | |
2428 ;; | |
2429 *) | |
2430 if test -n "$JAVA_CPPFLAGS"; then | |
2431 JAVA_CPPFLAGS="-I${JAVA_CPPFLAGS}/include -I${JAVA_CPPFLAGS}/include/linux" | |
2432 else | |
2433 JAVA_CPPFLAGS="-I${JAVA_HOME}/include -I${JAVA_HOME}/include/linux" | |
2434 fi | |
2435 ;; | |
2436 esac | |
2437 | |
2438 ## Verify jni.h include file exists. | |
2439 JNI_PATH=`echo $JAVA_CPPFLAGS | sed -e 's/-I//g'` | |
2440 have_jni=false | |
2441 for dir in $JNI_PATH; do | |
2442 if test -f "${dir}/jni.h"; then have_jni=true; break; fi | |
2443 done | |
2444 if test $have_jni = true; then | |
2445 AC_MSG_RESULT([$dir]) | |
2446 else | |
2447 AC_MSG_RESULT([not found]) | |
2448 AC_MSG_WARN([Include file <jni.h> not found. Octave will not be able to call Java methods.]) | |
2449 break | |
2450 fi | |
2451 | |
2452 ## Passed all configuration tests. A workable Java installation was found. | |
2453 build_java=true | |
2454 AC_DEFINE(HAVE_JAVA, 1, | |
2455 [Define to 1 if Java is available and is at least version 1.5]) | |
2456 break | |
2457 done | |
2458 | |
2459 AM_CONDITIONAL([AMCOND_HAVE_JAVA], [test $build_java = true]) | |
2460 AC_SUBST(JAVA) | |
2461 AC_SUBST(JAVAC) | |
2462 AC_SUBST(JAR) | |
2463 AC_SUBST(JAVA_CPPFLAGS) | |
2464 AC_SUBST(JAVA_LIBS) | |
2465 AC_DEFINE_UNQUOTED([JAVA_HOME], ["$JAVA_HOME"], [Java home (top-level installation dir)]) | |
2466 AC_DEFINE_UNQUOTED([JAVA_LDPATH], ["$JAVA_LDPATH"], [Java library path (libjvm)]) | |
2467 | |
2179 ### GUI/Qt related tests. | 2468 ### GUI/Qt related tests. |
2180 | 2469 |
2181 HAVE_QT=false | 2470 QT_CPPFLAGS= |
2182 QT_INCDIR= | 2471 QT_LDFLAGS= |
2183 QT_LIBDIR= | 2472 QT_LIBS= |
2184 win32_terminal=no | 2473 win32_terminal=no |
2185 build_gui=true | 2474 build_gui=true |
2186 GUIDIR=libgui | 2475 GUIDIR=libgui |
2187 AC_ARG_ENABLE([gui], | 2476 AC_ARG_ENABLE([gui], |
2188 [AS_HELP_STRING([--disable-gui], [don't build the GUI])], | 2477 [AS_HELP_STRING([--disable-gui], [don't build the GUI])], |
2192 ## Check for Qt libraries | 2481 ## Check for Qt libraries |
2193 PKG_CHECK_MODULES(QT, [QtCore, QtGui, QtNetwork], | 2482 PKG_CHECK_MODULES(QT, [QtCore, QtGui, QtNetwork], |
2194 [], | 2483 [], |
2195 [AC_MSG_ERROR([Qt libraries are required to build the GUI])]) | 2484 [AC_MSG_ERROR([Qt libraries are required to build the GUI])]) |
2196 | 2485 |
2197 ## Check for Qt utility programs | 2486 ## Retrieve Qt compilation and linker flags |
2198 AC_CHECK_PROGS(QMAKE, [qmake-qt5 qmake-qt4 qmake]) | 2487 QT_CPPFLAGS="`$PKG_CONFIG --cflags-only-I QtCore QtGui QtNetwork`" |
2199 if test -z "$QMAKE"; then | 2488 QT_LDFLAGS="`$PKG_CONFIG --libs-only-L QtCore QtGui QtNetwork`" |
2200 AC_MSG_ERROR([qmake is required to build the GUI]) | 2489 QT_LIBS="`$PKG_CONFIG --libs-only-l QtCore QtGui QtNetwork`" |
2201 fi | 2490 |
2202 | 2491 ## Check for Qt4 |
2203 QT_INCDIR=`$QMAKE -query QT_INSTALL_HEADERS | sed -e 's,\\\\,/,g'` | 2492 if ! `$PKG_CONFIG --atleast-version=4.0.0 QtCore`; then |
2204 QT_LIBDIR=`$QMAKE -query QT_INSTALL_LIBS | sed -e 's,\\\\,/,g'` | 2493 AC_MSG_ERROR([Qt >= 4.0.0 is required to build the GUI]) |
2205 | |
2206 if test "$QT_INCDIR" = "**Unknown**"; then | |
2207 AC_MSG_ERROR([qmake >= Qt4 is required to build the GUI]) | |
2208 fi | 2494 fi |
2209 | 2495 |
2210 AC_CHECK_PROGS(MOC, [moc-qt5 moc-qt4 moc]) | 2496 AC_CHECK_PROGS(MOC, [moc-qt5 moc-qt4 moc]) |
2211 AC_CHECK_PROGS(UIC, [uic-qt5 uic-qt4 uic]) | 2497 AC_CHECK_PROGS(UIC, [uic-qt5 uic-qt4 uic]) |
2212 AC_CHECK_PROGS(RCC, [rcc]) | 2498 AC_CHECK_PROGS(RCC, [rcc]) |
2213 if test -z "$MOC" || test -z "$UIC" || test -z "$RCC"; then | 2499 if test -z "$MOC" || test -z "$UIC" || test -z "$RCC"; then |
2214 AC_MSG_ERROR([Qt utility programs moc, uic, and rcc are required to build the GUI]) | 2500 AC_MSG_ERROR([Qt utility programs moc, uic, and rcc are required to build the GUI]) |
2215 fi | 2501 fi |
2216 | 2502 |
2217 HAVE_QT=true | |
2218 AC_DEFINE(HAVE_QT, 1, | 2503 AC_DEFINE(HAVE_QT, 1, |
2219 [Define to 1 if Qt is available (libraries, developer header files, utility programs (qmake, moc, uic, and rcc))]) | 2504 [Define to 1 if Qt is available (libraries, developer header files, utility programs (moc, uic, and rcc))]) |
2220 | 2505 |
2221 ## Check for Qscintilla library which is used in the GUI editor. | 2506 ## Check for Qscintilla library which is used in the GUI editor. |
2222 AC_CACHE_CHECK([whether Qscintilla library is installed], | 2507 AC_CACHE_CHECK([whether Qscintilla library is installed], |
2223 [octave_cv_lib_qscintilla], | 2508 [octave_cv_lib_qscintilla], |
2224 [save_CPPFLAGS="$CPPFLAGS" | 2509 [save_CPPFLAGS="$CPPFLAGS" |
2225 save_LDFLAGS="$LDFLAGS" | 2510 save_LDFLAGS="$LDFLAGS" |
2226 save_LIBS="$LIBS" | 2511 save_LIBS="$LIBS" |
2227 CPPFLAGS="-I$QT_INCDIR -I$QT_INCDIR/Qt $CPPFLAGS" | 2512 CPPFLAGS="$QT_CPPFLAGS $CPPFLAGS" |
2228 LDFLAGS="-L$QT_LIBDIR $LDFLAGS" | 2513 LDFLAGS="$QT_LDFLAGS $LDFLAGS" |
2229 LIBS="-lqscintilla2" | 2514 LIBS="$QT_LIBS -lqscintilla2" |
2230 AC_LANG_PUSH(C++) | 2515 AC_LANG_PUSH(C++) |
2231 AC_LINK_IFELSE([AC_LANG_PROGRAM([[ | 2516 AC_LINK_IFELSE([AC_LANG_PROGRAM([[ |
2232 #include <Qsci/qscilexersql.h> | 2517 #include <Qsci/qscilexersql.h> |
2233 ]], [[ | 2518 ]], [[ |
2234 QsciLexerSQL sqlLexer(0); | 2519 QsciLexerSQL sqlLexer(0); |
2241 AC_LANG_POP([C++]) | 2526 AC_LANG_POP([C++]) |
2242 ]) | 2527 ]) |
2243 if test $octave_cv_lib_qscintilla = no; then | 2528 if test $octave_cv_lib_qscintilla = no; then |
2244 AC_MSG_ERROR([Qscintilla library is required to build the GUI]) | 2529 AC_MSG_ERROR([Qscintilla library is required to build the GUI]) |
2245 fi | 2530 fi |
2531 ## Let's assume Qscintilla library is at the same location as | |
2532 ## other regular Qt libraries. | |
2533 QT_LIBS="$QT_LIBS -lqscintilla2" | |
2246 | 2534 |
2247 ## Check for Qt functions which have changed their API over time | 2535 ## Check for Qt functions which have changed their API over time |
2248 OCTAVE_CHECK_FUNC_FINDFIRST_MODERN | 2536 OCTAVE_CHECK_FUNC_FINDFIRST_MODERN |
2249 OCTAVE_CHECK_FUNC_SETPLACEHOLDERTEXT | 2537 OCTAVE_CHECK_FUNC_SETPLACEHOLDERTEXT |
2250 | 2538 |
2269 ## GUI disabled. Eliminate building GUIDIR directory | 2557 ## GUI disabled. Eliminate building GUIDIR directory |
2270 GUIDIR= | 2558 GUIDIR= |
2271 fi | 2559 fi |
2272 AM_CONDITIONAL([AMCOND_BUILD_GUI], [test $build_gui = true]) | 2560 AM_CONDITIONAL([AMCOND_BUILD_GUI], [test $build_gui = true]) |
2273 AM_CONDITIONAL([WIN32_TERMINAL], [test $win32_terminal = yes]) | 2561 AM_CONDITIONAL([WIN32_TERMINAL], [test $win32_terminal = yes]) |
2274 AC_SUBST(QT_INCDIR) | 2562 AC_SUBST(QT_CPPFLAGS) |
2275 AC_SUBST(QT_LIBDIR) | 2563 AC_SUBST(QT_LDFLAGS) |
2564 AC_SUBST(QT_LIBS) | |
2276 AC_SUBST(GUIDIR) | 2565 AC_SUBST(GUIDIR) |
2277 | 2566 |
2278 ### Run configure in subdirectories. | 2567 ### Run configure in subdirectories. |
2279 | 2568 |
2280 export CC | 2569 export CC |
2445 #define OCTAVE_CONFIG_INCLUDED 1 | 2734 #define OCTAVE_CONFIG_INCLUDED 1 |
2446 ]) | 2735 ]) |
2447 | 2736 |
2448 dnl end of AH_BOTTOM | 2737 dnl end of AH_BOTTOM |
2449 dnl ------------------------------------------------------------ | 2738 dnl ------------------------------------------------------------ |
2739 | |
2740 ### Make all AC_DEFINES available to testif feature of test.m function. | |
2741 ### This must reside at the bottom of configure.ac after all AC_DEFINES | |
2742 ### have been made. | |
2743 ### Use UGLY_DEFS to hold all the -D options. These are ultimately placed | |
2744 ### in the DEFS field of the struct returned by octave_config_info, which | |
2745 ### is used by test.m. | |
2746 | |
2747 AC_OUTPUT_MAKE_DEFS | |
2748 | |
2749 ## We have to insert extra levels of backslash quoting here so that | |
2750 ## the right thing ends up in oct-conf.h. | |
2751 UGLY_DEFS=`echo $DEFS | $SED 's,\\",\\\\\\\\\\\\\\\\\\",g'` | |
2752 AC_MSG_NOTICE([defining UGLY_DEFS to be $UGLY_DEFS]) | |
2753 AC_SUBST(UGLY_DEFS) | |
2450 | 2754 |
2451 ### Do the substitutions in all the Makefiles. | 2755 ### Do the substitutions in all the Makefiles. |
2452 | 2756 |
2453 AC_SUBST(ac_config_files) | 2757 AC_SUBST(ac_config_files) |
2454 AC_SUBST(ac_config_headers) | 2758 AC_SUBST(ac_config_headers) |
2531 graphics CFLAGS: $GRAPHICS_CFLAGS | 2835 graphics CFLAGS: $GRAPHICS_CFLAGS |
2532 graphics libraries: $GRAPHICS_LIBS | 2836 graphics libraries: $GRAPHICS_LIBS |
2533 HDF5 CPPFLAGS: $HDF5_CPPFLAGS | 2837 HDF5 CPPFLAGS: $HDF5_CPPFLAGS |
2534 HDF5 LDFLAGS: $HDF5_LDFLAGS | 2838 HDF5 LDFLAGS: $HDF5_LDFLAGS |
2535 HDF5 libraries: $HDF5_LIBS | 2839 HDF5 libraries: $HDF5_LIBS |
2840 Java home: $JAVA_HOME | |
2841 Java JVM path: $JAVA_LDPATH | |
2842 Java CPPFLAGS: $JAVA_CPPFLAGS | |
2843 Java libraries: $JAVA_LIBS | |
2536 LAPACK libraries: $LAPACK_LIBS | 2844 LAPACK libraries: $LAPACK_LIBS |
2537 LLVM CPPFLAGS: $LLVM_CPPFLAGS | 2845 LLVM CPPFLAGS: $LLVM_CPPFLAGS |
2538 LLVM LDFLAGS: $LLVM_LDFLAGS | 2846 LLVM LDFLAGS: $LLVM_LDFLAGS |
2539 LLVM libraries: $LLVM_LIBS | 2847 LLVM libraries: $LLVM_LIBS |
2540 Magick++ CPPFLAGS: $MAGICK_CPPFLAGS | 2848 Magick++ CPPFLAGS: $MAGICK_CPPFLAGS |
2547 QHULL LDFLAGS: $QHULL_LDFLAGS | 2855 QHULL LDFLAGS: $QHULL_LDFLAGS |
2548 QHULL libraries: $QHULL_LIBS | 2856 QHULL libraries: $QHULL_LIBS |
2549 QRUPDATE CPPFLAGS: $QRUPDATE_CPPFLAGS | 2857 QRUPDATE CPPFLAGS: $QRUPDATE_CPPFLAGS |
2550 QRUPDATE LDFLAGS: $QRUPDATE_LDFLAGS | 2858 QRUPDATE LDFLAGS: $QRUPDATE_LDFLAGS |
2551 QRUPDATE libraries: $QRUPDATE_LIBS | 2859 QRUPDATE libraries: $QRUPDATE_LIBS |
2552 Qt headers: $QT_INCDIR | 2860 Qt CPPFLAGS: $QT_CPPFLAGS |
2553 Qt libraries: $QT_LIBDIR | 2861 Qt LDFLAGS: $QT_LDFLAGS |
2862 Qt libraries: $QT_LIBS | |
2554 READLINE libraries: $READLINE_LIBS | 2863 READLINE libraries: $READLINE_LIBS |
2555 REGEX libraries: $REGEX_LIBS | 2864 REGEX libraries: $REGEX_LIBS |
2556 TERM libraries: $TERM_LIBS | 2865 TERM libraries: $TERM_LIBS |
2557 UMFPACK CPPFLAGS: $UMFPACK_CPPFLAGS | 2866 UMFPACK CPPFLAGS: $UMFPACK_CPPFLAGS |
2558 UMFPACK LDFLAGS: $UMFPACK_LDFLAGS | 2867 UMFPACK LDFLAGS: $UMFPACK_LDFLAGS |
2566 Default pager: $DEFAULT_PAGER | 2875 Default pager: $DEFAULT_PAGER |
2567 gnuplot: $GNUPLOT | 2876 gnuplot: $GNUPLOT |
2568 | 2877 |
2569 Build Octave GUI: $build_gui | 2878 Build Octave GUI: $build_gui |
2570 JIT compiler for loops: $build_jit | 2879 JIT compiler for loops: $build_jit |
2880 Build Java interface: $build_java | |
2571 Do internal array bounds checking: $BOUNDS_CHECKING | 2881 Do internal array bounds checking: $BOUNDS_CHECKING |
2572 Use octave_allocator: $USE_OCTAVE_ALLOCATOR | 2882 Use octave_allocator: $USE_OCTAVE_ALLOCATOR |
2573 Build static libraries: $STATIC_LIBS | 2883 Build static libraries: $STATIC_LIBS |
2574 Build shared libraries: $SHARED_LIBS | 2884 Build shared libraries: $SHARED_LIBS |
2575 Dynamic Linking: $ENABLE_DYNAMIC_LINKING $DL_API_MSG | 2885 Dynamic Linking: $ENABLE_DYNAMIC_LINKING $DL_API_MSG |