mirror of
https://github.com/gozfree/gear-lib.git
synced 2026-02-05 18:51:20 +08:00
refine makefile to switch gcc version
This commit is contained in:
4
build.sh
4
build.sh
@@ -27,9 +27,9 @@ PLATFORM="[linux|pi|android|ios]"
|
||||
#basic libraries
|
||||
BASIC_LIBS="libmacro libtime liblog libdarray libgevent libworkq libdict libhash libsort \
|
||||
librbtree libringbuffer libthread libvector libbase64 libmedia-io libposix \
|
||||
libdebug libfile libuvc libmp4parser libqueue libplugin libhal libsubmask"
|
||||
libdebug libfile libconfig libuvc libmp4parser libqueue libplugin libhal libsubmask"
|
||||
FRAMEWORK_LIBS="libipc"
|
||||
NETWORK_LIBS="libskt librpc "
|
||||
NETWORK_LIBS="libskt librpc librtsp librtmpc"
|
||||
|
||||
usage()
|
||||
{
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#### android.conf
|
||||
#### android
|
||||
CROSS_PREFIX := arm-linux-androideabi-
|
||||
OUTPUT := `pwd`/../output/android/
|
||||
|
||||
@@ -30,3 +30,9 @@ ANDROID_LDFLAGS := -L$(PLATFORM_LIB) \
|
||||
MAKEDIR_OUTPUT := @mkdir -p $(OUTPUT)/include -p $(OUTPUT)/lib
|
||||
android_CFLAGS := $(ANDROID_CFLAGS)
|
||||
android_LDFLAGS := $(ANDROID_LDFLAGS)
|
||||
|
||||
CC := $(CROSS_PREFIX)gcc
|
||||
CXX := $(CROSS_PREFIX)g++
|
||||
LD := $(CROSS_PREFIX)ld
|
||||
AR := $(CROSS_PREFIX)ar
|
||||
STRIP := $(CROSS_PREFIX)strip
|
||||
|
||||
@@ -1,7 +1,13 @@
|
||||
#### arm.conf
|
||||
#### arm
|
||||
CROSS_PREFIX := arm-linux-gnueabihf-
|
||||
OUTPUT := `pwd`/../output/arm/
|
||||
|
||||
TOOLCHAINS_ROOT := `$(CROSS_PREFIX)gcc -print-sysroot`
|
||||
PLATFORM_LIB := $(TOOLCHAINS_ROOT)/usr/lib
|
||||
MAKEDIR_OUTPUT := @mkdir -p $(OUTPUT)/lib -p $(OUTPUT)/include
|
||||
|
||||
CC := $(CROSS_PREFIX)gcc
|
||||
CXX := $(CROSS_PREFIX)g++
|
||||
LD := $(CROSS_PREFIX)ld
|
||||
AR := $(CROSS_PREFIX)ar
|
||||
STRIP := $(CROSS_PREFIX)strip
|
||||
|
||||
@@ -92,7 +92,7 @@ cat > ${MAKEFILE} <<!
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := ${S}(shell pwd)/../build/
|
||||
BUILD_DIR := ${S}(shell pwd)/../../build/
|
||||
ARCH_INC := ${S}(BUILD_DIR)/${S}(ARCH).inc
|
||||
COLOR_INC := ${S}(BUILD_DIR)/color.inc
|
||||
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
#color define
|
||||
#### color define
|
||||
|
||||
#COLOR 0: disable color; 1: enable color
|
||||
COLOR = 1
|
||||
|
||||
NC = "\033[0m"
|
||||
BRED = "\033[1;31m"
|
||||
@@ -18,15 +21,6 @@ CYAN = "\033[36m"
|
||||
WHITE = "\033[37m"
|
||||
|
||||
|
||||
#COLOR 0: disable color; 1: enable color
|
||||
COLOR = 1
|
||||
|
||||
CC_V = $(CC_$(COLOR))
|
||||
CXX_V = $(CXX_$(COLOR))
|
||||
LD_V = $(LD_$(COLOR))
|
||||
AR_V = $(AR_$(COLOR))
|
||||
CP_V = $(CP_$(COLOR))
|
||||
RM_V = $(RM_$(COLOR))
|
||||
CC_0 = $(CC)
|
||||
CC_1 = @printf '%b\t%b\t%b\n' $(CYAN)$(ARCH) CC $@$(NC); $(CC)
|
||||
CXX_0 = $(CXX)
|
||||
@@ -40,4 +34,9 @@ CP_1 = @printf '%b\t%b\n' $(BGREEN)$(ARCH) install$(NC); cp
|
||||
RM_0 = rm
|
||||
RM_1 = @printf '%b\t%b\n' $(BGREEN)$(ARCH) clean$(NC); rm
|
||||
|
||||
|
||||
CC_V = $(CC_$(COLOR))
|
||||
CXX_V = $(CXX_$(COLOR))
|
||||
LD_V = $(LD_$(COLOR))
|
||||
AR_V = $(AR_$(COLOR))
|
||||
CP_V = $(CP_$(COLOR))
|
||||
RM_V = $(RM_$(COLOR))
|
||||
|
||||
@@ -1,7 +1,13 @@
|
||||
#### x86.conf
|
||||
#### linux
|
||||
CROSS_PREFIX :=
|
||||
#OUTPUT := `pwd`/../output/x86/
|
||||
#OUTPUT := `pwd`/../output/linux/
|
||||
|
||||
TOOLCHAINS_ROOT := `$(CROSS_PREFIX)gcc -print-sysroot`
|
||||
PLATFORM_LIB := $(TOOLCHAINS_ROOT)/usr/lib
|
||||
MAKEDIR_OUTPUT :=
|
||||
|
||||
CC := $(CROSS_PREFIX)gcc
|
||||
CXX := $(CROSS_PREFIX)g++
|
||||
LD := $(CROSS_PREFIX)ld
|
||||
AR := $(CROSS_PREFIX)ar
|
||||
STRIP := $(CROSS_PREFIX)strip
|
||||
|
||||
@@ -7,3 +7,9 @@ PLATFORM_LIB := $(TOOLCHAINS_ROOT)/usr/lib
|
||||
MAKEDIR_OUTPUT :=
|
||||
INC_DIR := /usr/x86_64-w64-mingw32/include
|
||||
LIB_DIR := /usr/x86_64-w64-mingw32/lib
|
||||
|
||||
CC := $(CROSS_PREFIX)gcc
|
||||
CXX := $(CROSS_PREFIX)g++
|
||||
LD := $(CROSS_PREFIX)ld
|
||||
AR := $(CROSS_PREFIX)ar
|
||||
STRIP := $(CROSS_PREFIX)strip
|
||||
|
||||
@@ -1,35 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -13,12 +13,6 @@ ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
|
||||
@@ -48,6 +48,7 @@ OBJS_LIB = \
|
||||
src/crypto.o \
|
||||
src/debug.o \
|
||||
src/json.o \
|
||||
src/mdnsresponder.o \
|
||||
src/pairing.o \
|
||||
src/port.o \
|
||||
src/query_params.o \
|
||||
|
||||
@@ -12,18 +12,24 @@
|
||||
*/
|
||||
|
||||
|
||||
#if 0
|
||||
#include <espressif/esp_common.h>
|
||||
#include <espressif/esp_wifi.h>
|
||||
#endif
|
||||
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdbool.h>
|
||||
#if 0
|
||||
#include <etstimer.h>
|
||||
#include <esplibs/libmain.h>
|
||||
|
||||
#include <FreeRTOS.h>
|
||||
#include <task.h>
|
||||
#include <semphr.h>
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
#include <lwip/err.h>
|
||||
#include <lwip/sockets.h>
|
||||
#include <lwip/sys.h>
|
||||
@@ -34,12 +40,15 @@
|
||||
#include <lwip/udp.h>
|
||||
#include <lwip/igmp.h>
|
||||
#include <lwip/netif.h>
|
||||
#endif
|
||||
|
||||
#include "mdnsresponder.h"
|
||||
|
||||
#if 0
|
||||
#if !LWIP_IGMP
|
||||
#error "LWIP_IGMP needs to be defined in lwipopts.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// #define qDebugLog // Log activity generally
|
||||
// #define qLogIncoming // Log all arriving multicast packets
|
||||
@@ -55,6 +64,56 @@
|
||||
# include "arch/bpstruct.h"
|
||||
#endif
|
||||
|
||||
/* DNS field TYPE used for "Resource Records" */
|
||||
#define DNS_RRTYPE_A 1 /* a host address */
|
||||
#define DNS_RRTYPE_NS 2 /* an authoritative name server */
|
||||
#define DNS_RRTYPE_MD 3 /* a mail destination (Obsolete - use MX) */
|
||||
#define DNS_RRTYPE_MF 4 /* a mail forwarder (Obsolete - use MX) */
|
||||
#define DNS_RRTYPE_CNAME 5 /* the canonical name for an alias */
|
||||
#define DNS_RRTYPE_SOA 6 /* marks the start of a zone of authority */
|
||||
#define DNS_RRTYPE_MB 7 /* a mailbox domain name (EXPERIMENTAL) */
|
||||
#define DNS_RRTYPE_MG 8 /* a mail group member (EXPERIMENTAL) */
|
||||
#define DNS_RRTYPE_MR 9 /* a mail rename domain name (EXPERIMENTAL) */
|
||||
#define DNS_RRTYPE_NULL 10 /* a null RR (EXPERIMENTAL) */
|
||||
#define DNS_RRTYPE_WKS 11 /* a well known service description */
|
||||
#define DNS_RRTYPE_PTR 12 /* a domain name pointer */
|
||||
#define DNS_RRTYPE_HINFO 13 /* host information */
|
||||
#define DNS_RRTYPE_MINFO 14 /* mailbox or mail list information */
|
||||
#define DNS_RRTYPE_MX 15 /* mail exchange */
|
||||
#define DNS_RRTYPE_TXT 16 /* text strings */
|
||||
#define DNS_RRTYPE_AAAA 28 /* IPv6 address */
|
||||
#define DNS_RRTYPE_SRV 33 /* service location */
|
||||
#define DNS_RRTYPE_ANY 255 /* any type */
|
||||
|
||||
/* DNS field CLASS used for "Resource Records" */
|
||||
#define DNS_RRCLASS_IN 1 /* the Internet */
|
||||
#define DNS_RRCLASS_CS 2 /* the CSNET class (Obsolete - used only for examples in some obsolete RFCs) */
|
||||
#define DNS_RRCLASS_CH 3 /* the CHAOS class */
|
||||
#define DNS_RRCLASS_HS 4 /* Hesiod [Dyer 87] */
|
||||
#define DNS_RRCLASS_ANY 255 /* any class */
|
||||
#define DNS_RRCLASS_FLUSH 0x800 /* Flush bit */
|
||||
|
||||
/* DNS protocol flags */
|
||||
#define DNS_FLAG1_RESPONSE 0x80
|
||||
#define DNS_FLAG1_OPCODE_STATUS 0x10
|
||||
#define DNS_FLAG1_OPCODE_INVERSE 0x08
|
||||
#define DNS_FLAG1_OPCODE_STANDARD 0x00
|
||||
#define DNS_FLAG1_AUTHORATIVE 0x04
|
||||
#define DNS_FLAG1_TRUNC 0x02
|
||||
#define DNS_FLAG1_RD 0x01
|
||||
#define DNS_FLAG2_RA 0x80
|
||||
#define DNS_FLAG2_ERR_MASK 0x0f
|
||||
#define DNS_FLAG2_ERR_NONE 0x00
|
||||
#define DNS_FLAG2_ERR_NAME 0x03
|
||||
|
||||
#define DNS_HDR_GET_OPCODE(hdr) ((((hdr)->flags1) >> 3) & 0xF)
|
||||
|
||||
|
||||
#define PACK_STRUCT_BEGIN
|
||||
#define PACK_STRUCT_END
|
||||
#define PACK_STRUCT_FIELD(x) x
|
||||
#define PACK_STRUCT_STRUCT __attribute__((packed))
|
||||
|
||||
PACK_STRUCT_BEGIN
|
||||
/** DNS message header */
|
||||
struct mdns_hdr {
|
||||
@@ -126,13 +185,31 @@ typedef struct mdns_rsrc {
|
||||
// at rData[rKeySize]
|
||||
} mdns_rsrc;
|
||||
|
||||
#define PP_HTONS(x) ((u16_t)((((x) & (u16_t)0x00ffU) << 8) | (((x) & (u16_t)0xff00U) >> 8)))
|
||||
#define PP_NTOHS(x) PP_HTONS(x)
|
||||
#define PP_HTONL(x) ((((x) & (u32_t)0x000000ffUL) << 24) | \
|
||||
(((x) & (u32_t)0x0000ff00UL) << 8) | \
|
||||
(((x) & (u32_t)0x00ff0000UL) >> 8) | \
|
||||
(((x) & (u32_t)0xff000000UL) >> 24))
|
||||
#define PP_NTOHL(x) PP_HTONL(x)
|
||||
|
||||
#define LWIP_MAKEU32(a,b,c,d) (((u32_t)((a) & 0xff) << 24) | \
|
||||
((u32_t)((b) & 0xff) << 16) | \
|
||||
((u32_t)((c) & 0xff) << 8) | \
|
||||
(u32_t)((d) & 0xff))
|
||||
#define IPADDR4_INIT(u32val) { u32val }
|
||||
#define IPADDR4_INIT_BYTES(a,b,c,d) IPADDR4_INIT(PP_HTONL(LWIP_MAKEU32(a,b,c,d)))
|
||||
#define DNS_MQUERY_IPV4_GROUP_INIT IPADDR4_INIT_BYTES(224,0,0,251)
|
||||
|
||||
static struct udp_pcb* gMDNS_pcb = NULL;
|
||||
static const ip_addr_t gMulticastV4Addr = DNS_MQUERY_IPV4_GROUP_INIT;
|
||||
#if LWIP_IPV6
|
||||
#include "lwip/mld6.h"
|
||||
static const ip_addr_t gMulticastV6Addr = DNS_MQUERY_IPV6_GROUP_INIT;
|
||||
#endif
|
||||
#if 0
|
||||
static SemaphoreHandle_t gDictMutex = NULL;
|
||||
#endif
|
||||
static mdns_rsrc* gDictP = NULL; // RR database, linked list
|
||||
|
||||
//---------------------- Debug/logging utilities -------------------------
|
||||
@@ -426,18 +503,24 @@ static u8_t* mdns_get_question(u8_t* hdrP, u8_t* qp, char* qStr, uint16_t* qClas
|
||||
//---------------------------------------------------------------------------
|
||||
static void mdns_announce_netif(struct netif *netif, const ip_addr_t *addr);
|
||||
|
||||
#if 0
|
||||
static ETSTimer announce_timer;
|
||||
static ETSTimer network_monitor_timer;
|
||||
#endif
|
||||
|
||||
static bool network_down = true;
|
||||
static ETSTimer network_monitor_timer;
|
||||
|
||||
|
||||
void mdns_clear() {
|
||||
#if 0
|
||||
sdk_os_timer_disarm(&announce_timer);
|
||||
sdk_os_timer_disarm(&network_monitor_timer);
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
if (!xSemaphoreTake(gDictMutex, portMAX_DELAY))
|
||||
return;
|
||||
#endif
|
||||
|
||||
mdns_rsrc *rsrc = gDictP;
|
||||
gDictP = NULL;
|
||||
@@ -448,7 +531,9 @@ void mdns_clear() {
|
||||
rsrc = next;
|
||||
}
|
||||
|
||||
#if 0
|
||||
xSemaphoreGive(gDictMutex);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -495,11 +580,13 @@ static void mdns_add_response(const char* vKey, u16_t vType, u32_t ttl, const vo
|
||||
memcpy(rsrcP->rData, vKey, keyLen);
|
||||
memcpy(&rsrcP->rData[keyLen], dataP, vDataSize);
|
||||
|
||||
#if 0
|
||||
if (xSemaphoreTake(gDictMutex, portMAX_DELAY)) {
|
||||
rsrcP->rNext = gDictP;
|
||||
gDictP = rsrcP;
|
||||
xSemaphoreGive(gDictMutex);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef qDebugLog
|
||||
printf("mDNS added RR '%s' %s, %d bytes\n", vKey, mdns_qrtype(vType), vDataSize);
|
||||
@@ -555,7 +642,9 @@ void mdns_add_AAAA(const char* rKey, u32_t ttl, const ip6_addr_t *addr)
|
||||
#endif
|
||||
|
||||
void mdns_announce() {
|
||||
#if 0
|
||||
struct netif *netif = sdk_system_get_netif(STATION_IF);
|
||||
#endif
|
||||
#if LWIP_IPV4
|
||||
mdns_announce_netif(netif, &gMulticastV4Addr);
|
||||
#endif
|
||||
@@ -619,8 +708,10 @@ void mdns_add_facility( const char* instanceName, // Friendly name, need not b
|
||||
if (sdk_wifi_station_get_connect_status() == STATION_GOT_IP)
|
||||
mdns_announce();
|
||||
|
||||
#if 0
|
||||
sdk_os_timer_arm(&announce_timer, ttl * 1000, 1);
|
||||
sdk_os_timer_arm(&network_monitor_timer, HOMEKIT_MDNS_NETWORK_CHECK_PERIOD, 1);
|
||||
#endif
|
||||
}
|
||||
|
||||
static mdns_rsrc* mdns_match(const char* qstr, u16_t qType)
|
||||
@@ -742,6 +833,7 @@ static void mdns_reply(const ip_addr_t *addr, struct mdns_hdr* hdrP)
|
||||
qp = qBase + SIZEOF_DNS_HDR;
|
||||
nquestions = htons(hdrP->numquestions);
|
||||
|
||||
#if 0
|
||||
if (xSemaphoreTake(gDictMutex, portMAX_DELAY)) {
|
||||
|
||||
for (i = 0; i < nquestions; i++) {
|
||||
@@ -809,6 +901,7 @@ static void mdns_reply(const ip_addr_t *addr, struct mdns_hdr* hdrP)
|
||||
|
||||
xSemaphoreGive(gDictMutex);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (respLen > SIZEOF_DNS_HDR) {
|
||||
if (extra) {
|
||||
@@ -849,6 +942,7 @@ static void mdns_announce_netif(struct netif *netif, const ip_addr_t *addr)
|
||||
|
||||
int respLen = SIZEOF_DNS_HDR;
|
||||
|
||||
#if 0
|
||||
if (xSemaphoreTake(gDictMutex, portMAX_DELAY)) {
|
||||
mdns_rsrc *rsrcP = gDictP;
|
||||
while (rsrcP) {
|
||||
@@ -895,6 +989,7 @@ static void mdns_announce_netif(struct netif *netif, const ip_addr_t *addr)
|
||||
|
||||
xSemaphoreGive(gDictMutex);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (respLen > SIZEOF_DNS_HDR) {
|
||||
mdns_send_mcast(addr, mdns_response, respLen);
|
||||
@@ -959,8 +1054,10 @@ static void mdns_check_network() {
|
||||
// If we are in station mode and have an IP address, start a multicast UDP receive
|
||||
void mdns_init()
|
||||
{
|
||||
#if 0
|
||||
sdk_os_timer_setfn(&announce_timer, mdns_announce, NULL);
|
||||
sdk_os_timer_setfn(&network_monitor_timer, mdns_check_network, NULL);
|
||||
#endif
|
||||
|
||||
err_t err;
|
||||
|
||||
@@ -983,6 +1080,7 @@ void mdns_init()
|
||||
}
|
||||
}
|
||||
|
||||
#if 0
|
||||
gDictMutex = xSemaphoreCreateBinary();
|
||||
if (!gDictMutex) {
|
||||
printf(">>> mDNS_init: failed to initialize mutex\n");
|
||||
@@ -990,6 +1088,7 @@ void mdns_init()
|
||||
return;
|
||||
}
|
||||
xSemaphoreGive(gDictMutex);
|
||||
#endif
|
||||
|
||||
gMDNS_pcb = udp_new_ip_type(IPADDR_TYPE_ANY);
|
||||
if (!gMDNS_pcb) {
|
||||
|
||||
@@ -14,13 +14,44 @@
|
||||
#ifndef __MDNSRESPONDER_H__
|
||||
#define __MDNSRESPONDER_H__
|
||||
|
||||
#include <stdint.h>
|
||||
#if 0
|
||||
#include <lwip/ip_addr.h>
|
||||
#endif
|
||||
|
||||
/* The default maximum reply size, increase as necessary. */
|
||||
#ifndef MDNS_RESPONDER_REPLY_SIZE
|
||||
#define MDNS_RESPONDER_REPLY_SIZE 1460
|
||||
#endif
|
||||
|
||||
#define u8_t uint8_t
|
||||
#define u16_t uint16_t
|
||||
#define u32_t uint32_t
|
||||
|
||||
struct ip4_addr {
|
||||
u32_t addr;
|
||||
};
|
||||
typedef struct ip4_addr ip4_addr_t;
|
||||
|
||||
struct ip6_addr {
|
||||
u32_t addr[4];
|
||||
#if LWIP_IPV6_SCOPES
|
||||
u8_t zone;
|
||||
#endif /* LWIP_IPV6_SCOPES */
|
||||
};
|
||||
|
||||
/** IPv6 address */
|
||||
typedef struct ip6_addr ip6_addr_t;
|
||||
|
||||
typedef struct ip_addr {
|
||||
union {
|
||||
ip6_addr_t ip6;
|
||||
ip4_addr_t ip4;
|
||||
} u_addr;
|
||||
/** @ref lwip_ip_addr_type */
|
||||
u8_t type;
|
||||
} ip_addr_t;
|
||||
|
||||
// Starts the mDNS responder task, call first
|
||||
void mdns_init();
|
||||
|
||||
|
||||
@@ -3247,7 +3247,7 @@ void homekit_server_close_clients(homekit_server_t *server) {
|
||||
|
||||
static void homekit_run_server(homekit_server_t *server)
|
||||
{
|
||||
DEBUG("Staring HTTP server");
|
||||
INFO("Staring HTTP server");
|
||||
|
||||
struct sockaddr_in serv_addr;
|
||||
server->listen_fd = socket(AF_INET, SOCK_STREAM, 0);
|
||||
@@ -3515,7 +3515,10 @@ void homekit_server_init(homekit_server_config_t *config) {
|
||||
}
|
||||
#else
|
||||
pthread_t tid;
|
||||
pthread_create(&tid, NULL, homekit_server_task, server);
|
||||
int ret = pthread_create(&tid, NULL, homekit_server_task, server);
|
||||
if (ret) {
|
||||
ERROR("pthread_create homekit_server_task failed!\n");
|
||||
}
|
||||
|
||||
#endif
|
||||
ERROR("homekit_server_init done");
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
##############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -3,32 +3,20 @@
|
||||
###############################################################################
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -13,12 +13,6 @@ ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../build/
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -1,32 +1,21 @@
|
||||
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
|
||||
########
|
||||
LIBNAME = librbtree
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -3236,9 +3236,9 @@ HandleInvoke(RTMP *r, const char *body, unsigned int nBodySize)
|
||||
}
|
||||
if (r->Link.protocol & RTMP_FEATURE_WRITE)
|
||||
{
|
||||
for (int i = 0; i < r->Link.nStreams; i++)
|
||||
for (i = 0; i < r->Link.nStreams; i++)
|
||||
SendReleaseStream(r, i);
|
||||
for (int i = 0; i < r->Link.nStreams; i++)
|
||||
for (i = 0; i < r->Link.nStreams; i++)
|
||||
SendFCPublish(r, i);
|
||||
}
|
||||
else
|
||||
@@ -3247,7 +3247,7 @@ HandleInvoke(RTMP *r, const char *body, unsigned int nBodySize)
|
||||
RTMP_SendCtrl(r, 3, 0, 300);
|
||||
}
|
||||
|
||||
for (int i = 0; i < r->Link.nStreams; i++)
|
||||
for (i = 0; i < r->Link.nStreams; i++)
|
||||
RTMP_SendCreateStream(r);
|
||||
|
||||
if (!(r->Link.protocol & RTMP_FEATURE_WRITE))
|
||||
@@ -3260,7 +3260,7 @@ HandleInvoke(RTMP *r, const char *body, unsigned int nBodySize)
|
||||
SendFCSubscribe(r, &r->Link.subscribepath);
|
||||
else if (r->Link.lFlags & RTMP_LF_LIVE)
|
||||
{
|
||||
for (int i = 0; i < r->Link.nStreams; i++)
|
||||
for (i = 0; i < r->Link.nStreams; i++)
|
||||
SendFCSubscribe(r, &r->Link.streams[i].playpath);
|
||||
}
|
||||
}
|
||||
@@ -4435,11 +4435,11 @@ RTMP_Serve(RTMP *r)
|
||||
void
|
||||
RTMP_Close(RTMP *r)
|
||||
{
|
||||
int i;
|
||||
int i, idx;
|
||||
|
||||
if (RTMP_IsConnected(r))
|
||||
{
|
||||
for (int idx = 0; idx < r->Link.nStreams; idx++)
|
||||
for (idx = 0; idx < r->Link.nStreams; idx++)
|
||||
{
|
||||
if (r->Link.streams[idx].id > 0)
|
||||
{
|
||||
@@ -4460,7 +4460,7 @@ RTMP_Close(RTMP *r)
|
||||
RTMPSockBuf_Close(&r->m_sb);
|
||||
}
|
||||
|
||||
for (int idx = 0; idx < r->Link.nStreams; idx++)
|
||||
for (idx = 0; idx < r->Link.nStreams; idx++)
|
||||
r->Link.streams[idx].id = -1;
|
||||
|
||||
r->m_stream_id = -1;
|
||||
@@ -4537,7 +4537,7 @@ RTMP_Close(RTMP *r)
|
||||
#if defined(CRYPTO) || defined(USE_ONLY_MD5)
|
||||
if (!(r->Link.protocol & RTMP_FEATURE_WRITE) || (r->Link.pFlags & RTMP_PUB_CLEAN))
|
||||
{
|
||||
for (int idx = 0; idx < r->Link.nStreams; idx++)
|
||||
for (idx = 0; idx < r->Link.nStreams; idx++)
|
||||
{
|
||||
free(r->Link.streams[idx].playpath.av_val);
|
||||
r->Link.streams[idx].playpath.av_val = NULL;
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -59,7 +59,8 @@ static void item_free_hook(void *data)
|
||||
|
||||
static inline const uint8_t* h264_find_start_code(const uint8_t* ptr, const uint8_t* end)
|
||||
{
|
||||
for (const uint8_t *p = ptr; p + 3 < end; p++) {
|
||||
const uint8_t *p;
|
||||
for (p = ptr; p + 3 < end; p++) {
|
||||
if (0x00 == p[0] && 0x00 == p[1] && (0x01 == p[2] || (0x00==p[2] && 0x01==p[3]))) {
|
||||
return p;
|
||||
}
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -1,38 +1,28 @@
|
||||
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
########
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
|
||||
LIBNAME = libsort
|
||||
VERSION_SH = $(shell pwd)/version.sh $(LIBNAME)
|
||||
TGT_LIB_H = $(LIBNAME).h
|
||||
TGT_LIB_A = $(LIBNAME).a
|
||||
TGT_LIB_SO = $(LIBNAME).so
|
||||
TGT_LIB_SO_VER = $(TGT_LIB_SO).${VER}
|
||||
TGT_UNIT_TEST = test_$(LIBNAME)
|
||||
|
||||
OBJS_LIB = $(LIBNAME).o
|
||||
@@ -91,11 +81,12 @@ clean:
|
||||
install:
|
||||
$(MAKEDIR_OUTPUT)
|
||||
if [ "$(MODE)" = "release" ];then $(STRIP) $(TGT); fi
|
||||
$(CP_V) -r $(TGT_LIB_H) $(OUTPUT)/include
|
||||
$(CP_V) -r $(TGT_LIB_A) $(OUTLIBPATH)/lib
|
||||
$(CP_V) -r $(TGT_LIB_SO) $(OUTLIBPATH)/lib
|
||||
$(CP_V) -r $(TGT_LIB_H) $(OUTPUT)/include/gear-lib
|
||||
$(CP_V) -r $(TGT_LIB_A) $(OUTLIBPATH)/lib/gear-lib
|
||||
$(CP_V) -r $(TGT_LIB_SO) $(OUTLIBPATH)/lib/gear-lib
|
||||
|
||||
uninstall:
|
||||
cd $(OUTPUT)/include/ && rm -f $(TGT_LIB_H)
|
||||
$(RM_V) -f $(OUTLIBPATH)/lib/$(TGT_LIB_A)
|
||||
$(RM_V) -f $(OUTLIBPATH)/lib/$(TGT_LIB_SO)
|
||||
cd $(OUTPUT)/include/gear-lib/ && rm -f $(TGT_LIB_H)
|
||||
$(RM_V) -f $(OUTLIBPATH)/lib/gear-lib/$(TGT_LIB_A)
|
||||
$(RM_V) -f $(OUTLIBPATH)/lib/gear-lib/$(TGT_LIB_SO)
|
||||
$(RM_V) -f $(OUTLIBPATH)/lib/gear-lib/$(TGT_LIB_SO_VER)
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../build/
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -151,6 +151,8 @@ int thread_set_name(struct thread *t, const char *name)
|
||||
}
|
||||
strncpy(t->name, name, strlen(name));
|
||||
return 0;
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#ifndef LIBTHREAD_H
|
||||
#define LIBTHREAD_H
|
||||
|
||||
#include <gear-lib/libposix.h>
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
@@ -29,10 +30,6 @@
|
||||
#define _GNU_SOURCE
|
||||
#include <pthread.h>
|
||||
#include <semaphore.h>
|
||||
#elif defined (__WIN32__) || defined (WIN32) || defined (_MSC_VER)
|
||||
#include "libposix4win.h"
|
||||
#elif defined (FREERTOS)
|
||||
#include "libposix4rtos/libposix4rtos.h"
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/win
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -3,32 +3,20 @@
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
###############################################################################
|
||||
# common
|
||||
###############################################################################
|
||||
#ARCH: linux/pi/android/ios/
|
||||
#ARCH: linux/arm/android/ios/
|
||||
ARCH ?= linux
|
||||
CROSS_PREFIX ?=
|
||||
OUTPUT ?= /usr/local
|
||||
BUILD_DIR := $(shell pwd)/../../build/
|
||||
ARCH_INC := $(BUILD_DIR)/$(ARCH).inc
|
||||
COLOR_INC := $(BUILD_DIR)/color.inc
|
||||
|
||||
ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC)))
|
||||
include $(ARCH_INC)
|
||||
endif
|
||||
|
||||
CC = $(CROSS_PREFIX)gcc
|
||||
CXX = $(CROSS_PREFIX)g++
|
||||
LD = $(CROSS_PREFIX)ld
|
||||
AR = $(CROSS_PREFIX)ar
|
||||
STRIP = $(CROSS_PREFIX)strip
|
||||
|
||||
ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC)))
|
||||
include $(COLOR_INC)
|
||||
else
|
||||
CC_V = $(CC)
|
||||
CXX_V = $(CXX)
|
||||
LD_V = $(LD)
|
||||
AR_V = $(AR)
|
||||
CP_V = $(CP)
|
||||
RM_V = $(RM)
|
||||
endif
|
||||
|
||||
CC_V ?= $(CC)
|
||||
CXX_V ?= $(CXX)
|
||||
LD_V ?= $(LD)
|
||||
AR_V ?= $(AR)
|
||||
CP_V ?= $(CP)
|
||||
RM_V ?= $(RM)
|
||||
|
||||
###############################################################################
|
||||
# target and object
|
||||
|
||||
Reference in New Issue
Block a user