dnl CF_GNAT_PROJECTS version: 13 updated: 2021/01/02 17:09:14
dnl ----------------
dnl GNAT projects are configured with ".gpr" project files.
dnl GNAT libraries are a further development, using the project feature.
AC_DEFUN([CF_GNAT_PROJECTS],
[
AC_REQUIRE([CF_GNAT_VERSION])
AC_REQUIRE([CF_DISABLE_GNAT_PROJECTS])

cf_gnat_libraries=no
cf_gnat_projects=no

if test "$enable_gnat_projects" != no ; then
AC_MSG_CHECKING(if GNAT supports project files)
case "$cf_cv_gnat_version" in
(3.[[0-9]]*)
	;;
(*)
	case "$cf_cv_system_name" in
	(cygwin*|msys*)
		;;
	(*)
		rm -rf ./conftest* ./*~conftest*
		if mkdir conftest.src conftest.bin conftest.lib
		then
			cd conftest.src
			rm -rf ./conftest* ./*~conftest*
			cat >>library.gpr <<CF_EOF
project Library is
  Kind := External ("LIB_KIND");
  for Library_Name use "ConfTest";
  for Object_Dir use ".";
  for Library_ALI_Dir use External("LIBRARY_DIR");
  for Library_Version use External ("SONAME");
  for Library_Kind use Kind;
  for Library_Dir use External("BUILD_DIR");
  Source_Dir := External ("SOURCE_DIR");
  for Source_Dirs use (Source_Dir);
end Library;
CF_EOF
			cat >>confpackage.ads <<CF_EOF
package ConfPackage is
   procedure conftest;
end ConfPackage;
CF_EOF
			cat >>confpackage.adb <<CF_EOF
with Text_IO;
package body ConfPackage is
   procedure conftest is
   begin
      Text_IO.Put ("Hello World");
      Text_IO.New_Line;
   end conftest;
end ConfPackage;
CF_EOF
			if ( "$cf_ada_make" $ADAFLAGS \
					-Plibrary.gpr \
					-XBUILD_DIR="`cd ../conftest.bin;pwd`" \
					-XLIBRARY_DIR="`cd ../conftest.lib;pwd`" \
					-XSOURCE_DIR="`pwd`" \
					-XSONAME=libConfTest.so.1 \
					-XLIB_KIND=static 1>&AC_FD_CC 2>&1 ) ; then
				cf_gnat_projects=yes
			fi
			cd ..
		fi
		if test -f conftest.lib/confpackage.ali
		then
			cf_gnat_libraries=yes
		fi
		rm -rf ./conftest* ./*~conftest*
		;;
	esac
	;;
esac
AC_MSG_RESULT($cf_gnat_projects)
fi # enable_gnat_projects

if test "$cf_gnat_projects" = yes
then
	AC_MSG_CHECKING(if GNAT supports libraries)
	AC_MSG_RESULT($cf_gnat_libraries)
fi

USE_OLD_MAKERULES=""
USE_GNAT_PROJECTS="#"
USE_GNAT_MAKE_GPR="#"
USE_GNAT_GPRBUILD="#"

if test "$cf_gnat_projects" = yes
then
	USE_OLD_MAKERULES="#"
	USE_GNAT_PROJECTS=""
	if test "$cf_cv_VERSION_GPRBUILD" != no
	then
		USE_GNAT_GPRBUILD=""
	elif test "$cf_cv_VERSION_GNATMAKE" != no
	then
		USE_GNAT_MAKE_GPR=""
	else
		AC_MSG_WARN(use old makefile rules since tools are missing)
	fi
fi

if test "$cf_gnat_libraries" = yes
then
	USE_GNAT_LIBRARIES=""
else
	USE_GNAT_LIBRARIES="#"
fi

AC_SUBST(USE_OLD_MAKERULES)
AC_SUBST(USE_GNAT_PROJECTS)
AC_SUBST(USE_GNAT_LIBRARIES)
AC_SUBST(USE_GNAT_MAKE_GPR)
AC_SUBST(USE_GNAT_GPRBUILD)
])dnl
