mirror of
git://git.savannah.gnu.org/libtool.git
synced 2024-11-21 01:40:57 +08:00
* libtool.m4 (AC_PROG_LIBTOOL): Added support for the new F77
Fortran support tag. (AC_LIBTOOL_PROG_CC_C_O, _LT_AC_TAGCONFIG): Support F77 tag. (AC_LIBTOOL_F77, _LT_AC_LANG_F77, AC_LIBTOOL_LANG_F77_CONFIG): New macros for F77 tag Fortran support. * configure.ac: Add support for creating the new F77 tag. * bootstrap: Add f77demo directory to the list to be processed. * Makefile.am: Add support for FFLAGS and FLIBS. * tests/Makefile.am: Add new Fortran tests. * tests/f77demo-*.test: New files. * f77demo/configure.ac, f77demo/cprogram.c, f77demo/fooc.c * f77demo/foof.f, f77demo/foo.h, f77demo/fprogram.f * f77demo/Makefile.am, f77demo/README: New files.
This commit is contained in:
parent
f57ca23232
commit
c466be90b3
16
ChangeLog
16
ChangeLog
@ -1,3 +1,19 @@
|
||||
2002-07-31 Eric Lindahl <erik@theophys.kth.se>
|
||||
|
||||
* libtool.m4 (AC_PROG_LIBTOOL): Added support for the new F77
|
||||
Fortran support tag.
|
||||
(AC_LIBTOOL_PROG_CC_C_O, _LT_AC_TAGCONFIG): Support F77 tag.
|
||||
(AC_LIBTOOL_F77, _LT_AC_LANG_F77, AC_LIBTOOL_LANG_F77_CONFIG):
|
||||
New macros for F77 tag Fortran support.
|
||||
* configure.ac: Add support for creating the new F77 tag.
|
||||
* bootstrap: Add f77demo directory to the list to be processed.
|
||||
* Makefile.am: Add support for FFLAGS and FLIBS.
|
||||
* tests/Makefile.am: Add new Fortran tests.
|
||||
* tests/f77demo-*.test: New files.
|
||||
* f77demo/configure.ac, f77demo/cprogram.c, f77demo/fooc.c
|
||||
* f77demo/foof.f, f77demo/foo.h, f77demo/fprogram.f
|
||||
* f77demo/Makefile.am, f77demo/README: New files.
|
||||
|
||||
2002-07-16 Gary V. Vaughan <gary@gnu.org>
|
||||
|
||||
* libltdl/ltdl.c (tryall_dlopen): We need to catch missing file
|
||||
|
@ -11,6 +11,8 @@ CFLAGS = @CFLAGS@
|
||||
CPPLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS= @LIBS@
|
||||
FFLAGS = @FFLAGS@
|
||||
FLIBS = @FLIBS@
|
||||
|
||||
aclocal_macros = libtool.m4 ltdl.m4
|
||||
|
||||
|
@ -14,7 +14,7 @@ find . \( -name autom4te.cache -o -name libtool \) -exec rm -r {} \;
|
||||
touch ltmain.sh
|
||||
touch libtoolize
|
||||
|
||||
for sub in . libltdl cdemo demo depdemo mdemo pdemo tagdemo; do
|
||||
for sub in . libltdl cdemo demo depdemo mdemo pdemo tagdemo f77demo; do
|
||||
case $sub in
|
||||
.)
|
||||
top_srcdir=.
|
||||
|
@ -75,7 +75,7 @@ AC_CONFIG_SUBDIRS([libltdl])
|
||||
|
||||
# all subdirectories that are configured on demand, but that must be
|
||||
# included in the distribution
|
||||
CONF_SUBDIRS="cdemo pdemo demo depdemo mdemo tagdemo"
|
||||
CONF_SUBDIRS="cdemo pdemo demo depdemo mdemo tagdemo f77demo"
|
||||
AC_SUBST([CONF_SUBDIRS])
|
||||
|
||||
ACINCLUDE_M4_LIST="${srcdir}/acinclude.m4"
|
||||
@ -107,6 +107,11 @@ AC_PROG_CXX
|
||||
popdef([AC_MSG_ERROR])
|
||||
AM_CONDITIONAL(HAVE_CXX, [test "x$CXX" != xno])
|
||||
|
||||
pushdef([AC_MSG_ERROR], [F77=no])
|
||||
AC_PROG_F77
|
||||
popdef([AC_MSG_ERROR])
|
||||
AM_CONDITIONAL(HAVE_F77, [test "x$F77" != xno])
|
||||
|
||||
LT_AC_PROG_GCJ
|
||||
AM_CONDITIONAL(HAVE_GCJ, [test "x$GCJ" != xno])
|
||||
|
||||
|
31
f77demo/Makefile.am
Normal file
31
f77demo/Makefile.am
Normal file
@ -0,0 +1,31 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
##
|
||||
## $Id$
|
||||
|
||||
AUTOMAKE_OPTIONS = no-dependencies foreign
|
||||
|
||||
EXTRA_DIST = acinclude.m4
|
||||
|
||||
noinst_LTLIBRARIES = libfoo.la libmix.la
|
||||
|
||||
libfoo_la_SOURCES = foof.f
|
||||
libmix_la_SOURCES = foof.f fooc.c
|
||||
|
||||
noinst_HEADERS = foo.h
|
||||
|
||||
bin_PROGRAMS = fprogram cprogram
|
||||
|
||||
fprogram_SOURCES = fprogram.f
|
||||
fprogram_LDADD = libfoo.la
|
||||
|
||||
cprogram_SOURCES = cprogram.c
|
||||
cprogram_LDADD = libmix.la
|
||||
|
||||
$(OBJECTS): libtool
|
||||
libtool: $(LIBTOOL_DEPS)
|
||||
$(SHELL) ./config.status --recheck
|
||||
|
||||
|
||||
|
||||
|
||||
|
16
f77demo/README
Normal file
16
f77demo/README
Normal file
@ -0,0 +1,16 @@
|
||||
This is a short demo of the fortran support in libtool.
|
||||
|
||||
fprogram is a pure-fortran program which is linked
|
||||
against the fortran-only library libfoo.la
|
||||
|
||||
cprogram is a C program, which is linked against the
|
||||
mixed C and fortran library libmix.la. The program
|
||||
calls a C function, which in turn calls a fortran
|
||||
function.
|
||||
|
||||
This demo requires GNU autoconf, automake,
|
||||
libtool with the F77 tag and quite obvious Fortran 77.
|
||||
|
||||
|
||||
|
||||
|
69
f77demo/configure.ac
Normal file
69
f77demo/configure.ac
Normal file
@ -0,0 +1,69 @@
|
||||
## Process this file with autoconf to create configure. -*- autoconf -*-
|
||||
# Copyright 2001 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 of the License, 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, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
# 02111-1307 USA
|
||||
|
||||
AC_PREREQ(2.50)
|
||||
|
||||
## ------------------------ ##
|
||||
## Autoconf initialisation. ##
|
||||
## ------------------------ ##
|
||||
AC_INIT([f77demo], [0.1], [bug-libtool@gnu.org])
|
||||
AC_CONFIG_SRCDIR([foof.f])dnl
|
||||
|
||||
## ------------------------ ##
|
||||
## Automake Initialisation. ##
|
||||
## ------------------------ ##
|
||||
AM_INIT_AUTOMAKE(AC_PACKAGE_TARNAME, AC_PACKAGE_VERSION)
|
||||
|
||||
|
||||
## ------------------ ##
|
||||
## C compiler checks. ##
|
||||
## ------------------ ##
|
||||
AC_PROG_CC
|
||||
|
||||
## ------------------------ ##
|
||||
## Fortran compiler checks. ##
|
||||
## ------------------------ ##
|
||||
AC_PROG_F77
|
||||
dnl Check the flags needed to link f77 programs with ld (i.e. cc)
|
||||
AC_F77_LIBRARY_LDFLAGS
|
||||
dnl Check for underscoring of external names
|
||||
AC_F77_WRAPPERS
|
||||
|
||||
# As of the writing of this demo, GNU Autoconf's AC_OBJEXT and
|
||||
# AC_EXEEXT macros only works for C compilers!
|
||||
# Libtool's setup macro calls AC_OBJEXT and AC_EXEEXT without setting
|
||||
# the test language to C. We do it before any libtool setup macros are
|
||||
# called so that the proper values are cached beforehand. We also do
|
||||
# it before any linker flags (LDFLAGS) are set so that fortran specific
|
||||
# ones don't break the tests.
|
||||
AC_LANG_PUSH([C])
|
||||
AC_OBJEXT
|
||||
AC_EXEEXT
|
||||
AC_LANG_POP
|
||||
|
||||
## ----------------------- ##
|
||||
## Libtool initialisation. ##
|
||||
## ----------------------- ##
|
||||
AM_PROG_LIBTOOL
|
||||
AC_SUBST([LIBTOOL_DEPS])
|
||||
|
||||
## -------- ##
|
||||
## Outputs. ##
|
||||
## -------- ##
|
||||
AC_CONFIG_FILES([Makefile])
|
||||
AC_OUTPUT
|
46
f77demo/cprogram.c
Normal file
46
f77demo/cprogram.c
Normal file
@ -0,0 +1,46 @@
|
||||
/*
|
||||
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 of the License, 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, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
USA. */
|
||||
|
||||
#include "foo.h"
|
||||
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
int arg,cres,fres;
|
||||
|
||||
printf ("Welcome to GNU libtool mixed C/Fortran demo!\n");
|
||||
|
||||
arg=2;
|
||||
|
||||
cres=csub(arg);
|
||||
|
||||
printf ("The C subroutine returned, claiming that 2*%d = %d\n",arg,cres);
|
||||
|
||||
if(cres==2*arg)
|
||||
printf ("The C subroutine is ok!\n");
|
||||
|
||||
printf("\nCalling the C wrapper routine...\n");
|
||||
fres=fwrapper(arg);
|
||||
|
||||
printf ("The C wrapper to the fortran subroutine returned,\n"
|
||||
"claiming that 2*%d = %d\n",arg,fres);
|
||||
|
||||
if(fres==2*arg)
|
||||
printf ("The Fortran 77 subroutine is ok!\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
47
f77demo/foo.h
Normal file
47
f77demo/foo.h
Normal file
@ -0,0 +1,47 @@
|
||||
/* foo.h -- interface to fortran and C libraries
|
||||
Copyright (C) 1998-1999 Free Software Foundation, Inc.
|
||||
This file is part of GNU Libtool.
|
||||
|
||||
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 of the License, 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, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
USA. */
|
||||
|
||||
#ifndef _FOO_H_
|
||||
#define _FOO_H_ 1
|
||||
|
||||
/* config.h is necessary for the fortran name mangling */
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
/* csub is an extremely useful subroutine that
|
||||
* returns the argument multiplied by two :-)
|
||||
*/
|
||||
extern int csub(int);
|
||||
|
||||
/* This routine performs the same action, but
|
||||
* calls the fortran subroutine fsub to do the
|
||||
* real work.
|
||||
*/
|
||||
extern int fwrapper(int);
|
||||
|
||||
/* fsub does the same thing as csub, i.e. res=arg*2.
|
||||
* Use autoconf macro for fortran function names.
|
||||
* Note that fortran passes args by reference, so
|
||||
* you need to provide pointers to your ints.
|
||||
*/
|
||||
extern void F77_FUNC(fsub,FSUB)(int *arg, int *res);
|
||||
|
||||
|
||||
#endif
|
17
f77demo/fooc.c
Normal file
17
f77demo/fooc.c
Normal file
@ -0,0 +1,17 @@
|
||||
#include "foo.h"
|
||||
|
||||
|
||||
int csub(int arg)
|
||||
{
|
||||
return (2*arg);
|
||||
}
|
||||
|
||||
|
||||
int fwrapper(int arg)
|
||||
{
|
||||
int res;
|
||||
printf("Calling the Fortran 77 subroutine from the C wrapper...\n");
|
||||
F77_FUNC(fsub,FSUB)(&arg,&res);
|
||||
printf("Returned from the Fortran 77 subroutine...\n");
|
||||
return res;
|
||||
}
|
13
f77demo/foof.f
Normal file
13
f77demo/foof.f
Normal file
@ -0,0 +1,13 @@
|
||||
C
|
||||
C This program is free software; you can redistribute it and/or
|
||||
C modify it under the terms of the GNU General Public License
|
||||
C as published by the Free Software Foundation; either version 2
|
||||
C of the License, or (at your option) any later version.
|
||||
C
|
||||
|
||||
subroutine fsub(arg,res)
|
||||
implicit none
|
||||
integer*4 arg,res
|
||||
res=arg*2
|
||||
return
|
||||
end
|
27
f77demo/fprogram.f
Normal file
27
f77demo/fprogram.f
Normal file
@ -0,0 +1,27 @@
|
||||
C
|
||||
C This program is free software; you can redistribute it and/or
|
||||
C modify it under the terms of the GNU General Public License
|
||||
C as published by the Free Software Foundation; either version 2
|
||||
C of the License, or (at your option) any later version.
|
||||
C
|
||||
|
||||
program fprogram
|
||||
implicit none
|
||||
integer*4 arg,res
|
||||
|
||||
write(*,*) 'Welcome to GNU libtool Fortran demo!'
|
||||
write(*,*) 'Real programmers write in FORTRAN.'
|
||||
arg=2
|
||||
|
||||
call fsub(arg,res)
|
||||
|
||||
write(*,*) 'fsub returned, saying that 2 *',arg,' =',res
|
||||
|
||||
if (res.eq.4) then
|
||||
write(*,*) 'fsub is ok!'
|
||||
endif
|
||||
|
||||
stop
|
||||
end
|
||||
|
||||
|
138
libtool.m4
vendored
138
libtool.m4
vendored
@ -45,6 +45,11 @@ dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
|
||||
[AC_LIBTOOL_CXX],
|
||||
[define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
|
||||
])])
|
||||
dnl And a similar setup for Fortran 77 support
|
||||
AC_PROVIDE_IFELSE([AC_PROG_F77],
|
||||
[AC_LIBTOOL_F77],
|
||||
[define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
|
||||
])])
|
||||
|
||||
dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
|
||||
dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
|
||||
@ -70,6 +75,7 @@ dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
|
||||
AC_DEFUN([_AC_PROG_LIBTOOL],
|
||||
[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
|
||||
AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
|
||||
AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
|
||||
AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
|
||||
|
||||
# This can be used to rebuild libtool when needed
|
||||
@ -531,7 +537,7 @@ AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
|
||||
ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $3"
|
||||
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
|
||||
printf "$lt_simple_compile_test_code" > conftest.$ac_ext
|
||||
if (eval $ac_compile 2>conftest.err) && test -s $ac_outfile; then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
# So say no if there are warnings
|
||||
@ -563,7 +569,7 @@ AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
|
||||
[$2=no
|
||||
save_LDFLAGS="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $3"
|
||||
echo "$lt_simple_link_test_code" > conftest.$ac_ext
|
||||
printf "$lt_simple_link_test_code" > conftest.$ac_ext
|
||||
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
# So say no if there are warnings
|
||||
@ -850,6 +856,8 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
|
||||
CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"],
|
||||
[$1],[CXX],[save_CXXFLAGS="$CXXFLAGS"
|
||||
CXXFLAGS="$CXXFLAGS -o out/conftest2.$ac_objext"],
|
||||
[$1],[F77],[save_FFLAGS="$FFLAGS"
|
||||
FFLAGS="$FFLAGS -o out/conftest2.$ac_objext"],
|
||||
[$1],[GCJ],[save_GCJFLAGS="$CFLAGS"
|
||||
CFLAGS="$GCJFLAGS -o out/conftest2.$ac_objext"])
|
||||
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
|
||||
@ -874,6 +882,7 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
|
||||
fi
|
||||
ifelse([$1],[],[CFLAGS="$save_CFLAGS"],
|
||||
[$1],[CXX],[CXXFLAGS="$save_CXXFLAGS"],
|
||||
[$1],[F77],[FFLAGS="$save_FFLAGS"],
|
||||
[$1],[GCJ],[CFLAGS="$save_CFLAGS"])
|
||||
chmod u+w .
|
||||
$rm conftest* out/*
|
||||
@ -1505,6 +1514,10 @@ if test -f "$ltmain" && test -n "$tagnames"; then
|
||||
AC_LIBTOOL_LANG_CXX_CONFIG
|
||||
;;
|
||||
|
||||
F77)
|
||||
AC_LIBTOOL_LANG_F77_CONFIG
|
||||
;;
|
||||
|
||||
GCJ)
|
||||
AC_LIBTOOL_LANG_GCJ_CONFIG
|
||||
;;
|
||||
@ -2202,6 +2215,22 @@ _LT_AC_SHELL_INIT([tagnames=`echo "$tagnames,CXX" | sed 's/^,//'`])
|
||||
])# _LT_AC_LANG_CXX
|
||||
|
||||
|
||||
# AC_LIBTOOL_F77
|
||||
# --------------
|
||||
# enable support for Fortran 77 libraries
|
||||
AC_DEFUN([AC_LIBTOOL_F77],
|
||||
[AC_REQUIRE([_LT_AC_LANG_F77])
|
||||
])# AC_LIBTOOL_F77
|
||||
|
||||
|
||||
# _LT_AC_LANG_F77
|
||||
# ---------------
|
||||
AC_DEFUN([_LT_AC_LANG_F77],
|
||||
[AC_REQUIRE([AC_PROG_F77])
|
||||
_LT_AC_SHELL_INIT([tagnames=`echo "$tagnames,F77" | sed 's/^,//'`])
|
||||
])# _LT_AC_LANG_F77
|
||||
|
||||
|
||||
# AC_LIBTOOL_GCJ
|
||||
# --------------
|
||||
# enable support for GCJ libraries
|
||||
@ -2250,10 +2279,10 @@ objext=o
|
||||
_LT_AC_TAGVAR(objext, $1)=$objext
|
||||
|
||||
# Code to be used in simple compile tests
|
||||
lt_simple_compile_test_code="int some_variable = 0;"
|
||||
lt_simple_compile_test_code="int some_variable = 0;\n"
|
||||
|
||||
# Code to be used in simple link tests
|
||||
lt_simple_link_test_code='main(){return(0);}'
|
||||
lt_simple_link_test_code='main(){return(0);}\n'
|
||||
|
||||
_LT_AC_SYS_COMPILER
|
||||
|
||||
@ -2380,10 +2409,10 @@ objext=o
|
||||
_LT_AC_TAGVAR(objext, $1)=$objext
|
||||
|
||||
# Code to be used in simple compile tests
|
||||
lt_simple_compile_test_code="int some_variable = 0;"
|
||||
lt_simple_compile_test_code="int some_variable = 0;\n"
|
||||
|
||||
# Code to be used in simple link tests
|
||||
lt_simple_link_test_code='int main(int char *[]) { return(0); }'
|
||||
lt_simple_link_test_code='int main(int char *[]) { return(0); }\n'
|
||||
|
||||
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
|
||||
_LT_AC_SYS_COMPILER
|
||||
@ -3198,6 +3227,101 @@ CC="$lt_save_CC"
|
||||
])# AC_LIBTOOL_LANG_CXX_CONFIG
|
||||
|
||||
|
||||
# AC_LIBTOOL_LANG_F77_CONFIG
|
||||
# ------------------------
|
||||
# Ensure that the configuration vars for the C compiler are
|
||||
# suitably defined. Those variables are subsequently used by
|
||||
# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
|
||||
AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
|
||||
AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
|
||||
[AC_REQUIRE([AC_PROG_F77])
|
||||
AC_LANG_PUSH(Fortran 77)
|
||||
|
||||
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
|
||||
_LT_AC_TAGVAR(allow_undefined_flag, $1)=
|
||||
_LT_AC_TAGVAR(always_export_symbols, $1)=no
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
|
||||
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
|
||||
_LT_AC_TAGVAR(hardcode_direct, $1)=no
|
||||
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
|
||||
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
|
||||
_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
|
||||
_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
|
||||
_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
|
||||
_LT_AC_TAGVAR(no_undefined_flag, $1)=
|
||||
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
|
||||
|
||||
# Source file extension for f77 test sources.
|
||||
ac_ext=f
|
||||
|
||||
# Object file extension for compiled f77 test sources.
|
||||
objext=o
|
||||
_LT_AC_TAGVAR(objext, $1)=$objext
|
||||
|
||||
# Code to be used in simple compile tests
|
||||
lt_simple_compile_test_code=" subroutine t\n return\n end\n"
|
||||
|
||||
# Code to be used in simple link tests
|
||||
lt_simple_link_test_code=" program t\n end\n"
|
||||
|
||||
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
|
||||
_LT_AC_SYS_COMPILER
|
||||
|
||||
# Allow CC to be a program name with arguments.
|
||||
lt_save_CC="$CC"
|
||||
CC=${F77-"f77"}
|
||||
set dummy $CC
|
||||
compiler="[$]2"
|
||||
_LT_AC_TAGVAR(compiler, $1)=$CC
|
||||
cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
|
||||
|
||||
AC_MSG_CHECKING([if libtool supports shared libraries])
|
||||
AC_MSG_RESULT([$can_build_shared])
|
||||
|
||||
AC_MSG_CHECKING([whether to build shared libraries])
|
||||
test "$can_build_shared" = "no" && enable_shared=no
|
||||
|
||||
# On AIX, shared libraries and static libraries use the same namespace, and
|
||||
# are all built from PIC.
|
||||
case "$host_os" in
|
||||
aix3*)
|
||||
test "$enable_shared" = yes && enable_static=no
|
||||
if test -n "$RANLIB"; then
|
||||
archive_cmds="$archive_cmds~\$RANLIB \$lib"
|
||||
postinstall_cmds='$RANLIB $lib'
|
||||
fi
|
||||
;;
|
||||
aix4*)
|
||||
test "$enable_shared" = yes && enable_static=no
|
||||
;;
|
||||
esac
|
||||
AC_MSG_RESULT([$enable_shared])
|
||||
|
||||
AC_MSG_CHECKING([whether to build static libraries])
|
||||
# Make sure either enable_shared or enable_static is yes.
|
||||
test "$enable_shared" = yes || enable_static=yes
|
||||
AC_MSG_RESULT([$enable_static])
|
||||
|
||||
test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
|
||||
|
||||
_LT_AC_TAGVAR(GCC, $1)="$G77"
|
||||
_LT_AC_TAGVAR(LD, $1)="$LD"
|
||||
|
||||
AC_LIBTOOL_PROG_COMPILER_PIC($1)
|
||||
AC_LIBTOOL_PROG_CC_C_O($1)
|
||||
AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
|
||||
AC_LIBTOOL_PROG_LD_SHLIBS($1)
|
||||
AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
|
||||
AC_LIBTOOL_SYS_LIB_STRIP
|
||||
AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
|
||||
|
||||
AC_LIBTOOL_CONFIG($1)
|
||||
|
||||
AC_LANG_POP
|
||||
CC="$lt_save_CC"
|
||||
])# AC_LIBTOOL_LANG_F77_CONFIG
|
||||
|
||||
|
||||
# AC_LIBTOOL_LANG_GCJ_CONFIG
|
||||
# --------------------------
|
||||
# Ensure that the configuration vars for the C compiler are
|
||||
@ -3271,7 +3395,7 @@ objext=o
|
||||
_LT_AC_TAGVAR(objext, $1)=$objext
|
||||
|
||||
# Code to be used in simple compile tests
|
||||
lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
|
||||
lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
|
||||
|
||||
# Code to be used in simple link tests
|
||||
lt_simple_link_test_code="$lt_simple_compile_test_code"
|
||||
|
@ -7,6 +7,11 @@ CXX_TESTS = \
|
||||
tagdemo-conf.test tagdemo-make.test tagdemo-exec.test \
|
||||
tagdemo-shared.test tagdemo-make.test tagdemo-exec.test
|
||||
|
||||
F77_TESTS = \
|
||||
f77demo-static.test f77demo-make.test f77demo-exec.test \
|
||||
f77demo-conf.test f77demo-make.test f77demo-exec.test \
|
||||
f77demo-shared.test f77demo-make.test f77demo-exec.test
|
||||
|
||||
COMMON_TESTS = \
|
||||
cdemo-static.test cdemo-make.test cdemo-exec.test \
|
||||
demo-static.test demo-make.test demo-exec.test \
|
||||
@ -41,10 +46,18 @@ COMMON_TESTS = \
|
||||
pdemo-make.test pdemo-exec.test pdemo-inst.test
|
||||
|
||||
if HAVE_CXX
|
||||
if HAVE_F77
|
||||
TESTS = $(COMMON_TESTS) $(CXX_TESTS) $(F77_TESTS)
|
||||
else
|
||||
TESTS = $(COMMON_TESTS) $(CXX_TESTS)
|
||||
endif
|
||||
else
|
||||
if HAVE_F77
|
||||
TESTS = $(COMMON_TESTS) $(F77_TESTS)
|
||||
else
|
||||
TESTS = $(COMMON_TESTS)
|
||||
endif
|
||||
endif
|
||||
|
||||
demo-conf.test: $(top_builddir)/libtool
|
||||
|
||||
@ -56,14 +69,17 @@ CFLAGS = @CFLAGS@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
if HAVE_F77
|
||||
FFLAGS = @FFLAGS@
|
||||
endif
|
||||
|
||||
# Be sure to reexport important environment variables.
|
||||
TESTS_ENVIRONMENT = MAKE="$(MAKE)" CC="$(CC)" CFLAGS="$(CFLAGS)" \
|
||||
CPPFLAGS="$(CPPFLAGS)" LD="$(LD)" LDFLAGS="$(LDFLAGS)" \
|
||||
LIBS="$(LIBS)" LN_S="$(LN_S)" NM="$(NM)" RANLIB="$(RANLIB)" \
|
||||
OBJEXT="$(OBJEXT)" EXEEXT="$(EXEEXT)"
|
||||
OBJEXT="$(OBJEXT)" EXEEXT="$(EXEEXT)" FFLAGS="$(FFLAGS)"
|
||||
|
||||
EXTRA_DIST = defs $(COMMON_TESTS) $(CXX_TESTS)
|
||||
EXTRA_DIST = defs $(COMMON_TESTS) $(CXX_TESTS) $(F77_TESTS)
|
||||
|
||||
# We need to remove any files that the above tests created.
|
||||
clean-local:
|
||||
@ -73,4 +89,5 @@ clean-local:
|
||||
-test -f ../depdemo/Makefile && cd ../depdemo && $(MAKE) distclean
|
||||
-test -f ../mdemo/Makefile && cd ../mdemo && $(MAKE) distclean
|
||||
-test -f ../tagdemo/Makefile && cd ../tagdemo && $(MAKE) distclean
|
||||
-test -f ../f77demo/Makefile && cd ../f77demo && $(MAKE) distclean
|
||||
rm -rf _inst
|
||||
|
35
tests/f77demo-conf.test
Executable file
35
tests/f77demo-conf.test
Executable file
@ -0,0 +1,35 @@
|
||||
#! /bin/sh
|
||||
# f77demo-conf.test - try configuring the ../f77demo subdirectory
|
||||
|
||||
# Test script header.
|
||||
need_prefix=yes
|
||||
if test -z "$srcdir"; then
|
||||
srcdir=`echo "$0" | sed 's%/[^/]*$%%'`
|
||||
test "$srcdir" = "$0" && srcdir=.
|
||||
test "${VERBOSE+set}" != "set" && VERBOSE=yes
|
||||
fi
|
||||
. $srcdir/defs || exit 1
|
||||
|
||||
# Maybe we have a VPATH build, in which case, create a new subdir.
|
||||
test -d ../f77demo || mkdir ../f77demo
|
||||
|
||||
# Change to our build directory.
|
||||
cd ../f77demo || exit 1
|
||||
|
||||
# Possibly clean up the distribution.
|
||||
if test -f Makefile; then
|
||||
echo "= Running $make distclean in ../f77demo"
|
||||
$make distclean
|
||||
fi
|
||||
rm -f config.cache
|
||||
|
||||
# Configure the demonstration.
|
||||
echo "= Configuring in ../f77demo (prefix=$prefix)"
|
||||
CONFIG_SITE=/dev/null/config/site ${CONFIG_SHELL-/bin/sh} $srcdir/../f77demo/configure --srcdir=$srcdir/../f77demo --prefix=$prefix || exit 1
|
||||
|
||||
if egrep '^build_old_libs=yes' libtool > /dev/null &&
|
||||
egrep '^build_libtool_libs=yes' libtool > /dev/null; then :
|
||||
else rm -f Makefile && exit 77
|
||||
fi
|
||||
|
||||
exit 0
|
34
tests/f77demo-exec.test
Executable file
34
tests/f77demo-exec.test
Executable file
@ -0,0 +1,34 @@
|
||||
#! /bin/sh
|
||||
# f77demo-exec.test - check that programs in the ../f77demo subdirectory are viable
|
||||
|
||||
# Test script header.
|
||||
need_prefix=no
|
||||
if test -z "$srcdir"; then
|
||||
srcdir=`echo "$0" | sed 's%/[^/]*$%%'`
|
||||
test "$srcdir" = "$0" && srcdir=.
|
||||
test "${VERBOSE+set}" != "set" && VERBOSE=yes
|
||||
fi
|
||||
. $srcdir/defs || exit 1
|
||||
|
||||
if test -f ../f77demo/fprogram -a -f ../f77demo/cprogram; then :
|
||||
else
|
||||
echo "You must run f77demo-make.test before running $0" 1>&2
|
||||
exit 77
|
||||
fi
|
||||
|
||||
# Check to see if the programs really run.
|
||||
echo "Executing uninstalled programs in ../f77demo"
|
||||
|
||||
if ../f77demo/fprogram ; then :
|
||||
else
|
||||
echo "$0: cannot execute ../f77demo/fprogram" 1>&2
|
||||
status=1
|
||||
fi
|
||||
|
||||
if ../f77demo/cprogram ; then :
|
||||
else
|
||||
echo "$0: cannot execute ../f77demo/cprogram" 1>&2
|
||||
status=1
|
||||
fi
|
||||
|
||||
exit $status
|
25
tests/f77demo-make.test
Executable file
25
tests/f77demo-make.test
Executable file
@ -0,0 +1,25 @@
|
||||
#! /bin/sh
|
||||
# f77demo-make.test - try building in the ../f77demo subdirectory
|
||||
|
||||
# Test script header.
|
||||
need_prefix=no
|
||||
if test -z "$srcdir"; then
|
||||
srcdir=`echo "$0" | sed 's%/[^/]*$%%'`
|
||||
test "$srcdir" = "$0" && srcdir=.
|
||||
test "${VERBOSE+set}" != "set" && VERBOSE=yes
|
||||
fi
|
||||
. $srcdir/defs || exit 1
|
||||
|
||||
if test -f ../f77demo/Makefile; then :
|
||||
else
|
||||
echo "You must run f77demo-conf.test before running $0" 1>&2
|
||||
exit 77
|
||||
fi
|
||||
|
||||
# Change to our build directory.
|
||||
cd ../f77demo || exit 1
|
||||
|
||||
# Do the actual build.
|
||||
echo "Making in ../f77demo"
|
||||
$make || exit 1
|
||||
exit 0
|
35
tests/f77demo-shared.test
Executable file
35
tests/f77demo-shared.test
Executable file
@ -0,0 +1,35 @@
|
||||
#! /bin/sh
|
||||
# f77demo-conf.test - try configuring the ../f77demo subdirectory
|
||||
|
||||
# Test script header.
|
||||
need_prefix=yes
|
||||
if test -z "$srcdir"; then
|
||||
srcdir=`echo "$0" | sed 's%/[^/]*$%%'`
|
||||
test "$srcdir" = "$0" && srcdir=.
|
||||
test "${VERBOSE+set}" != "set" && VERBOSE=yes
|
||||
fi
|
||||
. $srcdir/defs || exit 1
|
||||
|
||||
# Maybe we have a VPATH build, in which case, create a new subdir.
|
||||
test -d ../f77demo || mkdir ../f77demo
|
||||
|
||||
# Change to our build directory.
|
||||
cd ../f77demo || exit 1
|
||||
|
||||
# Possibly clean up the distribution.
|
||||
if test -f Makefile; then
|
||||
echo "= Running $make distclean in ../f77demo"
|
||||
$make distclean
|
||||
fi
|
||||
rm -f config.cache
|
||||
|
||||
# Configure the demonstration.
|
||||
echo "= Configuring in ../f77demo (prefix=$prefix) with --disable-static"
|
||||
CONFIG_SITE=/dev/null/config/site ${CONFIG_SHELL-/bin/sh} $srcdir/../f77demo/configure --srcdir=$srcdir/../f77demo --prefix=$prefix --disable-static || exit 1
|
||||
|
||||
if egrep '^build_old_libs=no' libtool > /dev/null &&
|
||||
egrep '^build_libtool_libs=yes' libtool > /dev/null; then :
|
||||
else rm -f Makefile && exit 77
|
||||
fi
|
||||
|
||||
exit 0
|
44
tests/f77demo-static.test
Executable file
44
tests/f77demo-static.test
Executable file
@ -0,0 +1,44 @@
|
||||
#! /bin/sh
|
||||
# f77demo-conf.test - try configuring the ../f77demo subdirectory
|
||||
|
||||
# Test script header.
|
||||
need_prefix=yes
|
||||
if test -z "$srcdir"; then
|
||||
srcdir=`echo "$0" | sed 's%/[^/]*$%%'`
|
||||
test "$srcdir" = "$0" && srcdir=.
|
||||
test "${VERBOSE+set}" != "set" && VERBOSE=yes
|
||||
fi
|
||||
. $srcdir/defs || exit 1
|
||||
|
||||
# Maybe we have a VPATH build, in which case, create a new subdir.
|
||||
test -d ../f77demo || mkdir ../f77demo
|
||||
|
||||
# Change to our build directory.
|
||||
cd ../f77demo || exit 1
|
||||
|
||||
# Possibly clean up the distribution.
|
||||
if test -f Makefile; then
|
||||
echo "= Running $make distclean in ../f77demo"
|
||||
$make distclean
|
||||
fi
|
||||
rm -f config.cache
|
||||
|
||||
# Configure the demonstration.
|
||||
echo "= Configuring in ../f77demo (prefix=$prefix) with --disable-shared"
|
||||
CONFIG_SITE=/dev/null/config/site ${CONFIG_SHELL-/bin/sh} $srcdir/../f77demo/configure --srcdir=$srcdir/../f77demo --prefix=$prefix --disable-shared || exit 1
|
||||
|
||||
if egrep '^build_old_libs=yes' libtool > /dev/null &&
|
||||
egrep '^build_libtool_libs=no' libtool > /dev/null; then :
|
||||
else rm -f Makefile && exit 77
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user