Commit | Line | Data |
---|---|---|
e342891a BI |
1 | dnl configure.ac |
2 | dnl | |
3 | dnl Copyright 2012, 2013 Brandon Invergo <brandon@invergo.net> | |
07778a69 | 4 | dnl 2014 MediaGoblin contributors (see MediaGoblin's AUTHORS) |
e342891a BI |
5 | dnl |
6 | dnl Copying and distribution of this file, with or without modification, | |
7 | dnl are permitted in any medium without royalty provided the copyright | |
8 | dnl notice and this notice are preserved. This file is offered as-is, | |
9 | dnl without any warranty. | |
10 | ||
11 | dnl######### | |
12 | dnl README # | |
13 | dnl######### | |
14 | dnl | |
15 | dnl This is a basic Autoconf configure.ac file for Python-based | |
16 | dnl projects. It is not intended to be used as-is, but rather to be | |
17 | dnl modified to the specific needs of the project. | |
18 | dnl | |
19 | dnl Lines prefixed with "dnl" are comments that are automatically | |
20 | dnl removed by Autoconf/M4, thus they will not appear in the generated | |
21 | dnl configure script (see the M4 documentation for more information). | |
22 | dnl Such comments are used in this file to communicate information to | |
23 | dnl you, the developer. In some cases, the comments contain extra | |
24 | dnl macros that you might consider including in your configure script. | |
25 | dnl If you wish to include them, simply remove the "dnl" from the | |
26 | dnl beginning of the line. | |
27 | dnl | |
28 | dnl Lines prefixed with "#" are comments that will appear in the | |
29 | dnl generated configure script. These comments are thus used to clarify | |
30 | dnl to the user what is happening in that script | |
31 | dnl | |
32 | dnl Wherever pyconfigure-specific macros are used, extra comments are | |
33 | dnl included to describe the macros. | |
34 | ||
35 | dnl###################### | |
36 | dnl Package Information # | |
37 | dnl###################### | |
38 | ||
39 | dnl---- | |
40 | dnl Initialize Autoconf with the package metadata | |
41 | dnl The arguments have been set via the project's PKG-INFO file | |
42 | dnl and correspond to: | |
43 | dnl | |
44 | dnl 1) package name (i.e. foo) | |
45 | dnl 2) package version (i.e. 1.2) | |
46 | dnl 3) bug/info/project email address (i.e. bug-foo@gnu.org) | |
47 | dnl---- | |
48 | dnl | |
e6121708 CAW |
49 | |
50 | dnl # valid version formats: | |
51 | dnl # * x.y - final release | |
52 | dnl # * x.ya1 - alpha 1 | |
53 | dnl # * x.yb1 - beta 1 | |
54 | dnl # * x.yrc1 - release candidate 1 | |
55 | dnl # * x.y.dev - dev | |
56 | dnl | |
57 | dnl # see http://www.python.org/dev/peps/pep-0386/ | |
58 | ||
fbca3074 | 59 | AC_INIT([mediagoblin], [1.0.dev], [cwebber@gnu.org]) |
e342891a | 60 | |
a9dc855a | 61 | |
e342891a BI |
62 | dnl---- |
63 | dnl Load macros from the m4/ directory. If you plan to write new | |
64 | dnl macros, put them in files in this directory. | |
65 | dnl---- | |
66 | dnl | |
0e58f810 | 67 | dnl AC_CONFIG_MACRO_DIR([m4]) |
e342891a BI |
68 | |
69 | ||
07778a69 CAW |
70 | dnl # The default prefix should be changed from /usr/local. Set it, as in |
71 | dnl # the documentation, to /srv/mediagoblin.example.org/mediagoblin/ | |
72 | dnl AC_PREFIX_DEFAULT([`pwd`]) | |
dc85ee8c BI |
73 | |
74 | ||
e342891a BI |
75 | dnl########################### |
76 | dnl Program/command support # | |
77 | dnl########################### | |
78 | dnl | |
79 | dnl In this section, we check for the presence of important commands | |
80 | dnl and programs. | |
81 | ||
50e53328 CAW |
82 | dnl--A bit simpler python init---------------------------------------- |
83 | dnl Expect python2.7 or python2.6 unless --with-python3 is given. | |
84 | dnl---- | |
85 | ||
86 | ||
96f9c530 CAW |
87 | AC_ARG_WITH([python3], |
88 | [AS_HELP_STRING([--with-python3], [Set up to use Python 3 by default.])], | |
89 | [], | |
90 | [with_python3=no]) | |
91 | AS_IF([test "x$with_python3" != xno], | |
cf948352 | 92 | AC_CHECK_PROGS([PYTHON], [python3], [none]) |
41c6732e | 93 | AC_SUBST([USE_PYTHON3], [true]) |
96f9c530 CAW |
94 | AS_IF([test "x$PYTHON" = xnone], |
95 | [AC_MSG_FAILURE( | |
cf948352 | 96 | [--with-python3 given but no acceptable python3 could be found])]), |
15c5b332 | 97 | AC_CHECK_PROGS([PYTHON], [python2.7], [none]) |
41c6732e | 98 | AC_SUBST([USE_PYTHON3], [false]) |
96f9c530 CAW |
99 | AS_IF([test "x$PYTHON" = xnone], |
100 | [AC_MSG_FAILURE( | |
15c5b332 | 101 | [No acceptable python (2.7) could be found])])) |
96f9c530 | 102 | |
e342891a BI |
103 | dnl---- |
104 | dnl With the following set of macros, we implement an option | |
105 | dnl "--with-virtualenv", which the user can pass to the configure | |
106 | dnl script in order to install to a Virtualenv (AC_ARG_WITH). If the | |
107 | dnl option is specified by the user, then we check if the program is | |
108 | dnl available, checking both for "virtualenv" and "virtualenv2" | |
109 | dnl (AC_CHECK_PROGS) | |
110 | dnl---- | |
111 | dnl | |
07778a69 | 112 | # Support doing development in a virtualenv via the --with-virtualenv |
e342891a BI |
113 | # configure flag |
114 | AC_ARG_WITH([virtualenv], | |
94af3587 CAW |
115 | [AS_HELP_STRING([--without-virtualenv], |
116 | [don't install a Python virtualenv for the user])], | |
e342891a | 117 | [], |
07778a69 | 118 | [with_virtualenv=yes]) |
e342891a BI |
119 | AS_IF([test "x$with_virtualenv" != xno], |
120 | AC_CHECK_PROGS([VIRTUALENV], [virtualenv virtualenv3 virtualenv2], [no]) | |
121 | AS_IF([test "x$VIRTUALENV" = xno], | |
122 | [AC_MSG_FAILURE( | |
123 | [--with-virtualenv given but virtualenv could not be found])]), | |
124 | AC_SUBST([VIRTUALENV], [no])) | |
125 | AC_ARG_VAR([VIRTUALENV_FLAGS], [flags to pass to the virtualenv command]) | |
126 | ||
127 | dnl---- | |
128 | dnl If the program uses sphinx-build to build documentation, uncomment | |
129 | dnl this to create a SPHINXBUILD variable in the Makefile pointing to | |
130 | dnl the program. Thus, the user would specify | |
131 | dnl SPHINXBUILD=/path/to/sphinx-build as an argument to the configure | |
132 | dnl script. Since building the documentation should be optional, just | |
133 | dnl print a warning. If the program uses some other documentation | |
134 | dnl system, you can do something similar with it. | |
135 | dnl---- | |
136 | dnl | |
96f9c530 CAW |
137 | dnl # Check for sphinx-build |
138 | dnl AC_CHECK_PROGS([SPHINXBUILD], [sphinx-build sphinx-build3 sphinx-build2], [no]) | |
139 | dnl AS_IF([test "x$SPHINXBUILD" = xno], | |
140 | dnl AC_MSG_WARN(sphinx-build is required to build documentation)) | |
e342891a BI |
141 | |
142 | ||
143 | dnl---- | |
144 | dnl These two are standard Autoconf macros which check for the | |
145 | dnl presence of some programs that we will use in the Makefile. | |
146 | dnl---- | |
147 | dnl | |
148 | AC_PROG_MKDIR_P | |
149 | AC_PROG_INSTALL | |
150 | ||
96f9c530 | 151 | dnl--MediaGoblin specific commands/variables ------------------------ |
07778a69 CAW |
152 | |
153 | ||
e342891a BI |
154 | dnl######### |
155 | dnl Finish # | |
156 | dnl######### | |
157 | ||
158 | dnl Define the files to be configured | |
eb8a6ba0 | 159 | AC_CONFIG_FILES([Makefile]) |
07778a69 | 160 | |
e342891a BI |
161 | dnl Generate config.status |
162 | AC_OUTPUT |