diff options
author | Arturo Espinosa <unammx@src.gnome.org> | 1998-02-11 09:37:05 +0800 |
---|---|---|
committer | Arturo Espinosa <unammx@src.gnome.org> | 1998-02-11 09:37:05 +0800 |
commit | 867d9158bca053090c8a815e163fa303fad6a4fb (patch) | |
tree | 491cb9ae4592c10c26a8528e2aeb406014da9ae2 /macros/gnome-objc-checks.m4 | |
parent | f97c786c151fd4d96f0ae33f0c6bfc4e71ebd2a6 (diff) | |
download | gsoc2013-evolution-867d9158bca053090c8a815e163fa303fad6a4fb.tar.gz gsoc2013-evolution-867d9158bca053090c8a815e163fa303fad6a4fb.tar.zst gsoc2013-evolution-867d9158bca053090c8a815e163fa303fad6a4fb.zip |
Gnome Utils autoconf/automake setup is ready
svn path=/trunk/; revision=12
Diffstat (limited to 'macros/gnome-objc-checks.m4')
-rw-r--r-- | macros/gnome-objc-checks.m4 | 58 |
1 files changed, 58 insertions, 0 deletions
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 <<EOF + #include <objc/Object.h> + @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) +]) |