mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-03-07 06:09:42 +00:00
Compare commits
4 Commits
ed2f92f49c
...
static-bui
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a7a882582f | ||
|
|
250696a7b5 | ||
|
|
af7905744e | ||
|
|
db2364e9aa |
26
.github/workflows/build.yml
vendored
26
.github/workflows/build.yml
vendored
@@ -5,7 +5,7 @@ on: [push, pull_request]
|
|||||||
jobs:
|
jobs:
|
||||||
build-make:
|
build-make:
|
||||||
name: Make with USE_UPNP=${{ matrix.with_upnp }}
|
name: Make with USE_UPNP=${{ matrix.with_upnp }}
|
||||||
runs-on: ubuntu-18.04
|
runs-on: ubuntu-20.04
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: true
|
fail-fast: true
|
||||||
matrix:
|
matrix:
|
||||||
@@ -14,14 +14,13 @@ jobs:
|
|||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: install packages
|
- name: install packages
|
||||||
run: |
|
run: |
|
||||||
sudo add-apt-repository ppa:mhier/libboost-latest
|
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install build-essential libboost1.74-dev libminiupnpc-dev libssl-dev zlib1g-dev
|
sudo apt-get install build-essential libboost-all-dev libminiupnpc-dev libssl-dev zlib1g-dev
|
||||||
- name: build application
|
- name: build application
|
||||||
run: make USE_UPNP=${{ matrix.with_upnp }} -j3
|
run: make USE_UPNP=${{ matrix.with_upnp }} -j3
|
||||||
build-cmake:
|
build-cmake:
|
||||||
name: CMake with -DWITH_UPNP=${{ matrix.with_upnp }}
|
name: CMake with -DWITH_UPNP=${{ matrix.with_upnp }}
|
||||||
runs-on: ubuntu-18.04
|
runs-on: ubuntu-20.04
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: true
|
fail-fast: true
|
||||||
matrix:
|
matrix:
|
||||||
@@ -30,11 +29,26 @@ jobs:
|
|||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: install packages
|
- name: install packages
|
||||||
run: |
|
run: |
|
||||||
sudo add-apt-repository ppa:mhier/libboost-latest
|
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install build-essential cmake libboost1.74-dev libminiupnpc-dev libssl-dev zlib1g-dev
|
sudo apt-get install build-essential cmake libboost-all-dev libminiupnpc-dev libssl-dev zlib1g-dev
|
||||||
- name: build application
|
- name: build application
|
||||||
run: |
|
run: |
|
||||||
cd build
|
cd build
|
||||||
cmake -DWITH_UPNP=${{ matrix.with_upnp }} .
|
cmake -DWITH_UPNP=${{ matrix.with_upnp }} .
|
||||||
make -j3
|
make -j3
|
||||||
|
build-static:
|
||||||
|
name: Static build with UPnP
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: install packages
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install build-essential libboost-all-dev libminiupnpc-dev libssl-dev zlib1g-dev
|
||||||
|
- name: build application
|
||||||
|
run: make DEBUG=no USE_STATIC=yes USE_UPNP=yes -j`nproc`
|
||||||
|
- name: Upload artifacts
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: i2pd-amd64-static
|
||||||
|
path: i2pd
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ else ifeq ($(shell expr match ${CXXVER} "[5-6]"),1) # gcc 5 - 6
|
|||||||
else ifeq ($(shell expr match ${CXXVER} "[7-9]"),1) # gcc 7 - 9
|
else ifeq ($(shell expr match ${CXXVER} "[7-9]"),1) # gcc 7 - 9
|
||||||
NEEDED_CXXFLAGS += -std=c++17
|
NEEDED_CXXFLAGS += -std=c++17
|
||||||
LDLIBS = -latomic
|
LDLIBS = -latomic
|
||||||
else ifeq ($(shell expr match ${CXXVER} "1[0-9]"),2) # gcc 10 - 19
|
else ifeq ($(shell expr match ${CXXVER} "1[0-9]"),2) # gcc 10+
|
||||||
# NEEDED_CXXFLAGS += -std=c++20
|
# NEEDED_CXXFLAGS += -std=c++20
|
||||||
NEEDED_CXXFLAGS += -std=c++17
|
NEEDED_CXXFLAGS += -std=c++17
|
||||||
LDLIBS = -latomic
|
LDLIBS = -latomic
|
||||||
@@ -33,34 +33,23 @@ endif
|
|||||||
|
|
||||||
NEEDED_CXXFLAGS += -fPIC
|
NEEDED_CXXFLAGS += -fPIC
|
||||||
|
|
||||||
ifeq ($(USE_STATIC),yes)
|
LDLIBS += -lboost_system -lboost_date_time -lboost_filesystem -lboost_program_options -lssl -lcrypto -lz
|
||||||
# NOTE: on glibc you will get this warning:
|
|
||||||
# Using 'getaddrinfo' in statically linked applications requires at runtime
|
|
||||||
# the shared libraries from the glibc version used for linking
|
|
||||||
LIBDIR := /usr/lib/$(SYS)
|
|
||||||
LDLIBS += $(LIBDIR)/libboost_system.a
|
|
||||||
LDLIBS += $(LIBDIR)/libboost_date_time.a
|
|
||||||
LDLIBS += $(LIBDIR)/libboost_filesystem.a
|
|
||||||
LDLIBS += $(LIBDIR)/libboost_program_options.a
|
|
||||||
LDLIBS += $(LIBDIR)/libssl.a
|
|
||||||
LDLIBS += $(LIBDIR)/libcrypto.a
|
|
||||||
LDLIBS += $(LIBDIR)/libz.a
|
|
||||||
ifeq ($(USE_UPNP),yes)
|
|
||||||
LDLIBS += $(LIBDIR)/libminiupnpc.a
|
|
||||||
endif
|
|
||||||
LDLIBS += -lpthread -ldl
|
|
||||||
else
|
|
||||||
LDLIBS += -lcrypto -lssl -lz -lboost_system -lboost_date_time -lboost_filesystem -lboost_program_options -lpthread
|
|
||||||
ifeq ($(USE_UPNP),yes)
|
|
||||||
LDLIBS += -lminiupnpc
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
# UPNP Support (miniupnpc 1.5 and higher)
|
# UPNP Support (miniupnpc 1.5 and higher)
|
||||||
ifeq ($(USE_UPNP),yes)
|
ifeq ($(USE_UPNP),yes)
|
||||||
|
LDLIBS += -lminiupnpc
|
||||||
NEEDED_CXXFLAGS += -DUSE_UPNP
|
NEEDED_CXXFLAGS += -DUSE_UPNP
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# NOTE: on glibc you will get this warning:
|
||||||
|
# Using 'getaddrinfo' in statically linked applications requires at runtime
|
||||||
|
# the shared libraries from the glibc version used for linking
|
||||||
|
ifeq ($(USE_STATIC),yes)
|
||||||
|
LDLIBS += -static -ldl -lpthread -static-libgcc -static-libstdc++
|
||||||
|
else
|
||||||
|
LDLIBS += -lpthread
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(USE_AESNI),yes)
|
ifeq ($(USE_AESNI),yes)
|
||||||
ifneq (, $(findstring i386, $(SYS))$(findstring i686, $(SYS))$(findstring x86_64, $(SYS))) # only x86-based CPU supports that
|
ifneq (, $(findstring i386, $(SYS))$(findstring i686, $(SYS))$(findstring x86_64, $(SYS))) # only x86-based CPU supports that
|
||||||
NEEDED_CXXFLAGS += -D__AES__ -maes
|
NEEDED_CXXFLAGS += -D__AES__ -maes
|
||||||
|
|||||||
Reference in New Issue
Block a user