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 | |
743af6ba | 49 | AC_INIT([mediagoblin], [0.8.1.dev], [cwebber@gnu.org]) |
e342891a | 50 | |
a9dc855a | 51 | |
e342891a BI |
52 | dnl---- |
53 | dnl Load macros from the m4/ directory. If you plan to write new | |
54 | dnl macros, put them in files in this directory. | |
55 | dnl---- | |
56 | dnl | |
0e58f810 | 57 | dnl AC_CONFIG_MACRO_DIR([m4]) |
e342891a BI |
58 | |
59 | ||
07778a69 CAW |
60 | dnl # The default prefix should be changed from /usr/local. Set it, as in |
61 | dnl # the documentation, to /srv/mediagoblin.example.org/mediagoblin/ | |
62 | dnl AC_PREFIX_DEFAULT([`pwd`]) | |
dc85ee8c BI |
63 | |
64 | ||
e342891a BI |
65 | dnl########################### |
66 | dnl Program/command support # | |
67 | dnl########################### | |
68 | dnl | |
69 | dnl In this section, we check for the presence of important commands | |
70 | dnl and programs. | |
71 | ||
50e53328 CAW |
72 | dnl--A bit simpler python init---------------------------------------- |
73 | dnl Expect python2.7 or python2.6 unless --with-python3 is given. | |
74 | dnl---- | |
75 | ||
76 | ||
96f9c530 CAW |
77 | AC_ARG_WITH([python3], |
78 | [AS_HELP_STRING([--with-python3], [Set up to use Python 3 by default.])], | |
79 | [], | |
80 | [with_python3=no]) | |
81 | AS_IF([test "x$with_python3" != xno], | |
82 | AC_CHECK_PROGS([PYTHON], [python3.3], [none]) | |
41c6732e | 83 | AC_SUBST([USE_PYTHON3], [true]) |
96f9c530 CAW |
84 | AS_IF([test "x$PYTHON" = xnone], |
85 | [AC_MSG_FAILURE( | |
86 | [--with-python3 given but no acceptable python3 (3.3) could be found])]), | |
87 | AC_CHECK_PROGS([PYTHON], [python2.7 python2.6], [none]) | |
41c6732e | 88 | AC_SUBST([USE_PYTHON3], [false]) |
96f9c530 CAW |
89 | AS_IF([test "x$PYTHON" = xnone], |
90 | [AC_MSG_FAILURE( | |
f8c1e11f | 91 | [No acceptable python (2.7, 2.6) could be found])])) |
96f9c530 | 92 | |
e342891a BI |
93 | dnl---- |
94 | dnl With the following set of macros, we implement an option | |
95 | dnl "--with-virtualenv", which the user can pass to the configure | |
96 | dnl script in order to install to a Virtualenv (AC_ARG_WITH). If the | |
97 | dnl option is specified by the user, then we check if the program is | |
98 | dnl available, checking both for "virtualenv" and "virtualenv2" | |
99 | dnl (AC_CHECK_PROGS) | |
100 | dnl---- | |
101 | dnl | |
07778a69 | 102 | # Support doing development in a virtualenv via the --with-virtualenv |
e342891a BI |
103 | # configure flag |
104 | AC_ARG_WITH([virtualenv], | |
07778a69 | 105 | [AS_HELP_STRING([--without-virtualenv], [install to a Python virtualenv])], |
e342891a | 106 | [], |
07778a69 | 107 | [with_virtualenv=yes]) |
e342891a BI |
108 | AS_IF([test "x$with_virtualenv" != xno], |
109 | AC_CHECK_PROGS([VIRTUALENV], [virtualenv virtualenv3 virtualenv2], [no]) | |
110 | AS_IF([test "x$VIRTUALENV" = xno], | |
111 | [AC_MSG_FAILURE( | |
112 | [--with-virtualenv given but virtualenv could not be found])]), | |
113 | AC_SUBST([VIRTUALENV], [no])) | |
114 | AC_ARG_VAR([VIRTUALENV_FLAGS], [flags to pass to the virtualenv command]) | |
115 | ||
116 | dnl---- | |
117 | dnl If the program uses sphinx-build to build documentation, uncomment | |
118 | dnl this to create a SPHINXBUILD variable in the Makefile pointing to | |
119 | dnl the program. Thus, the user would specify | |
120 | dnl SPHINXBUILD=/path/to/sphinx-build as an argument to the configure | |
121 | dnl script. Since building the documentation should be optional, just | |
122 | dnl print a warning. If the program uses some other documentation | |
123 | dnl system, you can do something similar with it. | |
124 | dnl---- | |
125 | dnl | |
96f9c530 CAW |
126 | dnl # Check for sphinx-build |
127 | dnl AC_CHECK_PROGS([SPHINXBUILD], [sphinx-build sphinx-build3 sphinx-build2], [no]) | |
128 | dnl AS_IF([test "x$SPHINXBUILD" = xno], | |
129 | dnl AC_MSG_WARN(sphinx-build is required to build documentation)) | |
e342891a BI |
130 | |
131 | ||
132 | dnl---- | |
133 | dnl These two are standard Autoconf macros which check for the | |
134 | dnl presence of some programs that we will use in the Makefile. | |
135 | dnl---- | |
136 | dnl | |
137 | AC_PROG_MKDIR_P | |
138 | AC_PROG_INSTALL | |
139 | ||
96f9c530 | 140 | dnl--MediaGoblin specific commands/variables ------------------------ |
07778a69 CAW |
141 | |
142 | ||
e342891a BI |
143 | dnl######### |
144 | dnl Finish # | |
145 | dnl######### | |
146 | ||
147 | dnl Define the files to be configured | |
00ed01b7 | 148 | AC_CONFIG_FILES([Makefile]) |
07778a69 | 149 | |
e342891a BI |
150 | dnl Generate config.status |
151 | AC_OUTPUT |