377 lines
10 KiB
Plaintext
377 lines
10 KiB
Plaintext
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", , $X_LIBS $SUBLIBS)
|
|
|
|
if test "$GL_LIBS" = "GL"; then
|
|
AC_CHECK_LIB(GLU, main, , GL_LIBS="", $X_LIBS $SUBLIBS)
|
|
fi
|
|
|
|
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
|
|
else
|
|
AC_MSG_WARN(Warning Will Robinson. No OpenGL! Install Mesa or you favorite hardware GLX.)
|
|
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)
|
|
|
|
AC_CHECK_LIB(esd, esd_open_sound, ESD_PROGS=E-SD.epplet, ESD_PROGS="")
|
|
AC_SUBST(ESD_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 "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"
|