dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
dnl
AC_DEFUN(AM_PATH_GTK,
-[dnl
+[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],
#include <gtk/gtk.h>
#include <stdio.h>
-int
+int
main ()
{
int major, minor, micro;
if (gtk_minor_version > 0) 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)));
+ ((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"
fi
if test "x$no_gtk" = x ; then
AC_MSG_RESULT(yes)
- ifelse([$2], , :, [$2])
+ ifelse([$2], , :, [$2])
else
AC_MSG_RESULT(no)
GTK_CFLAGS=""
if test $result = 0; then
ac_path_to_include=""
else
- ac_path_to_include="-I$1"
+ ac_path_to_include="-I$1"
fi
])
if test $result = 0; then
ac_path_to_link=""
else
- ac_path_to_link="-L$1"
+ ac_path_to_link="-L$1"
fi
])
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/Xm \
- \
+ /usr/dt/include \
+ /usr/include/Xm \
+ \
/usr/X11R6/include \
/usr/X11R5/include \
/usr/X11R4/include \
/usr/lpp/Xamples/include \
\
/usr/local/include/gtk \
- /usr/local/include/Xm \
/usr/local/include/qt \
- /usr/X11R6/include/Xm \
- /usr/X11/include/Xm \
/usr/include/qt \
\
/usr/openwin/include \
/usr/openwin/share/include \
"
-SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` \
- /usr/dt/lib \
- "
+SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` "
dnl ------------------------------------------------------------------------
dnl standard checks
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 defines NO_MINUS_C_MINUS_O if compiler does not accept
dnl both switches simultaniously
dnl what is the c-preprocessor
AC_PROG_CPP
${MAKE-make} -f confMake VPATH=sub 2> config.log > /dev/null
RESULT=$?
rm -f sub/file check final_file confMake
-rmdir sub
+rmdir sub
if test "$RESULT" = 0; then
AC_MSG_RESULT(yes)
else
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 check for vprintf/vsprintf() which are GNU extensions
AC_FUNC_VPRINTF
dnl check for vsnprintf() which is another GNU extension
-AC_CHECK_FUNC(vsnprintf)
+AC_CHECK_FUNCS(vsnprintf)
+
+dnl check for usleep() and nanosleep() which is better in MT programs
+AC_CHECK_FUNCS(nanosleep,
+ AC_DEFINE(HAVE_NANOSLEEP),
+ [AC_CHECK_LIB(posix4, nanosleep, AC_DEFINE(HAVE_NANOSLEEP))])
+AC_CHECK_FUNCS(usleep)
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
dnl #####################
AC_HEADER_STAT
-dnl defines STAT_MACROS_BROKEN if S_ISDIR and S_ISREG
+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
+AC_STRUCT_ST_BLKSIZE
dnl defines HAVE_ST_BLKSIZE if struct stat contains st_blksize
-AC_STRUCT_ST_BLOCKS
+AC_STRUCT_ST_BLOCKS
dnl defines HAVE_ST_BLOCKS if struct stat contains st_blocks
-AC_STRUCT_ST_RDEV
+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_CHECK_SIZEOF(int *)
AC_CHECK_SIZEOF(int)
AC_CHECK_SIZEOF(long)
+AC_CHECK_SIZEOF(long long)
dnl defines the size of certain types of variables in SIZEOF_???
dnl ############################
dnl 14 chars are supported
dnl AC_SYS_RESTARTABLE_SYSCALLS
-dnl defines HAVE_RESTARTABLE_SYSCALLS if the system restarts a
+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 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 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 ------------------------------------------------------------------------
AC_DEFINE(__ALPHA__)
fi
;;
- *-*-irix5* | *-*-irix6* )
+ *-*-irix5* | *-*-irix6* )
USE_SGI=1
USE_SVR4=1
AC_DEFINE(__SGI__)
AC_DEFINE(__SVR4__)
;;
- *-*-solaris2* )
+ *-*-solaris2* )
USE_SUN=1
USE_SOLARIS=1
USE_SVR4=1
AC_DEFINE(__SOLARIS__)
AC_DEFINE(__SVR4__)
;;
- *-*-sunos4* )
+ *-*-sunos4* )
USE_SUN=1
USE_SUNOS=1
USE_BSD=1
AC_DEFINE(__FREEBSD__)
AC_DEFINE(__BSD__)
;;
- *-*-osf* )
+ *-*-osf* )
USE_ALPHA=1
USE_OSF=1
AC_DEFINE(__ALPHA__)
AC_DEFINE(__OSF__)
;;
- *-*-dgux5* )
+ *-*-dgux5* )
USE_ALPHA=1
USE_SVR4=1
AC_DEFINE(__ALPHA__)
AC_DEFINE(__SVR4__)
;;
- *-*-sysv5* )
+ *-*-sysv5* )
USE_SYSV=1
USE_SVR4=1
AC_DEFINE(__SYSV__)
AC_DEFINE(__SVR4__)
;;
- *-*-aix* )
+ *-*-aix* )
USE_AIX=1
USE_SYSV=1
USE_SVR4=1
DEFAULT_wxUSE_ZLIB=1
DEFAULT_wxUSE_LIBPNG=1
+DEFAULT_wxUSE_LIBJPEG=0
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_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
**--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 ----------------------------------------------------------------
**--with-libpng use libpng (PNG image format),
wxUSE_LIBPNG)
+AC_OVERRIDES(libjpeg,libjpeg,
+**--with-libjpeg use libjpeg (JPEG image format),
+wxUSE_LIBJPEG)
+
AC_OVERRIDES(odbc,odbc,
**--with-odbc use iODBC and wxODBC classes,
wxUSE_ODBC)
**--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 ----------------------------------------------------------------
**--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)
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 ----------------------------------------------------------------
if test "$wxUSE_MOTIF" = 1; then
AC_MSG_CHECKING(for Motif/Lesstif includes)
- AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,Xm.h)
+ AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,Xm/Xm.h)
if test "$ac_find_includes" != "" ; then
AC_MSG_RESULT(found $ac_find_includes)
AC_MSG_CHECKING(for Motif/Lesstif library)
else
AC_MSG_ERROR(no)
fi
-
+
GUI_TK_LINK="-lXm -lXpm -lXmu -lXt -lX11 -lm"
GUI_TK_LIBRARY="$CHECK_LIB $GUI_TK_LINK"
TOOLKIT=MOTIF
- TOOLKIT_DEF="__WXMOTIF__ -D__LINUX__ -D__UNIX__"
+ 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)
+ AC_MSG_ERROR(You must specify a toolkit: --with-gtk --with-qt --with-motif)
fi
AC_SUBST(GUI_TK_INCLUDE)
AC_SUBST(Z_C_SRC)
if test "$wxUSE_LIBPNG" = 1 ; then
- AC_DEFINE_UNQUOTED(wxUSE_LIBPNG,$wxUSE_LIBPNG)
+ AC_DEFINE_UNQUOTED(wxUSE_LIBPNG,$wxUSE_LIBPNG)
PNG_C_SRC="\$(PNG_C_SRC)"
fi
AC_SUBST(PNG_C_SRC)
+JPEG_LINK=""
+if test "$wxUSE_LIBJPEG" = 1 ; then
+ AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
+ AC_CHECK_LIB(jpeg)
+ JPEG_LINK="-ljpeg"
+fi
+AC_SUBST(JPEG_LINK)
+
IODBC_C_SRC=""
if test "$wxUSE_ODBC" = 1 ; then
- AC_DEFINE_UNQUOTED(wxUSE_ODBC,$wxUSE_ODBC)
+ AC_DEFINE_UNQUOTED(wxUSE_ODBC,$wxUSE_ODBC)
IODBC_C_SRC="\$(IODBC_C_SRC)"
fi
AC_SUBST(IODBC_C_SRC)
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 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 ----------------------------------------------------------------
AC_DEFINE_UNQUOTED(wxUSE_CLIPBOARD,$wxUSE_CLIPBOARD)
fi
+if test "$wxUSE_TOOLTIPS" = 1 ; then
+ 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
fi
AC_SUBST(HELP)
-dnl ----------------------------------------------------------------
-dnl select dynamic loader (used by iODBC to load drivers)
-dnl ----------------------------------------------------------------
-
-AC_CHECK_LIB(dl,main,[DL_LIBRARY=-ldl],[DL_LIBRARY=])
-AC_SUBST(DL_LIBRARY)
-
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 For glibc 2 users who have the old libc 5 too
AC_CHECK_LIB(pthread-0.7, pthread_create, [
UNIX_THREAD="gtk/threadpsx.cpp"
- THREADS_LINK="-lpthread-0.7"
+ THREADS_LINK="pthread-0.7"
],[
AC_CHECK_HEADER(sys/prctl.h, [
UNIX_THREAD="gtk/threadsgi.cpp"
AC_CHECK_LIB(pthread, pthread_setcanceltype, [
UNIX_THREAD="gtk/threadpsx.cpp"
- THREADS_LINK="-lpthread"
+ THREADS_LINK="pthread"
])
])
+ if test "x$THREADS_LINK" = "x"; then
+ dnl thread functions are in libc_r under FreeBSD
+ AC_CHECK_LIB(c_r, pthread_create,
+ [
+ UNIX_THREAD="gtk/threadpsx.cpp"
+ THREADS_LINK="c_r"
+ ])
+ fi
+
if test "$THREADS_LINK" != ""; then
AC_DEFINE(wxUSE_THREADS)
fi
-
- dnl -lposix4 seems to be required on Solaris
-
- AC_CHECK_LIB(posix4, printf, [
- THREADS_LINK="$THREADS_LINK -lposix4"
- ])
-
fi
if test "$wxUSE_MOTIF" = "1"; then
wxUSE_THREADS=0
fi
+dnl do other tests only if we are using threads
+if test "$wxUSE_THREADS" = "1"; then
+ THREADS_LINK2=""
+ AC_CHECK_LIB($THREADS_LINK, sched_yield,
+ AC_DEFINE(HAVE_SCHED_YIELD),
+ [AC_CHECK_LIB("posix4", sched_yield,
+ [AC_DEFINE(HAVE_SCHED_YIELD) THREADS_LINK2="-lposix4"],
+ AC_MSG_WARN(wxThread::Yield() will not work properly)
+ )]
+ )
+
+ AC_CHECK_LIB($THREADS_LINK, sched_get_priority_min,
+ AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
+ [AC_CHECK_LIB("posix4", sched_get_priority_min,
+ [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) THREADS_LINK2="-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 $THREADS_LINK2"
+fi
+
AC_SUBST(UNIX_THREAD)
AC_SUBST(THREADS_LINK)
-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)
-
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"
CREATE_SHARED=sharedLinux
;;
- *-*-irix5* | *-*-irix6* )
+ *-*-irix5* | *-*-irix6* )
# PICFLAGS can remain empty, as pic is the default
LDFLAGS="-Wl,+s"
CREATE_SHARED=sharedIrix
AC_DEFINE(SVR4)
;;
- *-*-solaris2* )
+ *-*-solaris2* )
if test "$GCC" != "yes" ; then
PICFLAGS="-KPIC"
else
AC_DEFINE(SVR4)
;;
- *-*-sunos4* )
+ *-*-sunos4* )
if test "$GCC" != "yes" ; then
PICFLAGS="-PIC"
else
AC_DEFINE(BSD)
;;
- *-*-osf* )
+ *-*-osf* )
PICFLAGS="-fPIC"
CREATE_SHARED=sharedOSF
;;
- *-*-dgux5* )
+ *-*-dgux5* )
if test "$GCC" != "yes" ; then
PICFLAGS="-K PIC"
else
AC_DEFINE(SVR4)
;;
- *-*-sysv5* )
+ *-*-sysv5* )
if test "$GCC" != "yes" ; then
PICFLAGS="-K PIC"
else
AC_DEFINE(SVR4)
;;
- *-*-aix* )
+ *-*-aix* )
if test "$GCC" != "yes" ; then
PICFLAGS="-bM\:SRE"
else
esac
if test "x$GCC" = xyes; then
- CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER"
+ CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL"
fi
if test "x$GXX" = xyes; then