Skip to content

Commit 1396d0a

Browse files
committed
提交代码 submit code
提交代码 submit code
1 parent 5bdcfd6 commit 1396d0a

38 files changed

+13986
-0
lines changed

include/librtmp/COPYING

+504
Large diffs are not rendered by default.

include/librtmp/Makefile

+121
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
VERSION=v2.4
2+
3+
prefix=/usr/local
4+
5+
incdir=$(prefix)/include/librtmp
6+
bindir=$(prefix)/bin
7+
libdir=$(prefix)/lib
8+
mandir=$(prefix)/man
9+
BINDIR=$(DESTDIR)$(bindir)
10+
INCDIR=$(DESTDIR)$(incdir)
11+
LIBDIR=$(DESTDIR)$(libdir)
12+
MANDIR=$(DESTDIR)$(mandir)
13+
14+
CC=$(CROSS_COMPILE)gcc
15+
LD=$(CROSS_COMPILE)ld
16+
AR=$(CROSS_COMPILE)ar
17+
18+
SYS=posix
19+
CRYPTO=OPENSSL
20+
#CRYPTO=GNUTLS
21+
DEF_POLARSSL=-DUSE_POLARSSL
22+
DEF_OPENSSL=-DUSE_OPENSSL
23+
DEF_GNUTLS=-DUSE_GNUTLS
24+
DEF_=-DNO_CRYPTO
25+
REQ_GNUTLS=gnutls,hogweed,nettle
26+
REQ_OPENSSL=libssl,libcrypto
27+
PUB_GNUTLS=-lgmp
28+
LIBZ=-lz
29+
LIBS_posix=
30+
LIBS_darwin=
31+
LIBS_mingw=-lws2_32 -lwinmm -lgdi32
32+
LIB_GNUTLS=-lgnutls -lhogweed -lnettle -lgmp $(LIBZ)
33+
LIB_OPENSSL=-lssl -lcrypto $(LIBZ)
34+
LIB_POLARSSL=-lpolarssl $(LIBZ)
35+
PRIVATE_LIBS=$(LIBS_$(SYS))
36+
CRYPTO_LIB=$(LIB_$(CRYPTO)) $(PRIVATE_LIBS)
37+
CRYPTO_REQ=$(REQ_$(CRYPTO))
38+
CRYPTO_DEF=$(DEF_$(CRYPTO))
39+
PUBLIC_LIBS=$(PUB_$(CRYPTO))
40+
41+
SO_VERSION=1
42+
SOX_posix=so
43+
SOX_darwin=dylib
44+
SOX_mingw=dll
45+
SOX=$(SOX_$(SYS))
46+
SO_posix=.$(SOX).$(SO_VERSION)
47+
SO_darwin=.$(SO_VERSION).$(SOX)
48+
SO_mingw=-$(SO_VERSION).$(SOX)
49+
SO_EXT=$(SO_$(SYS))
50+
51+
SODIR_posix=$(LIBDIR)
52+
SODIR_darwin=$(LIBDIR)
53+
SODIR_mingw=$(BINDIR)
54+
SODIR=$(SODIR_$(SYS))
55+
56+
SO_LDFLAGS_posix=-shared -Wl,-soname,$@
57+
SO_LDFLAGS_darwin=-dynamiclib -twolevel_namespace -undefined dynamic_lookup \
58+
-fno-common -headerpad_max_install_names -install_name $(libdir)/$@
59+
SO_LDFLAGS_mingw=-shared -Wl,--out-implib,librtmp.dll.a
60+
SO_LDFLAGS=$(SO_LDFLAGS_$(SYS))
61+
62+
INSTALL_IMPLIB_posix=
63+
INSTALL_IMPLIB_darwin=
64+
INSTALL_IMPLIB_mingw=cp librtmp.dll.a $(LIBDIR)
65+
INSTALL_IMPLIB=$(INSTALL_IMPLIB_$(SYS))
66+
67+
SHARED=yes
68+
SODEF_yes=-fPIC
69+
SOLIB_yes=librtmp$(SO_EXT)
70+
SOINST_yes=install_so
71+
SO_DEF=$(SODEF_$(SHARED))
72+
SO_LIB=$(SOLIB_$(SHARED))
73+
SO_INST=$(SOINST_$(SHARED))
74+
75+
DEF=-DRTMPDUMP_VERSION=\"$(VERSION)\" $(CRYPTO_DEF) $(XDEF)
76+
OPT=-O2
77+
CFLAGS=-Wall $(XCFLAGS) $(INC) $(DEF) $(OPT) $(SO_DEF)
78+
LDFLAGS=$(XLDFLAGS)
79+
80+
81+
OBJS=rtmp.o log.o amf.o hashswf.o parseurl.o
82+
83+
all: librtmp.a $(SO_LIB)
84+
85+
clean:
86+
rm -f *.o *.a *.$(SOX) *$(SO_EXT) librtmp.pc
87+
88+
librtmp.a: $(OBJS)
89+
$(AR) rs $@ $?
90+
91+
librtmp$(SO_EXT): $(OBJS)
92+
$(CC) $(SO_LDFLAGS) $(LDFLAGS) -o $@ $^ $> $(CRYPTO_LIB)
93+
ln -sf $@ librtmp.$(SOX)
94+
95+
log.o: log.c log.h Makefile
96+
rtmp.o: rtmp.c rtmp.h rtmp_sys.h handshake.h dh.h log.h amf.h Makefile
97+
amf.o: amf.c amf.h bytes.h log.h Makefile
98+
hashswf.o: hashswf.c http.h rtmp.h rtmp_sys.h Makefile
99+
parseurl.o: parseurl.c rtmp.h rtmp_sys.h log.h Makefile
100+
101+
librtmp.pc: librtmp.pc.in Makefile
102+
sed -e "s;@prefix@;$(prefix);" -e "s;@libdir@;$(libdir);" \
103+
-e "s;@VERSION@;$(VERSION);" \
104+
-e "s;@CRYPTO_REQ@;$(CRYPTO_REQ);" \
105+
-e "s;@PUBLIC_LIBS@;$(PUBLIC_LIBS);" \
106+
-e "s;@PRIVATE_LIBS@;$(PRIVATE_LIBS);" librtmp.pc.in > $@
107+
108+
install: install_base $(SO_INST)
109+
110+
install_base: librtmp.a librtmp.pc
111+
-mkdir -p $(INCDIR) $(LIBDIR)/pkgconfig $(MANDIR)/man3 $(SODIR)
112+
cp amf.h http.h log.h rtmp.h $(INCDIR)
113+
cp librtmp.a $(LIBDIR)
114+
cp librtmp.pc $(LIBDIR)/pkgconfig
115+
cp librtmp.3 $(MANDIR)/man3
116+
117+
install_so: librtmp$(SO_EXT)
118+
cp librtmp$(SO_EXT) $(SODIR)
119+
$(INSTALL_IMPLIB)
120+
cd $(SODIR); ln -sf librtmp$(SO_EXT) librtmp.$(SOX)
121+

0 commit comments

Comments
 (0)