Files
pspsdk/m4/pspdev.m4
2024-12-24 13:50:56 +01:00

68 lines
2.2 KiB
Plaintext

dnl
dnl AC_PSPDEV_PATH()
dnl
dnl Check for a valid pspdev installation.
AC_DEFUN([AC_PSPDEV_PATH],
[
AC_ARG_WITH(pspdev,
[ --with-pspdev=DIR Path where the pspdev toolchain is installed (default is $PSPDEV)],
pspdev="$withval", pspdev="$PSPDEV")
AC_MSG_CHECKING(for pspdev)
if test x$pspdev = x ; then
# If there's no $PSPDEV environment variable, find out where psp-gcc lives (it should be on the $PATH).
psp_gcc_path=`which psp-gcc`
if test x$psp_gcc_path = x ; then
AC_MSG_ERROR(can't find the pspdev toolchain. Use --with-pspdev or set PSPDEV)
fi
# Strip both the /psp-gcc and /bin portions from the path.
pspdev=`echo $psp_gcc_path | sed 's/\/psp-gcc//' | sed 's/\/bin//'`
fi
AC_MSG_RESULT($pspdev)
PSPDEV="$pspdev"
AC_SUBST(PSPDEV)
# Fill out a few common directories for things that need it.
# Note: if we ever decide to support more than just the "psp" prefix, these will have to be updated.
pspdev_includedir="$pspdev/psp/include"
pspdev_libdir="$pspdev/psp/lib"
pspdev_sharedir="$pspdev/psp/share"
pspdev_bindir="$pspdev/bin"
PSPDEV_INCLUDEDIR="$pspdev_includedir"
PSPDEV_LIBDIR="$pspdev_libdir"
PSPDEV_SHAREDIR="$pspdev_sharedir"
PSPDEV_BINDIR="$pspdev_bindir"
AC_SUBST(PSPDEV_INCLUDEDIR)
AC_SUBST(PSPDEV_LIBDIR)
AC_SUBST(PSPDEV_SHAREDIR)
AC_SUBST(PSPDEV_BINDIR)
])
dnl Check for a tool prefixed with "psp-".
dnl __PSPDEV_CHECK_TOOL(VARIABLE, PREFIX, PROG-TO-CHECK-FOR[, VALUE-IF-NOT-FOUND [, PATH]])
AC_DEFUN([__PSPDEV_CHECK_TOOL],
[
pspdev_tool_prefix="psp-"
AC_CHECK_PROG($1, ${pspdev_tool_prefix}$2, ${pspdev_tool_prefix}$2, $3, $4)
])
dnl
dnl AC_PSPDEV_TOOLCHAIN()
dnl
dnl Make sure all of the required pspdev tools exist.
dnl TODO: This could be made more robust just in case someone installs the tools wihthout
dnl the psp- prefix. That's highly unlikely though.
AC_DEFUN([AC_PSPDEV_TOOLCHAIN],
[
__PSPDEV_CHECK_TOOL(PSP_CC, gcc, psp-gcc)
__PSPDEV_CHECK_TOOL(PSP_CXX, g++, psp-g++)
__PSPDEV_CHECK_TOOL(PSP_AS, as, psp-as)
__PSPDEV_CHECK_TOOL(PSP_LD, ld, psp-ld)
__PSPDEV_CHECK_TOOL(PSP_AR, ar, psp-ar)
__PSPDEV_CHECK_TOOL(PSP_NM, nm, psp-nm)
__PSPDEV_CHECK_TOOL(PSP_RANLIB, ranlib, psp-ranlib)
])