2
0
Эх сурвалжийг харах

On Linux auto-detect presence of http-parser and lz4 and link against system libs instead of ext/ builtins (for RPM and DEB packaging effort)

Adam Ierymenko 9 жил өмнө
parent
commit
fd81a7fe63
4 өөрчлөгдсөн 15 нэмэгдсэн , 5 устгасан
  1. 1 1
      make-freebsd.mk
  2. 13 0
      make-linux.mk
  3. 1 1
      make-mac.mk
  4. 0 3
      objects.mk

+ 1 - 1
make-freebsd.mk

@@ -6,7 +6,7 @@ DEFS=
 LIBS=
 
 include objects.mk
-OBJS+=osdep/BSDEthernetTap.o
+OBJS+=osdep/BSDEthernetTap.o ext/lz4/lz4.o ext/json-parser/json.o ext/http-parser/http_parser.o
 
 # "make official" is a shortcut for this
 ifeq ($(ZT_OFFICIAL_RELEASE),1)

+ 13 - 0
make-linux.mk

@@ -38,6 +38,19 @@ LDLIBS?=
 
 include objects.mk
 
+# On Linux we auto-detect the presence of some libraries
+ifeq ($(wildcard /usr/include/lz4.h),)
+	OBJS+=ext/lz4/lz4.o
+else
+	LDLIBS+=-llz4
+endif
+ifeq ($(wildcard /usr/include/http_parser.h),)
+	OBJS+=ext/http-parser/http_parser.o
+else
+	LDLIBS+=-lhttp_parser
+endif
+OBJS+=ext/json-parser/json.o
+
 ifeq ($(ZT_OFFICIAL_RELEASE),1)
 	DEFS+=-DZT_OFFICIAL_RELEASE
 	ZT_USE_MINIUPNPC=1

+ 1 - 1
make-mac.mk

@@ -11,7 +11,7 @@ LIBS=
 ARCH_FLAGS=-arch x86_64
 
 include objects.mk
-OBJS+=osdep/OSXEthernetTap.o
+OBJS+=osdep/OSXEthernetTap.o ext/lz4/lz4.o ext/json-parser/json.o ext/http-parser/http_parser.o
 
 # Disable codesign since open source users will not have ZeroTier's certs
 CODESIGN=echo

+ 0 - 3
objects.mk

@@ -1,7 +1,4 @@
 OBJS=\
-	ext/lz4/lz4.o \
-	ext/json-parser/json.o \
-	ext/http-parser/http_parser.o \
 	node/C25519.o \
 	node/CertificateOfMembership.o \
 	node/Cluster.o \