CFLAGS+=$(EXTRA_CFLAGS)
+# Fallback for libyajl 1 which did not include yajl_version.h. We need
+# YAJL_MAJOR from that file to decide which code path should be used.
+CFLAGS += -idirafter $(TOPDIR)/yajl-fallback
+
OBJS:=$(wildcard src/*.c *.c)
OBJS:=$(OBJS:.c=.o)
#include <locale.h>
#include <yajl/yajl_gen.h>
+#include <yajl/yajl_version.h>
#include "i3status.h"
|| !valid_color(cfg_getstr(cfg_general, "color_separator")))
die("Bad color format");
+#if YAJL_MAJOR >= 2
yajl_gen json_gen = yajl_gen_alloc(NULL);
+#else
+ yajl_gen json_gen = yajl_gen_alloc(NULL, NULL);
+#endif
if (output_format == O_I3BAR) {
/* Initialize the i3bar protocol. See i3/docs/i3bar-protocol
if (output_format == O_I3BAR) {
yajl_gen_array_close(json_gen);
const unsigned char *buf;
+#if YAJL_MAJOR >= 2
size_t len;
+#else
+ unsigned int len;
+#endif
yajl_gen_get_buf(json_gen, &buf, &len);
write(STDOUT_FILENO, buf, len);
yajl_gen_clear(json_gen);
#include <confuse.h>
#include <time.h>
#include <yajl/yajl_gen.h>
+#include <yajl/yajl_version.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <yajl/yajl_gen.h>
+#include <yajl/yajl_version.h>
#include "i3status.h"
#include <stdio.h>
#include <string.h>
#include <yajl/yajl_gen.h>
+#include <yajl/yajl_version.h>
#include "i3status.h"
#include <stdio.h>
#include <string.h>
#include <yajl/yajl_gen.h>
+#include <yajl/yajl_version.h>
#ifdef __FreeBSD__
#include <sys/types.h>
#include <stdlib.h>
#include <string.h>
#include <yajl/yajl_gen.h>
+#include <yajl/yajl_version.h>
#include "i3status.h"
#include <sys/mount.h>
#endif
#include <yajl/yajl_gen.h>
+#include <yajl/yajl_version.h>
#include "i3status.h"
#include <net/if.h>
#include <netinet/in.h>
#include <arpa/inet.h>
+#include <yajl/yajl_gen.h>
+#include <yajl/yajl_version.h>
#include "i3status.h"
#include <string.h>
#include <arpa/inet.h>
#include <yajl/yajl_gen.h>
+#include <yajl/yajl_version.h>
#include "i3status.h"
#include <stdio.h>
#include <string.h>
#include <yajl/yajl_gen.h>
+#include <yajl/yajl_version.h>
void print_load(yajl_gen json_gen, char *buffer, const char *format) {
char *outwalk = buffer;
#include <stdio.h>
#include <string.h>
#include <yajl/yajl_gen.h>
+#include <yajl/yajl_version.h>
#include "i3status.h"
void print_run_watch(yajl_gen json_gen, char *buffer, const char *title, const char *pidfile, const char *format) {
#include <stdio.h>
#include <stdlib.h>
#include <yajl/yajl_gen.h>
+#include <yajl/yajl_version.h>
#include "i3status.h"
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
+#include <yajl/yajl_gen.h>
+#include <yajl/yajl_version.h>
#ifdef LINUX
#include <alsa/asoundlib.h>
// vim:ts=8:expandtab
#include <stdio.h>
#include <string.h>
+#include <yajl/yajl_gen.h>
+#include <yajl/yajl_version.h>
#ifdef LINUX
#include <iwlib.h>
--- /dev/null
+#ifndef YAJL_VERSION_H_
+#define YAJL_VERSION_H_
+/* Fallback for libyajl 1 which does not provide yajl_version.h */
+#define YAJL_MAJOR 1
+#define YAJL_MINOR 0
+#define YAJL_MICRO 0
+#endif