aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile5
-rw-r--r--src/librarian.c15
2 files changed, 19 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index f83fc37..adb5c04 100644
--- a/Makefile
+++ b/Makefile
@@ -17,6 +17,9 @@ LICENSEDIR = $(DATADIR)/licenses
PKGNAME = librarian
COMMAND = librarian
+# Default value for the environment variable LIBRARIAN_PATH.
+LIBRARIAN_PATH = /usr/local/share/librarian:/usr/share/librarian
+
OPTIMISE = -Og -g
WARN = -Wall -Wextra -Wdouble-promotion -Wformat=2 -Winit-self -Wmissing-include-dirs \
@@ -30,7 +33,7 @@ WARN = -Wall -Wextra -Wdouble-promotion -Wformat=2 -Winit-self -Wmissing-include
-Wsuggest-attribute=pure -Wsuggest-attribute=format -Wnormalized=nfkc -pedantic
#OPTIMISE = -O2
#WARN = -Wall -Wextra -pedantic
-FLAGS = -std=c99 $(WARN) $(OPTIMISE)
+FLAGS = -std=c99 $(WARN) $(OPTIMISE) -D'DEFAULT_PATH="$(LIBRARIAN_PATH)"'
diff --git a/src/librarian.c b/src/librarian.c
index f0441fb..99142a3 100644
--- a/src/librarian.c
+++ b/src/librarian.c
@@ -32,6 +32,15 @@
/**
+ * Default value for the environment variable LIBRARIAN_PATH.
+ */
+#ifndef DEFAULT_PATH
+# define DEFAULT_PATH "/usr/local/share/librarian:/usr/share/librarian"
+#endif
+
+
+
+/**
* The name of the process.
*/
static const char *argv0;
@@ -272,6 +281,7 @@ int main(int argc, char *argv[])
char **variables_last = argv;
struct library *libraries = NULL;
struct library *libraries_last;
+ const char *path;
/* Parse arguments. */
argv0 = argv ? (argc--, *argv++) : "pp";
@@ -312,6 +322,11 @@ int main(int argc, char *argv[])
goto usage;
}
+ /* Get LIBRARIAN_PATH. */
+ path = getenv("LIBRARIAN_PATH");
+ if (!path || !*path)
+ path = DEFAULT_PATH
+
CLEANUP;
return 0;