"Fossies" - the Fresh Open Source Software Archive

Member "automake-1.16.3/lib/Automake/Configure_ac.pm" (19 Nov 2020, 2986 Bytes) of package /linux/misc/automake-1.16.3.tar.xz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Perl source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "Configure_ac.pm" see the Fossies "Dox" file reference documentation and the latest Fossies "Diffs" side-by-side code changes report: 1.16.2_vs_1.16.3.

    1 # Copyright (C) 2003-2020 Free Software Foundation, Inc.
    2 
    3 # This program is free software; you can redistribute it and/or modify
    4 # it under the terms of the GNU General Public License as published by
    5 # the Free Software Foundation; either version 2, or (at your option)
    6 # any later version.
    7 
    8 # This program is distributed in the hope that it will be useful,
    9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
   10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   11 # GNU General Public License for more details.
   12 
   13 # You should have received a copy of the GNU General Public License
   14 # along with this program.  If not, see <https://www.gnu.org/licenses/>.
   15 
   16 ###############################################################
   17 # The main copy of this file is in Automake's git repository. #
   18 # Updates should be sent to automake-patches@gnu.org.         #
   19 ###############################################################
   20 
   21 package Automake::Configure_ac;
   22 
   23 use 5.006;
   24 use strict;
   25 use warnings FATAL => 'all';
   26 
   27 use Exporter;
   28 
   29 use Automake::ChannelDefs;
   30 use Automake::Channels;
   31 
   32 our @ISA = qw (Exporter);
   33 our @EXPORT = qw (&find_configure_ac &require_configure_ac);
   34 
   35 =head1 NAME
   36 
   37 Automake::Configure_ac - Locate configure.ac or configure.in.
   38 
   39 =head1 SYNOPSIS
   40 
   41   use Automake::Configure_ac;
   42 
   43   # Try to locate configure.in or configure.ac in the current
   44   # directory.  It may be absent.  Complain if both files exist.
   45   my $file_name = find_configure_ac;
   46 
   47   # Likewise, but bomb out if the file does not exist.
   48   my $file_name = require_configure_ac;
   49 
   50   # Likewise, but in $dir.
   51   my $file_name = find_configure_ac ($dir);
   52   my $file_name = require_configure_ac ($dir);
   53 
   54 =over 4
   55 
   56 =back
   57 
   58 =head2 Functions
   59 
   60 =over 4
   61 
   62 =item C<$configure_ac = find_configure_ac ([$directory])>
   63 
   64 Find a F<configure.ac> or F<configure.in> file in C<$directory>,
   65 defaulting to the current directory.  Complain if both files are present.
   66 Return the name of the file found, or the former if neither is present.
   67 
   68 =cut
   69 
   70 sub find_configure_ac (;@)
   71 {
   72   my ($directory) = @_;
   73   $directory ||= '.';
   74   my $configure_ac =
   75     File::Spec->canonpath (File::Spec->catfile ($directory, 'configure.ac'));
   76   my $configure_in =
   77     File::Spec->canonpath (File::Spec->catfile ($directory, 'configure.in'));
   78 
   79   if (-f $configure_in)
   80     {
   81       msg ('obsolete', "autoconf input should be named 'configure.ac'," .
   82                        " not 'configure.in'");
   83       if (-f $configure_ac)
   84     {
   85       msg ('unsupported',
   86            "'$configure_ac' and '$configure_in' both present.\n"
   87            . "proceeding with '$configure_ac'");
   88           return $configure_ac
   89     }
   90       else
   91         {
   92           return $configure_in;
   93         }
   94     }
   95   return $configure_ac;
   96 }
   97 
   98 
   99 =item C<$configure_ac = require_configure_ac ([$directory])>
  100 
  101 Like C<find_configure_ac>, but fail if neither is present.
  102 
  103 =cut
  104 
  105 sub require_configure_ac (;$)
  106 {
  107   my $res = find_configure_ac (@_);
  108   fatal "'configure.ac' is required" unless -f $res;
  109   return $res
  110 }
  111 
  112 1;