summaryrefslogtreecommitdiffstats
path: root/rules/grpc.make
blob: 18aaff0cd3d5a1ac207468461ff62cea1b127004 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# -*-makefile-*-
#
# Copyright (C) 2018 by Clemens Gruber <clemens.gruber@pqgruber.com>
#
# See CREDITS for details about who has contributed to this project.
#
# For further information about the PTXdist project and license conditions
# see the README file.
#

#
# We provide this package
#
PACKAGES-$(PTXCONF_GRPC) += grpc

#
# Paths and names
#
GRPC_VERSION	:= 1.18.0
GRPC_MD5	:= 520c545189fad05966c147c42e8280cc
GRPC		:= grpc-$(GRPC_VERSION)
GRPC_SUFFIX	:= tar.gz
GRPC_URL	:= https://github.com/grpc/grpc/archive/v$(GRPC_VERSION).$(GRPC_SUFFIX)
GRPC_SOURCE	:= $(SRCDIR)/$(GRPC).$(GRPC_SUFFIX)
GRPC_DIR	:= $(BUILDDIR)/$(GRPC)
GRPC_LICENSE	:= BSD-3-Clause

# ----------------------------------------------------------------------------
# Prepare
# ----------------------------------------------------------------------------

#
# cmake
#
GRPC_CONF_TOOL	:= cmake

GRPC_CONF_OPT	:= \
	$(CROSS_CMAKE_USR) \
	-DBUILD_SHARED_LIBS=ON \
	-DCMAKE_CXX_FLAGS='-Wno-error=ignored-qualifiers' \
	-DgRPC_BACKWARDS_COMPATIBILITY_MODE=OFF \
	-DgRPC_BUILD_CSHARP_EXT=OFF \
	-DgRPC_BUILD_TESTS=OFF \
	-D_gRPC_CARES_LIBRARIES=cares \
	-DgRPC_CARES_PROVIDER=none \
	-DgRPC_PROTOBUF_PROVIDER=package \
	-DgRPC_SSL_PROVIDER=package \
	-DgRPC_ZLIB_PROVIDER=package \
	-DgRPC_NATIVE_CPP_PLUGIN=$(PTXDIST_SYSROOT_HOST)/bin/grpc_cpp_plugin \
	-DPROTOBUF_PROTOC_EXECUTABLE=$(PTXDIST_SYSROOT_HOST)/bin/protoc

# ----------------------------------------------------------------------------
# Install
# ----------------------------------------------------------------------------

$(STATEDIR)/grpc.install:
	@$(call targetinfo)
	@$(call world/install, GRPC)

	@install -d $(GRPC_PKGDIR)/usr/lib/pkgconfig/
	VERSION=$$(sed -n '/CORE_VERSION =/s/.*=\s*\(.*\)/\1/p' $(GRPC_DIR)/Makefile) \
		ptxd_replace_magic $(GRPC_DIR)/grpc.pc.in > \
		$(GRPC_PKGDIR)/usr/lib/pkgconfig/grpc.pc
	VERSION=$$(sed -n '/CPP_VERSION =/s/.*=\s*\(.*\)/\1/p' $(GRPC_DIR)/Makefile) \
		ptxd_replace_magic $(GRPC_DIR)/grpc++.pc.in > \
		$(GRPC_PKGDIR)/usr/lib/pkgconfig/grpc++.pc

	@$(call touch)

# ----------------------------------------------------------------------------
# Target-Install
# ----------------------------------------------------------------------------

$(STATEDIR)/grpc.targetinstall:
	@$(call targetinfo)

	@$(call install_init, grpc)
	@$(call install_fixup, grpc,PRIORITY,optional)
	@$(call install_fixup, grpc,SECTION,base)
	@$(call install_fixup, grpc,AUTHOR,"Clemens Gruber <clemens.gruber@pqgruber.com>")
	@$(call install_fixup, grpc,DESCRIPTION,missing)

	@$(call install_lib, grpc, 0, 0, 0644, libaddress_sorting)
	@$(call install_lib, grpc, 0, 0, 0644, libgpr)
	@$(call install_lib, grpc, 0, 0, 0644, libgrpc)
	@$(call install_lib, grpc, 0, 0, 0644, libgrpc++)

	@$(call install_finish, grpc)

	@$(call touch)

# vim: syntax=make