echo "************************ rodent ************************************" m4_define([tag], [Beta]) AC_PREREQ([2.64]) m4_define([vers], [4.6.2]) m4_define([libdbh_file_compatibility], ["DBH_2.0/64bit"]) m4_define([package], [rodent]) m4_define([bugreport], [http://bugs.xffm.org]) m4_define([bugmail], ["http://bugs.xffm.org"]) m4_define([package_copyright], ["Copyright (c) 2000-2011 Edscott Wilson Garcia. "]) m4_define([description],["Advanced user filemanager for Linux/BSD systems"]) m4_define([homepage],["http://rodent.xffm.org"]) m4_define([tarball],[package()-vers().tar.gz]) m4_define([master_site],[http://svn.foo-projects.org/svn/xffm/RELEASES/tarballs]) m4_define([src_uri],[master_site()/tarball()]) m4_define([license],[" GNU General Public License version 3 "]) AC_COPYRIGHT([package_copyright()]) #AC_DEFINE([COPYRIGHT],[package_copyright()],[Copywrite information]) #AUTOMAKE_OPTIONS=dist-bzip2 AC_INIT([Rodent],[vers()],[bugreport()],[package()],[homepage()]) AC_CONFIG_MACRO_DIR([m4]) LT_INIT(disable-static) AC_DEFINE(_GNU_SOURCE,[1],[Use GNU extensions if available]) AC_SUBST([_GNU_SOURCE]) AC_DEFINE([COPYRIGHT],[package_copyright()],[Copywrite information]) AC_SUBST([COPYRIGHT]) AC_DEFINE([PACKAGE_COPYRIGHT],[package_copyright()],[Package copywrite]) AC_SUBST([PACKAGE_COPYRIGHT]) build=`cat ./build` AC_SUBST(BUILD) AC_DEFINE_UNQUOTED([BUILD],["$build"],[Version BUILD]) AC_MSG_NOTICE([Version Build $build.]) TAG=tag() AC_DEFINE([TAG],["tag()"],[Version tag]) AC_SUBST(TAG) AC_MSG_NOTICE([Version Tag: $TAG.]) AC_ARG_WITH(debug, [ --with-debug enable debug]) if test "$with_debug" = "yes" then AC_SUBST(DEBUG) AC_DEFINE_UNQUOTED([DEBUG],[$with_debug],[enable DEBUG]) AC_MSG_NOTICE([You enabled debug. Good for you.]) DB=--with-debug elif test "$with_debug" != "" then AC_MSG_NOTICE([Your specific kind of debug is $with_debug]) AC_SUBST(DEBUG) AC_DEFINE_UNQUOTED([DEBUG],[$with_debug],[enable DEBUG]) else AC_MSG_NOTICE([No debug for you.]) fi AC_ARG_WITH(trace, [ --with-trace enable trace]) if test "$with_trace" = "yes" then AC_MSG_NOTICE([You enabled trace. Good for you.]) AC_SUBST(DEBUG_TRACE) AC_DEFINE_UNQUOTED([DEBUG_TRACE],[$with_trace],[enable DEBUG_TRACE]) TR=--with-trace elif test "$with_trace" != "" then AC_SUBST(DEBUG_TRACE) AC_DEFINE_UNQUOTED([DEBUG_TRACE],[$with_trace],[enable DEBUG_TRACE]) AC_MSG_NOTICE([Your specific kind of trace is $with_trace]) else AC_MSG_NOTICE([No trace for you.]) fi #AM_INIT_AUTOMAKE([package()], [vers()]) AM_INIT_AUTOMAKE([package()], [vers()]) RFM_VERINFO=1:0:0 AC_SUBST(RFM_VERINFO) AM_MAINTAINER_MODE AM_CONFIG_HEADER([config.h]) #AM_CONFIG_HEADER([rodent.h]) DESCRIPTION=description() AC_SUBST([DESCRIPTION]) #HOMEPAGE=homepage() AC_SUBST([HOMEPAGE]) AC_DEFINE_UNQUOTED([HOMEPAGE],[homepage],[website]) SRC_URI=src_uri() AC_SUBST([SRC_URI]) LICENSE=license() AC_SUBST([LICENSE]) AC_DEFINE_UNQUOTED([LICENSE],[license],[license]) BUGMAIL=bugmail AC_SUBST([BUGMAIL]) AC_DEFINE_UNQUOTED([BUGMAIL],[bugmail],[send bug reports to]) MASTER_SITE=master_site() AC_SUBST([MASTER_SITE]) DBH_FILE_VERSION=libdbh_file_compatibility() AC_SUBST([DBH_FILE_VERSION]) DBH_VERSION=vers() AC_SUBST([DBH_VERSION]) dnl Basic Checks dnl check for UNIX variants #AC_GNU_SOURCE #Necesary? AC_ISC_POSIX dnl check for basic programs AC_PROG_CC AM_PROG_CC_STDC AM_PROG_CC_C_O AC_PROG_INSTALL AC_PROG_LIBTOOL AC_PROG_INTLTOOL AC_PROG_MAKE_SET dnl Check for C compiler characteristics AC_C_BIGENDIAN AC_C_CONST AC_C_INLINE AC_C_LONG_DOUBLE AC_C_VOLATILE AC_HEADER_DIRENT AC_C_CONST AC_C_INLINE AC_HEADER_TIME AC_TYPE_SIGNAL dnl Check for system characteristics AC_MSG_CHECKING([integer bit order]) case xyes in x$ac_cv_c_bigendian) AC_MSG_RESULT([bigendian]) CFLAGS="$CFLAGS -DTURN" ;; *) AC_MSG_RESULT([littleendian]) ;; esac AC_CHECK_SIZEOF(short) AC_CHECK_SIZEOF(int) AC_CHECK_SIZEOF(long) AC_CHECK_SIZEOF(long long) AC_CHECK_SIZEOF(unsigned char *) AC_SYS_LARGEFILE m4_define([file_offset_bits], [$ac_cv_sys_file_offset_bits]) if test "x$ac_cv_sys_file_offset_bits" != "xno"; then AC_MSG_RESULT([FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits]) FILE_OFFSET_BITS=file_offset_bits() AC_SUBST(FILE_OFFSET_BITS) fi AC_CHECK_SIZEOF(size_t) AC_CHECK_SIZEOF(off_t) m4_define([sizeof_file_pointer], [$ac_cv_sizeof_off_t]) SIZEOF_FILE_POINTER=sizeof_file_pointer() AC_SUBST(SIZEOF_FILE_POINTER) FILE_POINTER="off_t" if test $ac_cv_sizeof_int = $ac_cv_sizeof_off_t; then FILE_POINTER="int" fi if test $ac_cv_sizeof_long = $ac_cv_sizeof_off_t; then FILE_POINTER="long" fi if test $ac_cv_sizeof_long_long = $ac_cv_sizeof_off_t; then FILE_POINTER="long long" fi AC_SUBST(FILE_POINTER) dnl check for standard header files AC_HEADER_MAJOR AC_HEADER_STDC AC_CHECK_HEADERS([time.h utime.h unistd.h stdarg.h signal.h errno.h stdlib.h stdio.h string.h fcntl.h grp.h limits.h paths.h pwd.h regex.h varargs.h]) AC_CHECK_HEADERS([sys/time.h sys/select.h sys/types.h sys/param.h sys/ucred sys/wait.h]) AC_CHECK_HEADERS([ctype.h fstab.h mntent.h sys/fs_types.h sys/mnttab.h sys/mount.h \ sys/vfs.h sys/vfstab.h], [], [], [ /* Required for sys/mount.h on BSD systems */ #ifdef HAVE_SYS_PARAM_H #include #endif #ifdef HAVE_SYS_UCRED_H #include #endif ]) AC_CHECK_MEMBERS([struct statfs.f_mntonname], [], [], [ #include #include ]) dnl Linux mntent AC_CHECK_MEMBERS([struct mntent.mnt_dir], [], [], [ #include #include ]) dnl check for standard functions AC_CHECK_FUNCS(strlcpy snprintf strlcat lseek snprintf vsnprintf strcasecmp strncasecmp memcpy memmove memset) AC_CHECK_FUNCS([waitid signal sigaction]) AC_SEARCH_LIBS([clock_gettime], [rt posix4]) AC_CHECK_FUNCS([clock_gettime localtime localtime_r gettimeofday strftime]) AC_SEARCH_LIBS([getfsent], [ucb]) AC_CHECK_FUNCS([strcasestr getfsent getmntent getvfsent statfs]) AC_CHECK_FUNCS([signal sigaction]) dnl echo "J. Meyering macros..." dnl XXX - Why don't we use strftime instead? dnl We would have to check to see if the displayed dnl date formats remain the same for iso and utf locales. jm_FUNC_GNU_STRFTIME jm_FUNC_READDIR dnl check for standard libraries # check for POSIX shared memory AC_CHECK_LIB([rt],[shm_open]) # check for POSIX threads AC_CHECK_LIB([pthread],[pthread_create]) # check for POSIX threads GNU_SOURCE AC_CHECK_LIB([pthread],[pthread_tryjoin_np]) if test "$ac_cv_lib_pthread_pthread_tryjoin_np" = yes; then AC_MSG_NOTICE([You have non portable GNU thread extensions. Good for you.]) AC_SUBST(HAVE_PTHREAD_TRYJOIN) AC_DEFINE_UNQUOTED([HAVE_PTHREAD_TRYJOIN],[$ac_cv_lib_pthread_pthread_tryjoin_np],[enable non-standard GNU extensions]) fi dnl check for additional libraries AC_CHECK_PROG(cv_pkgconfig, pkg-config, yes, no) GTK_DOC_CHECK([1.15],[--flavour no-tmpl]) AM_PATH_GLIB_2_0([2.18.0],[ac_cv_glib_ok=yes],[ac_cv_glib_ok=no]) AM_CONDITIONAL(WANT_GLIB, [test "$ac_cv_glib_ok"=yes]) dnl Check for required packages # check for libmagic (from "file" utility) AC_CHECK_LIB([magic],[magic_file]) if test "$ac_cv_lib_magic_magic_file" = "no" ; then AC_MSG_ERROR([*** Shucks! *** Error: libmagic header files were not found. Debian package is "libmagic-dev" or you can obtain the original author“s latest version by anonymous FTP on ftp.astron.com in the directory /pub/file/file-X.YZ.tar.gz. The Debian version adds a number of new magic entries. It can be obtained from every site carrying a Debian distribution (that is ftp.debian.org and mirrors)]) fi if test $prefix = NONE; then echo "prefix = $ac_default_prefix" export PKG_CONFIG_PATH=$ac_default_prefix/lib/pkgconfig else echo "prefix = $prefix" export PKG_CONFIG_PATH=$prefix/lib/pkgconfig fi echo "PKG_CONFIG_PATH = $PKG_CONFIG_PATH" XDT_CHECK_LIBX11_REQUIRE XDT_CHECK_LIBSM XDT_CHECK_PACKAGE([LIBXML], [libxml-2.0], [2.4.0]) XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.20.5]) XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.20.0]) XDT_CHECK_PACKAGE([GTHREAD], [gthread-2.0], [2.2.0]) AC_MSG_CHECKING(for Linux host); result_linux=`uname -a | grep Linux` if test x"${result_linux}" = x; then AC_MSG_RESULT([This is not Linux.]) else AC_SUBST(THIS_IS_LINUX) AC_DEFINE_UNQUOTED([THIS_IS_LINUX], [1], [Define if system is Linux kernel and posix shared memory is at /dev/shm]) AC_MSG_RESULT([System is Linux. Assuming shared memory resides in /dev/shm]) fi AC_MSG_CHECKING([for GNU Awk]) GAWK_VERSION=`gawk --version` INDEX=`expr "$GAWK_VERSION" : "[GNU Awk]"` #echo "INDEX=$INDEX" if test $INDEX -gt 0 ; then AC_MSG_RESULT([GNU gawk found]) else AC_MSG_ERROR([GNU gawk not found! Please install and then rerun configure.]) fi # check for libzip if test x"${result_linux}" != x; then AC_CHECK_LIB([zip],[zip_open]) if test "$ac_cv_lib_zip_zip_open" != yes; then AC_MSG_ERROR([*** Error: Cannot locate libzip library or header files. Please install libzip-dev or equivalent.]) fi else $ac_cv_lib_zip_zip_open = no fi dnl Check for additional packages AC_MSG_CHECKING([for GNU cp]) GAWK_VERSION=`cp --version` INDEX=`expr "$GAWK_VERSION" : "[.*GNU]"` #echo "INDEX=$INDEX" if test $INDEX -gt 0 ; then AC_MSG_RESULT([GNU cp found]) GNU_CP=1 AC_SUBST(GNU_CP) AC_DEFINE_UNQUOTED([GNU_CP],[$GNU_CP],[enable GNU cp]) else AC_MSG_RESULT([cp is not GNU. Some features will not be enabled!]) fi AC_MSG_CHECKING([for GNU rm]) GAWK_VERSION=`rm --version` INDEX=`expr "$GAWK_VERSION" : "[.*GNU]"` #echo "INDEX=$INDEX" if test $INDEX -gt 0 ; then AC_MSG_RESULT([GNU rm found]) GNU_RM=1 AC_SUBST(GNU_RM) AC_DEFINE_UNQUOTED([GNU_RM],[$GNU_RM],[enable GNU rm]) else AC_MSG_RESULT([rm is not GNU. Some features will not be enabled!]) fi AC_MSG_CHECKING([for GNU shred]) GAWK_VERSION=`shred --version` INDEX=`expr "$GAWK_VERSION" : "[.*GNU]"` #echo "INDEX=$INDEX" if test $INDEX -gt 0 ; then AC_MSG_RESULT([GNU shred found]) GNU_SHRED=1 AC_SUBST(GNU_SHRED) AC_DEFINE_UNQUOTED([GNU_SHRED],[$GNU_SHRED],[enable GNU shred]) else AC_MSG_RESULT([shred is not GNU. Some features will not be enabled!]) fi AC_MSG_CHECKING([for GNU Ghostscript]) GS_VERSION=`gs --version` if test x"$GS_VERSION" = x; then AC_MSG_RESULT([GNU Ghostscript not found]) fi AC_MSG_CHECKING([for librsvg-2.0]) LIBRSVG_VERSION=`pkg-config --modversion librsvg-2.0` if test x"$LIBRSVG_VERSION" = x; then AC_MSG_RESULT([librsvg-2.0 not found]) LIBRSVG_VERSION=no else AC_MSG_RESULT(["$LIBRSVG_VERSION"]) fi dnl check for additional system characteristics AC_MSG_CHECKING(for debian dpkg) AC_CHECK_PROG(cv_dpkg, dpkg, yes, no) AM_CONDITIONAL(WANT_DEBIAN, [test "$cv_dpkg"=yes]) AC_MSG_CHECKING(for FreeBSD or OpenBSD) ac_uname_s=`uname -s` echo "system: $ac_uname_s" AM_CONDITIONAL(WANT_FREEBSD, [test "$ac_uname_s"=FreeBSD || "$ac_uname_s"=OpenBSD]) dnl assume broken remote semaphores for non Linux (broken in BSD, at least). AC_MSG_CHECKING(for broken shared semaphores); result=`uname -a | grep Linux` if test x"${result}" = x; then AC_MSG_RESULT([This is not Linux. Assuming broken shared semaphores.]) AC_SUBST(BROKEN_SHARED_SEMAPHORES) AC_DEFINE_UNQUOTED([BROKEN_SHARED_SEMAPHORES], [1], [Define if system does not support shared semaphores (FreeBSD or BSD generic at least)]) else AC_SUBST(THIS_IS_LINUX) AC_DEFINE_UNQUOTED([THIS_IS_LINUX], [1], [Define if system is Linux kernel and posix shared memory is at /dev/shm]) AC_MSG_RESULT([System is Linux: shared semaphores should work and shared memory at /dev/shm.]) fi dnl Check for i18n support XDT_I18N([af ar as ast az be@latin be bg bn br ca ca@valencia crh csb cs cy da de dz el en_CA en_GB eo es et eu fa fi fr fy ga gl gu he hi hne hr hsb hu hy ia id is it ja ka kg km kn ko ku lt lv mai mk ml mr ms nb nds ne nl nn oc or pa pl ps pt_BR pt ro ru si sk sl sq sr@ijekavianlatin sr@ijekavian sr@ije sr@latin sr sv ta te tg th tk tr ug uk uz@cyrillic uz vi wa xh zh_CN zh_HK zh zh_TW.Big5 zh_TW ]) #XDT_I18N([af am ar as ast az be@latin be bg bn_IN bn br bs ca ca@valencia crh csb cs cy da de dz el en_CA en_GB eo es et eu fa fi fr fur fy ga gl gu ha he hi hne hr hsb hu hy ia id ig io is it ja ka kk km kn ko ku li lt lv mai mg mi mk ml mn mr ms nb nds ne nl nn nso oc or pa pl ps pt_BR pt ro ru rw se si sk sl sq sr@ijekavianlatin sr@ijekavian sr@ije sr@latin sr sv ta te tg th tk tr uk uz@cyrillic uz vi wa xh yi yo zh_CN zh_HK zh_TW zu]) dnl final checks AC_CHECK_FILES([/usr/share/pixmaps /usr/local/share/pixmaps /usr/share/icons /usr/local/share/icons],[],[]) AC_OUTPUT([ Makefile po/POTFILES po/Makefile.in Build/Makefile Build/lib/Makefile Build/lib/dbh.h Build/bin/Makefile Build/bin/Rodent.desktop Build/bin/Rodent-diff.desktop Build/share/Makefile Build/share/mime/Makefile Build/share/Rodent/Makefile Build/share/Rodent/48x48/Makefile Build/share/Rodent/48x48/apps/Makefile Build/share/Rodent/48x48/devices/Makefile Build/share/Rodent/48x48/filesystems/Makefile Build/share/Rodent/48x48/emblems/Makefile Build/share/Rodent/48x48/mimetypes/Makefile Build/share/Rodent/48x48/misc/Makefile Build/share/Rodent/48x48/stock/Makefile Build/share/Rodent/scalable/Makefile Build/share/Rodent/scalable/apps/Makefile Build/share/Rodent/scalable/devices/Makefile Build/share/Rodent/scalable/filesystems/Makefile Build/share/Rodent/scalable/emblems/Makefile Build/share/Rodent/scalable/mimetypes/Makefile Build/share/Rodent/scalable/misc/Makefile Build/share/Rodent/scalable/stock/Makefile ]) if test "doall" = "deprecated" ; then for dir in libs src ; do echo "$dir/configure --prefix=$prefix $DB $TR $FM " cd $dir ; ./configure --prefix=$prefix $DB $TR $FM ; if test $? = 0; then AC_MSG_RESULT([configure succesful]) else AC_MSG_ERROR([configure failed]) fi cd ../ ; done fi if test x"$LIBRSVG_VERSION" = x ; then LIBRSVG_VERSION=no fi echo "-----------------rfm and rodent libraries-------------------" echo "-> Version Tag: $TAG" echo "-> Version Build: $build" echo "-> Version reference: $VERSION" if test "$with_debug" = "yes"; then echo "-> debug: $with_debug" fi if test "$with_trace" = "yes"; then echo "-> trace: $with_trace" fi echo "-> SVG icons (librsvg-2.0): $LIBRSVG_VERSION" echo "-> Opendocument preview (libzip): $ac_cv_lib_zip_zip_open" echo "-> Install prefix: $prefix" echo "-> CFLAGS = $CFLAGS" echo "-> LIBS=$LIBS" if test x"$GS_VERSION" = x; then echo "-> GNU Ghostscript was not found: you may install Ghostscript" echo " later if you would like pdf and postscript previews." else echo "-> GNU Ghostscript will provide pdf and postscript previews." fi echo "------------------------------------------------------------" .