dnl# $Id$ AC_INIT(api/epplet.c) AM_INIT_AUTOMAKE(epplets, 0.6) dnl# Supply default CFLAGS, if not specified by `CFLAGS=flags ./configure' if test ! -z "${CFLAGS}" -o ! -z "${CCOPTS}"; then CFLAGS_GIVEN="${CFLAGS} ${CCOPTS}" else CFLAGS_GIVEN="" fi if test -z "${CFLAGS}"; then if test -z "${CCOPTS}"; then CCOPTS="-O" fi CFLAGS="$CCOPTS" fi AC_PROG_CC AC_PROG_CPP dnl# These must be run after AC_PROG_CC but before any other macros that use dnl# the C compiler AC_AIX AC_ISC_POSIX AC_MINIX dnl# At least make the attempt to support CygWin32 AC_CYGWIN AC_ARG_PROGRAM AM_PROG_LIBTOOL AC_GCC_TRADITIONAL dnl # If using gcc, use -O2. If -g works with it, use that too if test -z "$CFLAGS_GIVEN"; then if test "$GCC" = "yes"; then if test "$ac_cv_prog_cc_g" = "yes"; then CCOPTS='-g -O2' else CCOPTS='-O2' fi CFLAGS="$CCOPTS" fi else CFLAGS="$CFLAGS_GIVEN" fi for i in /usr/local/include /usr/X11R6/include /usr/dt/include /usr/openwin/include ; do test -d $i && CPPFLAGS="$CPPFLAGS -I$i" done AC_PROG_INSTALL dnl# Check the sanity of what we've done so far AM_SANITY_CHECK dnl# Most people don't want the developer-only clutter AM_MAINTAINER_MODE dnl# If it's there, what the hell? AM_WITH_DMALLOC dnl# Look for needed programs AC_CHECK_PROG(RM, rm, rm, true) AC_CHECK_PROG(CP, cp, cp, false) AC_CHECK_PROG(CHMOD, chmod, chmod, true) AC_CHECK_PROG(TAR, tar, tar, tar) AC_CHECK_PROG(MKDIR, mkdir, mkdir, false) AC_CHECK_PROG(AR, ar, ar, false) AC_CHECK_PROG(MV, mv, mv, true) AC_LN_S AC_C_CONST AC_C_INLINE AC_PATH_XTRA if test "$ac_cv_lib_socket_connect" = "yes" ; then SUBLIBS="-lsocket" fi if test "$ac_cv_lib_nsl_gethostbyname" = "yes" ; then SUBLIBS="$SUBLIBS -lnsl" fi dnl# Checks for header files. AC_HEADER_SYS_WAIT AC_CHECK_HEADERS(unistd.h time.h math.h pwd.h sys/types.h varargs.h stdarg.h) AC_HEADER_TIME dnl# Missing typedefs and replacements AC_TYPE_MODE_T AC_TYPE_PID_T AC_TYPE_UID_T dnl# Checks for library functions. AC_TYPE_SIGNAL dnl#AC_CHECK_FUNCS() dnl# dnl# X LIBRARIES dnl# AC_CHECK_LIB(X11, XOpenDisplay, X_LIBS="$X_LIBS -lX11", [ echo "ERROR: You need libX11 to build Epplets. Verify that you have libX11.a or"; echo " libX11.so installed and that it is located in the X libraries"; echo " directory shown above. If it is in a different directory, try using"; echo " the --x-libraries parameter to configure."; AC_MSG_ERROR([Fatal: libX11 not found.])], $X_LIBS $SUBLIBS) AC_CHECK_LIB(Xext, XextAddDisplay, X_LIBS="-lXext $X_LIBS", [ echo "ERROR: You need libXext to build Epplets. Verify that you have libXext.a or"; echo " libXext.so installed and that it is located in the X libraries"; echo " directory shown above. If it is in a different directory, try using"; echo " the --x-libraries parameter to configure."; AC_MSG_ERROR([Fatal: libXext not found.])], $X_LIBS $SUBLIBS) dnl# dnl* I hope I'm doing this right dnl# AC_CHECK_LIB(GL, glXChooseVisual, GL_LIBS="GL", [ echo "Warning Will Robinson. No OpenGL! Install Mesa or you favorite hardware GLX."; ], $X_LIBS $SUBLIBS) GL_PROGS="" if test "$GL_LIBS" = "GL"; then AC_CHECK_HEADERS(GL/glx.h,[P_GL="GL"], [echo "Warning Will Robinson. No OpenGL headers! Install Mesa our your favorite hardware GLX."]) if test "$P_GL" = "GL"; then X_LIBS="-lGL -lGLU $X_LIBS" AC_DEFINE(HAVE_LIBGL) GL_PROGS="E-OpenGL-Demo.epplet" AC_MSG_WARN([*** Building for GLX. Grab your ankles and kiss your ass goodbye! ***]) fi fi AC_CHECK_PROG(IMLIB_CONFIG, imlib-config, imlib-config, no) if test "$IMLIB_CONFIG" != "no"; then if test "$prefix" = "NONE"; then AC_MSG_CHECKING(imlib-config for prefix) prefix="`$IMLIB_CONFIG --prefix`" AC_MSG_RESULT($prefix) fi AC_MSG_CHECKING(imlib-config for the value of CFLAGS) CFLAGS="$CFLAGS `$IMLIB_CONFIG --cflags`" AC_MSG_RESULT($CFLAGS) AC_MSG_CHECKING(imlib-config for the value of GRLIBS) GRLIBS="$GRLIBS `$IMLIB_CONFIG --libs`" AC_MSG_RESULT($GRLIBS) SAVE_LIBS="$LIBS" LIBS="$GRLIBS" AC_MSG_CHECKING(the sanity of new compile/link flags) AC_TRY_LINK(, , echo "yes", echo "no" ; IMLIB_CONFIG="no" ; AC_WARN(Compile/link failed. Reverting to manual method.) ) LIBS="$SAVE_LIBS" fi if test "$IMLIB_CONFIG" = "no"; then AC_CHECK_LIB(png, png_get_valid, GRLIBS="$GRLIBS -lpng -lz -lm", , $SUBLIBS $X_LIBS -lz -lm) AC_CHECK_LIB(jpeg, jpeg_read_scanlines, GRLIBS="$GRLIBS -ljpeg", , $SUBLIBS $X_LIBS) AC_CHECK_LIB(tiff, TIFFOpen, GRLIBS="$GRLIBS -ltiff", , $SUBLIBS $X_LIBS -lm) AC_CHECK_LIB(gif, DGifOpenFileName, GRLIBS="$GRLIBS -lgif", , $SUBLIBS $X_LIBS) AC_CHECK_LIB(ungif, DGifOpenFileName, GRLIBS="$GRLIBS -lungif", , $SUBLIBS $X_LIBS) AC_CHECK_LIB(Imlib, Imlib_init, , [ echo "WARNING: Imlib was not found or did not correctly link."; echo " Please check config.log to see what the error was."; echo " I will attempt to continue, but things may go wrong."; AC_MSG_WARN([WARNING: libImlib not found. Attempting to continue anyway.])], $GRLIBS $SUBLIBS $X_LIBS) fi AC_CHECK_LIB(kstat, kstat_open, LIBS="$LIBS -lkstat") AC_MSG_CHECKING(for Linux) if test "`uname -s`" != "Linux"; then AC_MSG_RESULT(no) AC_CHECK_PROG(LIBGTOP_CONFIG, libgtop-config, libgtop-config, no) else AC_MSG_RESULT(yes) LIBGTOP_CONFIG=no fi if test "$LIBGTOP_CONFIG" != "no"; then LIBGTOP_CONF_SH="`$LIBGTOP_CONFIG --config`" if test ! -z "$LIBGTOP_CONF_SH"; then . $LIBGTOP_CONF_SH AC_MSG_CHECKING(libgtop-config for the value of CFLAGS) CFLAGS="$CFLAGS $LIBGTOP_INCS" AC_DEFINE(HAVE_LIBGTOP) AC_MSG_RESULT($CFLAGS) AC_MSG_CHECKING(libgtop-config for the value of LIBS) GTLIBS="$GTLIBS $LIBGTOP_LIBS $LIBGTOP_EXTRA_LIBS" AC_MSG_RESULT($GTLIBS) SAVE_LIBS="$LIBS" LIBS="$GTLIBS" AC_MSG_CHECKING(the sanity of new compile/link flags) AC_TRY_LINK(, , echo "yes", echo "no" ; LIBGTOP_CONFIG="no" ; AC_WARN(Compile/link failed.) ) LIBS="$SAVE_LIBS" fi else GTLIBS="" fi # Build test programs? AC_ARG_WITH(test-programs, [ --with-test-programs Builds the test programs [default=no]], TEST_PROGS="EppletTest.epplet EppletConfigTest.epplet",TEST_PROGS="") # ok enlightenment d00ds want to ignore civilization and install # everything in one place. The rest of use prefer sanity. # AC_ARG_ENABLE(fsstd, [ --enable-fsstd install files following FSSTD [default=no]], ,enable_fsstd=no) if test "x$enable_fsstd" = "xyes"; then ENLIGHTENMENT_ROOT=${datadir}/enlightenment ENLIGHTENMENT_BIN=${bindir} USE_FSSTD=yes else ENLIGHTENMENT_ROOT=${prefix}/enlightenment ENLIGHTENMENT_BIN=${prefix}/enlightenment/bin USE_FSSTD=no fi # Be friendly to gnome-session AC_ARG_ENABLE(auto-respawn, [ --disable-auto-respawn Be gnome-session friendly, and don't respawn epplets through e by default [default=no]], no_respawn=yes,) if test ! -z "$no_respawn"; then AC_DEFINE(NO_AUTO_RESPAWN) fi AC_ARG_ENABLE(new-remember, [ --disable-new-remember use if you have a version of enlightenment <= 0.16.4], if test "$enableval" = "yes"; then AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) AC_DEFINE(NEW_REMEMBER) fi, AC_MSG_RESULT(no) ) AC_MSG_CHECKING(for Enlightenment location) if test ! -z "$EROOT"; then AC_SUBST(EROOT) AC_MSG_RESULT($EROOT) else EROOT=$ENLIGHTENMENT_ROOT AC_MSG_RESULT(warning: EROOT environment variable not detected. Using $EROOT) AC_SUBST(EROOT) fi AC_MSG_CHECKING(for Enlightenment binary location) if test ! -z "$EBIN"; then AC_SUBST(EBIN) AC_MSG_RESULT($EBIN) else EBIN=$ENLIGHTENMENT_BIN AC_MSG_RESULT(warning: EBIN environment variable not detected. Using $EBIN) AC_SUBST(EBIN) fi AC_DEFINE_UNQUOTED(EROOT, "$EROOT") AC_DEFINE_UNQUOTED(EBIN, "$EBIN") AC_SUBST(EROOT) AC_SUBST(EBIN) # Should we install E-Mixer? # Probably not ;-) But we may as well check! P_MIXER= AC_CHECK_HEADERS(linux/soundcard.h,[P_MIXER=mixer],[ AC_CHECK_HEADERS(machine/soundcard.h, [P_MIXER=mixer],[ AC_CHECK_HEADERS(dmedia/audio.h, [P_MIXER=mixer],[ AC_CHECK_HEADERS(sys/soundcard.h, [P_MIXER=mixer]) ]) ]) ]) if test "$P_MIXER" = "mixer"; then MIXER_PROGS="E-Mixer.epplet Emix.epplet" else AC_MSG_WARN([*** Mixer epplets will not be built ***]) MIXER_PROGS="" fi SGI= AC_CHECK_HEADERS(dmedia/audio.h,[SGI=sgi]) if test "$SGI" = "sgi"; then SGI_LIBS="-laudio" SGI_DEFINES="-DSGI_AUDIO" else SGI_LIBS="" SGI_DEFINES="" fi AC_CHECK_LIB(cdaudio, cd_advance, PLAYCD_PROGS=E-PlayCD.epplet, PLAYCD_PROGS="") AC_SUBST(PLAYCD_PROGS) # Stuff for E-Mountbox AC_PATH_PROG(MOUNT, mount) AC_PATH_PROG(UMOUNT, umount) AC_PATH_PROG(EJECT, eject) AC_DEFINE_UNQUOTED(MOUNT, "$MOUNT") AC_DEFINE_UNQUOTED(UMOUNT, "$UMOUNT") AC_DEFINE_UNQUOTED(EJECT, "$EJECT") if test -n "$EJECT"; then AC_DEFINE(HAVE_EJECT, 1) fi CFLAGS=${CFLAGS--O} LDFLAGS=${LDFLAGS--O} LIBS="$LIBS $GRLIBS" CPPFLAGS="$CPPFLAGS" AC_SUBST(CC) AC_SUBST(CFLAGS) AC_SUBST(CPPFLAGS) AC_SUBST(LDFLAGS) AC_SUBST(LIBS) AC_SUBST(GTLIBS) AC_SUBST(THREADLIBS) AC_SUBST(TEST_PROGS) AC_SUBST(MIXER_PROGS) AC_SUBST(GL_PROGS) AC_SUBST(SGI_LIBS) AC_SUBST(SGI_DEFINES) basedir=. AM_CONFIG_HEADER(config.h) AC_OUTPUT(epplets.spec Makefile api/Makefile epplets/Makefile) echo "creating api/epplet.h" sed -e "s%@EROOT@%$EROOT%g" -e "s%@EBIN@%$EBIN%g" -e "s%\${exec_prefix}%${exec_prefix}%g" -e "s%\${prefix}%${prefix}%g" ${srcdir}/api/epplet.h.in > api/epplet.h.new if (diff api/epplet.h.new api/epplet.h >/dev/null 2>&1); then echo "api/epplet.h unchanged." rm -f api/epplet.h.new else rm -f api/epplet.h mv api/epplet.h.new api/epplet.h fi echo echo "If you are running Enlightenment < 0.16.4, you *must* configure" echo "with epplets with --disable-new-remember." echo echo "Now type 'make' to build $PACKAGE $VERSION." echo "Then type 'make install' to install." echo echo "If you are installing epplets for the first time, don't forget" echo "to run $EBIN/e_gen_menus to build your epplets menu"