From bf056dd2df63997b3f0a4b965f2a1690aa2da57c Mon Sep 17 00:00:00 2001 From: Vincent Torri Date: Fri, 5 Mar 2010 06:23:25 +0000 Subject: [PATCH] Fix Objective C compiler detection and Mac OS X header files detection. It should work with and without an Objective C compiler. The problem is a bug in the AC_PROG_OBJC macro. Patch by Ralf Wildenhues SVN revision: 46890 --- legacy/evas/configure.ac | 20 ++++++++++++++++++-- legacy/evas/m4/evas_check_engine.m4 | 26 ++++++++++++++++++++++---- 2 files changed, 40 insertions(+), 6 deletions(-) diff --git a/legacy/evas/configure.ac b/legacy/evas/configure.ac index 738d726c9b..94dfe28019 100644 --- a/legacy/evas/configure.ac +++ b/legacy/evas/configure.ac @@ -1,6 +1,19 @@ # get rid of that stupid cache mechanism rm -f config.cache +# rw_PROG_OBJC_WORKS +# Check whether the Objective C compiler works. +AC_DEFUN([rw_PROG_OBJC_WORKS], +[AC_REQUIRE([AC_PROG_OBJC])dnl +AC_CACHE_CHECK([whether the Objective C compiler works], + [rw_cv_prog_objc_works], + [AC_LANG_PUSH([Objective C]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], + [rw_cv_prog_objc_works=yes], + [rw_cv_prog_objc_works=no]) + AC_LANG_POP([Objective C])]) +]) + AC_INIT([evas], [0.9.9.063], [enlightenment-devel@lists.sourceforge.net]) release="ver-pre-svn-05" AC_PREREQ([2.52]) @@ -138,6 +151,7 @@ AC_ARG_ENABLE([simple-x11], ### Checks for programs + m4_ifdef([AC_PROG_OBJC], [ AC_PROG_OBJC @@ -147,8 +161,10 @@ m4_ifdef([AC_PROG_OBJC], AC_CHECK_TOOL([OBJC], [gcc]) AC_SUBST([OBJC]) AC_SUBST([OBJCFLAGS]) - ] -) + ]) + +rw_PROG_OBJC_WORKS + AC_PROG_CXX AC_PROG_CC diff --git a/legacy/evas/m4/evas_check_engine.m4 b/legacy/evas/m4/evas_check_engine.m4 index 101ede6ee6..04549512b0 100644 --- a/legacy/evas/m4/evas_check_engine.m4 +++ b/legacy/evas/m4/evas_check_engine.m4 @@ -387,13 +387,24 @@ dnl use: EVAS_CHECK_ENGINE_DEP_QUARTZ(engine, simple, want_static[, ACTION-IF-FO AC_DEFUN([EVAS_CHECK_ENGINE_DEP_QUARTZ], [ +have_dep="no" evas_engine_[]$1[]_cflags="" evas_engine_[]$1[]_libs="" -AC_CHECK_HEADERS([/System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h], - [have_dep="yes"], - [have_dep="no"] -) +AC_REQUIRE([EVAS_MAYBE_GET_OBJCPP]) + +AS_IF([test "x${rw_cv_prog_objc_works}" = "xyes"], +[ + AC_LANG_PUSH([Objective C]) + AC_CHECK_HEADERS([/System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h], + [ + have_dep="yes" + evas_engine_[]$1[]_libs="-framework Cocoa" + ], + [have_dep="no"]) + AC_LANG_POP([Objective C]) + +]) AC_SUBST([evas_engine_$1_cflags]) AC_SUBST([evas_engine_$1_libs]) @@ -406,6 +417,13 @@ fi ]) +dnl Helper macro for EVAS_CHECK_ENGINE_DEP_QUARTZ + +AC_DEFUN([EVAS_MAYBE_GET_OBJCPP], +[AS_IF([test "x${rw_cv_prog_objc_works}" = "xyes"], + [AC_PROG_OBJCPP]) +]) + dnl use: EVAS_CHECK_ENGINE_DEP_GL_GLEW(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) AC_DEFUN([EVAS_CHECK_ENGINE_DEP_GL_GLEW],