summaryrefslogtreecommitdiffstats
path: root/src/libssh.mk
diff options
context:
space:
mode:
authorTony Theodore <tonyt@logyst.com>2017-10-29 00:47:59 (GMT)
committerTony Theodore <tonyt@logyst.com>2017-10-29 01:27:01 (GMT)
commit817b81d7c5f0e9032a7b88a9457d054164a32214 (patch)
treef5db2342742b04db921c7b4527068af867b4a65e /src/libssh.mk
parentf4440b7aeba2b8194b5b3b7ba178dd77b4d4a2c4 (diff)
downloadmxe-817b81d7c5f0e9032a7b88a9457d054164a32214.zip
mxe-817b81d7c5f0e9032a7b88a9457d054164a32214.tar.gz
mxe-817b81d7c5f0e9032a7b88a9457d054164a32214.tar.bz2
add package libssh
Another SSH library with different focus (and distinct headers/libs). See: https://www.libssh2.org/libssh2-vs-libssh.html
Diffstat (limited to 'src/libssh.mk')
-rw-r--r--src/libssh.mk61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/libssh.mk b/src/libssh.mk
new file mode 100644
index 0000000..e6d95f3
--- /dev/null
+++ b/src/libssh.mk
@@ -0,0 +1,61 @@
+# This file is part of MXE. See LICENSE.md for licensing information.
+
+PKG := libssh
+$(PKG)_WEBSITE := https://www.libssh.org
+$(PKG)_DESCR := SSHv2 and SSHv1 protocol on client and server side
+$(PKG)_IGNORE :=
+$(PKG)_VERSION := 0.7.5
+$(PKG)_CHECKSUM := d275b1b3622c36efacfac748d5eecaf0e80349a551f72abb6ce5afa8c2e6b784
+$(PKG)_SUBDIR := libssh-$($(PKG)_VERSION)
+$(PKG)_FILE := libssh-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL := https://git.libssh.org/projects/libssh.git/snapshot/libssh-$($(PKG)_VERSION).tar.gz
+$(PKG)_DEPS := gcc openssl zlib
+
+define $(PKG)_UPDATE
+ $(WGET) -q -O- 'https://git.libssh.org/projects/libssh.git/refs/tags' | \
+ $(SED) -n "s,.*>libssh-\([0-9]*\.[^<]*\)\.tar.*,\1,p" | \
+ $(SORT) -Vr | \
+ head -1
+endef
+
+define $(PKG)_BUILD
+ # build and install the library
+ cd '$(BUILD_DIR)' && $(TARGET)-cmake '$(SOURCE_DIR)' \
+ -DWITH_STATIC_LIB=$(CMAKE_STATIC_BOOL) \
+ -DWITH_SHARED_LIB=$(CMAKE_SHARED_BOOL) \
+ -DWITH_BENCHMARKS=OFF \
+ -DWITH_CLIENT_TESTING=OFF \
+ -DWITH_DEBUG_CALLTRACE=OFF \
+ -DWITH_DEBUG_CRYPTO=OFF \
+ -DWITH_EXAMPLES=OFF \
+ -DWITH_GCRYPT=OFF \
+ -DWITH_GSSAPI=OFF \
+ -DWITH_INTERNAL_DOC=OFF \
+ -DWITH_NACL=OFF \
+ -DWITH_PCAP=OFF \
+ -DWITH_SERVER=ON \
+ -DWITH_SFTP=ON \
+ -DWITH_SSH1=ON \
+ -DWITH_TESTING=OFF \
+ -DWITH_ZLIB=ON
+
+ $(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)'
+ $(MAKE) -C '$(BUILD_DIR)' -j 1 install
+
+ # create pkg-config file
+ $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib/pkgconfig'
+ (echo 'Name: $(PKG)'; \
+ echo 'Version: $($(PKG)_VERSION)'; \
+ echo 'Description: libssh'; \
+ echo 'Requires: openssl'; \
+ echo 'Libs: -lssh'; \
+ echo 'Cflags.private: -DLIBSSH_STATIC';) \
+ > '$(PREFIX)/$(TARGET)/lib/pkgconfig/$(PKG).pc'
+
+ # compile test
+ '$(TARGET)-gcc' \
+ -W -Wall -Werror -pedantic \
+ $(SOURCE_DIR)/examples/{authentication.c,knownhosts.c,connect_ssh.c,exec.c} \
+ -o '$(PREFIX)/$(TARGET)/bin/test-$(PKG).exe' \
+ `'$(TARGET)-pkg-config' $(PKG) --cflags --libs`
+endef