chiark / gitweb /
Loosen playlist command rights.
[disorder] / configure.ac
index 3f4c0b0c8a3b53c9d7ae844a0095abf6f47ada07..209e9c2bea38a9f6ed1886f29cb0f8dd59e464f5 100644 (file)
@@ -20,9 +20,9 @@
 # USA
 #
 
-AC_INIT([disorder], [3.0+], [richard+disorder@sfere.greenend.org.uk])
+AC_INIT([disorder], [4.2], [richard+disorder@sfere.greenend.org.uk])
 AC_CONFIG_AUX_DIR([config.aux])
-AM_INIT_AUTOMAKE(disorder, [3.0+])
+AM_INIT_AUTOMAKE(disorder, [4.2])
 AC_CONFIG_SRCDIR([server/disorderd.c])
 AM_CONFIG_HEADER([config.h])
 
@@ -46,6 +46,13 @@ AC_PROG_CC
 AC_SET_MAKE
 if test "x$GCC" = xyes; then
   gcc_werror=-Werror
+  case "$CC" in
+  *-std=* )
+    ;;
+  * )
+    CC="${CC} -std=gnu99"
+    ;;
+  esac
 else
   AC_MSG_ERROR([GNU C is required to build this program])
   gcc_werror=""
@@ -178,28 +185,86 @@ if test $want_server = no; then
   want_cgi=no
 fi
 
+#
+# OS          Document Root                  CGI directory
+# ==          =============                  =============
+# Debian      /var/www                       /usr/lib/cgi-bin
+# Ubuntu      /var/www                       /usr/lib/cgi-bin
+# Red Hat     /var/www/html                  /var/www/cgi-bin
+#      or:    /home/httpd/html/              /home/httpd/cgi-bin
+# Slackware   /var/www/htdocs                (unknown)
+# SuSE        /srv/www/html                  /srv/www/cgi-bin
+# Gentoo      /var/www/localhost/htdocs      /var/www/localhost/cgi-bin/
+# FreeBSD     /usr/local/www/data            /usr/local/www/cgi-bin
+#      or:    /usr/local/www/???/data        /usr/local/www/???/cgi-bin
+# OS X        /Library/WebServer/Documents   /Library/WebServer/CGI-Executables
+# Apache      /usr/local/apache/htdocs       (none)
+#
+# Sources:
+#   http://wiki.linuxquestions.org/wiki/Apache
+#   http://mapserver.gis.umn.edu/docs/howto/suse-linux
+#   http://www.yolinux.com/TUTORIALS/LinuxTutorialWebSiteConfig.html
+#   http://sources.gentoo.org/viewcvs.py/apache/trunk/dist/2.2/conf/vhosts.d/default_vhost.include?rev=198&view=log
+#   http://httpd.apache.org/docs/
+#
 if test $want_cgi = yes; then
-  if test -z "$cgidir"; then
-    AC_CACHE_CHECK([for CGI directory],[rjk_cv_cgidir],[
-      rjk_cv_cgidir="not found"
+  if test -z "$httpdir"; then
+    AC_CACHE_CHECK([for httpd document root],[rjk_cv_httpdir],[
+      rjk_cv_httpdir="not found"
+      for dir in /var/www/html \
+                 /var/www/htdocs \
+                 /var/www/localhost/htdocs \
+                 /var/www \
+                 /home/httpd/html \
+                 /srv/www/html \
+                 /usr/local/www/data \
+                 /usr/local/www/*/data \
+                 /Library/WebServer/Documents \
+                 /usr/local/apache/htdocs; do
+        if test -d "$dir"; then
+          rjk_cv_httpdir="$dir"
+        fi
+      done
+    ])
+    if test "$rjk_cv_cgiexecdir" = "not found"; then
+      AC_MSG_ERROR([cannot identify httpd documentroot.  Set httpdir on configure command line])
+    fi
+    httpdir="$rjk_cv_httpdir"
+  fi
+  if test ! -z "$cgidir"; then
+    # This is a bit harsh but should stop any disasters
+    AC_MSG_ERROR([cgidir has been renamed to cgiexecdir])
+  fi
+  if test -z "$cgiexecdir"; then
+    AC_CACHE_CHECK([for CGI directory],[rjk_cv_cgiexecdir],[
+      rjk_cv_cgiexecdir="not found"
       for dir in /usr/lib/cgi-bin \
                  /Library/WebServer/CGI-Executables \
+                 /srv/www/cgi-bin \
+                 /var/www/cgi-bin \
+                 /home/httpd/cgi-bin \
+                 /var/www/localhost/cgi-bin \
                  /usr/local/lib/cgi-bin \
                  /usr/local/www/cgi-bin \
                  /usr/local/www/*/cgi-bin; do
         if test -d "$dir"; then
-          rjk_cv_cgidir="$dir"
+          rjk_cv_cgiexecdir="$dir"
           break
         fi
       done
     ])
-    if test "$rjk_cv_cgidir" = "not found"; then
-      AC_MSG_ERROR([cannot identify CGI install directory.  Set cgidir on configure command line])
+    if test "$rjk_cv_cgiexecdir" = "not found"; then
+      AC_MSG_ERROR([cannot identify CGI install directory.  Set cgiexecdir on configure command line])
     fi
-    cgidir="$rjk_cv_cgidir"
+    cgiexecdir="$rjk_cv_cgiexecdir"
   fi
 fi
-AC_ARG_VAR([cgidir], [location of cgi-bin directory, e.g. /usr/lib/cgi-bin])
+AC_ARG_VAR([cgiexecdir], [location of cgi-bin directory, e.g. /usr/lib/cgi-bin])
+AC_ARG_VAR([httpdir], [location of http document root, e.g. /var/www/htdocs])
+if test -z "$pkghttpdir"; then
+  pkghttpdir='$(httpdir)/disorder'
+fi
+AC_SUBST([pkghttpdir])
 
 subdirs="scripts lib"
 if test $want_tests = yes; then