1Alien::Build::Plugin::BUusielrd:C:oAnuttroicbountfe(d3A)Pleireln:D:oBcuuimledn:t:aPtliuognin::Build::Autoconf(3)
2
3
4
6 Alien::Build::Plugin::Build::Autoconf - Autoconf plugin for
7 Alien::Build
8
10 version 2.80
11
13 use alienfile;
14 plugin 'Build::Autoconf';
15
17 This plugin provides some tools for building projects that use
18 autoconf. The main thing this provides is a "configure" helper,
19 documented below and the default build stage, which is:
20
21 '%{configure} --disable-shared',
22 '%{make}',
23 '%{make} install',
24
25 On Windows, this plugin also pulls in the
26 Alien::Build::Plugin::Build::MSYS which is required for autoconf style
27 projects on windows.
28
29 The other thing that this plugin does is that it does a double staged
30 "DESTDIR" install. The author has found this improves the overall
31 reliability of Alien modules that are based on autoconf packages.
32
33 This plugin supports out-of-source builds (known in autoconf terms as
34 "VPATH" builds) via the meta property "out_of_source".
35
36 NOTE: by itself, this plugin is only intended for use on packages that
37 include a "configure" script. For packages that expect you to use
38 Autotools to generate a configure script before building, you can use
39 Alien::Autotools to generate the "configure" script and use this plugin
40 to run it. For more details see the documentation for
41 Alien::Autotools.
42
44 with_pic
45 Adds "--with-pic" option when running "configure". If supported by
46 your package, it will generate position independent code on platforms
47 that support it. This is required to XS modules, and generally what
48 you want.
49
50 autoconf normally ignores options that it does not understand, so it is
51 usually a safe and reasonable default to include it. A small number of
52 projects look like they use autoconf, but are really an autoconf style
53 interface with a different implementation. They may fail if you try to
54 provide it with options such as "--with-pic" that they do not
55 recognize. Such packages are the rationale for this property.
56
57 msys_version
58 The version of Alien::MSYS required if it is deemed necessary. If
59 Alien::MSYS isn't needed (if running under Unix, or MSYS2, for example)
60 this will do nothing.
61
62 config_site
63 The content for the generated "config.site".
64
66 configure
67 %{configure}
68
69 The correct incantation to start an autoconf style "configure" script
70 on your platform. Some reasonable default flags will be provided.
71
73 "SITE_CONFIG"
74 For a share install, this plugin needs to alter the behavior of
75 autotools using "site.config". It does this by generating a
76 "site.config" file on the fly, and setting the "SITE_CONFIG"
77 environment variable. In the event that you already have your own
78 "SITE_CONFIG" set, that file will be sourced from the generated
79 one, so your local defaults should still be honored, unless it is
80 one that needs to be changed for a share install.
81
82 In particular, the "lib" directory must be overridden, because on
83 some platforms dynamic libraries will otherwise be placed in
84 directories that Alien::Build doesn't normally look in. Since the
85 alienized package will be installed in a share directory, and not a
86 system directory, that should be fine.
87
88 "ALIEN_BUILD_SITE_CONFIG"
89 If defined, this file will be also be sourced in the generated
90 "site.config". This allows you to have local defaults for alien
91 share installs only.
92
94 Alien::Build::Plugin::Build::MSYS, Alien::Build::Plugin, Alien::Build,
95 Alien::Base, Alien
96
97 <https://www.gnu.org/software/autoconf/autoconf.html>
98
99 <https://www.gnu.org/prep/standards/html_node/DESTDIR.html>
100
102 Author: Graham Ollis <plicease@cpan.org>
103
104 Contributors:
105
106 Diab Jerius (DJERIUS)
107
108 Roy Storey (KIWIROY)
109
110 Ilya Pavlov
111
112 David Mertens (run4flat)
113
114 Mark Nunberg (mordy, mnunberg)
115
116 Christian Walde (Mithaldu)
117
118 Brian Wightman (MidLifeXis)
119
120 Zaki Mughal (zmughal)
121
122 mohawk (mohawk2, ETJ)
123
124 Vikas N Kumar (vikasnkumar)
125
126 Flavio Poletti (polettix)
127
128 Salvador Fandiño (salva)
129
130 Gianni Ceccarelli (dakkar)
131
132 Pavel Shaydo (zwon, trinitum)
133
134 Kang-min Liu (劉康民, gugod)
135
136 Nicholas Shipp (nshp)
137
138 Juan Julián Merelo Guervós (JJ)
139
140 Joel Berger (JBERGER)
141
142 Petr Písař (ppisar)
143
144 Lance Wicks (LANCEW)
145
146 Ahmad Fatoum (a3f, ATHREEF)
147
148 José Joaquín Atria (JJATRIA)
149
150 Duke Leto (LETO)
151
152 Shoichi Kaji (SKAJI)
153
154 Shawn Laffan (SLAFFAN)
155
156 Paul Evans (leonerd, PEVANS)
157
158 Håkon Hægland (hakonhagland, HAKONH)
159
160 nick nauwelaerts (INPHOBIA)
161
162 Florian Weimer
163
165 This software is copyright (c) 2011-2022 by Graham Ollis.
166
167 This is free software; you can redistribute it and/or modify it under
168 the same terms as the Perl 5 programming language system itself.
169
170
171
172perl v5.36.1 2023-A0l5i-e1n5::Build::Plugin::Build::Autoconf(3)