Use virtualenv set by configure
[mediagoblin.git] / configure.ac
1 dnl configure.ac
2 dnl
3 dnl Copyright 2012, 2013 Brandon Invergo <brandon@invergo.net>
4 dnl 2014 MediaGoblin contributors (see MediaGoblin's AUTHORS)
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
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
59 AC_INIT([mediagoblin], [0.8.0.dev], [cwebber@gnu.org])
60
61
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
67 dnl AC_CONFIG_MACRO_DIR([m4])
68
69
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`])
73
74
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
82 dnl--A bit simpler python init----------------------------------------
83 dnl Expect python2.7 or python2.6 unless --with-python3 is given.
84 dnl----
85
86
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],
92 AC_CHECK_PROGS([PYTHON], [python3.3], [none])
93 AC_SUBST([USE_PYTHON3], [true])
94 AS_IF([test "x$PYTHON" = xnone],
95 [AC_MSG_FAILURE(
96 [--with-python3 given but no acceptable python3 (3.3) could be found])]),
97 AC_CHECK_PROGS([PYTHON], [python2.7], [none])
98 AC_SUBST([USE_PYTHON3], [false])
99 AS_IF([test "x$PYTHON" = xnone],
100 [AC_MSG_FAILURE(
101 [No acceptable python (2.7) could be found])]))
102
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
112 # Support doing development in a virtualenv via the --with-virtualenv
113 # configure flag
114 AC_ARG_WITH([virtualenv],
115 [AS_HELP_STRING([--without-virtualenv], [install to a Python virtualenv])],
116 [],
117 [with_virtualenv=yes])
118 AS_IF([test "x$with_virtualenv" != xno],
119 AC_CHECK_PROGS([VIRTUALENV], [virtualenv virtualenv3 virtualenv2], [no])
120 AS_IF([test "x$VIRTUALENV" = xno],
121 [AC_MSG_FAILURE(
122 [--with-virtualenv given but virtualenv could not be found])]),
123 AC_SUBST([VIRTUALENV], [no]))
124 AC_ARG_VAR([VIRTUALENV_FLAGS], [flags to pass to the virtualenv command])
125
126 dnl----
127 dnl If the program uses sphinx-build to build documentation, uncomment
128 dnl this to create a SPHINXBUILD variable in the Makefile pointing to
129 dnl the program. Thus, the user would specify
130 dnl SPHINXBUILD=/path/to/sphinx-build as an argument to the configure
131 dnl script. Since building the documentation should be optional, just
132 dnl print a warning. If the program uses some other documentation
133 dnl system, you can do something similar with it.
134 dnl----
135 dnl
136 dnl # Check for sphinx-build
137 dnl AC_CHECK_PROGS([SPHINXBUILD], [sphinx-build sphinx-build3 sphinx-build2], [no])
138 dnl AS_IF([test "x$SPHINXBUILD" = xno],
139 dnl AC_MSG_WARN(sphinx-build is required to build documentation))
140
141
142 dnl----
143 dnl These two are standard Autoconf macros which check for the
144 dnl presence of some programs that we will use in the Makefile.
145 dnl----
146 dnl
147 AC_PROG_MKDIR_P
148 AC_PROG_INSTALL
149
150 dnl--MediaGoblin specific commands/variables ------------------------
151
152
153 dnl#########
154 dnl Finish #
155 dnl#########
156
157 dnl Define the files to be configured
158 AC_CONFIG_FILES([Makefile] [mediagoblin/_version.py])
159
160 dnl Generate config.status
161 AC_OUTPUT