diff options
-rw-r--r-- | configure.ac | 33 | ||||
-rw-r--r-- | src/cgi-bin/.gitignore | 2 | ||||
-rw-r--r-- | src/cgi-bin/Makefile.am | 27 | ||||
-rw-r--r-- | src/ellinika/cgi.scm4 | 2 | ||||
-rw-r--r-- | xml/lingua.conf.in | 6 |
5 files changed, 48 insertions, 22 deletions
diff --git a/configure.ac b/configure.ac index 302f2df..7cdcc32 100644 --- a/configure.ac +++ b/configure.ac @@ -17,7 +17,7 @@ AC_PREREQ(2.61) -AC_REVISION(2015-01-07 14:56:15 gray) +AC_REVISION(2015-01-10 19:52:52 gray) AC_INIT(ellinika, 1.99.99, [gray+ellinika@gnu.org.ua]) AC_CONFIG_SRCDIR(src/cgi-bin/dict.scm4) AC_CONFIG_AUX_DIR([build-aux]) @@ -107,12 +107,13 @@ AC_ARG_VAR([EXP_URL], AC_ARG_VAR([STATE], [EXP for experimental, PROD for production]) +AC_SUBST(REAL_SCRIPT_SUFFIX) AC_SUBST(SCRIPT_SUFFIX) AC_SUBST(SCRIPT_DIR) AC_SUBST(CGIDIR) if test $APACHE_IFACE = "CGI"; then - SCRIPT_SUFFIX=cgi + REAL_SCRIPT_SUFFIX=.cgi if test -n "$TARGET_DIR"; then SCRIPT_DIR=cgi-bin else @@ -120,11 +121,33 @@ if test $APACHE_IFACE = "CGI"; then fi CGIDIR='$(prefix)/cgi-bin' else - SCRIPT_SUFFIX=scm + REAL_SCRIPT_SUFFIX=.scm SCRIPT_DIR=scm CGIDIR='$(prefix)/scm' -fi - +fi + +AC_ARG_WITH(script-suffix, + AC_HELP_STRING([--with-script-suffix=.STRING], + [CGI script suffix]), + [if test -z "$withval"; then + SCRIPT_SUFFIX= + else + case $withval in + no) SCRIPT_SUFFIX=;; + .*) SCRIPT_SUFFIX=$withval;; + *) AC_MSG_ERROR([script suffix must begin with dot]) + esac + fi], + [SCRIPT_SUFFIX=$REAL_SCRIPT_SUFFIX]) + +AC_ARG_WITH(script-dir, + AC_HELP_STRING([--with-script-dir=DIR], + [script directory prefix]), + [case $withval in + no) SCRIPT_DIR=;; + *) SCRIPT_DIR=$withval;; + esac]) + AC_ARG_WITH(cgi-bin, AC_HELP_STRING([--with-cgi-bin=DIR], [install CGI programs in DIR [[PREFIX/cgi-bin]]]), diff --git a/src/cgi-bin/.gitignore b/src/cgi-bin/.gitignore index a2d76a3..21128b6 100644 --- a/src/cgi-bin/.gitignore +++ b/src/cgi-bin/.gitignore @@ -1,7 +1,5 @@ -dict.cgi dict.m4 dict.scm dict.sed -nea.cgi nea.scm conj.scm diff --git a/src/cgi-bin/Makefile.am b/src/cgi-bin/Makefile.am index f085e57..aca9137 100644 --- a/src/cgi-bin/Makefile.am +++ b/src/cgi-bin/Makefile.am @@ -14,10 +14,11 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -cgidir=@CGIDIR@ -cgi_SCRIPTS=$(EXTRA_DIST:.scm4=.@SCRIPT_SUFFIX@) -EXTRA_DIST=dict.scm4 nea.scm4 conj.scm4 -CLEANFILES=dict.m4 dict.scm nea.scm dict.cgi nea.cgi conj.cgi +cgidir = @CGIDIR@ +CGI_SOURCES = dict.scm4 nea.scm4 conj.scm4 +EXTRA_DIST = $(CGI_SOURCES) +cgi_SCRIPTS = $(CGI_SOURCES:.scm4=.scm) +CLEANFILES = dict.m4 $(cgi_SCRIPTS) dict.m4: Makefile $(AM_V_GEN){ \ @@ -43,18 +44,22 @@ dict.m4: Makefile echo ')dnl'; \ } > dict.m4 -SUFFIXES = .scm4 .scm .cgi +SUFFIXES = .scm4 .scm .scm4.scm: $(AM_V_GEN)m4 dict.m4 $< > $@ -.scm.cgi: - $(AM_V_GEN)cp $< $@ - dict.scm: dict.scm4 dict.m4 nea.scm: nea.scm4 dict.m4 conj.scm: conj.scm4 dict.m4 -dict.cgi: dict.scm -nea.cgi: nea.scm -conj.cgi: conj.scm +install-data-hook: + $(AM_V_GEN)if test @REAL_SCRIPT_SUFFIX@ != .scm; then\ + here=`pwd`; \ + cd $(DESTDIR)$(cgidir); \ + for file in $(cgi_SCRIPTS); do\ + mv $$file $${file%%.scm}@REAL_SCRIPT_SUFFIX@;\ + done;\ + cd $$here;\ + fi + diff --git a/src/ellinika/cgi.scm4 b/src/ellinika/cgi.scm4 index 51f9570..28adea1 100644 --- a/src/ellinika/cgi.scm4 +++ b/src/ellinika/cgi.scm4 @@ -127,7 +127,7 @@ ifelse(IFACE,[CGI],[ (define-public (cgi-program-name prog) (string-append (substring cgi-script-name 0 (string-rindex cgi-script-name #\/)) "/" - prog ".SCRIPT_SUFFIX")) + prog ifelse(SCRIPT_SUFFIX,,,"SCRIPT_SUFFIX"))) (define-public (expand-template explist template) "(expand-template EXPLIST TEMPLATE) diff --git a/xml/lingua.conf.in b/xml/lingua.conf.in index d736bcb..87f40e3 100644 --- a/xml/lingua.conf.in +++ b/xml/lingua.conf.in @@ -9,7 +9,7 @@ <AUTHOR EMAIL="=PACKAGE_BUGREPORT=" HOMEPAGE="http://gray.gnu.org.ua" /> - <DICT PROG="dict.=SCRIPT_SUFFIX=" /> + <DICT PROG="dict=SCRIPT_SUFFIX=" /> <BASE HREF="=BASE_HREF=" /> <SEARCH ARGS="(list (lingua:gettext "Search") (lingua:attr "LINGUA" "LANG"))"> <![CDATA[ @@ -36,7 +36,7 @@ (letrec ((nea (lambda (. args) (string-append (lingua:get-cgi-bin) - "/nea.=SCRIPT_SUFFIX=?lang=" + "/nea=SCRIPT_SUFFIX=?lang=" (lingua:LANG args))))) (xmltrans:set-attr "LINGUA" "NEA" nea))) @@ -46,7 +46,7 @@ (letrec ((conj (lambda (. args) (string-append (lingua:get-cgi-bin) - "/conj.=SCRIPT_SUFFIX=?lang=" + "/conj=SCRIPT_SUFFIX=?lang=" (lingua:LANG args))))) (xmltrans:set-attr "LINGUA" "CONJ" conj))) |