From 867d9158bca053090c8a815e163fa303fad6a4fb Mon Sep 17 00:00:00 2001 From: Arturo Espinosa Date: Wed, 11 Feb 1998 01:37:05 +0000 Subject: Gnome Utils autoconf/automake setup is ready svn path=/trunk/; revision=12 --- macros/gnome-objc-checks.m4 | 58 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 macros/gnome-objc-checks.m4 (limited to 'macros/gnome-objc-checks.m4') diff --git a/macros/gnome-objc-checks.m4 b/macros/gnome-objc-checks.m4 new file mode 100644 index 0000000000..603909e3f8 --- /dev/null +++ b/macros/gnome-objc-checks.m4 @@ -0,0 +1,58 @@ +AC_DEFUN([GNOME_CHECK_OBJC], +[ + dnl Look for an ObjC compiler. + dnl FIXME: extend list of possible names of ObjC compilers. + AC_CHECK_PROGS(OBJC, $OBJC gcc, "") + + dnl See if it works + dnl FIXME: I don't know ObjC. I took hints from *.m files + dnl already in the gnome tree. But this one compiles, and looks + dnl for pthread libs, when linked. (Raja Harinath) + + dnl The ObjC library, with threads enabled, uses sched_yield, which, + dnl on Solaris is in -lposix4. For now, I just put -lposix4 into + dnl PTHREAD_LIB: it is as good a place as any. Maybe there should + dnl be an OBJC_LIBS. + oLIBS=$LIBS + LIBS="$LIBS $PTHREAD_LIB" + AC_CHECK_FUNC(sched_yield,,[ + AC_CHECK_LIB(posix4,sched_yield,PTHREAD_LIB="$PTHREAD_LIB -lposix4")]) + LIBS=$oLIBS + + AC_CACHE_CHECK([if Objective C compiler ($OBJC) works], + ac_cv_prog_objc_works, [ + if test -n "$OBJC"; then + cat > conftest.m < + @interface myRandomObj : Object + { + } + @end + @implementation myRandomObj + @end + int main () { + /* No, you are not seeing double. Remember that square brackets + are the autoconf m4 quotes. */ + id myid = [[myRandomObj alloc]]; + [[myid free]]; + return 0; + } + + EOF + dnl FIXME: internal autoconf knowledge here. Really we should copy + dnl autoconf's C++ support for ObjC. (Tom Tromey) + $OBJC -o conftest $LDFLAGS conftest.m -lobjc $PTHREAD_LIB 1>&AC_FD_CC 2>&1 + result=$? + rm -f conftest* + + if test $result -eq 0; then + ac_cv_prog_objc_works=yes + fi + else + ac_cv_prog_objc_works=no + fi + dnl End of AC_CACHE_CHECK + ]) + + AM_CONDITIONAL(OBJECTIVE_C, test x$ac_cv_prog_objc_works = xyes) +]) -- cgit