diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-04-30 14:17:44 +0200 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-05-02 17:38:36 +0200 |
commit | fe2037a22449e700c506e37a59af9c1f4bdfd1b3 (patch) | |
tree | 96e0160d54ab008d653113a0d98207bb5461df1d /t/objc-minidemo.sh | |
parent | 23197cff2c48bdf0b84e91edfb9b9607a76d6ecc (diff) | |
download | automake-fe2037a22449e700c506e37a59af9c1f4bdfd1b3.tar.gz |
objc++, objc: add first semantic tests
* t/objcxx-minidemo.sh: New test.
* t/objc-minidemo.sh: Likewise.
* t/list-of-tests.mk: Add them.
Co-authored-by: Peter Breitenlohner <peb@mppmu.mpg.de>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 't/objc-minidemo.sh')
-rwxr-xr-x | t/objc-minidemo.sh | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/t/objc-minidemo.sh b/t/objc-minidemo.sh new file mode 100755 index 000000000..acd7e1991 --- /dev/null +++ b/t/objc-minidemo.sh @@ -0,0 +1,76 @@ +#! /bin/sh +# Copyright (C) 2012 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# Dummy demo package using Objective C and doing distcheck. +# See also sister test 'objcxx-minidemo.sh'. + +required=native +. ./defs || Exit 1 + +cat >> configure.ac << 'END' +AC_PROG_OBJC +AC_CONFIG_HEADERS([config.h]) +AC_OUTPUT +END + +cat > Makefile.am << 'END' +AM_DEFAULT_SOURCE_EXT = .m +bin_PROGRAMS = ok +noinst_PROGRAMS = ko +TESTS = $(bin_PROGRAMS) $(XFAIL_TESTS) +XFAIL_TESTS = $(noinst_PROGRAMS) +END + +cat > ok.m << 'END' +/* The use of #import makes this valid Object C but invalid C. */ +#import <stdio.h> +#import <config.h> +int main (void) +{ + printf ("Success (%s)\n", PACKAGE_STRING); + return 0; +} +END + +cat > ko.m << 'END' +/* The use of #import makes this valid Object C but invalid C. */ +#import <stdio.h> +int main (void) +{ + printf("Failure\n"); + return 1; +} +END + +if $ACLOCAL; then + : We have a modern enough autoconf, go ahead. +elif test $? -eq 63; then + skip_ "Object C++ support requires Autoconf 2.65 or later" +else + Exit 1 # Some other aclocal failure. +fi + +$ACLOCAL +$AUTOCONF +$AUTOHEADER +$AUTOMAKE --add-missing + +./configure +$MAKE +$MAKE check +$MAKE distcheck + +: |