summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Theodore <tonyt@logyst.com>2018-03-01 06:52:29 (GMT)
committerTony Theodore <tonyt@logyst.com>2018-03-06 10:31:04 (GMT)
commitddd0d9eddf9d1fe4498c56fee34939100b10aaff (patch)
tree4cc0e85e49553948218979a47aa252351fb7b992
parent712ac297d599bc86ae24079ee0965f4a5758ec5c (diff)
downloadmxe-ddd0d9eddf9d1fe4498c56fee34939100b10aaff.zip
mxe-ddd0d9eddf9d1fe4498c56fee34939100b10aaff.tar.gz
mxe-ddd0d9eddf9d1fe4498c56fee34939100b10aaff.tar.bz2
libechonest: switch to qt5 and enable static
-rw-r--r--plugins/qt4/qt4-overlay.mk5
-rw-r--r--src/libechonest-1-fixes.patch84
-rw-r--r--src/libechonest.mk35
3 files changed, 100 insertions, 24 deletions
diff --git a/plugins/qt4/qt4-overlay.mk b/plugins/qt4/qt4-overlay.mk
index 0271ea2..3ac019e 100644
--- a/plugins/qt4/qt4-overlay.mk
+++ b/plugins/qt4/qt4-overlay.mk
@@ -2,6 +2,11 @@
# override relevant package variables to build against Qt 4 instead of 5
+PKG := libechonest
+$(PKG)_DEPS := $(filter-out qtbase ,$($(PKG)_DEPS)) qt qjson
+$(PKG)_QT_SUFFIX := 4
+$(PKG)_QT4_BOOL := ON
+
PKG := openscenegraph
$(PKG)_DEPS := $(filter-out qtbase ,$($(PKG)_DEPS)) qt
diff --git a/src/libechonest-1-fixes.patch b/src/libechonest-1-fixes.patch
new file mode 100644
index 0000000..c495700
--- /dev/null
+++ b/src/libechonest-1-fixes.patch
@@ -0,0 +1,84 @@
+This file is part of MXE. See LICENSE.md for licensing information.
+
+Contains ad hoc patches for cross building.
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Tony Theodore <tonyt@logyst.com>
+Date: Sat, 24 Feb 2018 14:46:16 +1100
+Subject: [PATCH 1/1] enable static, install *.pc, standard include dir
+
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1111111..2222222 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -11,6 +11,11 @@ set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO
+ option(ECHONEST_BUILD_TESTS "Build all unit tests" ON)
+ option(BUILD_WITH_QT4 "Build libechonest with Qt4 no matter if Qt5 was found" ON)
+
++if(NOT BUILD_SHARED)
++ add_definitions(-DECHONEST_STATIC)
++ set(ECHONEST_PC_CFLAGS "-DECHONEST_STATIC")
++endif()
++
+ if( NOT BUILD_WITH_QT4 )
+ find_package(Qt5Core QUIET)
+ # CMAKE 2.8.13+/3.0.0+ requires these for IMPORTed targets
+@@ -105,7 +110,7 @@ endif( APPLE )
+ SET (LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" )
+ SET (LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE STRING "Directory where lib will install")
+ SET (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "The directory the headers are installed in")
+-IF (NOT WIN32)
++IF (MINGW OR NOT WIN32)
+ CONFIGURE_FILE (${CMAKE_CURRENT_SOURCE_DIR}/libechonest.pc.in
+ ${CMAKE_CURRENT_BINARY_DIR}/libechonest${ECHONEST_LIB_VERSION_SUFFIX}.pc
+ @ONLY)
+diff --git a/libechonest.pc.in b/libechonest.pc.in
+index 1111111..2222222 100644
+--- a/libechonest.pc.in
++++ b/libechonest.pc.in
+@@ -8,4 +8,4 @@ Description: libechonest is a qt-based library that makes the Echo Nest APIs eas
+ Version: @ECHONEST_LIB_MAJOR_VERSION@.@ECHONEST_LIB_MINOR_VERSION@.@ECHONEST_LIB_PATCH_VERSION@
+ Requires: Qt@ECHONEST_QT_MAJOR_VERSION@Core Qt@ECHONEST_QT_MAJOR_VERSION@Network @ECHONEST_PC_DEPS@
+ Libs: -L${libdir} -lechonest@ECHONEST_LIB_VERSION_SUFFIX@
+-Cflags: -I${includedir}
++Cflags: -I${includedir} @ECHONEST_PC_CFLAGS@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 1111111..2222222 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -44,7 +44,7 @@ set( LIBECHONEST_H
+
+ QT_WRAP_CPP( ${LIBECHONEST_H} )
+
+-add_library( ${ECHONEST_LIB_TARGET_NAME} SHARED ${LIBECHONEST_SRC} )
++add_library( ${ECHONEST_LIB_TARGET_NAME} ${LIBECHONEST_SRC} )
+ target_link_libraries( ${ECHONEST_LIB_TARGET_NAME} ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QJSON_LIBRARIES} )
+ set_target_properties( ${ECHONEST_LIB_TARGET_NAME} PROPERTIES VERSION ${ECHONEST_LIB_VERSION} SOVERSION ${ECHONEST_LIB_VERSION_SONAME} )
+ qt5_use_modules( ${ECHONEST_LIB_TARGET_NAME} Core Network Xml )
+@@ -53,4 +53,4 @@ install( TARGETS ${ECHONEST_LIB_TARGET_NAME} RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib${LIB_SUFFIX}
+ )
+
+-install( FILES ${LIBECHONEST_H} DESTINATION include/echonest${ECHONEST_LIB_VERSION_SUFFIX} COMPONENT Devel )
++install( FILES ${LIBECHONEST_H} DESTINATION include/echonest COMPONENT Devel )
+diff --git a/src/echonest_export.h b/src/echonest_export.h
+index 1111111..2222222 100644
+--- a/src/echonest_export.h
++++ b/src/echonest_export.h
+@@ -18,11 +18,15 @@
+ #define ECHONEST_EXPORT_H
+
+ #if defined _WIN32
++ #ifdef ECHONEST_STATIC
++ #define ECHONEST_EXPORT
++ #else
+ #if defined ( echonest_EXPORTS ) || defined ( echonest5_EXPORTS )
+ #define ECHONEST_EXPORT __declspec(dllexport)
+ #else
+ #define ECHONEST_EXPORT __declspec(dllimport)
+ #endif
++ #endif
+ #elif __GNUC__ >= 4
+ #define ECHONEST_EXPORT __attribute__ ((visibility("default")))
+ #else
diff --git a/src/libechonest.mk b/src/libechonest.mk
index 4c7d9cf..c793811 100644
--- a/src/libechonest.mk
+++ b/src/libechonest.mk
@@ -5,34 +5,21 @@ $(PKG)_WEBSITE := https://github.com/lfranchi/libechonest
$(PKG)_IGNORE :=
$(PKG)_VERSION := 2.3.1
$(PKG)_CHECKSUM := ab961ab952df30c5234b548031594d7e281e7c9f2a9d1ce91fe5421ddde85e7c
-$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
-$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL := https://github.com/lfranchi/$(PKG)/archive/$($(PKG)_VERSION).tar.gz
-$(PKG)_DEPS := cc qjson qt
+$(PKG)_GH_CONF := lfranchi/libechonest/tags
+$(PKG)_DEPS := cc qtbase
-define $(PKG)_UPDATE
- $(call MXE_GET_GITHUB_TAGS, lfranchi/libechonest)
-endef
+$(PKG)_QT_SUFFIX := 5
+$(PKG)_QT4_BOOL := OFF
define $(PKG)_BUILD
- mkdir '$(1).build'
- cd '$(1).build' && '$(TARGET)-cmake' '$(1)'
- $(MAKE) -C '$(1).build' -j '$(JOBS)'
- $(MAKE) -C '$(1).build' -j 1 install
-
- # create pkg-config file
- $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib/pkgconfig'
- (echo 'Name: $(PKG)'; \
- echo 'Version: $($(PKG)_VERSION)'; \
- echo 'Description: $(PKG)'; \
- echo 'Requires: QtCore QtNetwork'; \
- echo 'Libs: -lechonest';) \
- > '$(PREFIX)/$(TARGET)/lib/pkgconfig/$(PKG).pc'
+ cd '$(BUILD_DIR)' && $(TARGET)-cmake '$(SOURCE_DIR)' \
+ -DECHONEST_BUILD_TESTS=OFF \
+ -DBUILD_WITH_QT4=$($(PKG)_QT4_BOOL)
+ $(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)'
+ $(MAKE) -C '$(BUILD_DIR)' -j 1 install
'$(TARGET)-g++' \
- -W -Wall -Werror -ansi -pedantic \
+ -W -Wall -Werror -std=c++11 -pedantic \
'$(TEST_FILE)' -o '$(PREFIX)/$(TARGET)/bin/test-$(PKG).exe' \
- `'$(TARGET)-pkg-config' libechonest --cflags --libs`
+ `'$(TARGET)-pkg-config' libechonest$($(PKG)_QT_SUFFIX) --cflags --libs`
endef
-
-$(PKG)_BUILD_STATIC =