summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--Makefile4
-rw-r--r--cgit.c2
-rw-r--r--cgit.h1
-rw-r--r--shared.c2
-rw-r--r--ui-shared.c4
5 files changed, 9 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index 3d8edb8..96d68cb 100644
--- a/Makefile
+++ b/Makefile
@@ -7,2 +7,3 @@ CACHE_ROOT = /var/cache/cgit
CGIT_CONFIG = /etc/cgitrc
+CGIT_SCRIPT_NAME = cgit.cgi
@@ -23,2 +24,3 @@ CFLAGS += -DCGIT_VERSION='"$(CGIT_VERSION)"'
CFLAGS += -DCGIT_CONFIG='"$(CGIT_CONFIG)"'
+CFLAGS += -DCGIT_SCRIPT_NAME='"$(CGIT_SCRIPT_NAME)"'
@@ -58,3 +60,3 @@ install: all clean-cache
mkdir -p $(prefix)
- install cgit $(prefix)/cgit.cgi
+ install cgit $(prefix)/$(CGIT_SCRIPT_NAME)
install cgit.css $(prefix)/cgit.css
diff --git a/cgit.c b/cgit.c
index 67ad103..3c11ff0 100644
--- a/cgit.c
+++ b/cgit.c
@@ -246,2 +246,4 @@ int main(int argc, const char **argv)
cgit_read_config(CGIT_CONFIG, cgit_global_config_cb);
+ if (getenv("SCRIPT_NAME"))
+ cgit_script_name = xstrdup(getenv("SCRIPT_NAME"));
if (getenv("QUERY_STRING"))
diff --git a/cgit.h b/cgit.h
index 0fff7b0..f5906ad 100644
--- a/cgit.h
+++ b/cgit.h
@@ -77,2 +77,3 @@ extern char *cgit_module_link;
extern char *cgit_virtual_root;
+extern char *cgit_script_name;
extern char *cgit_cache_root;
diff --git a/shared.c b/shared.c
index 072bb6d..8505397 100644
--- a/shared.c
+++ b/shared.c
@@ -19,3 +19,3 @@ char *cgit_module_link = "./?repo=%s&page=commit&id=%s";
char *cgit_virtual_root = NULL;
-
+char *cgit_script_name = CGIT_SCRIPT_NAME;
char *cgit_cache_root = "/var/cache/cgit";
diff --git a/ui-shared.c b/ui-shared.c
index 6f5cf2b..b0cff7d 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -47,3 +47,3 @@ char *cgit_rooturl()
else
- return "./cgit.cgi";
+ return cgit_script_name;
}
@@ -73,3 +73,3 @@ char *cgit_currurl()
if (!cgit_virtual_root)
- return "./cgit.cgi";
+ return cgit_script_name;
else if (cgit_query_page)