!1 Init package
From: @Peanut_Huang Reviewed-by: @hubble_zhu Signed-off-by: @hubble_zhu
This commit is contained in:
commit
a90a26bc86
234
0001-add-makefile.patch
Normal file
234
0001-add-makefile.patch
Normal file
@ -0,0 +1,234 @@
|
||||
From 777db45e3ae9c17abf397daf79a129ad5ed1e0cf Mon Sep 17 00:00:00 2001
|
||||
From: peanut_huang <huangliming5@huawei.com>
|
||||
Date: Mon, 30 Nov 2020 06:53:46 +0000
|
||||
Subject: [PATCH] add makefile
|
||||
|
||||
Signed-off-by: peanut_huang <huangliming5@huawei.com>
|
||||
---
|
||||
src/Makefile | 60 ++++++++++++++++++++++++++++
|
||||
src/api/dir.mk | 3 ++
|
||||
src/core/dir.mk | 6 +++
|
||||
src/include/arch/cc.h | 7 ++++
|
||||
src/include/arch/sys_arch.h | 7 ++++
|
||||
src/include/lwipopts.h | 80 +++++++++++++++++++++++++++++++++++++
|
||||
src/netif/dir.mk | 3 ++
|
||||
7 files changed, 166 insertions(+)
|
||||
create mode 100644 src/Makefile
|
||||
create mode 100644 src/api/dir.mk
|
||||
create mode 100644 src/core/dir.mk
|
||||
create mode 100644 src/include/arch/cc.h
|
||||
create mode 100644 src/include/arch/sys_arch.h
|
||||
create mode 100644 src/include/lwipopts.h
|
||||
create mode 100644 src/netif/dir.mk
|
||||
|
||||
diff --git a/src/Makefile b/src/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..3ecf8d2
|
||||
--- /dev/null
|
||||
+++ b/src/Makefile
|
||||
@@ -0,0 +1,60 @@
|
||||
+LWIP_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
|
||||
+ROOT_DIR := $(dir $(abspath $(LWIP_DIR)))
|
||||
+
|
||||
+LWIP_INC = $(LWIP_DIR)/include
|
||||
+#DPDK_INCLUDE_FILE ?= /usr/include/dpdk
|
||||
+
|
||||
+SEC_FLAGS = -fstack-protector-strong -Werror -Wall -Wl,-z,relro,-z,now -Wl,-z,noexecstack -Wtrampolines -fPIC
|
||||
+
|
||||
+CC = gcc
|
||||
+AR = ar
|
||||
+OPTIMIZATION = -O3
|
||||
+INC = -I$(LWIP_DIR) \
|
||||
+ -I$(LWIP_INC)
|
||||
+
|
||||
+CFLAGS = -g $(OPTIMIZATION) $(INC) $(SEC_FLAGS)
|
||||
+ARFLAGS = crDP
|
||||
+
|
||||
+ifeq ($(shell $(CC) -dumpmachine | cut -d"-" -f1), x86_64)
|
||||
+ CFLAGS += -mssse3
|
||||
+endif
|
||||
+
|
||||
+SRCS =
|
||||
+DIRS = api core netif
|
||||
+
|
||||
+define register_dir
|
||||
+SRCS += $(patsubst %, $(1)/%, $(2))
|
||||
+endef
|
||||
+
|
||||
+include $(patsubst %, %/dir.mk, $(DIRS))
|
||||
+
|
||||
+OBJS = $(subst .c,.o,$(SRCS))
|
||||
+TMPS := $(subst .c,.s,$(SRCS))
|
||||
+TMPS += $(subst .c,.i,$(SRCS))
|
||||
+
|
||||
+LWIP_LIB = liblwip.a
|
||||
+
|
||||
+INSTALL_LIB = $(DESTDIR)/usr/lib64
|
||||
+INSTALL_INC = $(DESTDIR)/usr/include/lwip
|
||||
+
|
||||
+.PHONY: all
|
||||
+all: $(LWIP_LIB)
|
||||
+
|
||||
+.depend: $(SRCS)
|
||||
+ rm -f ./.depend
|
||||
+ $(foreach SRC,$(SRCS),$(CC) $(CFLAGS) -MM -MT $(SRC:.c=.o) $(SRC) >> .depend;)
|
||||
+
|
||||
+-include .depend
|
||||
+
|
||||
+$(LWIP_LIB): $(OBJS)
|
||||
+ $(AR) $(ARFLAGS) $@ $(OBJS)
|
||||
+
|
||||
+.PHONY: install
|
||||
+install:
|
||||
+ install -dp $(INSTALL_LIB) $(INSTALL_INC)
|
||||
+ install -Dp $(LWIP_DIR)/$(LWIP_LIB) $(INSTALL_LIB)
|
||||
+ cp -pr $(LWIP_INC)/* $(INSTALL_INC)/
|
||||
+
|
||||
+.PHONY: clean
|
||||
+clean:
|
||||
+ $(RM) $(LWIP_LIB) $(OBJS) $(TMPS) .depend
|
||||
diff --git a/src/api/dir.mk b/src/api/dir.mk
|
||||
new file mode 100644
|
||||
index 0000000..72142ab
|
||||
--- /dev/null
|
||||
+++ b/src/api/dir.mk
|
||||
@@ -0,0 +1,3 @@
|
||||
+SRC = api_lib.c api_msg.c err.c netbuf.c netdb.c netifapi.c sockets.c tcpip.c
|
||||
+
|
||||
+$(eval $(call register_dir, api, $(SRC)))
|
||||
diff --git a/src/core/dir.mk b/src/core/dir.mk
|
||||
new file mode 100644
|
||||
index 0000000..e5a055b
|
||||
--- /dev/null
|
||||
+++ b/src/core/dir.mk
|
||||
@@ -0,0 +1,6 @@
|
||||
+SRC = inet_chksum.c init.c ip.c mem.c memp.c netif.c pbuf.c \
|
||||
+ raw.c stats.c tcp.c tcp_in.c tcp_out.c timeouts.c udp.c \
|
||||
+ ipv4/etharp.c ipv4/icmp.c ipv4/ip4_addr.c ipv4/ip4.c \
|
||||
+ ipv4/ip4_frag.c
|
||||
+
|
||||
+$(eval $(call register_dir, core, $(SRC)))
|
||||
diff --git a/src/include/arch/cc.h b/src/include/arch/cc.h
|
||||
new file mode 100644
|
||||
index 0000000..52b76f9
|
||||
--- /dev/null
|
||||
+++ b/src/include/arch/cc.h
|
||||
@@ -0,0 +1,7 @@
|
||||
+#ifndef LWIP_CC_H
|
||||
+#define LWIP_CC_H
|
||||
+
|
||||
+
|
||||
+
|
||||
+#endif /* LWIP_CC_H */
|
||||
+
|
||||
diff --git a/src/include/arch/sys_arch.h b/src/include/arch/sys_arch.h
|
||||
new file mode 100644
|
||||
index 0000000..3f555ee
|
||||
--- /dev/null
|
||||
+++ b/src/include/arch/sys_arch.h
|
||||
@@ -0,0 +1,7 @@
|
||||
+#ifndef LWIP_SYS_ARCH_H
|
||||
+#define LWIP_SYS_ARCH_H
|
||||
+
|
||||
+
|
||||
+
|
||||
+#endif /* LWIP_SYS_ARCH_H */
|
||||
+
|
||||
diff --git a/src/include/lwipopts.h b/src/include/lwipopts.h
|
||||
new file mode 100644
|
||||
index 0000000..4ab26f2
|
||||
--- /dev/null
|
||||
+++ b/src/include/lwipopts.h
|
||||
@@ -0,0 +1,80 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2001-2003 Swedish Institute of Computer Science.
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without modification,
|
||||
+ * are permitted provided that the following conditions are met:
|
||||
+ *
|
||||
+ * 1. Redistributions of source code must retain the above copyright notice,
|
||||
+ * this list of conditions and the following disclaimer.
|
||||
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
+ * this list of conditions and the following disclaimer in the documentation
|
||||
+ * and/or other materials provided with the distribution.
|
||||
+ * 3. The name of the author may not be used to endorse or promote products
|
||||
+ * derived from this software without specific prior written permission.
|
||||
+ *
|
||||
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
|
||||
+ * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
||||
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
||||
+ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
||||
+ * OF SUCH DAMAGE.
|
||||
+ *
|
||||
+ * This file is part of the lwIP TCP/IP stack.
|
||||
+ *
|
||||
+ * Author: Simon Goldschmidt
|
||||
+ *
|
||||
+ */
|
||||
+#ifndef LWIP_HDR_LWIPOPTS_H__
|
||||
+#define LWIP_HDR_LWIPOPTS_H__
|
||||
+
|
||||
+/* Prevent having to link sys_arch.c (we don't test the API layers in unit tests) */
|
||||
+#define NO_SYS 1
|
||||
+#define LWIP_NETCONN 0
|
||||
+#define LWIP_SOCKET 0
|
||||
+#define SYS_LIGHTWEIGHT_PROT 0
|
||||
+
|
||||
+#define LWIP_IPV6 1
|
||||
+#define IPV6_FRAG_COPYHEADER 1
|
||||
+#define LWIP_IPV6_DUP_DETECT_ATTEMPTS 0
|
||||
+
|
||||
+/* Enable some protocols to test them */
|
||||
+#define LWIP_DHCP 1
|
||||
+#define LWIP_AUTOIP 1
|
||||
+
|
||||
+#define LWIP_IGMP 1
|
||||
+#define LWIP_DNS 1
|
||||
+
|
||||
+#define LWIP_ALTCP 1
|
||||
+
|
||||
+/* Turn off checksum verification of fuzzed data */
|
||||
+#define CHECKSUM_CHECK_IP 0
|
||||
+#define CHECKSUM_CHECK_UDP 0
|
||||
+#define CHECKSUM_CHECK_TCP 0
|
||||
+#define CHECKSUM_CHECK_ICMP 0
|
||||
+#define CHECKSUM_CHECK_ICMP6 0
|
||||
+
|
||||
+/* Minimal changes to opt.h required for tcp unit tests: */
|
||||
+#define MEM_SIZE 16000
|
||||
+#define TCP_SND_QUEUELEN 40
|
||||
+#define MEMP_NUM_TCP_SEG TCP_SND_QUEUELEN
|
||||
+#define TCP_OVERSIZE 1
|
||||
+#define TCP_SND_BUF (12 * TCP_MSS)
|
||||
+#define TCP_WND (10 * TCP_MSS)
|
||||
+#define LWIP_WND_SCALE 1
|
||||
+#define TCP_RCV_SCALE 2
|
||||
+#define PBUF_POOL_SIZE 400 /* pbuf tests need ~200KByte */
|
||||
+
|
||||
+/* Minimal changes to opt.h required for etharp unit tests: */
|
||||
+#define ETHARP_SUPPORT_STATIC_ENTRIES 1
|
||||
+
|
||||
+#define LWIP_NUM_NETIF_CLIENT_DATA 1
|
||||
+#define LWIP_SNMP 1
|
||||
+#define MIB2_STATS 1
|
||||
+#define LWIP_MDNS_RESPONDER 1
|
||||
+
|
||||
+#endif /* LWIP_HDR_LWIPOPTS_H__ */
|
||||
diff --git a/src/netif/dir.mk b/src/netif/dir.mk
|
||||
new file mode 100644
|
||||
index 0000000..233c79a
|
||||
--- /dev/null
|
||||
+++ b/src/netif/dir.mk
|
||||
@@ -0,0 +1,3 @@
|
||||
+SRC = ethernet.c
|
||||
+
|
||||
+$(eval $(call register_dir, netif, $(SRC)))
|
||||
--
|
||||
2.23.0
|
||||
|
||||
BIN
lwip-2.1.2.zip
Normal file
BIN
lwip-2.1.2.zip
Normal file
Binary file not shown.
44
lwip.spec
Normal file
44
lwip.spec
Normal file
@ -0,0 +1,44 @@
|
||||
%global debug_package %{nil}
|
||||
%global __os_install_post %{nil}
|
||||
|
||||
Summary: lwip is a small independent implementation of the TCP/IP protocol suite
|
||||
Name: lwip
|
||||
Version: 2.1.2
|
||||
Release: 0
|
||||
License: BSD
|
||||
URL: http://savannah.nongnu.org/projects/lwip/
|
||||
Source0: http://download.savannah.nongnu.org/releases/lwip/%{name}-%{version}.zip
|
||||
|
||||
Patch0: 0001-add-makefile.patch
|
||||
|
||||
BuildRequires: gcc-c++ dos2unix
|
||||
|
||||
#Requires:
|
||||
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
|
||||
%description
|
||||
lwip is a small independent implementation of the TCP/IP protocol suite.
|
||||
|
||||
%prep
|
||||
%setup -n %{name}-%{version} -q
|
||||
find %{_builddir}/%{name}-%{version} -type f -exec dos2unix -q {} \;
|
||||
|
||||
%patch0 -p1
|
||||
|
||||
%build
|
||||
cd %{_builddir}/%{name}-%{version}/src
|
||||
%make_build
|
||||
|
||||
%install
|
||||
cd %{_builddir}/%{name}-%{version}/src
|
||||
%make_install
|
||||
|
||||
%files
|
||||
%defattr(0644,root,root)
|
||||
%{_includedir}/lwip
|
||||
%{_libdir}/liblwip.a
|
||||
|
||||
%changelog
|
||||
* Mon Nov 30 2020 peanut_huang<huangliming5@huawei.com> - 2.1.2-0
|
||||
- Init package
|
||||
Loading…
x
Reference in New Issue
Block a user