wxWidgets/configure.in
1999-04-19 16:31:11 +00:00

1724 lines
45 KiB
Plaintext

dnl ////////////////////////////////////////////////////////////////////////
dnl
dnl Top-level configure.in for wxWindows by Robert Roebling, Wolfram Gloger
dnl and Martin Sperl.
dnl
dnl This script is under the wxWindows licence.
dnl $Id$
dnl ////////////////////////////////////////////////////////////////////////
dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
dnl
AC_DEFUN(AM_PATH_GTK,
[dnl
dnl Get the cflags and libraries from the gtk-config script
dnl
AC_ARG_WITH(gtk-prefix,[**--with-gtk-prefix=PFX Prefix where GTK is installed],
gtk_config_prefix="$withval", gtk_config_prefix="")
AC_ARG_WITH(gtk-exec-prefix,[**--with-gtk-exec-prefix=PFX Exec prefix where GTK is installed],
gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
if test x$gtk_config_exec_prefix != x ; then
gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
if test x${GTK_CONFIG+set} != xset ; then
GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
fi
fi
if test x$gtk_config_prefix != x ; then
gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
if test x${GTK_CONFIG+set} != xset ; then
GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
fi
fi
AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
min_gtk_version=ifelse([$1], ,0.99.7,$1)
AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
no_gtk=""
if test "$GTK_CONFIG" != "no" ; then
GTK_CFLAGS=`$GTK_CONFIG --cflags`
GTK_LIBS=`$GTK_CONFIG --libs`
ac_save_CFLAGS="$CFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $GTK_CFLAGS"
LIBS="$LIBS $GTK_LIBS"
dnl
dnl Now check if the installed GTK is sufficiently new. (Also sanity
dnl checks the results of gtk-config to some extent
dnl
AC_TRY_RUN([
#include <gtk/gtk.h>
#include <stdio.h>
int
main ()
{
int major, minor, micro;
if (sscanf("$min_gtk_version", "%d.%d.%d", &major, &minor, &micro) != 3) {
printf("%s, bad version string\n", "$min_gtk_version");
exit(1);
}
if (gtk_minor_version == 1) return FALSE;
return !((gtk_major_version > major) ||
((gtk_major_version == major) && (gtk_minor_version > minor)) ||
((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)));
}
],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
else
no_gtk=yes
fi
if test "x$no_gtk" = x ; then
AC_MSG_RESULT(yes)
ifelse([$2], , :, [$2])
else
AC_MSG_RESULT(no)
GTK_CFLAGS=""
GTK_LIBS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
])
dnl ------------------------------------------------------------------------
dnl custom macros
dnl ------------------------------------------------------------------------
AC_DEFUN(AC_OVERRIDES_PREPARE,
[
rm -f ${OSTYPE}.system.cache.tmp
touch ${OSTYPE}.system.cache.tmp
touch ${OSTYPE}.system.cache
])
AC_DEFUN(AC_OVERRIDES_DONE,
[
mv ${OSTYPE}.system.cache.tmp ${OSTYPE}.system.cache
])
dnl package,message,helpmessage,variable
AC_DEFUN(AC_OVERRIDES,
[
AC_MSG_CHECKING("for $2")
AC_ARG_WITH($1,$3,
[if test "x$with_$1" = xyes; then
ac_cv_use_$1='$4="1"'
else
ac_cv_use_$1='$4="0"'
fi],
[
LINE=`grep "$4" ${OSTYPE}.system.cache`
if test "x$LINE" != x ; then
eval "DEFAULT_$LINE"
fi
ac_cv_use_$1='$4='$DEFAULT_$4
])
eval "$ac_cv_use_$1"
echo $ac_cv_use_$1 >> ${OSTYPE}.system.cache.tmp
if test "$$4" = 1; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
])
dnl package,message,helpmessage,variable
AC_DEFUN(AC_OVERRIDES_OLD,
[
AC_MSG_CHECKING("for $2")
AC_CACHE_VAL(ac_cv_use_$1,
[
AC_ARG_WITH($1,$3,
[if test "x$with_$1" = xyes; then
ac_cv_use_$1='$4="1"'
else
ac_cv_use_$1='$4="0"'
fi],[ac_cv_use_$1='$4=$DEFAULT_$4'])
])
eval "$ac_cv_use_$1"
if test "$$4" = 1; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
])
AC_DEFUN(AC_PATH_FIND_INCLUDES,
[
ac_find_includes=
for ac_dir in $1;
do
if test -f "$ac_dir/$2"; then
ac_find_includes=$ac_dir
break
fi
done
])
AC_DEFUN(AC_PATH_FIND_LIBRARIES,
[
ac_find_libraries=
for ac_dir in $1;
do
for ac_extension in a so sl; do
if test -f "$ac_dir/lib$2.$ac_extension"; then
ac_find_libraries=$ac_dir
break 2
fi
done
done
])
dnl Path to include, allready defined
AC_DEFUN(AC_INCLUDE_PATH_EXIST,
[
ac_path_to_include=$1
echo "$2" | grep "\-I$1" > /dev/null
result=$?
if test $result = 0; then
ac_path_to_include=""
else
ac_path_to_include="-I$1"
fi
])
dnl Path to link, allready defined
AC_DEFUN(AC_LINK_PATH_EXIST,
[
echo "$2" | grep "\-L$1" > /dev/null
result=$?
if test $result = 0; then
ac_path_to_link=""
else
ac_path_to_link="-L$1"
fi
])
dnl ------------------------------------------------------------------------
dnl Process this file with autoconf to produce a configure script.
dnl ------------------------------------------------------------------------
AC_INIT(configure.in)
dnl ------------------------------------------------------------------------
dnl Check platform
dnl ------------------------------------------------------------------------
OS="${OSTYPE}"
if test "x$OS" = "x"; then
UNAME=`uname`
AC_MSG_ERROR("The system variable OS has not been set"
"please set is everytime befor compiling on this system"
"A good example for this system would be:"
"setenv OSTYPE $UNAME for csh as a SHELL"
"EXPORT OSTYPE=$UNAME for sh as SHELL"
"please set this and restart again."
)
fi
dnl ------------------------------------------------------------------------
dnl Set base directory
dnl ------------------------------------------------------------------------
WXBASEDIR=`pwd`
AC_SUBST(WXBASEDIR)
dnl ------------------------------------------------------------------------
dnl search path for includes and libraries
dnl ------------------------------------------------------------------------
dnl VZ: added standard locations for Xm.h for Irix, HP-UX and SunOS (19.02.99)
SEARCH_INCLUDE="\
/usr/Motif-1.2/include \
/usr/Motif-2.1/include \
\
/usr/include/Motif1.2 \
/opt/xpm/include/X11 \
\
/usr/Motif1.2/include \
/usr/dt/include \
/usr/include/Xm \
\
/usr/X11R6/include \
/usr/X11R5/include \
/usr/X11R4/include \
\
/usr/X11R6/lib \
/usr/X11R5/lib \
/usr/X11R4/lib \
\
/usr/include/X11R6 \
/usr/include/X11R5 \
/usr/include/X11R4 \
\
/usr/local/X11R6/include \
/usr/local/X11R5/include \
/usr/local/X11R4/include \
\
/usr/local/include/X11R6 \
/usr/local/include/X11R5 \
/usr/local/include/X11R4 \
\
/usr/X11/include \
/usr/include/X11 \
/usr/local/X11/include \
/usr/local/include/X11 \
\
/usr/X386/include \
/usr/x386/include \
/usr/XFree86/include/X11 \
\
/usr/include \
/usr/include/gtk \
/usr/include/gdk \
/usr/include/glib \
/usr/local/include \
/usr/unsupported/include \
/usr/athena/include \
/usr/local/x11r5/include \
/usr/lpp/Xamples/include \
\
/usr/local/include/gtk \
/usr/local/include/qt \
/usr/include/qt \
\
/usr/openwin/include \
/usr/openwin/share/include \
"
SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` "
dnl ------------------------------------------------------------------------
dnl standard checks
dnl ------------------------------------------------------------------------
dnl ###################
dnl # checks programs #
dnl ###################
dnl C-compiler checks
dnl =================
dnl use what compiler
AC_PROG_CC
dnl defines CC with the compiler to use
dnl defines GCC with yes if using gcc
dnl defines GCC empty if not using gcc
dnl defines CFLAGS
CFLAGS=`echo "$CFLAGS" | sed 's/-g//g'`
dnl does compiler support -c and -o simultaniously
AC_PROG_CC_C_O
dnl defines NO_MINUS_C_MINUS_O if compiler does not accept
dnl both switches simultaniously
dnl what is the c-preprocessor
AC_PROG_CPP
dnl defines CPP with the c-preprocessor
dnl is -traditional needed for correct compilations
AC_PROG_GCC_TRADITIONAL
dnl adds -traditional for gcc if needed
AC_LANG_SAVE
dnl C++-compiler checks
dnl ===================
dnl use what compiler
AC_PROG_CXX
dnl defines CXX with the compiler to use
dnl defines GXX with yes if using gxx
dnl defines GXX empty if not using gxx
dnl defines CXXFLAGS
dnl what is the C++-preprocessor
AC_PROG_CXXCPP
dnl defines CXXCPP with the C++-preprocessor
CXXFLAGS=`echo "$CXXFLAGS" | sed 's/-g//g'`
AC_LANG_RESTORE
dnl ranlib command
dnl ==============
AC_PROG_RANLIB
dnl defines RANLIB with the appropriate command
dnl ar command
dnl ==========
AC_CHECK_PROG(AR, ar, ar, ar)
dnl defines AR with the appropriate command
dnl install checks
dnl ==============
AC_PROG_INSTALL
dnl defines INSTALL with the appropriate command
dnl does ln -s works
dnl ================
AC_PROG_LN_S
dnl defines LN_S with the appropriate command
dnl awk command
dnl ===========
AC_PROG_AWK
dnl defines AWK with the appropriate command
dnl strip command
dnl =============
AC_CHECK_PROG(STRIP, strip, strip, true)
dnl defines STRIP as strip or nothing if not found
dnl ###############
dnl # make checks #
dnl ###############
dnl check if VPATH works
AC_MSG_CHECKING("make for VPATH support")
dnl create Makefile
cat - << EOF > confMake
check : file
cp \$? \$@
cp \$? final_file
EOF
if test ! -d sub ; then
mkdir sub
fi
echo dummy > sub/file
${MAKE-make} -f confMake VPATH=sub 2> config.log > /dev/null
RESULT=$?
rm -f sub/file check final_file confMake
rmdir sub
if test "$RESULT" = 0; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
AC_MSG_ERROR(
You need a make-utility that is able to use the variable
VPATH correctly.
If your version of make does not support VPATH correctly,
please install GNU-make (possibly as gmake), and start
configure with the following command:
export MAKE=gmake; ./configure for sh-type shells
setenv MAKE gmake; ./configure for csh-type shells
Also please do remember to use gmake in this case every time
you are trying to compile.
)
fi
dnl ####################
dnl # checks libraries #
dnl ####################
dnl find the X11 include and library files
AC_PATH_XTRA
dnl defines x_includes and x_libraries
dnl #######################
dnl # checks header files #
dnl #######################
AC_HEADER_DIRENT
dnl defines DIR
dnl defines MACRO HAVE_DIRENT_H if dirent.h exists
dnl defines MACRO HAVE_SYS_NDIR_H if sys/ndir.h exists
dnl defines MACRO HAVE_SYS_DIR_H if sys/dir.h exists
dnl defines MACRO HAVE_NDIR_H if ndir.h exists
AC_HEADER_STDC
dnl defines STDC_HEADERS if ANSI-C header
AC_HEADER_SYS_WAIT
dnl defines HAVE_SYS_WAIT_H if sys/wait.h exist and is POSIX.1
AC_CHECK_HEADERS(fcntl.h)
dnl defines HAVE_FCNTL_H
AC_CHECK_HEADERS(limits.h)
dnl defines HAVE_LIMITS_h
AC_CHECK_HEADERS(sys/file.h)
dnl defines HAVE_SYS_FILE_H
AC_CHECK_HEADERS(sys/time.h)
dnl defines HAVE_SYS_TIME_H
AC_CHECK_HEADERS(unistd.h)
dnl defines HAVE_UNISTD_H
AC_CHECK_HEADERS(fnmatch.h)
dnl defines HAVE_FNMATCH_H
dnl As it needs Linux 2.1.x for the moment: check whether the file exists (GL).
AC_CHECK_HEADERS(linux/joystick.h)
GTK_JOYSTICK=""
if test "$ac_cv_header_linux_joystick_h" = "yes"; then
GTK_JOYSTICK="gtk/joystick.cpp"
fi
AC_SUBST(GTK_JOYSTICK)
dnl some systems (AIX) define some of string function in strings.h
AC_CHECK_HEADERS(strings.h)
dnl #######################
dnl # check for functions #
dnl #######################
dnl check for vprintf/vsprintf() which are GNU extensions
AC_FUNC_VPRINTF
dnl check for vsnprintf() - a safe version of vsprintf()
AC_CHECK_FUNCS(vsnprintf,
AC_DEFINE(HAVE_VSNPRINTF),
AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf)
)
dnl check for vfork() (even if it's the same as fork() in modern Unices)
AC_CHECK_FUNCS(vfork)
POSIX4_LINK=
AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP), [
AC_CHECK_LIB(posix4, nanosleep, [
AC_DEFINE(HAVE_NANOSLEEP)
POSIX4_LINK="-lposix4"
], [
AC_CHECK_FUNCS(usleep,
AC_DEFINE(HAVE_USLEEP),
AC_MSG_WARN(Sleep() function will not work))
])
])
dnl check for uname (POSIX) and gethostname (BSD)
AC_CHECK_FUNCS(uname gethostname, break)
dnl ###################
dnl # checks typedefs #
dnl ###################
AC_TYPE_GETGROUPS
dnl defines GETGROUPS_T
AC_TYPE_MODE_T
dnl defines mode_t if not already defined
AC_TYPE_OFF_T
dnl defines off_t if not already defined
AC_TYPE_PID_T
dnl defines pid_t if not already defined
AC_TYPE_SIGNAL
dnl defines RETSIGTYPE for the correct return type of signal
AC_TYPE_SIZE_T
dnl defines size_t if not already defined
AC_TYPE_UID_T
dnl defines uid_t and gid_t if not already defined
dnl #####################
dnl # checks structures #
dnl #####################
AC_HEADER_STAT
dnl defines STAT_MACROS_BROKEN if S_ISDIR and S_ISREG
dnl do not work properly
AC_HEADER_TIME
dnl defines TIME_WITH_SYS_TIME if time.h and sys/time.h can
dnl both be included
AC_STRUCT_ST_BLKSIZE
dnl defines HAVE_ST_BLKSIZE if struct stat contains st_blksize
AC_STRUCT_ST_BLOCKS
dnl defines HAVE_ST_BLOCKS if struct stat contains st_blocks
AC_STRUCT_ST_RDEV
dnl defines HAVE_ST_RDEV if struct stat contains st_rdev
AC_STRUCT_TM
dnl defines TM_IN_SYS_TIME if struct tm is not in time.h
AC_STRUCT_TIMEZONE
dnl defines HAVE_ST_BLKSIZE if struct tm contains tm_zone
dnl otherwise
dnl defines HAVE_TZNAME if external array tzname is found
dnl ###################################
dnl # checks compiler characteristics #
dnl ###################################
AC_C_CONST
dnl defines const to be empty if c-compiler does not support const fully
AC_C_INLINE
dnl defines inline to a sensible value for the c-compiler
AC_C_CHAR_UNSIGNED
dnl defines __CHAR_UNSIGNED__ if char is unsigned
AC_C_LONG_DOUBLE
dnl defines HAVE_LONGDOUBLE if compiler supports long double
AC_C_BIGENDIAN
dnl defines WORDS_BIGENDIAN if system is big endian
dnl give some default values for cross-compiling
AC_CHECK_SIZEOF(int *, 4)
AC_CHECK_SIZEOF(int, 4)
AC_CHECK_SIZEOF(long, 4)
AC_CHECK_SIZEOF(long long, 0)
dnl defines the size of certain types of variables in SIZEOF_<TYPE>
dnl ######################
dnl # check C++ features #
dnl ######################
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
dnl check for iostream (as opposed to iostream.h) standard header
AC_CHECK_HEADERS(iostream)
if test "x$HAVE_IOSTREAM" = "x" ; then
AC_DEFINE(wxUSE_IOSTREAMH)
fi
dnl Check for existence of builtin 'bool' data type
dnl
dnl do nothing for cross-compilation - assume bool is not defined
AC_MSG_CHECKING(if C++ compiler supports bool)
AC_TRY_RUN([
int main()
{
bool b = true;
return 0;
}
],
AC_DEFINE(HAVE_BOOL) AC_MSG_RESULT(yes),
AC_MSG_RESULT(no),
AC_MSG_RESULT(no assumed for cross-compilation))
dnl Check whether overloading on size_t/int parameter works
AC_MSG_CHECKING(if size_t and int are different types)
AC_TRY_RUN([
#include <stdlib.h>
void wxFoo(int i) { }
void wxFoo(size_t n) { }
int main()
{
int i;
size_t n;
wxFoo(0);
wxFoo(1);
wxFoo(0u);
wxFoo(i);
wxFoo(n);
return 0;
}
],
AC_DEFINE(wxUSE_SIZE_T_STRING_OPERATOR) AC_MSG_RESULT(yes),
AC_MSG_RESULT(no),
AC_MSG_RESULT(no assumed for cross-compilation))
AC_LANG_RESTORE
dnl ############################
dnl # checks library functions #
dnl ############################
dnl ##########################
dnl # checks system services #
dnl ##########################
AC_SYS_LONG_FILE_NAMES
dnl defines HAVE_LONG_FILENAMES if filenames longer then
dnl 14 chars are supported
dnl AC_SYS_RESTARTABLE_SYSCALLS
dnl defines HAVE_RESTARTABLE_SYSCALLS if the system restarts a
dnl system call that is interrupted
dnl by a signal
dnl #################
dnl # checks PARSER #
dnl #################
dnl YACC checks
dnl ===========
AC_PROG_YACC
dnl defines YACC with the appropriate command
dnl LEX checks
dnl ==========
AC_PROG_LEX
dnl defines LEX with the appropriate command
dnl defines LEXLIB with the appropriate library
dnl what type is yytext
AC_DECL_YYTEXT
dnl defines YYTEXT_POINTER if yytext is char*
dnl defines LEX_OUTPUT_ROOT as to the base of the
dnl filename output by the lexer
dnl ###################################
dnl ## Check for dynamic load module #
dnl ###################################
DL_LIBRARY=
AC_CHECK_FUNCS(dlopen, AC_DEFINE(HAVE_LIBDL),
[AC_CHECK_LIB(dl, dlopen, [AC_DEFINE(HAVE_LIBDL) DL_LIBRARY="-ldl"],
[AC_CHECK_LIB(dld, dld_link, [AC_DEFINE(HAVE_DLD) DL_LIBRARY="-ldld"],
[AC_CHECK_FUNCS(shl_load, AC_DEFINE(HAVE_SHL_LOAD) )]
)]
)]
)
AC_SUBST(DL_LIBRARY)
AC_CACHE_CHECK([for underscore before symbols], libltdl_cv_uscore, [
echo "main(){int i=1;} fnord(){int i=23; int ltuae=42;}" > conftest.c
${CC} -c conftest.c > /dev/null
if (nm conftest.o | grep _fnord) > /dev/null; then
libltdl_cv_uscore=yes
else
libltdl_cv_uscore=no
fi
rm -f conftest*
])
if test x"$libltdl_cv_uscore" = xyes; then
if test x"$ac_cv_func_dlopen" = xyes ||
test x"$ac_cv_lib_dl_dlopen" = xyes ; then
AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
libltdl_cv_need_uscore, [dnl
AC_TRY_RUN([
#include <dlfcn.h>
#include <stdio.h>
fnord() { int i=42;}
main() { void *self, *ptr1, *ptr2; self=dlopen(NULL,RTLD_LAZY);
if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
if(ptr1 && !ptr2) exit(0); } exit(1); }
], libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes,
libltdl_cv_need_uscore=no
)])
fi
fi
if test x"$libltdl_cv_need_uscore" = xyes; then
AC_DEFINE(NEED_USCORE)
fi
dnl ##########################################
dnl ## Check for specific library functions #
dnl ##########################################
dnl Checks for library functions.
AC_CHECK_FUNCS(strerror)
dnl ------------------------------------------------------------------------
dnl main includes
dnl ------------------------------------------------------------------------
CHECK_INCLUDE="-I/usr/include $X_CFLAGS"
CHECK_LIB="-L/lib -L/usr/lib $X_LIBS"
dnl ------------------------------------------------------------------------
dnl host system
dnl ------------------------------------------------------------------------
AC_CANONICAL_HOST
canonical=$host
configuration=$host_alias
dnl ------------------------------------------------------------------------
dnl system settings
dnl ------------------------------------------------------------------------
USE_UNIX=1
USE_LINUX=
USE_SGI=
USE_HPUX=
USE_SYSV=
USE_SVR4=
USE_AIX=
USE_SUN=
USE_SOLARIS=
USE_SUNOS=
USE_ALPHA=
USE_OSF=
USE_BSD=
USE_FREEBSD=
USE_VMS=
USE_ULTRIX=
USE_DATA_GENERAL=
AC_DEFINE(__UNIX__)
case "${canonical}" in
*-hp-hpux* )
USE_HPUX=1
AC_DEFINE(__HPUX__)
;;
*-*-linux* )
USE_LINUX=1
AC_DEFINE(__LINUX__)
TMP=`uname -m`
if test "x$TMP" = "xalpha"
then
USE_ALPHA=1
AC_DEFINE(__ALPHA__)
fi
;;
*-*-irix5* | *-*-irix6* )
USE_SGI=1
USE_SVR4=1
AC_DEFINE(__SGI__)
AC_DEFINE(__SVR4__)
;;
*-*-solaris2* )
USE_SUN=1
USE_SOLARIS=1
USE_SVR4=1
AC_DEFINE(__SUN__)
AC_DEFINE(__SOLARIS__)
AC_DEFINE(__SVR4__)
;;
*-*-sunos4* )
USE_SUN=1
USE_SUNOS=1
USE_BSD=1
AC_DEFINE(__SUN__)
AC_DEFINE(__SUNOS__)
AC_DEFINE(__BSD__)
;;
*-*-freebsd* | *-*-netbsd*)
USE_BSD=1
USE_FREEBSD=1
AC_DEFINE(__FREEBSD__)
AC_DEFINE(__BSD__)
;;
*-*-osf* )
USE_ALPHA=1
USE_OSF=1
AC_DEFINE(__ALPHA__)
AC_DEFINE(__OSF__)
;;
*-*-dgux5* )
USE_ALPHA=1
USE_SVR4=1
AC_DEFINE(__ALPHA__)
AC_DEFINE(__SVR4__)
;;
*-*-sysv5* )
USE_SYSV=1
USE_SVR4=1
AC_DEFINE(__SYSV__)
AC_DEFINE(__SVR4__)
;;
*-*-aix* )
USE_AIX=1
USE_SYSV=1
USE_SVR4=1
AC_DEFINE(__AIX__)
AC_DEFINE(__SYSV__)
AC_DEFINE(__SVR4__)
;;
*)
AC_MSG_ERROR(I don't know your system type.)
esac
dnl ------------------------------------------------------------------------
dnl defaults for command options
dnl ------------------------------------------------------------------------
AC_OVERRIDES_PREPARE
DEFAULT_wxUSE_GTK=1
DEFAULT_wxUSE_QT=0
DEFAULT_wxUSE_MOTIF=0
DEFAULT_wxUSE_THREADS=0
DEFAULT_wxUSE_SHARED=1
DEFAULT_wxUSE_OPTIMISE=1
DEFAULT_wxUSE_PROFILE=0
DEFAULT_wxUSE_DEBUG_FLAG=0
DEFAULT_wxUSE_DEBUG_INFO=0
DEFAULT_wxUSE_MEM_TRACING=0
DEFAULT_wxUSE_DMALLOC=0
DEFAULT_wxUSE_APPLE_IEEE=1
DEFAULT_wxUSE_IOSTREAMH=1
DEFAULT_wxUSE_ZLIB=1
DEFAULT_wxUSE_LIBPNG=1
DEFAULT_wxUSE_LIBJPEG=1
DEFAULT_wxUSE_ODBC=1
DEFAULT_wxUSE_TIMEDATE=1
DEFAULT_wxUSE_INTL=1
DEFAULT_wxUSE_CONFIG=1
DEFAULT_wxUSE_STREAMS=1
DEFAULT_wxUSE_SOCKETS=1
DEFAULT_wxUSE_SERIAL=1
DEFAULT_wxUSE_DYNLIB_CLASS=1
DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=1
DEFAULT_WX_NORMALIZED_PS_FONTS=1
DEFAULT_wxUSE_POSTSCRIPT=1
DEFAULT_wxUSE_IPC=1
DEFAULT_wxUSE_RESOURCES=1
DEFAULT_wxUSE_CLIPBOARD=1
DEFAULT_wxUSE_TOOLTIPS=1
DEFAULT_wxUSE_DRAG_AND_DROP=1
DEFAULT_wxUSE_MDI_ARCHITECTURE=1
DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=1
DEFAULT_wxUSE_PRINTING_ARCHITECTURE=1
DEFAULT_wxUSE_PROLOGIO=1
DEFAULT_wxUSE_WX_RESOURCES=1
DEFAULT_wxUSE_RPC=0
DEFAULT_wxUSE_HELP=1
DEFAULT_wxUSE_UNICODE=0
DEFAULT_wxUSE_WCSRTOMBS=0
dnl ----------------------------------------------------------------
dnl toolkit options
dnl ----------------------------------------------------------------
AC_OVERRIDES(gtk,gtk,
**--with-gtk use GTK,
wxUSE_GTK)
AC_OVERRIDES(qt,qt,
**--with-qt use Qt,
wxUSE_QT)
AC_OVERRIDES(motif,motif,
**--with-motif use Motif/Lesstif,
wxUSE_MOTIF)
dnl ----------------------------------------------------------------
dnl compile options
dnl ----------------------------------------------------------------
AC_OVERRIDES(shared,shared,
**--with-shared create shared libraries,
wxUSE_SHARED)
AC_OVERRIDES(optimise,optimise,
**--with-optimise create optimised code,
wxUSE_OPTIMISE)
AC_OVERRIDES(debug_flag,debug_flag,
**--with-debug_flag create code with WXDEBUG define set to 1,
wxUSE_DEBUG_FLAG)
AC_OVERRIDES(debug_info,debug_info,
**--with-debug_info create code with debuging information,
wxUSE_DEBUG_INFO)
AC_OVERRIDES(debug_gdb,debug_gdb,
**--with-debug_gdb create code with extra GDB debuging information,
wxUSE_DEBUG_GDB)
AC_OVERRIDES(mem_tracing,mem_tracing,
**--with-mem_traing create code with memory tracing,
wxUSE_MEM_TRACING)
AC_OVERRIDES(dmalloc,dmalloc,
**--with-dmalloc use dmalloc memory debug library (www.letters.com/dmalloc/),
wxUSE_DMALLOC)
AC_OVERRIDES(profile,profile,
**--with-profile create code with profiling information,
wxUSE_PROFILE)
AC_OVERRIDES(apple_ieee, apple_ieee,
**--with_apple_ieee use the Apple IEEE codec,
wxUSE_APPLE_IEEE)
AC_OVERRIDES(threads,threads,
**--with-threads for enabling threads,
wxUSE_THREADS)
AC_OVERRIDES(dynlib,dynlib,
**--with-dynlib to compile wxLibrary class,
wxUSE_DYNLIB_CLASS)
dnl ----------------------------------------------------------------
dnl user options for libraries
dnl ----------------------------------------------------------------
AC_OVERRIDES(zlib,zlib,
**--without-zlib don't use zlib for LZW comression,
wxUSE_ZLIB)
AC_OVERRIDES(libpng,libpng,
**--without-libpng don't use libpng (PNG image format),
wxUSE_LIBPNG)
AC_OVERRIDES(libjpeg,libjpeg,
**--without-libjpeg don't use libjpeg (JPEG image format),
wxUSE_LIBJPEG)
AC_OVERRIDES(odbc,odbc,
**--with-odbc use iODBC and wxODBC classes,
wxUSE_ODBC)
dnl ----------------------------------------------------------------
dnl user options for non-GUI classes
dnl ----------------------------------------------------------------
AC_OVERRIDES(timedate, timedate,
**--with-timedate use wxTime and wxDate classes,
wxUSE_TIMEDATE)
AC_OVERRIDES(intl,intl,
**--with-intl use internationalization system,
wxUSE_INTL)
AC_OVERRIDES(config,config,
**--with-config use wxConfig class,
wxUSE_CONFIG)
AC_OVERRIDES(streams,streams,
**--with-streams use wxStream etc classes,
wxUSE_STREAMS)
AC_OVERRIDES(serial,serial,
**--with-serial use class serialization,
wxUSE_SERIAL)
AC_OVERRIDES(sockets,sockets,
**--with-sockets use wxSocket etc classes,
wxUSE_SOCKETS)
dnl ----------------------------------------------------------------
dnl user options for PostScript
dnl ----------------------------------------------------------------
AC_OVERRIDES(afmfonts,afmfonts,
**--with-afmfonts use Adobe Font Metric Font table,
wxUSE_AFM_FOR_POSTSCRIPT)
AC_OVERRIDES(normalized, normalized,
**--with-PS-normalized use normalized PS fonts,
WX_NORMALIZED_PS_FONTS)
AC_OVERRIDES(postscript, postscript,
**--with-postscript use wxPostscriptDC device context,
wxUSE_POSTSCRIPT)
dnl ----------------------------------------------------------------
dnl user options for wxString and Unicode
dnl ----------------------------------------------------------------
AC_OVERRIDES(unicode,unicode,
**--with-unicode compile wxString with Unicode support,
wxUSE_UNICODE)
AC_OVERRIDES(wcsrtombs,wcsrtombs,
**--with-wcsrtombs use wcsrtombs instead of (buggy in GNU libc5) wcstombs,
wxUSE_WCSRTOMBS)
dnl ----------------------------------------------------------------
dnl user options for Prolog and Resources
dnl ----------------------------------------------------------------
AC_OVERRIDES(wxresources,wxresources,
**--with-wxresources use wxWindows's resources,
wxUSE_WX_RESOURCES)
AC_OVERRIDES(prologio,prologio,
**--with-prologio use Prolog IO library,
wxUSE_PROLOGIO)
AC_OVERRIDES(rpc,RPC,
**--with-rpc use Prolog's remote procedure calls,
wxUSE_RPC)
dnl ----------------------------------------------------------------
dnl user options for misc stuff
dnl ----------------------------------------------------------------
AC_OVERRIDES(ipc,IPC,
**--with-ipc use interprocess communication (wxSocket etc.),
wxUSE_IPC)
AC_OVERRIDES(resources,resources,
**--with-resources use X resources for saving information,
wxUSE_RESOURCES)
AC_OVERRIDES(clipboard,clipboard,
**--with-clipboard use wxClipboard classes,
wxUSE_CLIPBOARD)
AC_OVERRIDES(tooltips,tooltips,
**--with-tooltips use tooltips,
wxUSE_TOOLTIPS)
AC_OVERRIDES(dnd,dnd,
**--with-dnd use Drag'n'Drop classes,
wxUSE_DRAG_AND_DROP)
dnl ----------------------------------------------------------------
dnl user options for architectures
dnl ----------------------------------------------------------------
AC_OVERRIDES(mdi,mdi,
**--with-mdi use multiple document interface architecture,
wxUSE_MDI_ARCHITECTURE)
AC_OVERRIDES(docview,docview,
**--with-docview use document view architecture,
wxUSE_DOC_VIEW_ARCHITECTURE)
AC_OVERRIDES(printarch,printarch,
**--with-printarch use printing architecture,
wxUSE_PRINTING_ARCHITECTURE)
AC_OVERRIDES(help,help,
**--with-help use help (using external browser at present),
wxUSE_HELP)
dnl ----------------------------------------------------------------
dnl Unix, obviously
dnl ----------------------------------------------------------------
if test "$wxUSE_UNIX" = 1 ; then
AC_DEFINE(__UNIX__)
fi
dnl ----------------------------------------------------------------
dnl Linux: test for libc5/glibc2: glibc2 has gettext() included
dnl ----------------------------------------------------------------
if test "$USE_LINUX" = 1; then
AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
fi
dnl ----------------------------------------------------------------
dnl search for toolkit (widget sets)
dnl ----------------------------------------------------------------
TOOLKIT=
TOOLKIT_DEF=
GUI_TK_INCLUDE=
GUI_TK_LIBRARY=
GUI_TK_LINK=
WX_LINK=
MAKEINCLUDE=
if test "$wxUSE_GTK" = 1; then
AM_PATH_GTK(1.0.0, [
GUI_TK_INCLUDE="$GTK_CFLAGS"
GUI_TK_LIBRARY="$GTK_LIBS"
], AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.2.X or 1.0.X?))
TOOLKIT=GTK
TOOLKIT_DEF=__WXGTK__
WX_LINK=-lwx_gtk2
MAKEINCLUDE=../gtk.inc
fi
if test "$wxUSE_QT" = 1; then
AC_MSG_CHECKING(for Qt includes)
AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,qapp.h)
if test "$ac_find_includes" != "" ; then
AC_MSG_RESULT(found $ac_find_includes)
AC_MSG_CHECKING(for Qt library)
AC_PATH_FIND_LIBRARIES($SEARCH_LIB,qt)
if test "$ac_find_libraries" != "" ; then
AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE)
AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link"
CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
AC_MSG_RESULT(found Qt at $ac_find_libraries)
else
AC_MSG_ERROR(no)
fi
else
AC_MSG_ERROR(no)
fi
GUI_TK_LINK="-lX11 -lqt -lm"
TOOLKIT=QT
TOOLKIT_DEF=__WXQT__
WX_LINK=-lwx_qt
MAKEINCLUDE=../qt.inc
fi
if test "$wxUSE_MOTIF" = 1; then
AC_MSG_CHECKING(for Motif/Lesstif includes)
AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
if test "$ac_find_includes" != "" ; then
AC_MSG_RESULT(found $ac_find_includes)
else
AC_MSG_RESULT(no)
AC_MSG_ERROR(please set CFLAGS to contain the location of Xm/Xm.h)
fi
AC_MSG_CHECKING(for Motif/Lesstif library)
AC_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm)
if test "$ac_find_libraries" != "" ; then
AC_INCLUDE_PATH_EXIST($ac_find_includes, $CHECK_INCLUDE)
AC_LINK_PATH_EXIST($ac_find_libraries, $CHECK_LIB)
CHECK_LINK="$CHECK_LIB $ac_path_to_link"
CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
AC_MSG_RESULT(found at $ac_find_libraries)
else
AC_MSG_RESULT(no)
AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
fi
AC_MSG_CHECKING(for Xt library)
AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
if test "$ac_find_libraries" != "" ; then
AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
CHECK_LINK="$CHECK_LIB $ac_path_to_link"
AC_MSG_RESULT(found at $ac_find_libraries)
else
AC_MSG_RESULT(no)
AC_MSG_ERROR(please set LDFLAGS to contain the location of libXt)
fi
XPM_LINK=""
AC_MSG_CHECKING(for Xpm library)
AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
if test "$ac_find_libraries" != "" ; then
AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
CHECK_LINK="$CHECK_LIB $ac_path_to_link"
XPM_LINK="-lXpm "
AC_DEFINE(wxHAVE_LIB_XPM)
AC_MSG_RESULT(found at $ac_find_libraries)
else
AC_MSG_RESULT(no)
AC_MSG_WARN(library will be compiled without support for images in XPM format)
fi
GUI_TK_LINK="-lXm $(XPM_LINK)-lXmu -lXt -lX11 -lm"
GUI_TK_LIBRARY="$CHECK_LIB $GUI_TK_LINK"
TOOLKIT=MOTIF
TOOLKIT_DEF=__WXMOTIF__
WX_LINK=-lwx_motif2
MAKEINCLUDE=../motif.inc
fi
if test "$TOOLKIT" = ""; then
AC_MSG_ERROR(You must specify a toolkit: --with-gtk --with-qt --with-motif)
fi
AC_SUBST(GUI_TK_INCLUDE)
AC_SUBST(GUI_TK_LIBRARY)
AC_SUBST(GUI_TK_LINK)
AC_SUBST(WX_LINK)
AC_SUBST(TOOLKIT)
AC_SUBST(TOOLKIT_DEF)
AC_SUBST(MAKEINCLUDE)
dnl ----------------------------------------------------------------
dnl Register compile options for makefiles and setup.h
dnl ----------------------------------------------------------------
EXTRA_LINK=
WXDEBUG=
if test "$wxUSE_DEBUG_GDB" = 1 ; then
wxUSE_DEBUG_INFO=1
WXDEBUG="-ggdb"
fi
if test "$wxUSE_DEBUG_INFO" = 1 ; then
WXDEBUG="-g"
wxUSE_OPTIMISE=0
fi
AC_SUBST(WXDEBUG)
if test "$wxUSE_DEBUG_FLAG" = 1 ; then
AC_DEFINE_UNQUOTED(WXDEBUG,$wxUSE_DEBUG_FLAG)
WXDEBUG_DEFINE="-D__WXDEBUG__"
AC_SUBST(WXDEBUG_DEFINE)
else
WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
AC_SUBST(WXDEBUG_DEFINE)
fi
if test "$wxUSE_MEM_TRACING" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_MEMORY_TRACING,$wxUSE_MEM_TRACING)
AC_DEFINE_UNQUOTED(wxUSE_GLOBAL_MEMORY_OPERATORS,$wxUSE_MEM_TRACING)
fi
if test "$wxUSE_DMALLOC" = 1 ; then
EXTRA_LINK="$EXTRA_LINK -ldmalloc"
fi
AC_SUBST(EXTRA_LINK)
PROFILE=
if test "$wxUSE_PROFILE" = 1 ; then
PROFILE="-pg"
fi
AC_SUBST(PROFILE)
CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
if test "$wxUSE_OPTIMISE" = 0 ; then
OPTIMISE=
else
if test "$GCC" = yes ; then
OPTIMISE="-O2"
case "${canonical}" in
i586-*-*|i686-*-* )
OPTIMISE="${OPTIMISE} "
;;
esac
else
OPTIMISE="-O"
fi
fi
AC_SUBST(OPTIMISE)
APPLE_IEEE=NONE
if test "$wxUSE_APPLE_IEEE" = 1 ; then
APPLE_IEEE="APPLE_IEEE"
AC_DEFINE_UNQUOTED(wxUSE_APPLE_IEEE,$wxUSE_APPLE_IEEE)
fi
wxUSE_IOSTREAMH=$DEFAULT_wxUSE_IOSTREAMH
AC_DEFINE_UNQUOTED(wxUSE_IOSTREAMH,$wxUSE_IOSTREAMH)
dnl ----------------------------------------------------------------
dnl Register library options for makefiles and setup.h
dnl ----------------------------------------------------------------
if test "$wxUSE_ZLIB" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_ZLIB,$wxUSE_ZLIB)
Z_C_SRC="\$(Z_C_SRC)"
fi
AC_SUBST(Z_C_SRC)
if test "$wxUSE_LIBPNG" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_LIBPNG,$wxUSE_LIBPNG)
PNG_C_SRC="\$(PNG_C_SRC)"
fi
AC_SUBST(PNG_C_SRC)
if test "$wxUSE_LIBJPEG" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
JPEG_C_SRC="\$(JPEG_C_SRC)"
fi
AC_SUBST(JPEG_C_SRC)
JPEG_LINK=""
dnl if test "$wxUSE_LIBJPEG" = 1 ; then
dnl AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
dnl AC_CHECK_LIB(jpeg,main,,AC_MSG_ERROR("libjpeg is not available."))
dnl JPEG_LINK="-ljpeg"
dnl fi
AC_SUBST(JPEG_LINK)
IODBC_C_SRC=""
if test "$wxUSE_ODBC" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_ODBC,$wxUSE_ODBC)
IODBC_C_SRC="\$(IODBC_C_SRC)"
fi
AC_SUBST(IODBC_C_SRC)
dnl ----------------------------------------------------------------
dnl Register non-GUI class options for makefiles and setup.h
dnl ----------------------------------------------------------------
if test "$wxUSE_CONFIG" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_CONFIG,$wxUSE_CONFIG)
fi
if test "$wxUSE_TIMEDATE" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_TIMEDATE,$wxUSE_TIMEDATE)
fi
if test "$wxUSE_INTL" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_INTL,$wxUSE_INTL)
fi
if test "$wxUSE_STREAMS" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_STREAMS,$wxUSE_STREAMS)
fi
if test "$wxUSE_SOCKETS" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_SOCKETS,$wxUSE_SOCKETS)
fi
if test "$wxUSE_SERIAL" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_SERIAL,$wxUSE_SERIAL)
fi
dnl ------------------------------------------------------------------------
dnl wxSocket
dnl ------------------------------------------------------------------------
if test "$wxUSE_SOCKETS" = "1"; then
dnl determine the type of third argument for getsockname
AC_MSG_CHECKING(the type of the third argument of getsockname)
AC_TRY_COMPILE(
[#include <sys/socket.h>],
[socklen_t len; getsockname(0, NULL, &len);],
AC_DEFINE(SOCKLEN_T, socklen_t) AC_MSG_RESULT(socklen_t),
AC_TRY_COMPILE(
[#include <sys/socket.h>],
[size_t len; getsockname(0, NULL, &len);],
AC_DEFINE(SOCKLEN_T, size_t) AC_MSG_RESULT(size_t),
AC_TRY_COMPILE(
[#include <sys/socket.h>],
[int len; getsockname(0, NULL, &len);],
AC_DEFINE(SOCKLEN_T, int) AC_MSG_RESULT(int),
AC_MSG_RESULT(unknown)
)
)
)
fi
dnl ------------------------------------------------------------------------
dnl wxLibrary class
dnl ------------------------------------------------------------------------
HAVE_DL_FUNCS=0
if test "$wxUSE_DYNLIB_CLASS" = "1"; then
dnl the test is a bit complicated because we check for dlopen() both with
dnl and without -ldl
AC_CHECK_FUNCS(dlopen,
[AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1],
[AC_CHECK_LIB(dl, dlopen,
[AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])])
AC_CHECK_FUNCS(shl_load, [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1])
if test "$HAVE_DL_FUNCS" = 0; then
AC_MSG_WARN("--with-dynlib will be disabled because no function was found to load a shared library on this platform")
wxUSE_DYNLIB_CLASS=0
fi
fi
if test "$wxUSE_DYNLIB_CLASS" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_DYNLIB_CLASS,$wxUSE_DYNLIB_CLASS)
fi
dnl ----------------------------------------------------------------
dnl Register Prolog and Resources options for makefiles and setup.h
dnl ----------------------------------------------------------------
if test "$wxUSE_RPC" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_RPC,$wxUSE_RPC)
fi
if test "$wxUSE_WX_RESOURCES" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_WX_RESOURCES,$wxUSE_WX_RESOURCES)
fi
if test "$wxUSE_PROLOGIO" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_PROLOGIO)
fi
dnl ----------------------------------------------------------------
dnl Register PostScript options for makefiles and setup.h
dnl ----------------------------------------------------------------
if test "$wxUSE_POSTSCRIPT" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_POSTSCRIPT)
fi
AC_DEFINE_UNQUOTED(wxUSE_AFM_FOR_POSTSCRIPT,$wxUSE_AFM_FOR_POSTSCRIPT)
AC_DEFINE_UNQUOTED(WX_NORMALIZED_PS_FONTS,$WX_NORMALIZED_PS_FONTS)
dnl ----------------------------------------------------------------
dnl Register architecture options for makefiles and setup.h
dnl ----------------------------------------------------------------
if test "$wxUSE_MDI_ARCHITECTURE" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_MDI_ARCHITECTURE,$wxUSE_MDI_ARCHITECTURE)
fi
if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_DOC_VIEW_ARCHITECTURE,$wxUSE_DOC_VIEW_ARCHITECTURE)
fi
if test "$wxUSE_PRINTING_ARCHITECTURE" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_PRINTING_ARCHITECTURE,$wxUSE_PRINTING_ARCHITECTURE)
fi
dnl ----------------------------------------------------------------
dnl Register wxString options for makefiles and setup.h
dnl ----------------------------------------------------------------
if test "$wxUSE_UNICODE" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_UNICODE)
fi
if test "$wxUSE_WCSRTOMBS" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_WCSRTOMBS)
fi
dnl ----------------------------------------------------------------
dnl Register misc options for makefiles and setup.h
dnl ----------------------------------------------------------------
if test "$wxUSE_IPC" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_IPC)
fi
if test "$wxUSE_RESOURCES" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_RESOURCES,$wxUSE_RESOURCES)
fi
if test "$wxUSE_CLIPBOARD" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_CLIPBOARD,$wxUSE_CLIPBOARD)
fi
if test "$wxUSE_TOOLTIPS" = 1 ; then
if test "$wxUSE_MOTIF" = 1; then
AC_MSG_WARN(tooltips are not supported yet under Motif, sorry)
wxUSE_TOOLTIPS=0
fi
AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS)
fi
if test "$wxUSE_DRAG_AND_DROP" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_DRAG_AND_DROP,$wxUSE_DRAG_AND_DROP)
fi
dnl ----------------------------------------------------------------
dnl No effect yet
dnl ----------------------------------------------------------------
HELP=NONE
if test "$wxUSE_HELP" = 1 ; then
HELP="HELP"
AC_DEFINE_UNQUOTED(wxUSE_HELP,$wxUSE_HELP)
fi
AC_SUBST(HELP)
dnl ----------------------------------------------------------------
dnl thread support
dnl ----------------------------------------------------------------
dnl defines UNIX_THREAD it contains the source file to use for threads. (GL)
dnl defines THREADS_LINK it contains the thread library to link with. (GL)
dnl defines wxUSE_THREADS if thread support is activated. (GL)
THREADS_LINK=""
UNIX_THREAD=""
if test "$wxUSE_THREADS" = "1"; then
dnl find if POSIX threads are available
dnl standard lib name is pthread
dnl We no longer test for pthread-0.7 as it breaks compilation on some
dnl glibc2 systems, especially for static linkage.
AC_CHECK_LIB(pthread, pthread_create, [
UNIX_THREAD="unix/threadpsx.cpp"
THREADS_LINK="pthread"
], [
dnl thread functions are in libc_r under FreeBSD
AC_CHECK_LIB(c_r, pthread_create, [
UNIX_THREAD="unix/threadpsx.cpp"
THREADS_LINK="c_r"
], [
dnl VZ: SGI threads are not supported currently
AC_CHECK_HEADER(sys/prctl.h, [
UNIX_THREAD="gtk/threadsgi.cpp"
])
])
])
if test "$THREADS_LINK" != ""; then
AC_DEFINE(wxUSE_THREADS)
else
AC_MSG_WARN(No thread support on this system)
fi
fi
if test -z "$UNIX_THREAD"; then
wxUSE_THREADS=0
fi
dnl do other tests only if we are using threads
if test "$wxUSE_THREADS" = "1"; then
dnl define autoconf macro to check for given function in both pthread and
dnl posix4 libraries
dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
dnl VZ: TODO
dnl AC_DEFUN(AC_FUNC_THREAD,
dnl [
dnl AC_CHECK_LIB($THREADS_LINK, $1,
dnl AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'),
dnl [AC_CHECK_LIB("posix4", $1,
dnl [AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'))
dnl POSIX4_LINK="-lposix4"
dnl ])
dnl ])
dnl ])
AC_CHECK_HEADERS(sched.h)
AC_CHECK_LIB($THREADS_LINK, sched_yield,
AC_DEFINE(HAVE_SCHED_YIELD),
[AC_CHECK_LIB("posix4", sched_yield,
[AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK="-lposix4"],
AC_MSG_WARN(wxThread::Yield() will not work properly)
)]
)
dnl VZ: we should be checking for all of the following functions instead:
dnl 1. pthread_attr_getschedpolicy
dnl 2. sched_get_priority_min and sched_get_priority_max
dnl 3. pthread_attr_getschedparam and pthread_attr_setschedparam
dnl but it seems that if the first one is there, the other ones are too (of
dnl course the proper solution would be to implement AC_FUNC_THREAD above
dnl and do test for them all - anyone?)
AC_CHECK_LIB($THREADS_LINK, pthread_attr_getschedpolicy,
AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
[AC_CHECK_LIB("posix4", pthread_attr_getschedpolicy,
[AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) POSIX4_LINK="-lposix4"],
AC_MSG_WARN(Setting thread priority will not work)
)]
)
AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
AC_DEFINE(HAVE_PTHREAD_CANCEL),
AC_MSG_WARN(wxThread::Kill() will not work properly))
THREADS_LINK="-l$THREADS_LINK"
fi
AC_SUBST(UNIX_THREAD)
AC_SUBST(THREADS_LINK)
AC_SUBST(POSIX4_LINK)
dnl ------------------------------------------------------------------------
dnl compiler options for shared libs
dnl ------------------------------------------------------------------------
PICFLAGS=
CREATE_SHARED=
case "${canonical}" in
*-hp-hpux* )
if test "$GCC" != "yes" ; then
CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE"
CFLAGS="${CFLAGS} -z -D_HPUX_SOURCE"
PICFLAGS="+z"
else
PICFLAGS="-fPIC"
fi
LDFLAGS="-Wl,+s"
CREATE_SHARED=sharedHpux
;;
*-*-linux* )
PICFLAGS=-fPIC
CREATE_SHARED=sharedLinux
;;
*-*-irix5* | *-*-irix6* )
# PICFLAGS can remain empty, as pic is the default
LDFLAGS="-Wl,+s"
CREATE_SHARED=sharedIrix
AC_DEFINE(SVR4)
;;
*-*-solaris2* )
if test "$GCC" != "yes" ; then
PICFLAGS="-KPIC"
else
PICFLAGS="-fPIC"
fi
CREATE_SHARED=sharedSolaris2
AC_DEFINE(SVR4)
;;
*-*-sunos4* )
if test "$GCC" != "yes" ; then
PICFLAGS="-PIC"
else
PICFLAGS="-fPIC"
fi
LDFLAGS="-Wl,+s"
CREATE_SHARED=sharedSunos4
AC_DEFINE(BSD)
;;
*-*-freebsd* | *-*-netbsd*)
PICFLAGS=-fPIC
CREATE_SHARED=sharedBsd
AC_DEFINE(BSD)
;;
*-*-osf* )
PICFLAGS="-fPIC"
CREATE_SHARED=sharedOSF
;;
*-*-dgux5* )
if test "$GCC" != "yes" ; then
PICFLAGS="-K PIC"
else
PICFLAGS="-fPIC"
fi
CREATE_SHARED=sharedDgux
AC_DEFINE(SVR4)
;;
*-*-sysv5* )
if test "$GCC" != "yes" ; then
PICFLAGS="-K PIC"
else
PICFLAGS="-fPIC"
fi
CREATE_SHARED=sharedSysV
AC_DEFINE(SVR4)
;;
*-*-aix* )
if test "$GCC" != "yes" ; then
PICFLAGS="-bM\:SRE"
else
PICFLAGS="-fPIC -D__SYSV__"
fi
CREATE_SHARED=sharedAIX
AC_DEFINE(SYSV)
;;
*)
CREATE_SHARED=
PICFLAGS=
esac
if test "x$GCC" = xyes; then
CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL"
fi
if test "x$GXX" = xyes; then
if test "$wxUSE_MOTIF" = 1; then
CXXFLAGS="${CXXFLAGS} -Wall -Wno-unused -D_REENTRANT"
else
CXXFLAGS="${CXXFLAGS} -Wall -D_REENTRANT"
fi
fi
if test "$wxUSE_SHARED" != 1; then
CREATE_SHARED=
PICFLAGS=
fi
AC_SUBST(OS)
AC_SUBST(PICFLAGS)
AC_SUBST(CREATE_SHARED)
dnl ------------------------------------------------------------------------
dnl finish and clean-up
dnl ------------------------------------------------------------------------
dnl add OS to list of configured
echo $OS >> system.list
TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"`
AC_CONFIG_HEADER(./include/wx/${TOOLKIT_DIR}/setup.h:./setup/setup.hin)
AC_OUTPUT(./setup/substit ./wx-config:./wx-config.in,./setup/general/createall)
AC_OVERRIDES_DONE