summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBoris Nagaev <bnagaev@gmail.com>2016-12-01 21:36:26 (GMT)
committerGitHub <noreply@github.com>2016-12-01 21:36:26 (GMT)
commit783dc94a0db6f7e4ebdfbd4199a01f3079f5c3ea (patch)
treea6d61ddebf7cb474e8ece0905d12a0af5a474a82
parentb67f64688323a0403d26525f6c7146d638c31b5b (diff)
parent113781a492f2bf3d4ad0421af501dd422f60c3a7 (diff)
downloadmxe-783dc94a0db6f7e4ebdfbd4199a01f3079f5c3ea.zip
mxe-783dc94a0db6f7e4ebdfbd4199a01f3079f5c3ea.tar.gz
mxe-783dc94a0db6f7e4ebdfbd4199a01f3079f5c3ea.tar.bz2
Merge pull request #1561 from LuaAndC/protobuf-native
protobuf: update to 3.1.0 and compile host protoc as native package
-rw-r--r--docs/index.html8
-rw-r--r--src/googlemock.mk15
-rw-r--r--src/googletest.mk16
-rw-r--r--src/protobuf.mk45
4 files changed, 64 insertions, 20 deletions
diff --git a/docs/index.html b/docs/index.html
index c5895ac..34a44d7 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -1455,6 +1455,14 @@ local-pkg-list: $(LOCAL_PKG_LIST)</pre>
<td class="website"><a href="https://www.gnu.org/software/gnutls/">GnuTLS</a></td>
</tr>
<tr>
+ <td class="package">googlemock</td>
+ <td class="website"><a href="https://github.com/google/googlemock">Google Mock</a></td>
+ </tr>
+ <tr>
+ <td class="package">googletest</td>
+ <td class="website"><a href="https://github.com/google/googletest">Google Test</a></td>
+ </tr>
+ <tr>
<td class="package">graphicsmagick</td>
<td class="website"><a href="http://www.graphicsmagick.org/">GraphicsMagick</a></td>
</tr>
diff --git a/src/googlemock.mk b/src/googlemock.mk
new file mode 100644
index 0000000..119d250
--- /dev/null
+++ b/src/googlemock.mk
@@ -0,0 +1,15 @@
+# This file is part of MXE. See LICENSE.md for licensing information.
+
+PKG := googlemock
+$(PKG)_IGNORE :=
+$(PKG)_VERSION := 1.7.0
+$(PKG)_CHECKSUM := 3f20b6acb37e5a98e8c4518165711e3e35d47deb6cdb5a4dd4566563b5efd232
+$(PKG)_SUBDIR := googlemock-release-$($(PKG)_VERSION)
+$(PKG)_FILE := googlemock-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL := https://github.com/google/googlemock/archive/release-$($(PKG)_VERSION).tar.gz
+$(PKG)_DEPS :=
+$(PKG)_TARGETS := $(BUILD) $(MXE_TARGETS)
+
+define $(PKG)_UPDATE
+ $(call MXE_GET_GITHUB_TAGS, google/googlemock, release-)
+endef
diff --git a/src/googletest.mk b/src/googletest.mk
new file mode 100644
index 0000000..2825c0d
--- /dev/null
+++ b/src/googletest.mk
@@ -0,0 +1,16 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG := googletest
+$(PKG)_IGNORE :=
+$(PKG)_VERSION := 1.7.0
+$(PKG)_CHECKSUM := f73a6546fdf9fce9ff93a5015e0333a8af3062a152a9ad6bcb772c96687016cc
+$(PKG)_SUBDIR := $(PKG)-release-$($(PKG)_VERSION)
+$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL := https://github.com/google/$(PKG)/archive/release-$($(PKG)_VERSION).tar.gz
+$(PKG)_DEPS :=
+$(PKG)_TARGETS := $(BUILD) $(MXE_TARGETS)
+
+define $(PKG)_UPDATE
+ $(call MXE_GET_GITHUB_TAGS, google/googletest, release-)
+endef
diff --git a/src/protobuf.mk b/src/protobuf.mk
index d3b87d3..da52a9f 100644
--- a/src/protobuf.mk
+++ b/src/protobuf.mk
@@ -2,34 +2,39 @@
PKG := protobuf
$(PKG)_IGNORE :=
-$(PKG)_VERSION := 2.6.1
-$(PKG)_CHECKSUM := dbbd7bdd2381633995404de65a945ff1a7610b0da14593051b4738c90c6dd164
+$(PKG)_VERSION := 3.1.0
+$(PKG)_CHECKSUM := 0a0ae63cbffc274efb573bdde9a253e3f32e458c41261df51c5dbc5ad541e8f7
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL := https://github.com/google/protobuf/releases/download/v$($(PKG)_VERSION)/$($(PKG)_FILE)
-$(PKG)_DEPS := gcc zlib
+$(PKG)_URL := https://github.com/google/$(PKG)/archive/v$($(PKG)_VERSION).tar.gz
+$(PKG)_DEPS := gcc zlib googlemock googletest
+$(PKG)_TARGETS := $(BUILD) $(MXE_TARGETS)
+$(PKG)_DEPS_$(BUILD) := googlemock googletest
define $(PKG)_UPDATE
$(call MXE_GET_GITHUB_TAGS, google/protobuf, v)
endef
define $(PKG)_BUILD
-# First step: Build for host system in order to create "protoc" binary.
- cd '$(1)' && ./configure \
- --disable-shared
- $(MAKE) -C '$(1)' -j '$(JOBS)'
- cp '$(1)/src/protoc' '$(PREFIX)/bin/$(TARGET)-protoc'
- $(MAKE) -C '$(1)' -j 1 distclean
-# Second step: Build for target system.
- cd '$(1)' && ./configure \
+ $(call PREPARE_PKG_SOURCE,googlemock,$(SOURCE_DIR))
+ cd '$(SOURCE_DIR)' && mv '$(googlemock_SUBDIR)' gmock
+ $(call PREPARE_PKG_SOURCE,googletest,$(SOURCE_DIR))
+ cd '$(SOURCE_DIR)' && mv '$(googletest_SUBDIR)' gmock/gtest
+ cd '$(SOURCE_DIR)' && ./autogen.sh
+
+ cd '$(BUILD_DIR)' && '$(SOURCE_DIR)'/configure \
$(MXE_CONFIGURE_OPTS) \
- --with-zlib \
- --with-protoc='$(PREFIX)/bin/$(TARGET)-protoc'
- $(MAKE) -C '$(1)' -j '$(JOBS)'
- $(MAKE) -C '$(1)' -j 1 install
+ $(if $(BUILD_CROSS), \
+ --with-zlib \
+ --with-protoc='$(PREFIX)/$(BUILD)/bin/protoc' \
+ )
+ $(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)'
+ $(MAKE) -C '$(BUILD_DIR)' -j 1 install
- '$(TARGET)-g++' \
- -W -Wall -Werror -ansi -pedantic \
- '$(TEST_FILE)' -o '$(PREFIX)/$(TARGET)/bin/test-protobuf.exe' \
- `'$(TARGET)-pkg-config' protobuf --cflags --libs`
+ $(if $(BUILD_CROSS),
+ '$(TARGET)-g++' \
+ -W -Wall -Werror -ansi -pedantic \
+ '$(TEST_FILE)' -o '$(PREFIX)/$(TARGET)/bin/test-protobuf.exe' \
+ `'$(TARGET)-pkg-config' protobuf --cflags --libs`
+ )
endef